:root{
/* Neutrals — warm "paper" stone */
--n-0:#ffffff;--n-25:oklch(0.99 0.003 85);--n-50:oklch(0.978 0.004 85);--n-100:oklch(0.958 0.005 85);--n-150:oklch(0.935 0.006 85);--n-200:oklch(0.905 0.007 85);--n-300:oklch(0.85 0.008 85);--n-400:oklch(0.72 0.01 85);--n-500:oklch(0.58 0.012 80);--n-600:oklch(0.47 0.012 75);--n-700:oklch(0.37 0.012 70);--n-800:oklch(0.27 0.01 70);--n-850:oklch(0.225 0.009 70);--n-900:oklch(0.19 0.008 70);--n-950:oklch(0.155 0.007 70);--n-1000:oklch(0.12 0.006 70);
/* Accent — Signal Cobalt (the one confident color) */
--blue-50:oklch(0.97 0.018 262);--blue-100:oklch(0.94 0.04 262);--blue-200:oklch(0.89 0.075 262);--blue-300:oklch(0.8 0.125 262);--blue-400:oklch(0.7 0.17 262);--blue-500:oklch(0.615 0.2 262);--blue-600:oklch(0.545 0.205 262);--blue-700:oklch(0.47 0.19 262);--blue-800:oklch(0.39 0.16 262);--blue-900:oklch(0.31 0.12 262);
/* Status — only ever used for status */
--green-50:oklch(0.97 0.03 152);--green-100:oklch(0.93 0.06 152);--green-500:oklch(0.66 0.16 152);--green-600:oklch(0.58 0.15 152);--green-700:oklch(0.48 0.12 152);
--amber-50:oklch(0.975 0.035 80);--amber-100:oklch(0.94 0.08 80);--amber-500:oklch(0.79 0.16 75);--amber-600:oklch(0.7 0.155 65);--amber-700:oklch(0.55 0.13 55);
--red-50:oklch(0.97 0.02 25);--red-100:oklch(0.93 0.045 25);--red-500:oklch(0.63 0.21 25);--red-600:oklch(0.56 0.21 25);--red-700:oklch(0.47 0.18 25);
/* Client-brand identity dots (brand switcher only — never status) */
--brand-coral:oklch(0.7 0.16 35);--brand-tangerine:oklch(0.76 0.15 60);--brand-sun:oklch(0.83 0.15 92);--brand-leaf:oklch(0.7 0.15 145);--brand-teal:oklch(0.7 0.11 195);--brand-sky:oklch(0.7 0.13 235);--brand-iris:oklch(0.62 0.16 285);--brand-rose:oklch(0.68 0.17 0);

/* Semantic — light */
--bg-canvas:var(--n-50);--bg-surface:var(--n-0);--bg-raised:var(--n-0);--bg-sunken:var(--n-100);--bg-sidebar:var(--n-100);--bg-hover:oklch(0.4 0.02 70 / 0.05);--bg-press:oklch(0.4 0.02 70 / 0.09);--bg-overlay:oklch(0.2 0.01 70 / 0.34);--bg-inverse:var(--n-900);
--text-1:var(--n-950);--text-2:var(--n-600);--text-3:var(--n-500);--text-disabled:var(--n-400);--text-on-accent:#ffffff;--text-inverse:var(--n-50);--text-link:var(--blue-600);
--border-1:var(--n-150);--border-2:var(--n-200);--border-strong:var(--n-300);
--accent:var(--blue-600);--accent-top:var(--blue-500);--accent-hover:var(--blue-500);--accent-press:var(--blue-700);--accent-lip:var(--blue-800);--accent-soft:var(--blue-50);--accent-soft-2:var(--blue-100);--accent-text:var(--blue-700);--focus-ring:oklch(0.615 0.2 262 / 0.32);
--success:var(--green-600);--success-soft:var(--green-50);--success-text:var(--green-700);
--warning:var(--amber-500);--warning-soft:var(--amber-50);--warning-text:var(--amber-700);
--danger:var(--red-600);--danger-top:var(--red-500);--danger-lip:var(--red-700);--danger-soft:var(--red-50);--danger-text:var(--red-700);
--lip:var(--n-300);--hl:rgb(255 255 255 / 0.95);
color-scheme:light;
}
[data-theme="dark"]{
--bg-canvas:var(--n-950);--bg-surface:var(--n-900);--bg-raised:var(--n-850);--bg-sunken:var(--n-1000);--bg-sidebar:var(--n-1000);--bg-hover:rgb(255 255 255 / 0.05);--bg-press:rgb(255 255 255 / 0.09);--bg-overlay:rgb(0 0 0 / 0.55);--bg-inverse:var(--n-50);
--text-1:var(--n-50);--text-2:var(--n-400);--text-3:var(--n-500);--text-disabled:var(--n-600);--text-inverse:var(--n-950);--text-link:var(--blue-300);
--border-1:rgb(255 255 255 / 0.07);--border-2:rgb(255 255 255 / 0.11);--border-strong:rgb(255 255 255 / 0.18);
--accent:var(--blue-500);--accent-top:var(--blue-400);--accent-hover:var(--blue-400);--accent-press:var(--blue-600);--accent-lip:var(--blue-800);--accent-soft:oklch(0.615 0.2 262 / 0.16);--accent-soft-2:oklch(0.615 0.2 262 / 0.26);--accent-text:var(--blue-300);--focus-ring:oklch(0.7 0.17 262 / 0.4);
--success:var(--green-500);--success-soft:oklch(0.66 0.16 152 / 0.15);--success-text:var(--green-500);
--warning:var(--amber-500);--warning-soft:oklch(0.79 0.16 75 / 0.14);--warning-text:var(--amber-500);
--danger:var(--red-500);--danger-top:oklch(0.68 0.2 25);--danger-lip:var(--red-700);--danger-soft:oklch(0.63 0.21 25 / 0.15);--danger-text:oklch(0.72 0.17 25);
--lip:rgb(0 0 0 / 0.55);--hl:rgb(255 255 255 / 0.07);
color-scheme:dark;
}
