/* PRISM canonical theme tokens · pages declare layout, this file owns color semantics. */
:root {
  color-scheme: light;
  --brand-green:#456d5d;--brand-green-strong:#315447;--brand-mint:#b9f2d0;--brand-mint-strong:#9fe8bd;
  --contrast-yellow:#dfff62;--contrast-yellow-strong:#c9ef36;
  --success:#4b9a70;--success-strong:#327e58;--warning:#c27a32;--warning-soft:#f7e7d2;
  --danger:#c45252;--danger-strong:#a83d3d;--danger-soft:#f8e1e1;
}

/* Studio · Light */
html[data-theme="light"][data-accent="studio"] {
  color-scheme:light;
  --page:#eef1ef;--paper:#f8faf8;--paper-strong:#fff;--surface:#fff;
  --ink:#121613;--ink-soft:#4d5852;--muted:#7c867f;--muted-2:#929b95;
  --line:rgba(18,22,19,.11);--line-strong:rgba(18,22,19,.19);
  --accent:#456d5d;--accent-hover:#315447;--accent-ink:#fff;--accent-soft:rgba(69,109,93,.13);--accent-line:rgba(69,109,93,.27);
  --highlight:#b9f2d0;--highlight-hover:#9fe8bd;--highlight-ink:#102019;--highlight-soft:rgba(185,242,208,.28);
  --rose:#c45252;--success:#4b9a70;--success-strong:#327e58;--danger:#c45252;--danger-strong:#a83d3d;
  --chrome:rgba(248,250,249,.86);--panel:rgba(255,255,255,.90);--panel-strong:rgba(255,255,255,.985);--panel-muted:rgba(235,240,237,.82);--control:rgba(255,255,255,.94);--veil:rgba(238,241,239,.96);
  --page-wash:rgba(69,109,93,.075);--surface-wash:rgba(69,109,93,.055);
  --inverse:#0f1713;--inverse-soft:#18231d;--inverse-ink:#edf5f0;
  --shadow-soft:0 24px 70px rgba(16,30,22,.08),0 4px 14px rgba(16,30,22,.035);
  --shadow-deep:0 36px 110px rgba(16,30,22,.17),0 8px 28px rgba(16,30,22,.08);
}

/* Studio · Dark */
html[data-theme="dark"][data-accent="studio"] {
  color-scheme:dark;
  --page:#0d1210;--paper:#141b17;--paper-strong:#1a221d;--surface:rgba(20,27,23,.94);
  --ink:#edf5f0;--ink-soft:#adc0b6;--muted:#7d9187;--muted-2:#6f8178;
  --line:rgba(231,244,236,.085);--line-strong:rgba(231,244,236,.15);
  --accent:#74b99b;--accent-hover:#9bd7bb;--accent-ink:#102019;--accent-soft:rgba(116,185,155,.15);--accent-line:rgba(137,207,177,.29);
  --highlight:#9fe8bd;--highlight-hover:#83dbaa;--highlight-ink:#0d1a14;--highlight-soft:rgba(159,232,189,.16);
  --rose:#f09a84;--success:#72c795;--success-strong:#9cddb8;--warning:#e3a55d;--warning-soft:rgba(227,165,93,.15);--danger:#f09a84;--danger-strong:#ffb19f;--danger-soft:rgba(240,154,132,.14);
  --chrome:rgba(16,22,18,.87);--panel:rgba(21,29,24,.93);--panel-strong:rgba(26,34,29,.985);--panel-muted:rgba(31,42,35,.92);--control:rgba(31,42,35,.96);--veil:rgba(13,18,16,.96);
  --page-wash:rgba(116,185,155,.12);--surface-wash:rgba(116,185,155,.075);
  --inverse:#070a08;--inverse-soft:#101612;--inverse-ink:#edf5f0;
  --shadow-soft:0 26px 82px rgba(0,0,0,.31),0 5px 18px rgba(0,0,0,.18);
  --shadow-deep:0 36px 110px rgba(0,0,0,.50),0 8px 28px rgba(0,0,0,.25);
}

/* Editorial · Light */
html[data-theme="light"][data-accent="editorial"] {
  color-scheme:light;
  --page:#f3f1eb;--paper:#fbfaf7;--paper-strong:#fff;--surface:#fff;
  --ink:#10110f;--ink-soft:#50534d;--muted:#858980;--muted-2:#969991;
  --line:rgba(16,17,15,.12);--line-strong:rgba(16,17,15,.20);
  --accent:#705cff;--accent-hover:#5140d6;--accent-ink:#fff;--accent-soft:rgba(112,92,255,.12);--accent-line:rgba(112,92,255,.25);
  --highlight:#dfff62;--highlight-hover:#c9ef36;--highlight-ink:#10110f;--highlight-soft:rgba(223,255,98,.24);
  --rose:#ff8065;--success:#4b9a70;--success-strong:#327e58;--danger:#c45252;--danger-strong:#a83d3d;
  --chrome:rgba(251,250,247,.84);--panel:rgba(255,255,255,.88);--panel-strong:rgba(255,255,255,.985);--panel-muted:rgba(243,241,235,.76);--control:rgba(255,255,255,.94);--veil:rgba(243,241,235,.96);
  --page-wash:rgba(112,92,255,.06);--surface-wash:rgba(112,92,255,.05);
  --inverse:#141512;--inverse-soft:#20211d;--inverse-ink:#f4f3ed;
  --shadow-soft:0 24px 70px rgba(16,17,15,.08),0 4px 14px rgba(16,17,15,.035);
  --shadow-deep:0 36px 110px rgba(16,17,15,.17),0 8px 28px rgba(16,17,15,.08);
}

/* Editorial · Dark */
html[data-theme="dark"][data-accent="editorial"] {
  color-scheme:dark;
  --page:#10110f;--paper:#171814;--paper-strong:#1d1e1a;--surface:rgba(23,24,20,.94);
  --ink:#f4f3ed;--ink-soft:#bbb9b0;--muted:#8f8e84;--muted-2:#77786f;
  --line:rgba(255,255,255,.085);--line-strong:rgba(255,255,255,.15);
  --accent:#8979f0;--accent-hover:#aa9fff;--accent-ink:#fff;--accent-soft:rgba(137,121,240,.15);--accent-line:rgba(160,146,255,.30);
  --highlight:#dfff62;--highlight-hover:#c9ef36;--highlight-ink:#10110f;--highlight-soft:rgba(223,255,98,.15);
  --rose:#ff907a;--success:#78c594;--success-strong:#9ad8af;--danger:#ff907a;--danger-strong:#ffad9c;
  --chrome:rgba(21,22,18,.86);--panel:rgba(24,25,21,.92);--panel-strong:rgba(29,30,26,.985);--panel-muted:rgba(35,36,31,.92);--control:rgba(35,36,31,.96);--veil:rgba(16,17,15,.96);
  --page-wash:rgba(137,121,240,.11);--surface-wash:rgba(137,121,240,.07);
  --inverse:#080906;--inverse-soft:#12130f;--inverse-ink:#f4f3ed;
  --shadow-soft:0 26px 82px rgba(0,0,0,.30),0 5px 18px rgba(0,0,0,.18);
  --shadow-deep:0 36px 110px rgba(0,0,0,.48),0 8px 28px rgba(0,0,0,.24);
}

/* Nocturne · Light */
html[data-theme="light"][data-accent="nocturne"] {
  color-scheme:light;
  --page:#f6f5ff;--paper:#fff;--paper-strong:#fff;--surface:#fff;
  --ink:#0a0a18;--ink-soft:#555574;--muted:#74748f;--muted-2:#8d8da4;
  --line:rgba(10,10,24,.09);--line-strong:rgba(10,10,24,.17);
  --accent:#6845e8;--accent-hover:#5736d0;--accent-ink:#fff;--accent-soft:rgba(104,69,232,.10);--accent-line:rgba(104,69,232,.22);
  --highlight:#6845e8;--highlight-hover:#5736d0;--highlight-ink:#fff;--highlight-soft:rgba(104,69,232,.10);
  --rose:#dc2626;--success:#15803d;--success-strong:#116b34;--danger:#dc2626;--danger-strong:#b91c1c;
  --chrome:rgba(255,255,255,.86);--panel:rgba(255,255,255,.91);--panel-strong:rgba(255,255,255,.988);--panel-muted:rgba(238,236,255,.86);--control:rgba(255,255,255,.95);--veil:rgba(246,245,255,.96);
  --page-wash:rgba(104,69,232,.095);--surface-wash:rgba(104,69,232,.065);
  --inverse:#171727;--inverse-soft:#20203a;--inverse-ink:#e8e8f2;
  --shadow-soft:0 24px 70px rgba(28,20,70,.12),0 4px 14px rgba(28,20,70,.045);
  --shadow-deep:0 36px 110px rgba(28,20,70,.18),0 8px 28px rgba(28,20,70,.09);
}

/* Nocturne · Dark */
html[data-theme="dark"][data-accent="nocturne"] {
  color-scheme:dark;
  --page:#08080f;--paper:#0e0e1a;--paper-strong:#14142a;--surface:rgba(14,14,26,.96);
  --ink:#e8e8f2;--ink-soft:#9898bd;--muted:#68688a;--muted-2:#5f5f79;
  --line:rgba(255,255,255,.08);--line-strong:rgba(255,255,255,.16);
  --accent:#8b70ff;--accent-hover:#9d87ff;--accent-ink:#fff;--accent-soft:rgba(139,112,255,.14);--accent-line:rgba(139,112,255,.30);
  --highlight:#8b70ff;--highlight-hover:#9d87ff;--highlight-ink:#fff;--highlight-soft:rgba(139,112,255,.14);
  --rose:#ef4444;--success:#22c55e;--success-strong:#60e08d;--danger:#ef4444;--danger-strong:#f87171;
  --chrome:rgba(10,10,20,.88);--panel:rgba(14,14,26,.94);--panel-strong:rgba(20,20,42,.985);--panel-muted:rgba(27,27,53,.92);--control:rgba(27,27,53,.96);--veil:rgba(8,8,15,.97);
  --page-wash:rgba(139,112,255,.15);--surface-wash:rgba(139,112,255,.09);
  --inverse:#08080f;--inverse-soft:#0d0d18;--inverse-ink:#e8e8f2;
  --shadow-soft:0 26px 82px rgba(0,0,0,.32),0 5px 18px rgba(0,0,0,.20);
  --shadow-deep:0 36px 110px rgba(0,0,0,.56),0 8px 28px rgba(0,0,0,.28);
}

/* Global high contrast · overrides every preset identically. */
html[data-theme="light"][data-contrast="high"] {
  color-scheme:light;--page:#fff;--paper:#f4f7f5;--paper-strong:#fff;--surface:#fff;
  --ink:#0b0f0c;--ink-soft:#2f3b35;--muted:#5f6a64;--muted-2:#536058;
  --line:rgba(11,15,12,.22);--line-strong:rgba(11,15,12,.38);
  --accent:#dfff62;--accent-hover:#c9ef36;--accent-ink:#10110f;--accent-soft:rgba(223,255,98,.24);--accent-line:rgba(81,108,0,.55);
  --highlight:#b9f2d0;--highlight-hover:#9fe8bd;--highlight-ink:#102019;--highlight-soft:rgba(185,242,208,.30);
  --chrome:rgba(255,255,255,.96);--panel:#fff;--panel-strong:#fff;--panel-muted:#eef3f0;--control:#fff;--veil:rgba(255,255,255,.97);
  --focus-ring:#516c00;--selection:#dfff62;--selection-ink:#10110f;
}
html[data-theme="dark"][data-contrast="high"] {
  color-scheme:dark;--page:#070a08;--paper:#0d1210;--paper-strong:#141b17;--surface:#141b17;
  --ink:#fff;--ink-soft:#d4e0da;--muted:#b9cbc1;--muted-2:#9fb2a8;
  --line:rgba(255,255,255,.22);--line-strong:rgba(255,255,255,.38);
  --accent:#dfff62;--accent-hover:#c9ef36;--accent-ink:#10110f;--accent-soft:rgba(223,255,98,.17);--accent-line:rgba(223,255,98,.58);
  --highlight:#b9f2d0;--highlight-hover:#9fe8bd;--highlight-ink:#102019;--highlight-soft:rgba(185,242,208,.16);
  --chrome:rgba(7,10,8,.96);--panel:#0d1210;--panel-strong:#141b17;--panel-muted:#1f2a23;--control:#1f2a23;--veil:rgba(7,10,8,.97);
  --focus-ring:#dfff62;--selection:#dfff62;--selection-ink:#10110f;
}

/* Shared aliases for legacy PRISM components. */
html[data-accent] {
  --ui-accent:var(--accent);--ui-accent-strong:var(--accent-hover);--ui-accent-contrast:var(--accent-ink);--ui-accent-soft:var(--accent-soft);--ui-accent-line:var(--accent-line);
  --acid:var(--highlight);--acid-strong:var(--highlight-hover);--acid-ink:var(--highlight-ink);
  --dark:var(--inverse);--dark-soft:var(--inverse-soft);--theme-page-wash:var(--page-wash);--theme-surface-wash:var(--surface-wash);
  --text:var(--ink);--quiet:var(--muted);--canvas:var(--page);--control-background:var(--control);
  /* Status and public widget aliases stay semantic and inherit every preset. */
  --surface-soft:var(--panel-muted);--surface-muted:var(--panel-muted);--notch:var(--inverse);--notch-ink:var(--inverse-ink);
  --notch-accent:var(--highlight);--chart-primary:var(--ink);--chart-secondary:var(--accent);--warning:var(--rose);
}
::selection{color:var(--selection-ink,var(--highlight-ink));background:var(--selection,var(--highlight))}
:focus-visible{outline:3px solid var(--focus-ring,var(--accent));outline-offset:4px}
