/* tokens.css — The colour tokens of §5.2, carried from the prototype.
   
   Light on `:root`, dark under BOTH the media query (guarded with `:root:not([data-theme="light"])`)
   and `:root[data-theme="dark"]`, so an explicit choice always wins. No colour is defined only
   inside a media or [data-theme] block — that rule is §5.2's own, and it is what keeps a token
   real in both themes.
   
   ds-allow: D1 — this file IS the contract slot. The literals here are the definition of every
   token the rest of the panel reads through var(--…); a var() here would point at nothing. */

:root{
  --ground:#F4F5F3;--surface:#FFFFFF;--sunk:#EFF2EF;--ink:#1A1F1D;--muted:#4D5651;--faint:#636D67;--line:#E1E5E1;--line-strong:#C9D0CA;
  --accent:#1D6B5C;--accent-ink:#FFFFFF;--accent-tint:#E3F0EB;
  --warn:#94600F;--warn-tint:#FBF0DB;--danger:#A63A31;--danger-tint:#F8E3E0;--ok:#1D6B5C;--ok-tint:#E3F0EB;
  --shade:rgba(20,26,23,.45);
  --font:"Vazirmatn","Segoe UI",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --tg-bg:#FFFFFF;--tg-head:#F1F3F5;--tg-ink:#1C1C1E;--tg-sub:#636B72;--tg-accent:#3390EC;--tg-line:#ECEEF0;
  --tgc-0:#E5534B;--tgc-1:#E8893A;--tgc-2:#9B6BDF;--tgc-3:#4FAE4E;--tgc-4:#3AA6C2;--tgc-5:#4A8FE0;--tgc-6:#D6609C;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --ground:#101513;--surface:#18201D;--sunk:#141B18;--ink:#E5ECE8;--muted:#B3C0BA;--faint:#94A39B;--line:#28332F;--line-strong:#3A4742;
  --accent:#57C3A7;--accent-ink:#0D1714;--accent-tint:#163029;
  --warn:#E3A84A;--warn-tint:#33280F;--danger:#E57D73;--danger-tint:#3A1C19;--ok:#57C3A7;--ok-tint:#163029;
  --tg-bg:#17212B;--tg-head:#232E3C;--tg-ink:#E9EEF3;--tg-sub:#9AA8B5;--tg-accent:#6AB2F2;--tg-line:#101921;
  --tgc-0:#E5534B;--tgc-1:#E8893A;--tgc-2:#9B6BDF;--tgc-3:#4FAE4E;--tgc-4:#3AA6C2;--tgc-5:#4A8FE0;--tgc-6:#D6609C;
  --shade:rgba(0,0,0,.62);color-scheme:dark;
}}
:root[data-theme="dark"]{
  --ground:#101513;--surface:#18201D;--sunk:#141B18;--ink:#E5ECE8;--muted:#B3C0BA;--faint:#94A39B;--line:#28332F;--line-strong:#3A4742;
  --accent:#57C3A7;--accent-ink:#0D1714;--accent-tint:#163029;
  --warn:#E3A84A;--warn-tint:#33280F;--danger:#E57D73;--danger-tint:#3A1C19;--ok:#57C3A7;--ok-tint:#163029;
  --tg-bg:#17212B;--tg-head:#232E3C;--tg-ink:#E9EEF3;--tg-sub:#9AA8B5;--tg-accent:#6AB2F2;--tg-line:#101921;
  --tgc-0:#E5534B;--tgc-1:#E8893A;--tgc-2:#9B6BDF;--tgc-3:#4FAE4E;--tgc-4:#3AA6C2;--tgc-5:#4A8FE0;--tgc-6:#D6609C;
  --shade:rgba(0,0,0,.62);color-scheme:dark;
}
