:root {
  color-scheme: dark;
  --bg: #0e141b;
  --panel: #18212b;
  --panel-2: #212c38;
  --line: #2a3644;
  --text: #e9eef3;
  --muted: #a2b1bf;
  --accent: #5ec6f2;
  --accent-2: #8ed7f6;
  --great: #6fdc9f;
  --good: #a0e3c1;
  --bad: #ff9e7a;
  --terrible: #ff8d80;
  --font-sans: -apple-system, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Noto Sans JP", system-ui, sans-serif;
  --gutter: 16px;
  --topbar-shift: 0px; /* 上部バー上端からタブ行上端までの距離。AppShell が実測値で上書きする */
  --shadow-pop: 0 8px 24px rgba(0,0,0,.4);
  --shadow-pop-strong: 0 8px 24px rgba(0,0,0,.45);
  --shadow-modal: 0 16px 48px rgba(0,0,0,.5);
  --bg-glow: #14222c;
  --text-dim: var(--muted);
  --input-border: var(--line);
  --on-accent: #06222f;
  --disabled-bg: var(--panel-2);
  --disabled-text: var(--muted);
  --surface-sub: var(--panel-2);
  --text-subtle: var(--muted);
  --spinner-track: var(--line);
  --bg-a82: rgba(14,20,27,.82);
  --accent-a10: rgba(94,198,242,.1);
  --accent-a18: rgba(94,198,242,.18);
  --accent-a05: rgba(94,198,242,.05);
  --warn-text: #f2c14e;
  --accent-a06: rgba(94,198,242,.06);
  --good-a08: rgba(160,227,193,.08);
  --mark-empty-border: rgba(233,238,243,.35);
  --great-a15: rgba(111,220,159,.15);
  --terrible-a15: rgba(255,141,128,.15);
  --timeup-a15: rgba(242,193,78,.15);
  --timeup: var(--warn-text);
  --accent-a07: rgba(94,198,242,.07);
  --heat-empty: rgba(233,238,243,.03);
  --text-faint: var(--muted);
  --heat-text: var(--text);
  --terrible-a85: rgba(196,50,31,.85);
  --heat-mid: rgba(233,238,243,.08);
  --win-a85: rgba(19,128,63,.85);
  --error-bg: #3b3138;
  --error-border: var(--terrible);
  --error-text: var(--terrible);
  --share-icon: #fff;
  --brand-x: #000;
  --brand-bsky: #0085ff;
  --brand-line: #06c755;
  --share-copy-bg: #334;
  --accent-a15: rgba(94,198,242,.15);
  --scrim: rgba(0,0,0,0.5);
  --scrim-strong: rgba(0,0,0,0.6);
  --warn-bg: #393930;
  --warn-border: var(--warn-text);
  --text-legal: var(--muted);
  --accent-a08: rgba(94,198,242,.08);
  --vs-shadow: rgba(0,0,0,.5);
  --pager-disabled: var(--muted);
  --gantt-grid: rgba(233,238,243,.09);
  --gantt-grid-major: rgba(233,238,243,.2);
  --gantt-team-ally: rgba(94,198,242,.07);
  --gantt-team-enemy: rgba(255,141,128,.07);
  --gantt-deathline: rgba(255,141,128,.45);
  --gantt-ex: #5f6a75;
  --gantt-f: #ff9e7a;
  --gantt-s: #5ec6f2;
  --gantt-e: #6fdc9f;
  --gantt-ov: rgba(233,238,243,.18);
  --gantt-ov-border: var(--muted);
  --gantt-ov-on: var(--text);
  --gantt-diamond-ring: rgba(0,0,0,.35);
  --chart-text: var(--muted);
  --chart-text-sub: var(--muted);
  --chart-grid: rgba(233,238,243,.05);
  --chart-grid-strong: rgba(233,238,243,.08);
  --chart-radar-grid: rgba(233,238,243,.1);
  --chart-ref-line: rgba(233,238,243,.3);
  --chart-ref-text: var(--muted);
  --accent-2-a10: rgba(142,215,246,.1);
  --accent-2-a20: rgba(142,215,246,.2);
  --accent-2-a30: rgba(142,215,246,.3);
  --accent-2-a50: rgba(142,215,246,.5);
  --accent-a20: rgba(94,198,242,.2);
  --accent-a25: rgba(94,198,242,.25);
  --great-a20: rgba(111,220,159,.2);
  --great-a25: rgba(111,220,159,.25);
  --great-a60: rgba(111,220,159,.6);
  --terrible-a18: rgba(255,141,128,.18);
  --terrible-a22: rgba(255,141,128,.22);
  --terrible-a60: rgba(255,141,128,.6);
  --terrible-a70: rgba(255,141,128,.7);
  --win-a70: rgba(111,220,159,.7);
  --bad-a18: rgba(255,158,122,.18);
  --radar-opp2: #f2c14e;
  --radar-opp2-a22: rgba(242,193,78,.22);
  --win-rgb: 19,128,63;
  --terrible-rgb: 196,50,31;
}
@media (max-width: 600px) { :root { --gutter: 10px; } }
/* ライト配色。data-theme は theme-init.js が付ける(JS 不在時はダーク) */
:root[data-theme="light"] {
  color-scheme: light;
  --bg: #f4f6f8;
  --panel: #ffffff;
  --panel-2: #e7ecf0;
  --line: #d5dbe1;
  --text: #17202a;
  --muted: #4f5d6b;
  --accent: #0a6c99;
  --accent-2: #08567a;
  --great: #0f6833;
  --good: #115230;
  --bad: #ab4a1b;
  --terrible: #a62a1a;
  --shadow-pop: 0 8px 24px rgba(0,0,0,.16);
  --shadow-pop-strong: 0 8px 24px rgba(0,0,0,.18);
  --shadow-modal: 0 16px 48px rgba(0,0,0,.2);
  --bg-glow: #e6eef2;
  --on-accent: #ffffff;
  --bg-a82: rgba(244,246,248,.82);
  --accent-a10: rgba(10,108,153,.1);
  --accent-a18: rgba(10,108,153,.18);
  --accent-a05: rgba(10,108,153,.05);
  --warn-text: #7d5100;
  --accent-a06: rgba(10,108,153,.06);
  --good-a08: rgba(17,82,48,.08);
  --mark-empty-border: rgba(23,32,42,.35);
  --great-a15: rgba(15,104,51,.15);
  --terrible-a15: rgba(166,42,26,.15);
  --timeup-a15: rgba(125,81,0,.15);
  --accent-a07: rgba(10,108,153,.07);
  --heat-empty: rgba(23,32,42,.03);
  --terrible-a85: rgba(255,141,128,.85);
  --heat-mid: rgba(23,32,42,.08);
  --win-a85: rgba(111,220,159,.85);
  --error-bg: #f8eeed;
  --accent-a15: rgba(10,108,153,.15);
  --warn-bg: #efeae0;
  --accent-a08: rgba(10,108,153,.08);
  --vs-shadow: rgba(0,0,0,.2);
  --gantt-grid: rgba(23,32,42,.09);
  --gantt-grid-major: rgba(23,32,42,.2);
  --gantt-team-ally: rgba(10,108,153,.08);
  --gantt-team-enemy: rgba(166,42,26,.07);
  --gantt-deathline: rgba(166,42,26,.4);
  --gantt-ex: #99a2aa;
  --gantt-f: #c2541f;
  --gantt-s: #0a6c99;
  --gantt-e: #13803f;
  --gantt-ov: rgba(23,32,42,.18);
  --gantt-diamond-ring: rgba(0,0,0,.14);
  --chart-grid: rgba(23,32,42,.05);
  --chart-grid-strong: rgba(23,32,42,.08);
  --chart-radar-grid: rgba(23,32,42,.1);
  --chart-ref-line: rgba(23,32,42,.3);
  --accent-2-a10: rgba(8,86,122,.1);
  --accent-2-a20: rgba(8,86,122,.2);
  --accent-2-a30: rgba(8,86,122,.3);
  --accent-2-a50: rgba(8,86,122,.5);
  --accent-a20: rgba(10,108,153,.2);
  --accent-a25: rgba(10,108,153,.25);
  --great-a20: rgba(15,104,51,.2);
  --great-a25: rgba(15,104,51,.25);
  --great-a60: rgba(15,104,51,.6);
  --terrible-a18: rgba(166,42,26,.18);
  --terrible-a22: rgba(166,42,26,.22);
  --terrible-a60: rgba(166,42,26,.6);
  --terrible-a70: rgba(166,42,26,.7);
  --win-a70: rgba(15,104,51,.7);
  --bad-a18: rgba(171,74,27,.18);
  --radar-opp2: #8a6a00;
  --radar-opp2-a22: rgba(138,106,0,.22);
  --win-rgb: 111,220,159;
  --terrible-rgb: 255,141,128;
}
