/* 自動で作る (site/build.js)。web/themes/<名前>/tokens.css と tweaks.css をそのまま並べた物。手で書き換えない */
/* ── acid/tokens.css ── */
/* テーマ acid (案1 Acid Relay)。漆黒にアシッドライム1色。マゼンタとシアンは色ずれの片側だけ。 */
[data-theme="acid"] {
  /* 色 */
  --t-bg: #07080A; --t-surface: #111316; --t-card: #121519; --t-hover: rgba(198,255,26,.08);
  --t-line: #2A2F35; --t-line-strong: rgba(198,255,26,.35);
  --t-fg: #E8ECE4; --t-muted: #7C847A;
  /* 詳細テキスト (図鑑の説明・項目名)。控えめの色では暗すぎたので少し明るく */
  --t-detail: #A9B3A6;
  --t-accent: #C6FF1A; --t-accent-deep: #7FD400; --t-accent-2: #F4E409; --t-accent-3: #FF2BD6; --t-on-accent: #07080A;
  --t-action: #C6FF1A; --t-on-action: #07080A;
  --t-head-bg: #C6FF1A; --t-head-fg: #07080A; --t-badge-bg: #07080A; --t-badge-fg: #E8ECE4;
  --t-glow: rgba(198,255,26,.35); --t-glitch-1: #FF2BD6; --t-glitch-2: #01CDFE; --t-scan: rgba(0,0,0,.25);
  --t-grad-top: #D8FF4D; --t-grad-bot: #9BE000; --t-danger: #FF2BD6;
  /* 書体 */
  --t-font-display: "Big Shoulders Display", sans-serif; --t-font-display-weight: 900; --t-font-display-style: normal;
  --t-font-hud: "DotGothic16", monospace; --t-font-mono: "JetBrains Mono", monospace; --t-font-jp: "DotGothic16", monospace;
  --t-font-body: "Zen Kaku Gothic New", "Yu Gothic UI", sans-serif;
  /* 形 */
  --t-radius: 0; --t-border-w: 1px; --t-rule-style: dashed; --t-shadow: none; --t-text-glow: none;
  --t-pattern: repeating-conic-gradient(#15181b 0 25%, #111316 0 50%) 0 0 / 8px 8px;
  /* 釣り竿鋳造 (parts/forge.css) の竿の絵の地 */
  --t-forge-view: repeating-linear-gradient(0deg, #0d0f12 0 23px, #12161a 23px 24px);
  /* 左のメニューと釣り (parts/side.css・fishing-deck.css)。--t-fish-* はボタンと窓の飾りの文字 */
  --t-side-bg: var(--t-bg);
  --t-fish-idle: "RX 0x0F"; --t-fish-on: "● LIVE"; --t-fish-menu: "// TACKLE CHANNEL"; --t-deep-tag: "INCOMING // DEEP RELAY";
  /* 釣りのキャンバスに描く札 (src/shared/fishing.js の skin())。font = mono / goth / 書体名 */
  --t-canvas-bg: #0d0f11; --t-canvas-ink: #E8ECE4; --t-canvas-acc: #C6FF1A; --t-canvas-sub: #F4E409; --t-canvas-well: #07080A; --t-canvas-head: "CATCH // PACKET LOGGED";
  --t-canvas-head-ink: #C6FF1A; --t-canvas-font: mono; --t-canvas-deep-ink: #D8FF4D; --t-canvas-edge: rgba(198,255,26,.45); --t-canvas-g1: #FF2BD6; --t-canvas-g2: #2BF0FF; --t-canvas-dark: #07080A;
  /* ガチャ (parts/gacha-deck.css) */
  --t-ring-style: dotted; --t-ring-width: 3px; --t-track: repeating-conic-gradient(#1d2126 0 25%, transparent 0 50%) 0 0 / 4px 4px;
  --t-sel-bg: rgba(198,255,26,.1); --t-sel-fg: var(--t-fg);
  --t-tab-on-bg: linear-gradient(#1a2206, #0d0f11);
  --t-detail-clip: polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 0 100%);
  /* 共通の型 (parts/theme-base.css) */
  --t-kicker-font: var(--t-font-hud); --t-kicker-color: var(--t-accent);
  --t-box-bg: #0d0f11; --t-cut: 16px; --t-btn-font: var(--t-font-display);
  --t-art-bg: repeating-conic-gradient(#15181b 0 25%, #0d0f11 0 50%) 0 0 / 6px 6px; --t-art-fg: var(--t-accent);
  --t-win-surface: #0d0f11; --t-mark-color: var(--t-fg); --t-input-bg: transparent;
}


/* ── cobalt/tokens.css ── */
/* テーマ cobalt (案3 Cobalt Terminal)。全面コバルトに白いピクセル文字と破線。第3色 (シアン・アンバー) は状態だけ。 */
[data-theme="cobalt"] {
  --t-bg: #1E3DD6; --t-surface: #1530B8; --t-card: rgba(21,48,184,.7); --t-hover: rgba(242,244,255,.1);
  --t-line: rgba(242,244,255,.55); --t-line-strong: rgba(242,244,255,.85);
  --t-fg: #F2F4FF; --t-muted: #AEB8F0;
  /* 詳細テキスト (図鑑の説明・項目名)。青地で薄すぎたので明るく */
  --t-detail: #D6DCFB;
  --t-accent: #F2F4FF; --t-accent-deep: #8CF0FF; --t-accent-2: #FFD23F; --t-accent-3: #8CF0FF; --t-on-accent: #0B1A8C;
  --t-action: #E9ECF7; --t-on-action: #0B1A8C;
  --t-head-bg: #E9ECF7; --t-head-fg: #0B1A8C; --t-badge-bg: #0B1A8C; --t-badge-fg: #F2F4FF;
  --t-glow: rgba(242,244,255,.25); --t-glitch-1: #8CF0FF; --t-glitch-2: #FFD23F; --t-scan: rgba(11,26,140,.25);
  --t-grad-top: #F2F4FF; --t-grad-bot: #8CF0FF; --t-danger: #FFD23F;
  --t-font-display: "Pixelify Sans", monospace; --t-font-display-weight: 700; --t-font-display-style: normal;
  --t-font-hud: "IBM Plex Mono", monospace; --t-font-mono: "IBM Plex Mono", monospace; --t-font-jp: "DotGothic16", monospace;
  --t-font-body: "BIZ UDGothic", "Yu Gothic UI", sans-serif;
  --t-radius: 0; --t-border-w: 1px; --t-rule-style: dashed; --t-shadow: none; --t-text-glow: none;
  --t-pattern: repeating-linear-gradient(0deg, rgba(242,244,255,.05) 0 1px, transparent 1px 8px), repeating-linear-gradient(90deg, rgba(242,244,255,.05) 0 1px, transparent 1px 8px);
  /* 釣り竿鋳造 (parts/forge.css) の竿の絵の地 */
  --t-forge-view: rgba(21,48,184,.72) radial-gradient(rgba(242,244,255,.18) 1px, transparent 1px) 0 0 / 14px 14px;
  /* 左のメニューと釣り (parts/side.css・fishing-deck.css)。--t-fish-* はボタンと窓の飾りの文字 */
  --t-side-bg: #1530B8;
  --t-fish-idle: "./fish"; --t-fish-on: "[running]"; --t-fish-menu: "> ls ~/tackle";
  /* 釣りのキャンバスに描く札 (src/shared/fishing.js の skin())。font = mono / goth / 書体名 */
  --t-canvas-bg: #1530B8; --t-canvas-ink: #F2F4FF; --t-canvas-acc: #F2F4FF; --t-canvas-sub: #FFD23F; --t-canvas-well: #0B1A8C; --t-canvas-head: "> cat catch.log";
  --t-canvas-head-ink: #FFD23F; --t-canvas-font: mono; --t-canvas-deep-ink: #F2F4FF; --t-canvas-edge: #F2F4FF; --t-canvas-g1: #8CF0FF; --t-canvas-g2: #FFD23F; --t-canvas-dark: #000A1A;
  /* ガチャ (parts/gacha-deck.css) */
  --t-ring-style: dashed; --t-ring-radius: 0; --t-ring-rotate: 45deg; --t-track: transparent; --t-track-border: 1px dashed rgba(242,244,255,.35);
  --t-rays-opacity: 0; --t-stage-margin: 0 18px;
  --t-sel-bg: #8CF0FF; --t-sel-fg: #0B1A8C;
  --t-tab-on-bg: #E9ECF7;
  --t-detail-clip: none;
  /* 共通の型 (parts/theme-base.css) */
  --t-kicker-font: var(--t-font-mono); --t-kicker-color: var(--t-accent-3);
  --t-box-bg: #1530B8; --t-btn-font: var(--t-font-mono);
  --t-art-bg: repeating-linear-gradient(0deg, rgba(242,244,255,.08) 0 1px, transparent 1px 8px), repeating-linear-gradient(90deg, rgba(242,244,255,.08) 0 1px, transparent 1px 8px), #1E3DD6; --t-art-fg: #F2F4FF;
  --t-win-surface: #1530B8; --t-mark-color: #8CF0FF; --t-lock-color: #FFD23F; --t-input-bg: #0B1A8C;
}


/* ── cobalt/tweaks.css ── */
/* テーマ cobalt の微調整 (トークンやバリアントで表しにくい、書体の寸法の差だけ)。Pixelify Sans は輪郭をぼかさない */
[data-theme="cobalt"] .t2-relay .r-display { -webkit-font-smoothing: none; }
/* 選んだ札は白に反転する (select = invert)。中のプレイのボタンの白い点線・白い面が消えるので、紺の点線と紺の面にする */
[data-theme="cobalt"] .th-box.is-on .th-btn { border-color: #0B1A8C !important; color: #0B1A8C !important; }
[data-theme="cobalt"] .th-box.is-on .th-btn.is-main { background: #0B1A8C !important; color: #F2F4FF !important; border: 2px solid #0B1A8C !important; }
[data-theme="cobalt"] .th-box.is-on .th-btn:hover:not(:disabled) { background: color-mix(in srgb, #0B1A8C 14%, transparent) !important; }
[data-theme="cobalt"] .th-box.is-on .th-btn.is-main:hover:not(:disabled) { background: #1530B8 !important; }
/* 選んでいる項目は下地が白い帯 (--t-head-bg) なので、自動の上書き (contrast-fix.css の淡い青) より強く濃い紺の字にする。設定の目次とゲーム中の段の番号 */
html[data-theme="cobalt"] div.sd > nav.sd-index > button.is-on > :is(b, small, i) { color: var(--t-on-action) !important; }
html[data-theme="cobalt"] aside.cs > nav.cs-nav.cs-game > button.is-on > em.cs-no { color: var(--t-on-action) !important; }


/* ── concrete/tokens.css ── */
/* テーマ concrete (案2 Concrete Lobby)。打ちっぱなしのライトグレーにグラファイトの文字。標識のハザードライムは「押す所」だけ、錆色は警告。 */
[data-theme="concrete"] {
  --t-bg: #D6D6D2; --t-surface: #EDEDEA; --t-card: #F0F0EC; --t-hover: #E4E4E0;
  --t-line: #A4A6A6; --t-line-strong: #141517;
  --t-fg: #141517; --t-muted: #6E7274;
  /* 詳細テキスト (図鑑の説明・項目名)。白地で薄く見えたので少し黒へ */
  --t-detail: #54585A;
  --t-accent: #1B1C1E; --t-accent-deep: #5B6770; --t-accent-2: #D4FF3A; --t-accent-3: #B5563A; --t-on-accent: #D6D6D2;
  --t-action: #D4FF3A; --t-on-action: #141517;
  --t-head-bg: #1B1C1E; --t-head-fg: #D6D6D2; --t-badge-bg: #D4FF3A; --t-badge-fg: #141517;
  --t-glow: rgba(0,0,0,0); --t-glitch-1: #B5563A; --t-glitch-2: #5B6770; --t-scan: rgba(27,28,30,.07);
  --t-grad-top: #1B1C1E; --t-grad-bot: #5B6770; --t-danger: #B5563A;
  --t-font-display: "Oxanium", sans-serif; --t-font-display-weight: 800; --t-font-display-style: normal;
  --t-font-hud: "IBM Plex Mono", monospace; --t-font-mono: "IBM Plex Mono", monospace; --t-font-jp: "Zen Kaku Gothic New", "Yu Gothic UI", sans-serif;
  --t-font-body: "Zen Kaku Gothic New", "Yu Gothic UI", sans-serif;
  --t-radius: 2px; --t-border-w: 1px; --t-rule-style: double; --t-shadow: 0 8px 24px -12px rgba(0,0,0,.25); --t-text-glow: none;
  --t-pattern: linear-gradient(#b9bbb8, #a4a6a6);
  /* 飾りの補助の色 (淡い線・下地の灰・弱い文字・判の赤・明るい押す所・暗い絵の地) */
  --t-line-soft: #B8BAB7; --t-shade: #D0D0CC; --t-muted-2: #6B6F70; --t-stamp: #C8321E; --t-action-hi: #E4FF66; --t-art-dark: #2B2E31;
  /* 釣り竿鋳造 (parts/forge.css) の竿の絵の地 */
  --t-forge-view: #CFCFCA; --t-forge-acc2: #4E6800;   /* 強化後の値と星。明るい地で読める暗いライム */
  /* 左のメニューと釣り (parts/side.css・fishing-deck.css)。--t-fish-* はボタンと窓の飾りの文字 */
  --t-side-bg: #1B1C1E; --t-side-fg: #D6D6D2; --t-side-line: #333538; --t-side-muted: #7A7E80;
  --t-fish-idle: "PIER 03"; --t-fish-on: "作業中"; --t-fish-menu: "支給品 / TACKLE";
  /* 釣りのキャンバスに描く札 (src/shared/fishing.js の skin())。font = mono / goth / 書体名 */
  --t-canvas-bg: #EDEDEA; --t-canvas-ink: #141517; --t-canvas-acc: #FFD000; --t-canvas-sub: #7A5D00; --t-canvas-well: #F4F4F1; --t-canvas-head: "検品済 / CATCH REPORT";
  --t-canvas-head-ink: #141517; --t-canvas-font: goth; --t-canvas-deep-ink: #FFE066; --t-canvas-edge: #141517; --t-canvas-g1: #B5563A; --t-canvas-g2: #5B6770; --t-canvas-dark: #1B1C1E;
  /* ガチャ (parts/gacha-deck.css) */
  --t-ring-style: solid; --t-ring-width: 10px; --t-ring-color: #2b2d30; --t-ring-inner: 3px;
  --t-state-bg: var(--t-action); --t-state-fg: #141517; --t-state-pad: 3px 10px; --t-stage-margin: 0 18px;
  --t-sel-bg: var(--t-surface); --t-sel-fg: var(--t-fg);
  --t-tab-on-bg: #D4FF3A;
  --t-detail-clip: none;
  --t-hazard: #D4FF3A;   /* 2026-10-14: 黄色と黒のしましまをやめて一色に */
  /* 共通の型 (parts/theme-base.css) */
  --t-screen-bg: linear-gradient(180deg, #e4e4e0, #d0d0cc);
  --t-box-bg: #EDEDEA; --t-art-bg: linear-gradient(170deg, #5b6770, #2b2e31 70%); --t-art-fg: #D6D6D2;
  --t-win-surface: #EDEDEA; --t-win-art: linear-gradient(160deg, #c9cac6, #a9aba8); --t-warn-bg: #FFD000; --t-mark-color: #2b2d30;
  --t-scan-opacity: .25;
}


/* ── concrete/tweaks.css ── */
/* テーマ concrete の微調整 (トークンやバリアントで表しにくい物だけ)。明るい地では起動画面の点群を薄くする */
[data-theme="concrete"] .t2-relay .r-bg { opacity: .55; }
/* レモン色 (決定色 #D4FF3A) は白い地に溶けるので、レモン色で塗る部品には黒い枠を付ける:
   設定の音量の動き / レベルの経験値の横棒 (右上・プロフィール) / 進み具合の横棒 (実績・図鑑の達成度・ガチャの確率) / 報酬を受け取る などの決定ボタン */
[data-theme="concrete"] .sd-vu-bar { outline: 1px solid #141517; outline-offset: 1px; }
[data-theme="concrete"] .sd-vu-bar i { box-shadow: inset 0 0 0 1px #141517; }
[data-theme="concrete"] .sd-vu-ch b { color: #141517; text-shadow: none; }
[data-theme="concrete"] :is(.i2w-lv i, .pd-xp, .pg-ms-bar, .pg-cbar, .gc-odds li i, .gc-coll li i) { box-shadow: inset 0 0 0 1px #141517; border: 1px solid #141517; box-sizing: content-box; }
[data-theme="concrete"] :is(.i2w-lv em, .pd-xp em, .pg-ms-fill, .pg-cbar > i) { box-shadow: inset -1px 0 0 #141517; }
[data-theme="concrete"] .il-act { box-shadow: inset 0 0 0 2px #141517 !important; }
[data-theme="concrete"] .il-act:is(.is-buy, :not(:disabled)) { color: #141517 !important; font-weight: 800; }
/* HOME の縞模様 (右の窓の縦の帯 .hd-band と、窓の見出しの下の縞) は出さない (2026-10-04 の指示) */
[data-theme="concrete"] .hd-band { display: none !important; }
[data-theme="concrete"] .hd-win-bar::after { content: none !important; }
/* ゲーム中の段の選んでいる項目は黄緑の帯なので、番号も帯の上の字の色 (黒) にする (黄緑の帯に黄緑の番号で見えなかった) */
html[data-theme="concrete"] aside.cs > nav.cs-nav.cs-game > button.is-on > em.cs-no { color: var(--t-on-action) !important; }
/* 黄色と黒のしましまをやめる (2026-10-14 の指示)。web/parts の slab 枠 (concrete だけが使う) で repeating-linear-gradient を使っていた所を一色にする */
html[data-theme="concrete"] :is(.wk .wk-go, .md .md-go, .connectingOverlay .connectingBox .joinActions button.primary) { background: var(--t-action) !important; }
html[data-theme="concrete"] #panel-lobby #startLobbyGame { background: var(--t-accent-2) !important; }
html[data-theme="concrete"] :is(#wikiResult .wikiResultPanel, #researchOverlay .researchPanel, .pd .pd-card-foot) { border-image: none !important; border-top-color: var(--t-action) !important; }
html[data-theme="concrete"] .countdownFx.on { border-image: none !important; border-color: var(--t-accent-2) !important; }
html[data-theme="concrete"] .pd .pd-card-wrap::before, html[data-theme="concrete"] .pd .pd-xp em, html[data-theme="concrete"] .i2w .i2w-plus::after { background: var(--t-action) !important; }


/* ── frost/tokens.css ── */
/* テーマ frost (案7 Frost Battlestation)。水色ベース: 地は Ice Wall、面は Desk White、線は Cobalt Ice、光は LED Cyan とラベンダー。ピンクは1画面に1〜2箇所。
   角は 4px (白い PC ケースの少し丸い角)。窓の外には LED のような淡いシアンの光。純白は使わず Desk White (#F4F8FD)。 */
[data-theme="frost"] {
  /* 色 */
  --t-bg: #B9D3F2; --t-surface: #F4F8FD; --t-card: #F4F8FD; --t-hover: #E2EEFC;
  --t-line: #4F8DF7; --t-line-strong: #4F8DF7;
  --t-fg: #1E2F52; --t-muted: #3B4E70;   /* 2026-10-15: #52688F は水色の地 (#B9D3F2) の上で比 3.4 だったので濃くした */
  /* 図鑑の最大記録 (cm)。水色は白地に溶けたので濃い青に */
  --t-detail-price: #1D5FD6;
  --t-accent: #4F8DF7; --t-accent-deep: #2F6BD8; --t-accent-2: #5FE3FF; --t-accent-3: #FF9ECF; --t-on-accent: #F4F8FD;
  --t-action: #5FE3FF; --t-on-action: #1E2F52;
  --t-head-bg: #E2EEFC; --t-head-fg: #2F6BD8; --t-badge-bg: #C9A8FF; --t-badge-fg: #1E2F52;
  --t-glow: rgba(95,227,255,.55); --t-glitch-1: #C9A8FF; --t-glitch-2: #5FE3FF; --t-scan: rgba(79,141,247,.05);
  --t-grad-top: #2F6BD8; --t-grad-bot: #4F8DF7;   /* grad-top は Win95 の窓の型で見出し・札の字にも使われるので、明るい地で読める濃い青 */ --t-danger: #E04F7A;
  /* 書体。日本語の見出しは DotGothic16、英字の題字は Silkscreen (tweaks.css)、数字は JetBrains Mono、本文は丸ゴシック */
  --t-font-display: "DotGothic16", monospace; --t-font-display-weight: 400; --t-font-display-style: normal;
  --t-font-hud: "JetBrains Mono", monospace; --t-font-mono: "JetBrains Mono", monospace; --t-font-jp: "DotGothic16", monospace;
  --t-font-body: "M PLUS Rounded 1c", "Yu Gothic UI", sans-serif;
  /* 形 */
  --t-radius: 4px; --t-border-w: 1px; --t-rule-style: solid; --t-shadow: 0 0 16px -2px rgba(95,227,255,.4); --t-text-glow: 0 0 10px rgba(95,227,255,.6);
  --t-pattern: radial-gradient(rgba(244,248,253,.6) 1px, transparent 1.4px) 0 0 / 12px 12px, linear-gradient(#1A3166, #4F8DF7 75%, #C9A8FF);
  --t-sel-bg: #C9A8FF; --t-sel-fg: #1E2F52; --t-tab-on-bg: #E2EEFC; --t-detail-clip: none;
  /* 飾りの補助の色 (窓の二重線 = 外 Cobalt Ice・内 Inner Frost) */
  --t-line-soft: #BFD6F7; --t-shade: #E2EEFC; --t-muted-2: #3B4E70; --t-stamp: #FF9ECF; --t-action-hi: #A9F0FF; --t-art-dark: #1A3166;
  --t-bevel-lo: #4F8DF7; --t-bevel-mid: #BFD6F7; --t-bevel-hi: #E2EEFC; --t-bevel-top: #BFD6F7; --t-surface-2: #E2EEFC; --t-win-line: #4F8DF7; --t-win-btn: #E2EEFC;
  /* 釣り竿鋳造 (parts/forge.css) の竿の絵の地 = 夜空のモニター */
  --t-forge-view: radial-gradient(rgba(244,248,253,.5) 1px, transparent 1.4px) 0 0 / 12px 12px, linear-gradient(#1A3166, #4F8DF7 80%, #C9A8FF); --t-forge-acc2: #2F6BD8;
  /* 左のメニューと釣り (parts/side.css・fishing-deck.css)。--t-fish-* はボタンと窓の飾りの文字 */
  --t-side-bg: #E2EEFC; --t-side-fg: #1E2F52; --t-side-line: #4F8DF7; --t-side-muted: #52688F; --t-side-no: #2F6BD8;
  --t-fish-idle: "rod.cfg"; --t-fish-on: "● FISHING"; --t-fish-menu: "tackle_box                _ □ ×"; --t-fish-pop: "釣れたよ ❄"; --t-deep-tag: "deep_sea.lnk  PING 12ms";
  /* 釣りのキャンバスに描く札 (src/shared/fishing.js の skin())。font = mono / goth / 書体名 */
  --t-canvas-bg: #F4F8FD; --t-canvas-ink: #1E2F52; --t-canvas-acc: #2F6BD8; --t-canvas-sub: #C9A8FF; --t-canvas-well: #E2EEFC; --t-canvas-head: "catch.log";
  --t-canvas-head-ink: #2F6BD8; --t-canvas-font: "DotGothic16"; --t-canvas-deep-ink: #5FE3FF; --t-canvas-edge: #4F8DF7; --t-canvas-g1: #C9A8FF; --t-canvas-g2: #5FE3FF; --t-canvas-dark: #1E2F52;
  /* ガチャ (parts/gacha-deck.css)。輪は LED のシアン、床は氷のタイル */
  --t-ring-style: solid; --t-ring-width: 3px; --t-ring-color: #5FE3FF; --t-ring-radius: 50%; --t-ring-glow: 18px;
  --t-state-bg: #5FE3FF; --t-state-fg: #1E2F52; --t-state-pad: 2px 8px; --t-track: #E2EEFC; --t-track-border: #4F8DF7;
  --t-floor: repeating-conic-gradient(#E2EEFC 0 25%, #D2E3F8 0 50%) 0 0 / 16px 16px;
  /* Win95 の窓 (frame = bevel / detail = window)。段差の代わりに 1px + 1px の二重の細線と、外にシアンの淡い光 */
  --t-win-bg: #F4F8FD; --t-win-fg: #1E2F52; --t-win-muted: #3B4E70;
  --t-bevel: inset 0 0 0 1px #4F8DF7, inset 0 0 0 3px #F4F8FD, inset 0 0 0 4px #BFD6F7, 0 0 16px -2px rgba(95,227,255,.55);
  /* 共通の型 (parts/theme-base.css)。画面の地 = Ice Wall の上から下へのグラデーションに、上から LED が壁を照らす淡いシアン */
  --t-screen-bg: radial-gradient(ellipse at 50% -10%, rgba(95,227,255,.35), transparent 55%), linear-gradient(#CFE2F8, #B9D3F2);
  --t-kicker-font: var(--t-font-hud); --t-kicker-color: #2F6BD8;
  --t-box-bg: #F4F8FD; --t-btn-font: var(--t-font-display); --t-btn-glow: 0 0 12px rgba(95,227,255,.6);
  --t-art-bg: radial-gradient(rgba(244,248,253,.6) 1px, transparent 1.4px) 0 0 / 12px 12px, linear-gradient(#1A3166, #4F8DF7 75%, #C9A8FF); --t-art-fg: #5FE3FF;
  --t-win-surface: #F4F8FD; --t-mark-color: #4F8DF7; --t-input-bg: #F4F8FD; --t-font-pixel: "Silkscreen", monospace; --t-scan-opacity: 0;
}


/* ── frost/tweaks.css ── */
/* テーマ frost の微調整 (トークンやバリアントで表しにくい物)。題字は Silkscreen、窓の題の帯の左にシアンの四角、選んだ札はラベンダーに反転 */
/* 起動画面: 地は Ice Wall (水色) の上から下へのグラデーション + LED が照らす淡いシアン。題字は Navy Ink の塗りに Desk White の縁とシアンの光 (水色の地で一番くっきり見える組み合わせ) */
[data-theme="frost"] .t2-relay { background: radial-gradient(ellipse at 50% -10%, rgba(95,227,255,.35), transparent 55%), linear-gradient(#CFE2F8, #B9D3F2); }
[data-theme="frost"] .t2-relay .r-display { font-family: "Silkscreen", monospace; font-weight: 700; font-style: normal; color: #1E2F52; -webkit-font-smoothing: none;
  background: none; -webkit-text-fill-color: #1E2F52; filter: none; letter-spacing: .02em; font-size: clamp(3rem, 11.5vw, 11.5rem);   /* Silkscreen は字幅が広いので、ほかのテーマより小さくして画面に収める */
  text-shadow: -3px 0 0 #F4F8FD, 3px 0 0 #F4F8FD, 0 -3px 0 #F4F8FD, 0 3px 0 #F4F8FD, -3px -3px 0 #F4F8FD, 3px 3px 0 #F4F8FD, -3px 3px 0 #F4F8FD, 3px -3px 0 #F4F8FD, 0 0 24px rgba(95,227,255,.9); }
[data-theme="frost"] .t2-relay :is(.r-hud, .r-jp, .r-bar) { color: #1E2F52; }
[data-theme="frost"] .t2-relay :is(.r-hud em, .r-mono, .r-foot) { color: #2B3F66; }
[data-theme="frost"] .t2-relay .r-bg { opacity: 1; }
[data-theme="frost"] .t2-relay .r-panel { clip-path: none; border-radius: 4px; box-shadow: inset 0 0 0 1px #4F8DF7, 0 0 16px -2px rgba(95,227,255,.55); }
/* 読み込み画面 (# で組んだ INTERNET2 と進み具合の棒): 起動画面と同じ水色の地に、Navy Ink の単色で描く (グラデーションは使わない) */
[data-theme="frost"] .r-loader { background: linear-gradient(#CFE2F8, #B9D3F2); }
[data-theme="frost"] .r-loader .t2-loader-logo { background: none; -webkit-text-fill-color: #1E2F52; color: #1E2F52; filter: none; font-weight: 700; }
[data-theme="frost"] .r-loader :is(.t2-loader-status, .t2-spin, .t2-loader-bar) { color: #1E2F52; }
/* 大見出し: Navy Ink に Desk White の縁 */
[data-theme="frost"] .th-title { color: #1E2F52; text-shadow: -2px 0 0 #F4F8FD, 2px 0 0 #F4F8FD, 0 -2px 0 #F4F8FD, 0 2px 0 #F4F8FD, 0 0 14px rgba(95,227,255,.7); }
/* 窓: 題の帯は Frost に Cobalt の文字、左に 10px の LED Cyan の四角。最前面の窓 (詳細) は光を少し強める */
[data-theme="frost"] .th-winbar { background: #E2EEFC; color: #2F6BD8; border-bottom: 1px solid #4F8DF7; }
[data-theme="frost"] .th-winbar::before { content: ""; flex: none; width: 10px; height: 10px; background: #5FE3FF; box-shadow: 0 0 6px #5FE3FF; }
[data-theme="frost"] :is(.th-window, .th-panel.is-window) { border-radius: 4px; box-shadow: var(--t-bevel); }
[data-theme="frost"] .th-panel.is-window { box-shadow: inset 0 0 0 1px #4F8DF7, inset 0 0 0 3px #F4F8FD, inset 0 0 0 4px #BFD6F7, 0 0 22px 0 rgba(95,227,255,.7); }
/* 選んだ札 = Fairy Lilac の面に Navy Ink の文字 */
[data-theme="frost"] .th-box.is-on { background: #C9A8FF; color: #1E2F52; border-color: #4F8DF7; }
/* ボタン: LED Cyan の面に 1px の Cobalt の枠。乗せると外にシアンの光、押すと 1px 下へ */
[data-theme="frost"] .th-btn.is-main { border-color: #4F8DF7 !important; box-shadow: none; }
[data-theme="frost"] .th-btn.is-main:hover:not(:disabled) { box-shadow: 0 0 14px rgba(95,227,255,.85); }
[data-theme="frost"] .th-btn:active:not(:disabled) { translate: 0 1px; }
[data-theme="frost"] .th-input:focus { border: 2px solid #5FE3FF; box-shadow: 0 0 10px rgba(95,227,255,.6); }
/* 明るい面で読めるように: 所持品の群の名前は群の色を Navy Ink へ寄せる / 値札は Navy Ink の字で影なし / プロフィールのボタンの字 */
[data-theme="frost"] .il-ghead b { color: color-mix(in srgb, var(--c) 45%, #1E2F52); }
[data-theme="frost"][data-v-tag="sticker"] .il-qty.is-price { color: #1E2F52; border: 1px solid #4F8DF7; box-shadow: none; }
[data-theme="frost"] .pd :is(.pd-btn:not(.is-main), .pd-load b) { color: #1E2F52 !important; }
/* プロフィール: Win95 の窓の型 (frame = bevel) は暗い地向けに書かれていて、明るい地では名前の入力欄・二つ名の札・二つ名が読めない。ここで濃い字に直す */
html[data-theme="frost"] .pd .pd-name-row input { background: #F4F8FD; color: #1E2F52; font: 18px "M PLUS Rounded 1c", sans-serif; box-shadow: inset 0 0 0 1px #4F8DF7; }
html[data-theme="frost"] .pd :is(.pd-slots, .pd-emoji) button:not(.is-on) { color: #1E2F52; }
html[data-theme="frost"] .pd :is(.pd-slots, .pd-emoji) button.is-on { color: #F4F8FD; }
html[data-theme="frost"] .pd .pd-epi { color: #2F6BD8; text-shadow: none; }
html[data-theme="frost"] .pd .pd-name { font: 700 28px "Silkscreen", monospace; color: #1E2F52; text-shadow: 2px 2px 0 #F4F8FD; }
html[data-theme="frost"] .pd .pd-lv-no b { color: #1E2F52; text-shadow: none; }
/* リサーチの結果の窓: 勝者の名前・票の数・共有ボタンを Navy Ink に (オーバーレイの色の変数は暗い地向け) */
html[data-theme="frost"] #researchOverlay { --fk-acc: #2F6BD8; --sv-muted: #52688F; --sv-faint: #52688F; }
html[data-theme="frost"] #researchOverlay :is(.researchResultBox h1, .rresSph b, #researchShareResult) { color: #1E2F52 !important; -webkit-text-fill-color: #1E2F52 !important; background-image: none; text-shadow: none !important; }
/* ロビー: 旧画面の CSS は @layer utilities の中で !important なので、同じ層の中で上書きする。窓の題の帯の字は Desk White、自分の札の字と ゲーム開始 は Navy Ink */
@layer utilities {
  html[data-theme="frost"] #panel-lobby :is(.lobbyRoomInfo, .lobbyPlayersTop, .lobbyStage, .lobbybgm, .lobbyFriends, .lobbyEntry)::before { color: #F4F8FD !important; }
  html[data-theme="frost"] #panel-lobby .lobbyPlayersTop :is(div, span, b, small, strong, p) { color: #1E2F52 !important; }
  html[data-theme="frost"] #panel-lobby :is(.lobbyRoomInfo, .lobbyPlayersTop, .lobbyStage, .lobbybgm, .lobbyFriends, .lobbyEntry) :is(button, input, select) { color: #1E2F52 !important; }
  html[data-theme="frost"] #panel-lobby #startLobbyGame { color: #1E2F52 !important; }
}
/* 釣りのボタンの右の札 (rod.cfg / ● FISHING): 淡いピンクの光る字は白地に溶けたので、濃い青の字にして光を外す */
html[data-theme="frost"] .fishUi .fishBtn::after { color: #2F6BD8; text-shadow: none; font-weight: 700; }


/* ── neon/tokens.css ── */
/* テーマ neon (案4 Neon Plaza Uplink)。夜のモールの紫。ネオン (マゼンタ・シアン) は線と文字だけ、大きな面は暗い紫。詳細は Win95 の窓。 */
[data-theme="neon"] {
  --t-bg: #0D0221; --t-surface: #1A0B3D; --t-card: #1A0B3D; --t-hover: rgba(255,62,200,.14);
  --t-line: rgba(255,62,200,.3); --t-line-strong: #FF3EC8;
  --t-fg: #F5E9FF; --t-muted: #A48BC4;
  /* 詳細の窓 (明るい窓) の文字: 項目名・説明文 / 値 (レア度・場所・王冠) / 最大記録。白っぽい色と黄色は窓に溶けたので黒寄りに */
  --t-detail: #3B2A55; --t-detail-value: #1A0B3D; --t-detail-price: #8A0F6A;
  --t-accent: #FF3EC8; --t-accent-deep: #9D4EDD; --t-accent-2: #FF9E3D; --t-accent-3: #2DE2E6; --t-on-accent: #0D0221;
  --t-action: #FF3EC8; --t-on-action: #0D0221;
  --t-head-bg: linear-gradient(90deg, #9D4EDD, #FF3EC8); --t-head-fg: #F5E9FF; --t-badge-bg: #0D0221; --t-badge-fg: #2DE2E6;
  --t-glow: rgba(255,62,200,.5); --t-glitch-1: #2DE2E6; --t-glitch-2: #FF3EC8; --t-scan: rgba(13,2,33,.5);
  --t-grad-top: #FFB3DE; --t-grad-bot: #FF3EC8; --t-danger: #FF9E3D;
  --t-font-display: "Chakra Petch", sans-serif; --t-font-display-weight: 700; --t-font-display-style: italic;
  --t-font-hud: "VT323", monospace; --t-font-mono: "VT323", monospace; --t-font-jp: "DotGothic16", monospace;
  --t-font-body: "M PLUS 1p", "Yu Gothic UI", sans-serif;
  --t-radius: 0; --t-border-w: 1px; --t-rule-style: solid; --t-shadow: 0 0 20px rgba(255,62,200,.4); --t-text-glow: 0 0 10px #FF3EC8;
  --t-pattern: linear-gradient(#1a0b3d, #3b1466);
  /* 飾りの補助の色 (Win95 の立体の影 3段・2枚目の面・窓の線・窓のボタン) */
  --t-bevel-lo: #3A2A4F; --t-bevel-mid: #7A6C8C; --t-bevel-hi: #E6E1EC; --t-surface-2: #3B1466; --t-win-line: #A8A4B3; --t-win-btn: #B3B0BC;
  /* 釣り竿鋳造 (parts/forge.css) の竿の絵の地 */
  --t-forge-view: linear-gradient(180deg, #1a0533, #3a0d5c 70%, #ff3ec822);
  /* 左のメニューと釣り (parts/side.css・fishing-deck.css)。--t-fish-* はボタンと窓の飾りの文字 */
  --t-side-bg: #1C0C40; --t-side-line: rgba(255,62,200,.35); --t-side-no: #2DE2E6;
  --t-fish-idle: "OPEN"; --t-fish-on: "NOW FISHING"; --t-fish-menu: "TACKLE.EXE                _ □ ×"; --t-fish-pop: "YOU_GOT_MAIL.EXE";
  /* 釣りのキャンバスに描く札 (src/shared/fishing.js の skin())。font = mono / goth / 書体名 */
  --t-canvas-bg: #C3C0CC; --t-canvas-ink: #1A0B3D; --t-canvas-acc: #FF3EC8; --t-canvas-sub: #A3006F; --t-canvas-well: #FFFFFF; --t-canvas-head: "CATCH.EXE";
  --t-canvas-head-ink: #F5E9FF; --t-canvas-font: "Chakra Petch"; --t-canvas-deep-ink: #FFB3DE; --t-canvas-edge: #2DE2E6; --t-canvas-g1: #9D4EDD; --t-canvas-g2: #FF3EC8; --t-canvas-dark: #1A0B3D;
  /* ガチャ (parts/gacha-deck.css) */
  --t-ring-style: solid; --t-ring-width: 3px; --t-ring-glow: 24px; --t-state-fg: #FF9E3D; --t-state-glow: 0 0 10px #FF9E3D;
  --t-floor: repeating-linear-gradient(90deg, rgba(255,62,200,.35) 0 1px, transparent 1px 40px); --t-track: #fff; --t-stage-margin: 6px;
  --t-sel-bg: #1A0B3D; --t-sel-fg: var(--t-fg);
  --t-tab-on-bg: rgba(26,11,61,.6);
  --t-detail-clip: none;
  /* Win95 の窓 (data-v-detail="window") */
  --t-win-bg: #C3C0CC; --t-win-fg: #1A0B3D; --t-win-muted: #3E3250;   /* 2026-10-15: #5A4C6C は灰の窓 (#C3C0CC) の上で比 3.7 だったので濃くした */
  --t-bevel: inset -1px -1px #3a2a4f, inset 1px 1px #f5e9ff, inset -2px -2px #7a6c8c, inset 2px 2px #e6e1ec, 8px 8px 0 rgba(13,2,33,.6);
  /* 共通の型 (parts/theme-base.css) */
  --t-screen-bg: radial-gradient(ellipse at 70% 0%, #3b1466, transparent 60%), #0D0221;
  --t-kicker-font: var(--t-font-hud); --t-kicker-color: var(--t-accent-3);
  --t-box-bg: rgba(26,11,61,.8); --t-btn-font: var(--t-font-display); --t-btn-style: italic; --t-btn-glow: 0 0 18px rgba(255,62,200,.5);
  --t-art-bg: linear-gradient(transparent 58%, rgba(255,62,200,.6) 58% 59%, transparent 59%), repeating-linear-gradient(90deg, rgba(255,62,200,.35) 0 1px, transparent 1px 28px) 0 100% / 100% 42% no-repeat, linear-gradient(#ff9e3d, #ff3ec8 45%, #3b1466 58%, #0D0221);
  --t-art-fg: #2DE2E6; --t-lock-color: #2DE2E6; --t-font-pixel: "Pixelify Sans", monospace;
}


/* ── neon/tweaks.css ── */
/* テーマ neon の微調整 (トークンやバリアントで表しにくい、書体の寸法の差だけ)。VT323 は同じ px でも小さく見えるので大きくする */
[data-theme="neon"] .t2-relay :is(.r-hud, .r-mono, .r-foot, .r-panel-head, .r-login) { font-size: 17px; letter-spacing: .06em; }
[data-theme="neon"] .t2-relay .r-bar { font-size: 16px; }
/* モード選択の「▶ プレイ」: ピンクの面にピンクの札の地が重なって読みにくいので、黒い面にピンクの文字と枠 */
[data-theme="neon"] .md .md-go { background: #0D0221; color: #FF3EC8; border: 2px solid #FF3EC8; text-shadow: 0 0 8px rgba(255,62,200,.6); }
[data-theme="neon"] .md .md-card:hover .md-go { background: #1A0B3D; }
/* 図鑑・実績の詳細の値 (レア度・場所・最大記録・王冠) は --t-detail-value / --t-detail-price (tokens.css) で黒寄りにしてある。王冠の名前も同じ色に */
[data-theme="neon"] .il-props .pg-crname { color: var(--t-detail-value); }


/* ── sugar/tokens.css ── */
/* テーマ sugar (案6 Sugar Desktop)。ピンクの地のテーマ: デスクトップの地は Candy Pink、見出しの文字は水色 (Desktop Teal) に Plum Ink の縁。
   窓の中は Milk の面に Plum Ink の本文。押す所はピンクの地に溶けないよう水色。影・立体の段差・角丸は使わない。純白は使わず Milk (#FBF4FB)。 */
[data-theme="sugar"] {
  /* 色 */
  --t-bg: #FF8CC6; --t-surface: #FBF4FB; --t-card: #FBF4FB; --t-hover: #C9F3F5;
  --t-line: #8B5CF6; --t-line-strong: #8B5CF6;
  --t-fg: #3A2552; --t-muted: #4A3768;   /* 2026-10-15: #6F5B92 は桃色の地 (#FF8CC6) の上で比 2.7 だったので濃くした */
  --t-accent: #8B5CF6; --t-accent-deep: #6D3FD6; --t-accent-2: #A8F0E2; --t-accent-3: #E0359F; --t-on-accent: #FBF4FB;
  --t-action: #22C3CC; --t-on-action: #3A2552;
  --t-head-bg: #F1E6FF; --t-head-fg: #6D3FD6; --t-badge-bg: #E0359F; --t-badge-fg: #FBF4FB;
  --t-glow: rgba(34,195,204,.45); --t-glitch-1: #22C3CC; --t-glitch-2: #FF8CC6; --t-scan: rgba(139,92,246,.06);
  --t-grad-top: #6D3FD6; --t-grad-bot: #8B5CF6;   /* grad-top は Win95 の窓の型で見出し・札の字にも使われるので、明るい地で読める濃い紫 */ --t-danger: #E0359F;
  /* 書体。ピクセルの日本語 (DotGothic16) が顔。本文は丸ゴシックでやさしく (長文をピクセル体にしない) */
  --t-font-display: "DotGothic16", monospace; --t-font-display-weight: 400; --t-font-display-style: normal;
  --t-font-hud: "DotGothic16", monospace; --t-font-mono: "DotGothic16", monospace; --t-font-jp: "DotGothic16", monospace;
  --t-font-body: "M PLUS Rounded 1c", "Yu Gothic UI", sans-serif;
  /* 形 */
  --t-radius: 0; --t-border-w: 1px; --t-rule-style: solid; --t-shadow: none; --t-text-glow: none;
  --t-pattern: repeating-linear-gradient(135deg, #FBF4FB 0 8px, #F1E6FF 8px 16px);
  --t-sel-bg: #8B5CF6; --t-sel-fg: #FBF4FB; --t-tab-on-bg: #C9F3F5; --t-detail-clip: none;
  /* 飾りの補助の色 (窓の二重線 = 外 Lavender Chrome・内 Inner Lilac。立体の段差の代わり) */
  --t-line-soft: #D9C6FF; --t-shade: #F1E6FF; --t-muted-2: #4A3768; --t-stamp: #E0359F; --t-action-hi: #FFD3E6; --t-art-dark: #3A2552;
  --t-bevel-lo: #8B5CF6; --t-bevel-mid: #D9C6FF; --t-bevel-hi: #F1E6FF; --t-bevel-top: #D9C6FF; --t-surface-2: #F1E6FF; --t-win-line: #8B5CF6; --t-win-btn: #F1E6FF;
  /* 釣り竿鋳造 (parts/forge.css) の竿の絵の地 */
  --t-forge-view: repeating-linear-gradient(135deg, #FBF4FB 0 8px, #F1E6FF 8px 16px); --t-forge-acc2: #C0187E;
  /* 左のメニューと釣り (parts/side.css・fishing-deck.css)。--t-fish-* はボタンと窓の飾りの文字 */
  --t-side-bg: #F1E6FF; --t-side-fg: #3A2552; --t-side-line: #8B5CF6; --t-side-muted: #6F5B92; --t-side-no: #C0187E;
  --t-fish-idle: "fishing.exe"; --t-fish-on: "♡ つり中"; --t-fish-menu: "tackle_box                _ □ ×"; --t-fish-pop: "釣れたよ ☆"; --t-deep-tag: "deep_sea.lnk";
  /* 釣りのキャンバスに描く札 (src/shared/fishing.js の skin())。font = mono / goth / 書体名 */
  --t-canvas-bg: #FBF4FB; --t-canvas-ink: #3A2552; --t-canvas-acc: #E0359F; --t-canvas-sub: #8B5CF6; --t-canvas-well: #F1E6FF; --t-canvas-head: "catch.txt";
  --t-canvas-head-ink: #6D3FD6; --t-canvas-font: "DotGothic16"; --t-canvas-deep-ink: #22C3CC; --t-canvas-edge: #8B5CF6; --t-canvas-g1: #FF8CC6; --t-canvas-g2: #FF8CC6; --t-canvas-dark: #3A2552;
  /* ガチャ (parts/gacha-deck.css)。床はピンクのモザイク */
  --t-ring-style: solid; --t-ring-width: 4px; --t-ring-color: #8B5CF6; --t-ring-radius: 0;
  --t-state-bg: #22C3CC; --t-state-fg: #3A2552; --t-state-pad: 2px 8px; --t-track: #F1E6FF; --t-track-border: #8B5CF6;
  --t-floor: repeating-conic-gradient(#C9F3F5 0 25%, #A8E8EC 0 50%) 0 0 / 16px 16px;
  /* Win95 の窓 (frame = bevel / detail = window)。段差の代わりに 1px + 1px の二重の細線 */
  --t-win-bg: #FBF4FB; --t-win-fg: #3A2552; --t-win-muted: #4A3768;
  --t-bevel: inset 0 0 0 1px #8B5CF6, inset 0 0 0 3px #FBF4FB, inset 0 0 0 4px #D9C6FF;
  /* 共通の型 (parts/theme-base.css)。画面の地 = Candy Pink の壁紙にうすいドット。大見出しは水色 (縁は tweaks.css) */
  --t-screen-bg: radial-gradient(rgba(251,244,251,.3) 1px, transparent 1.6px) 0 0 / 16px 16px, #FF8CC6;
  --t-title-color: #22C3CC;
  --t-kicker-font: var(--t-font-hud); --t-kicker-color: #3A2552;
  --t-box-bg: #FBF4FB; --t-btn-font: var(--t-font-display);
  --t-art-bg: repeating-linear-gradient(135deg, #FBF4FB 0 8px, #F1E6FF 8px 16px); --t-art-fg: #E0359F;
  --t-win-surface: #FBF4FB; --t-mark-color: #E0359F; --t-input-bg: #FBF4FB; --t-font-pixel: "Pixelify Sans", monospace; --t-scan-opacity: 0;
}


/* ── sugar/tweaks.css ── */
/* テーマ sugar の微調整 (トークンやバリアントで表しにくい物)。題字は Pixelify Sans、窓の題の帯の左に塗った四角、選んだ札はラベンダーに反転 */
/* 起動画面: 地は Candy Pink にうすい Milk のドット。題字は水色 (Desktop Teal) の塗り。ピンクと水色は明るさがほぼ同じで溶けるため、Plum Ink の太い縁と Milk の影で浮かせる */
[data-theme="sugar"] .t2-relay { background: radial-gradient(rgba(251,244,251,.3) 1px, transparent 1.6px) 0 0 / 16px 16px, #FF8CC6; }
[data-theme="sugar"] .t2-relay .r-display { font-family: "Pixelify Sans", monospace; font-weight: 700; font-style: normal; color: #22C3CC; -webkit-font-smoothing: none;
  background: none; -webkit-text-fill-color: #22C3CC; filter: none;
  text-shadow: -3px 0 0 #3A2552, 3px 0 0 #3A2552, 0 -3px 0 #3A2552, 0 3px 0 #3A2552, -3px -3px 0 #3A2552, 3px 3px 0 #3A2552, -3px 3px 0 #3A2552, 3px -3px 0 #3A2552, 8px 8px 0 #FBF4FB; }
[data-theme="sugar"] .t2-relay :is(.r-hud, .r-jp, .r-bar) { color: #3A2552; }
[data-theme="sugar"] .t2-relay :is(.r-hud em, .r-mono, .r-foot) { color: #2E1C45; }
[data-theme="sugar"] .t2-relay .r-bg { opacity: 1; }
/* 読み込み画面 (# で組んだ INTERNET2 と進み具合の棒): 起動画面と同じ Candy Pink の地に、水色の字 + Plum Ink の縁 (グラデーションと光は使わない) */
[data-theme="sugar"] .r-loader { background: radial-gradient(rgba(251,244,251,.3) 1px, transparent 1.6px) 0 0 / 16px 16px, #FF8CC6; }
[data-theme="sugar"] .r-loader .t2-loader-logo { background: none; -webkit-text-fill-color: #22C3CC; color: #22C3CC; filter: none; font-weight: 700;
  text-shadow: -1px 0 #3A2552, 1px 0 #3A2552, 0 -1px #3A2552, 0 1px #3A2552, 2px 2px 0 #3A2552; }
[data-theme="sugar"] .r-loader :is(.t2-loader-status, .t2-spin, .t2-loader-bar) { color: #3A2552; }
[data-theme="sugar"] .th-title { -webkit-font-smoothing: none; -webkit-text-stroke: 0; text-shadow: -2px 0 0 #3A2552, 2px 0 0 #3A2552, 0 -2px 0 #3A2552, 0 2px 0 #3A2552, 4px 4px 0 #3A2552; }
/* 窓の中 (Milk の面) の見出しは水色だと読めないので Plum Ink にし、縁も外す */
html[data-theme="sugar"] :is(.th-window, .th-panel) :is(.th-title, .hp-title) { color: #3A2552; -webkit-text-fill-color: #3A2552; text-shadow: none; }
/* 窓の題の帯: Lilac Mist の帯にラベンダーの文字、左に 10px の塗った四角 */
[data-theme="sugar"] .th-winbar { background: #F1E6FF; color: #6D3FD6; border-bottom: 1px solid #8B5CF6; }
[data-theme="sugar"] .th-winbar::before { content: ""; flex: none; width: 10px; height: 10px; background: #8B5CF6; }
[data-theme="sugar"] .th-window { box-shadow: var(--t-bevel); }
/* 選んだ札 = ラベンダーの面に Milk の文字 */
[data-theme="sugar"] .th-box.is-on { background: #8B5CF6; color: #FBF4FB; border-color: #8B5CF6; }
/* ボタン: 水色の面に 1px のラベンダーの枠。乗せると淡い水色、押すと 1px 右下へ */
[data-theme="sugar"] .th-btn.is-main { border-color: #8B5CF6 !important; }
[data-theme="sugar"] .th-btn.is-main:hover:not(:disabled) { background: #C9F3F5 !important; }
[data-theme="sugar"] .th-btn:active:not(:disabled) { translate: 1px 1px; }
[data-theme="sugar"] .th-input:focus { border: 2px solid #22C3CC; box-shadow: none; }
/* 明るい面で読めるように (themecheck の low): 所持品の群の名前は群の色を Plum Ink へ寄せる / 値札は Plum Ink の字で影なし / プロフィールのボタンの字 */
[data-theme="sugar"] .il-ghead b { color: color-mix(in srgb, var(--c) 45%, #3A2552); }
[data-theme="sugar"][data-v-tag="sticker"] .il-qty.is-price { color: #3A2552; border: 1px solid #8B5CF6; box-shadow: none; }
[data-theme="sugar"] .pd :is(.pd-btn:not(.is-main), .pd-load b) { color: #3A2552 !important; }
/* プロフィール: Win95 の窓の型 (frame = bevel) は暗い地向けに書かれていて、明るい地では名前の入力欄・二つ名の札・二つ名が読めない。ここで濃い字に直す */
html[data-theme="sugar"] .pd .pd-name-row input { background: #FBF4FB; color: #3A2552; font: 18px "M PLUS Rounded 1c", sans-serif; box-shadow: inset 0 0 0 1px #8B5CF6; }
html[data-theme="sugar"] .pd :is(.pd-slots, .pd-emoji) button:not(.is-on) { color: #3A2552; }
html[data-theme="sugar"] .pd :is(.pd-slots, .pd-emoji) button.is-on { color: #FBF4FB; }
html[data-theme="sugar"] .pd .pd-epi { color: #6D3FD6; text-shadow: none; }
html[data-theme="sugar"] .pd .pd-name { font: 700 30px "Pixelify Sans", monospace; color: #3A2552; text-shadow: 2px 2px 0 #FBF4FB; }
html[data-theme="sugar"] .pd .pd-lv-no b { color: #3A2552; text-shadow: none; }
/* リサーチの結果の窓: 勝者の名前・票の数・共有ボタンを Plum Ink に (オーバーレイの色の変数は暗い地向け) */
html[data-theme="sugar"] #researchOverlay { --fk-acc: #6D3FD6; --sv-muted: #6F5B92; --sv-faint: #6F5B92; }
html[data-theme="sugar"] #researchOverlay :is(.researchResultBox h1, .rresSph b, #researchShareResult) { color: #3A2552 !important; -webkit-text-fill-color: #3A2552 !important; background-image: none; text-shadow: none !important; }
/* ロビー: 旧画面の CSS は @layer utilities の中で !important なので、同じ層の中で上書きする。窓の題の帯の字は Milk、自分の札の字と ゲーム開始 は Plum Ink */
@layer utilities {
  html[data-theme="sugar"] #panel-lobby :is(.lobbyRoomInfo, .lobbyPlayersTop, .lobbyStage, .lobbybgm, .lobbyFriends, .lobbyEntry)::before { color: #FBF4FB !important; }
  html[data-theme="sugar"] #panel-lobby .lobbyPlayersTop :is(div, span, b, small, strong, p) { color: #3A2552 !important; }
  html[data-theme="sugar"] #panel-lobby :is(.lobbyRoomInfo, .lobbyPlayersTop, .lobbyStage, .lobbybgm, .lobbyFriends, .lobbyEntry) :is(button, input, select) { color: #3A2552 !important; }
  html[data-theme="sugar"] #panel-lobby #startLobbyGame { color: #3A2552 !important; }
}


/* ── tidal/tokens.css ── */
/* テーマ tidal (案5 Tidal Neon)。深海色の壁に、白い芯のネオン管 (水色・青) が灯る。ピンクは1画面に1〜2箇所の熱だけ。角はすべて丸い。 */
[data-theme="tidal"] {
  /* 色 */
  --t-bg: #060B2A; --t-surface: #0B1A52; --t-card: #0B1A52; --t-hover: rgba(63,245,255,.08);
  --t-line: rgba(232,247,255,.16); --t-line-strong: #3FF5FF;
  --t-fg: #E8F7FF; --t-muted: #8DA3C9;
  --t-accent: #3FF5FF; --t-accent-deep: #4D7CFF; --t-accent-2: #FFC6E6; --t-accent-3: #FF4FD8; --t-on-accent: #060B2A;
  --t-action: #FF4FD8; --t-on-action: #060B2A;
  --t-head-bg: #0E2470; --t-head-fg: #3FF5FF; --t-badge-bg: #FFC6E6; --t-badge-fg: #060B2A;
  --t-glow: rgba(63,245,255,.45); --t-glitch-1: #FF4FD8; --t-glitch-2: #3FF5FF; --t-scan: rgba(6,11,42,.3);
  --t-grad-top: #F4FDFF; --t-grad-bot: #3FF5FF; --t-danger: #FF6B9A;
  /* 書体。筆記体 (Yellowtail) は題字だけ (tweaks.css)。日本語も丸ゴシックで揃える */
  --t-font-display: "M PLUS Rounded 1c", sans-serif; --t-font-display-weight: 800; --t-font-display-style: normal;
  --t-font-hud: "IBM Plex Mono", monospace; --t-font-mono: "IBM Plex Mono", monospace; --t-font-jp: "M PLUS Rounded 1c", sans-serif;
  --t-font-body: "M PLUS Rounded 1c", "Yu Gothic UI", sans-serif;
  /* 形 */
  --t-radius: 16px; --t-border-w: 1px; --t-rule-style: solid; --t-shadow: 0 0 24px rgba(63,245,255,.18);
  --t-text-glow: 0 0 1px #F4FDFF, 0 0 4px #3FF5FF, 0 0 12px #3FF5FF, 0 0 28px rgba(63,245,255,.5);
  --t-pattern: radial-gradient(ellipse at 70% 30%, #0E2470, #060B2A 75%);
  --t-sel-bg: rgba(63,245,255,.1); --t-sel-fg: var(--t-fg); --t-tab-on-bg: rgba(14,36,112,.85); --t-detail-clip: none;
  /* 飾りの補助の色 */
  --t-line-soft: rgba(232,247,255,.08); --t-shade: #091447; --t-muted-2: #8DA3C9; --t-stamp: #FF4FD8; --t-action-hi: #FF8BE6; --t-art-dark: #060B2A; --t-surface-2: #0E2470;
  /* 釣り竿鋳造 (parts/forge.css) の竿の絵の地 */
  --t-forge-view: radial-gradient(ellipse at 50% 30%, #0E2470, #060B2A 80%); --t-forge-acc2: #3FF5FF;
  /* 左のメニューと釣り (parts/side.css・fishing-deck.css)。--t-fish-* はボタンと窓の飾りの文字 */
  --t-side-bg: #08123A; --t-side-line: rgba(63,245,255,.22); --t-side-no: #3FF5FF;
  --t-fish-idle: "TANK 03"; --t-fish-on: "SONAR ●"; --t-fish-menu: "TACKLE / DEPTH 0420m"; --t-fish-pop: "CATCH!"; --t-deep-tag: "DEPTH 0420m // ABYSS";
  /* 釣りのキャンバスに描く札 (src/shared/fishing.js の skin())。font = mono / goth / 書体名 */
  --t-canvas-bg: #0B1A52; --t-canvas-ink: #E8F7FF; --t-canvas-acc: #3FF5FF; --t-canvas-sub: #FF4FD8; --t-canvas-well: #060B2A; --t-canvas-head: "TANK LOG";
  --t-canvas-head-ink: #3FF5FF; --t-canvas-font: "M PLUS Rounded 1c"; --t-canvas-deep-ink: #F4FDFF; --t-canvas-edge: #3FF5FF; --t-canvas-g1: #FF4FD8; --t-canvas-g2: #4D7CFF; --t-canvas-dark: #060B2A;
  /* ガチャ (parts/gacha-deck.css)。輪はネオン管 */
  --t-ring-style: solid; --t-ring-width: 3px; --t-ring-color: #3FF5FF; --t-ring-radius: 50%; --t-ring-glow: 26px;
  --t-state-fg: #FF4FD8; --t-state-glow: 0 0 10px #FF4FD8; --t-track: rgba(14,36,112,.8);
  --t-floor: radial-gradient(ellipse at 50% 0%, rgba(63,245,255,.25), transparent 60%);
  /* 共通の型 (parts/theme-base.css) */
  --t-screen-bg: radial-gradient(ellipse at 72% 28%, #0E2470 0%, #091447 45%, #060B2A 80%);
  --t-title-color: #F4FDFF; --t-kicker-font: var(--t-font-hud); --t-kicker-color: #3FF5FF;
  --t-box-bg: rgba(11,26,82,.72); --t-btn-font: var(--t-font-display); --t-btn-glow: 0 0 6px #FF4FD8, 0 0 18px rgba(255,79,216,.55);
  --t-art-bg: radial-gradient(ellipse at 50% 35%, #0E2470, #060B2A 80%); --t-art-fg: #3FF5FF;
  --t-win-surface: #0B1A52; --t-mark-color: #3FF5FF; --t-input-bg: rgba(6,11,42,.7); --t-lock-color: #3FF5FF; --t-scan-opacity: 0;
}


/* ── tidal/tweaks.css ── */
/* テーマ tidal の微調整 (トークンやバリアントで表しにくい物)。ネオン管 = 白い芯 + 色の多重の光。本文は光らせない。
   枠は dashed を借りているので、四角い二重線・ずらした影 (他のテーマの表現) をここで丸いネオン管に置き換える */
[data-theme="tidal"] .t2-relay .r-display { font-family: "Yellowtail", cursive; font-weight: 400; font-style: normal; text-transform: none; letter-spacing: 0;
  background: none; -webkit-text-fill-color: #F4FDFF; filter: none; color: #F4FDFF; clip-path: none !important;   /* 共通の glitchCut の切り刻みは使わない (光が箱で四角く切れる) */
  text-shadow: 0 0 1px #F4FDFF, 0 0 4px #FF4FD8, 0 0 12px #FF4FD8, 0 0 28px #FF4FD8, 0 0 56px rgba(255,79,216,.5); }
[data-theme="tidal"] .t2-relay .r-bg { opacity: 1; }
/* 起動画面: 浮かぶ四角は泡に、通信の窓は角を切らず丸いネオン管の枠に、始めるボタンはピンクのネオン管に */
[data-theme="tidal"] .t2-relay .r-block { border-radius: 50%; }
[data-theme="tidal"] .t2-relay .r-panel { clip-path: none; border-radius: 28px; overflow: hidden; border: 2px solid #3FF5FF; background: rgba(11,26,82,.72); backdrop-filter: blur(6px);
  box-shadow: 0 0 4px #3FF5FF, 0 0 22px rgba(63,245,255,.4); }
[data-theme="tidal"] .t2-relay .r-panel-head span { border-radius: 999px; }
[data-theme="tidal"] .t2-relay .r-btn { background: transparent; color: #F4FDFF; border: 2px solid #FF4FD8; border-radius: 999px; text-shadow: 0 0 6px #FF4FD8;
  box-shadow: 0 0 6px #FF4FD8, 0 0 18px rgba(255,79,216,.55), inset 0 0 10px rgba(255,79,216,.3); }
[data-theme="tidal"] .t2-relay .r-btn:is(:hover, :focus-visible) { color: #F4FDFF; box-shadow: 0 0 9px #FF4FD8, 0 0 27px rgba(255,79,216,.75), inset 0 0 14px rgba(255,79,216,.4); }
/* 大見出し = ネオンの文字。点灯後に ±8% のゆらぎ */
[data-theme="tidal"] .th-title { text-shadow: var(--t-text-glow); animation: td-hum 4s ease-in-out infinite; }
/* 札・窓・盤: 水越しのにじみと丸い角。乗せると枠がネオン管になる */
[data-theme="tidal"] :is(.th-box, .th-panel) { border-style: solid; border-radius: 16px; backdrop-filter: blur(6px); }
[data-theme="tidal"] .th-box:hover { border-color: #3FF5FF; box-shadow: 0 0 4px #3FF5FF, 0 0 16px rgba(63,245,255,.4); }
[data-theme="tidal"] .th-window { border: 2px solid #3FF5FF; border-radius: 28px; overflow: hidden; backdrop-filter: blur(6px);
  box-shadow: 0 0 4px #3FF5FF, 0 0 22px rgba(63,245,255,.4), inset 0 0 18px rgba(63,245,255,.12); }
[data-theme="tidal"] .th-winbar { background: transparent; color: #F4FDFF; text-shadow: 0 0 6px #3FF5FF; border-bottom: 1px solid rgba(232,247,255,.12); }
[data-theme="tidal"] .th-winbar b { background: transparent; color: inherit; }
/* ボタン: ピル型のネオン管。決定はピンク、ほかは水色。押すと一瞬だけ消灯して点き直る */
[data-theme="tidal"] .th-btn { border-radius: 999px; border-style: solid !important; }
[data-theme="tidal"] .th-btn.is-main { background: transparent !important; color: #F4FDFF !important; border: 2px solid #FF4FD8 !important;
  box-shadow: 0 0 6px #FF4FD8, 0 0 18px rgba(255,79,216,.55), inset 0 0 10px rgba(255,79,216,.3); text-shadow: 0 0 6px #FF4FD8; }
[data-theme="tidal"] .th-btn.is-main:hover:not(:disabled) { box-shadow: 0 0 9px #FF4FD8, 0 0 27px rgba(255,79,216,.75), inset 0 0 14px rgba(255,79,216,.4); }
[data-theme="tidal"] .th-btn:not(.is-main):hover:not(:disabled) { border-color: #3FF5FF !important; box-shadow: 0 0 4px #3FF5FF, 0 0 14px rgba(63,245,255,.45); }
[data-theme="tidal"] .th-btn:active:not(:disabled) { animation: td-off .08s steps(1); }
/* 入力欄: フォーカスで枠が水色のネオン管 */
[data-theme="tidal"] .th-input { border-radius: 12px; }
[data-theme="tidal"] .th-input:focus { border: 2px solid #3FF5FF; box-shadow: 0 0 4px #3FF5FF, 0 0 14px rgba(63,245,255,.45); }
/* 設定の音量の数 (fader = grad の既定は暗い青で、深海の地では読めない) */
html[data-theme="tidal"] .sd-rng b { color: #3FF5FF; }
@keyframes td-off { 0% { opacity: .2; } }
@media (prefers-reduced-motion: reduce) { [data-theme="tidal"] .th-title { animation: none; } }

