/* V128 canonical theme tokens */
:root {
    color-scheme: dark;
    --bg: #05070a;
    --bg-deep: #020306;
    --text: #f5f0df;
    --text-soft: #d9deea;
    --text-muted: #aeb4bd;
    --text-faint: #768294;
    --gold: #ffd95a;
    --green: #55d978;
    --danger: #ff6a58;
    --border: rgba(255,255,255,.12);
    --border-strong: rgba(255,255,255,.20);
    --surface-0: rgba(5, 10, 16, .96);
    --surface-1: rgba(9, 18, 29, .94);
    --surface-2: rgba(14, 27, 41, .92);
    --surface-control: rgba(255,255,255,.055);
    --surface-control-hover: rgba(255,255,255,.09);
    --shadow: 0 18px 54px rgba(0,0,0,.42);
    --shadow-soft: 0 8px 20px rgba(0,0,0,.28);
    --radius-panel: 22px;
    --radius-card: 14px;
    --radius-control: 11px;
    --radius-pill: 999px;
    --transition: 140ms ease;
    --font-main: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-title: Georgia, "Times New Roman", serif;

    --entity-map: #ffd95a;
    --entity-place: #4aa8ff;
    --entity-person: #ff9a3d;
    --entity-quest: #55d978;
    --entity-encounter: #ff4f4f;
    --entity-monster: #b678ff;
    --entity-site: #35d7c0;
    --entity-item: #d59b55;
    --entity-rule: #d58cff;
    --entity-default: var(--entity-map);

    --hotspot-size-runtime: clamp(26px, 1.8vw, 42px);
    --header-height: 72px;
    --dock-width: 284px;
    --dock-gutter: 12px;
}
:root[data-appearance="light"] {
    color-scheme: light;
    --bg: #f3f0e7;
    --bg-deep: #dbd4c4;
    --text: #18202a;
    --text-soft: #303946;
    --text-muted: #66717f;
    --text-faint: #87919e;
    --gold: #9d6900;
    --green: #217542;
    --border: rgba(24,32,42,.18);
    --border-strong: rgba(24,32,42,.28);
    --surface-0: rgba(250,248,241,.96);
    --surface-1: rgba(255,252,245,.96);
    --surface-2: rgba(235,229,217,.95);
    --surface-control: rgba(30,38,50,.06);
    --surface-control-hover: rgba(157,105,0,.10);
}
