/*
 * ProspiA shared semantic tokens.
 * Palette reference: ios.cfw.guide (MIT). The copied source, license,
 * notice, and inspection manifest live in assets/vendor/cfw-guide/.
 */
:root {
  color-scheme: light;

  /* Approved scoreboard palette. Team colors remain data, not theme tokens. */
  --bg: #E9E7E1;
  --surface: #FFFFFF;
  --surface-fixed-white: #FFFFFF;
  --surface-sub: #F1EFE9;
  --surface-deep: #E2DFD8;
  --line: #C9C4BB;
  --line-strong: #C9C4BB;
  --ink: #131A24;
  --ink-2: #4E5663;
  --ink-3: #576070;
  --accent-core: #18b3ce;
  --accent-hover: var(--accent-core);
  --accent-weak: rgba(141,208,224,.28);
  --accent-edge: #8dd0e0;
  --on-accent: #04222a;
  --accent-soft: var(--accent-weak);
  --ink-on-accent: var(--on-accent);
  --ink-on-badge: #131A24;
  --ball-face: #FBFAF8;
  --ball-edge: rgba(19,26,36,.22);
  --ball-seam: #C6392A;
  --ball-stitch: var(--ball-seam);
  --accent-text: #0b6675;
  /* 操作可能な状態は「塗り」ではなく「線」で示す */
  --sel-bg: var(--surface);
  --sel-bg-sub: var(--surface-sub);
  --sel-border: var(--accent-core);
  --sel-ring: var(--accent-weak);
  --sel-ink: var(--accent-text);
  --gold-text: #8a6500;
  --gold-on-chrome: #6b5000;
  --success-text: var(--ink-2);
  --danger-text: #a52f38;
  --teal-text: var(--gold-text);
  --info-text: #1f5fb3;
  --purple-text: #7a3aa8;
  --surface-info: #E9F3F5;
  --surface-warm: #F8F2DF;
  --surface-danger: #F8E9E7;
  --surface-success: var(--surface-muted);
  --surface-kai: var(--surface-warm);
  --surface-muted: #E9E7E2;
  --tool-ic-ability: var(--surface-muted);
  --tool-ic-ability-icon: var(--ink-2);
  --tool-ic-title: #F8F2DF;
  --tool-ic-title-icon: #8a6500;
  --tool-ic-combo: #E9F3F5;
  --tool-ic-combo-icon: #1f5fb3;
  --tool-ic-highlight: #F4E5EA;
  --tool-ic-highlight-icon: #b3315f;
  --success-on-chrome: var(--ink-2);
  --title-star-4: #8a6500;
  --title-star-3: #8a6500;
  --title-star-2: #59616E;
  --title-star-1: #59616E;

  /* Non-interactive state colors keep their existing semantic roles. */
  --gold: #f5b919;
  --gold-soft: #fff5d7;
  --danger: #b23b42;
  --state-warning: #b8860b;
  --state-neutral: #7b8794;

  /* Neutral chrome keeps cyan reserved for things the user can operate. */
  --chrome: var(--surface-deep);
  --chrome-2: var(--surface-sub);
  --ink-on-chrome: var(--ink);
  --ink-on-chrome-muted: var(--ink-2);
  --ink-on-line: var(--ink);
  /* Deliberately inverted surfaces are limited to explanatory tooltips. */
  --tooltip-bg: var(--surface);
  --tooltip-ink: var(--ink);

  /* Depth and shape. */
  --shadow: 0 1px 2px rgba(19, 26, 36, .05), 0 5px 16px rgba(19, 26, 36, .06);
  --shadow-lg: 0 2px 4px rgba(19, 26, 36, .06), 0 12px 28px rgba(19, 26, 36, .08);
  --r-lg: 14px;
  --r-md: 10px;
  --r-sm: 7px;
  --r-pill: 999px;

  /* Type scale. */
  --t-xs: 11px;
  --t-sm: 12.5px;
  --t-base: 13.5px;
  --t-md: 15px;
  --t-lg: 21px;
  --t-xl: 28px;
  --font-sans: "Hiragino Sans", "Noto Sans JP", -apple-system, BlinkMacSystemFont, sans-serif;
  --font-display: "Barlow Condensed", var(--font-sans);

  /* Spacing scale. */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 32px;

  /* Compatibility aliases for selectors not yet migrated to a semantic role. */
  --navy: var(--chrome);
  --navy-2: var(--chrome-2);
  --navy-deep: var(--bg);
  --field: var(--accent-core);
  --stitch: var(--danger);
  --card: var(--surface);
  --hi: var(--state-neutral);
  --mid: var(--gold);
  --lo: var(--ink-2);
  --silver: #aab2c0;
  --bronze: #c08552;
  --rk-sup: var(--gold);
  --rk-kai: var(--gold);
  --rk-nor: var(--ink-2);
  --sans: var(--font-sans);
  --cond: var(--font-display);
}

html[data-theme="dark"] {
  color-scheme: dark;

  --bg: #0D131B;
  --surface: #151D28;
  --surface-fixed-white: #ECE9E3;
  --surface-sub: #1B2431;
  --surface-deep: #212C3B;
  --line: #28323F;
  --line-strong: #3A4757;
  --ink: #ECE9E3;
  --ink-2: #A4ACB8;
  --ink-3: #8B95A3;
  --accent-core: #18b3ce;
  --accent-hover: var(--accent-core);
  --accent-weak: rgba(24,179,206,.16);
  --accent-edge: #8dd0e0;
  --accent-soft: var(--accent-weak);
  --on-accent: #04222a;
  --ink-on-accent: var(--on-accent);
  --ink-on-badge: #04222a;
  --ball-face: #ECE9E3;
  --ball-edge: rgba(0,0,0,.12);
  --ball-seam: #D8412F;
  --ball-stitch: var(--ball-seam);
  --accent-text: #8dd0e0;
  --gold-text: #f5d36a;
  --gold-on-chrome: #ffd866;
  --success-text: var(--ink-2);
  --danger-text: #ff9296;
  --teal-text: var(--gold-text);
  --info-text: #8fc7ff;
  --purple-text: #d5a6ff;
  --surface-info: #1F3540;
  --surface-warm: #3B3528;
  --surface-danger: #3B2C30;
  --surface-success: var(--surface-muted);
  --surface-kai: var(--surface-warm);
  --surface-muted: #212C3B;
  --tool-ic-ability: var(--surface-muted);
  --tool-ic-ability-icon: var(--ink-2);
  --tool-ic-title: #3B3528;
  --tool-ic-title-icon: #f5d36a;
  --tool-ic-combo: #1F3540;
  --tool-ic-combo-icon: #8fc7ff;
  --tool-ic-highlight: #452c39;
  --tool-ic-highlight-icon: #ff9aba;
  --success-on-chrome: var(--ink-2);
  --title-star-4: #f5d36a;
  --title-star-3: #f5d36a;
  --title-star-2: #c5d0da;
  --title-star-1: #8b9eb0;
  --gold-soft: rgba(245, 185, 25, .16);
  --danger: #ff9296;
  --state-warning: #f5d36a;
  --chrome: var(--surface-deep);
  --chrome-2: var(--surface-sub);
  --tooltip-bg: var(--surface-deep);
  --tooltip-ink: #FFFFFF;
  --navy: var(--chrome);
  --navy-2: var(--chrome-2);
  --ink-on-chrome: var(--ink);
  --ink-on-chrome-muted: var(--ink-2);
  --ink-on-line: var(--ink);
  --shadow: 0 1px 2px rgba(0, 0, 0, .22), 0 5px 16px rgba(0, 0, 0, .24);
  --shadow-lg: 0 2px 4px rgba(0, 0, 0, .25), 0 12px 28px rgba(0, 0, 0, .35);
}

.num,
input[type="number"],
select,
table,
.sp-big b,
.cost b,
.result-meta,
.detail-spi b,
.res-val {
  font-variant-numeric: tabular-nums;
}
