:root,
html[data-ui-theme="iron-blood"] {
  --font-display: "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  --font-body: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  --font-numeric: ui-monospace, "SFMono-Regular", "Roboto Mono", monospace;
  --font-size-caption: 11px;
  --font-size-meta: 12px;
  --font-size-body: 14px;
  --font-size-button: 14px;
  --font-size-title: 20px;
  --font-size-value: 16px;
  --surface-base: #0b0d11;
  --surface-raised: #191d25;
  --surface-selected: #232831;
  --surface-critical: #29161a;
  --border-subtle: #2c313a;
  --border-selected: #626974;
  --border-critical: #a64751;
  --text-primary: #e9e5dc;
  --text-secondary: #b8b6af;
  --text-muted: #90949d;
  --text-accent: #c5a56d;
  --text-critical: #e0717b;
  --icon-size-sm: 18px;
  --icon-size-md: 22px;
  --icon-size-lg: 26px;
  --ui-bg-canvas: #0b0d11;
  --ui-bg-panel: #12151b;
  --ui-bg-elevated: #191d25;
  --ui-bg-selected: #232831;
  --ui-text-primary: #e9e5dc;
  --ui-text-secondary: #aaa8a1;
  --ui-text-subdued: #7d8088;
  --ui-border-subtle: #2c313a;
  --ui-border-strong: #444a53;
  --ui-accent-blood: #8a343b;
  --ui-danger: #c34a55;
  --ui-danger-strong: #d45a64;
  --ui-accent-mystic: #6d587f;
  --ui-accent-mystic-strong: #89709d;
  --ui-accent-archive: #8c7248;
  --ui-accent-archive-strong: #b08a52;
  --ui-hp: #a23c45;
  --ui-manpower: #8c7248;
  --ui-shield: #53727a;
  --ui-enemy: #6e527c;
  --ui-selection-bg: #232831;
  --ui-selection-border: #444a53;
  --ui-selection-marker: #7b8189;
  --ui-selection-text: #e9e5dc;
  --ui-unselected-text: #aaa8a1;
  --ui-context-accent: var(--ui-accent-blood);
  --ui-shadow-panel: rgba(0, 0, 0, .34);
  --ui-surface-translucent: rgba(18, 21, 27, .94);
  --ui-surface-soft: rgba(25, 29, 37, .72);
  --ui-focus-ring: #d7d9dc;
}

html[data-ui-theme="abyss"] {
  --ui-bg-canvas: #0c0b12;
  --ui-bg-panel: #15131c;
  --ui-bg-elevated: #1d1927;
  --ui-text-primary: #ebe6ef;
  --ui-text-secondary: #ada5b5;
  --ui-text-subdued: #817989;
  --ui-border-subtle: #332d3d;
  --ui-border-strong: #4b4357;
  --ui-accent-blood: #87404b;
  --ui-danger: #c65362;
  --ui-danger-strong: #d76a77;
  --ui-accent-mystic: #735b87;
  --ui-accent-mystic-strong: #9676ae;
  --ui-accent-archive: #88704c;
  --ui-accent-archive-strong: #aa8959;
  --ui-hp: #a74452;
  --ui-manpower: #88704c;
  --ui-shield: #58727d;
  --ui-enemy: #76598a;
  --ui-context-accent: var(--ui-accent-mystic);
}

html[data-ui-theme="reliquary"] {
  --ui-bg-canvas: #0d0e10;
  --ui-bg-panel: #161719;
  --ui-bg-elevated: #202124;
  --ui-text-primary: #ece7dc;
  --ui-text-secondary: #ada99f;
  --ui-text-subdued: #817e77;
  --ui-border-subtle: #353431;
  --ui-border-strong: #4d4a43;
  --ui-accent-blood: #824047;
  --ui-danger: #bd5159;
  --ui-danger-strong: #ce656d;
  --ui-accent-mystic: #695a77;
  --ui-accent-mystic-strong: #847092;
  --ui-accent-archive: #92784e;
  --ui-accent-archive-strong: #b5945d;
  --ui-hp: #9d444b;
  --ui-manpower: #92784e;
  --ui-shield: #557078;
  --ui-enemy: #6c5a78;
  --ui-context-accent: var(--ui-accent-archive);
}

html[data-ui-theme="abyss"],
html[data-ui-theme="reliquary"] {
  --ui-selection-bg: #232831;
  --ui-selection-border: #444a53;
  --ui-selection-marker: #7b8189;
  --ui-selection-text: #e9e5dc;
  --ui-unselected-text: #aaa8a1;
  --ui-focus-ring: #d7d9dc;
  --ui-shadow-panel: rgba(0, 0, 0, .34);
  --ui-surface-translucent: rgba(18, 21, 27, .94);
  --ui-surface-soft: rgba(25, 29, 37, .72);
}

[data-ui-context="battle"] { --ui-context-accent: var(--ui-accent-blood); }
[data-ui-context="gestation"] { --ui-context-accent: var(--ui-accent-mystic); }
[data-ui-context="archive"] { --ui-context-accent: var(--ui-accent-archive); }

:root {
  --bg: var(--ui-bg-canvas);
  --panel: var(--ui-bg-panel);
  --panel-light: var(--ui-bg-elevated);
  --line: var(--ui-border-subtle);
  --text: var(--ui-text-primary);
  --muted: var(--ui-text-secondary);
  --gold: var(--ui-accent-archive);
  --gold-bright: var(--ui-accent-archive-strong);
  --blood: var(--ui-danger);
  --blood-bright: var(--ui-danger-strong);
  --enemy: var(--ui-accent-mystic);
}
