:root{  --blue-50:#EAF4FB;
--blue-100:#CFE6F5;
--blue-200:#A9D2EC;
--blue-400:#2698D4; --blue-500:#2287C9; --blue-600:#1B6CA1;
--blue-700:#15537C; --navy-50:#EEF0F3;
--navy-100:#D6DBE2;
--navy-400:#5A6878;
--navy-600:#3A4959;
--navy-700:#313E4F; --navy-800:#26303D;
--navy-900:#1C242E; --teal-50:#E8F5F7;
--teal-100:#C7E7EB;
--teal-500:#1998A8; --teal-600:#147F8C; --white:#FFFFFF; --gray-25:#F8F8FA; --gray-50:#F3F4F6;
--gray-100:#EBEBEB; --gray-150:#E9E9E9; --gray-200:#E1E1E1; --gray-400:#9C9C9C; --gray-600:#6B6B6B;
--ink:#3C3C3C;  --success-500:#1E8A5B;
--success-50:#E8F5EE;
--danger-500:#C4443C;
--danger-50:#FBEDEC;
--warning-500:#9A6410;
--warning-50:#FBF2E3; --text-primary:var(--ink);
--text-heading:var(--navy-700);
--text-secondary:var(--gray-400);
--text-muted:var(--gray-600);
--text-inverse:var(--white);
--text-inverse-soft:rgba(255,255,255,.72);
--text-link:var(--blue-500);
--text-link-hover:var(--teal-500);
--text-accent:var(--blue-500);
--text-danger:var(--danger-500);
--text-success:var(--success-500);
--text-on-dark-heading:var(--white);
--surface-page:var(--white);
--surface-card:var(--white);
--surface-muted:var(--gray-25);
--surface-sunken:var(--gray-50);
--surface-dark:var(--navy-700);
--surface-dark-raised:var(--navy-600);
--surface-accent-soft:var(--blue-50);
--surface-accent:var(--blue-500);
--surface-secondary-soft:var(--teal-50);
--surface-success-soft:var(--success-50);
--surface-danger-soft:var(--danger-50);
--border-subtle:var(--gray-100);
--border-default:var(--gray-200);
--border-strong:var(--navy-100);
--border-accent:var(--blue-500);
--border-danger:var(--danger-500);
--border-on-dark:rgba(255,255,255,.16);
--action-primary-bg:var(--blue-500);
--action-primary-bg-hover:var(--blue-400);
--action-primary-bg-active:var(--blue-600);
--action-primary-fg:var(--white);
--action-secondary-bg:var(--white);
--action-secondary-fg:var(--teal-500);
--action-secondary-border:var(--teal-500);
--action-secondary-bg-hover:var(--teal-50);
--action-quiet-fg:var(--navy-700);
--action-quiet-bg-hover:var(--gray-50);
--action-disabled-bg:var(--gray-100);
--action-disabled-fg:var(--gray-400);
--focus-ring:var(--blue-500);
--focus-ring-on-dark:var(--white);
}
:root{
--font-core:"Golos Text","Helvetica Neue",Arial,sans-serif;
--font-mono:"IBM Plex Mono","SFMono-Regular",Consolas,monospace;
--font-display:var(--font-core);
--font-body:var(--font-core);
--font-ui:var(--font-core);
--weight-regular:400;
--weight-medium:500;
--weight-semibold:600;
--weight-bold:700; --text-3xs:11px;
--text-2xs:12px;
--text-xs:13px;
--text-sm:14px;
--text-base:16px;
--text-md:17px;
--text-lg:20px;
--text-xl:24px;
--text-2xl:28px;
--text-3xl:34px;
--text-4xl:42px;
--text-5xl:52px;
--leading-tight:1.12;
--leading-snug:1.25;
--leading-normal:1.45;
--leading-relaxed:1.62;
--tracking-tight:-0.02em;
--tracking-snug:-0.01em;
--tracking-normal:0;
--tracking-wide:0.04em;
--tracking-caps:0.08em; --type-hero-size:var(--text-5xl);
--type-hero-leading:var(--leading-tight);
--type-hero-tracking:var(--tracking-tight);
--type-h1-size:var(--text-4xl);
--type-h2-size:var(--text-2xl);
--type-h3-size:var(--text-lg);
--type-h4-size:var(--text-md);
--type-lead-size:var(--text-lg);
--type-lead-leading:var(--leading-normal);
--type-body-size:var(--text-md);
--type-body-leading:var(--leading-relaxed);
--type-small-size:var(--text-sm);
--type-caption-size:var(--text-xs);
--type-eyebrow-size:var(--text-2xs);
--type-eyebrow-tracking:var(--tracking-caps);
--type-code-size:var(--text-sm); --measure-prose:72ch;
--measure-lead:60ch;
}
:root{
--space-0:0;
--space-1:2px;
--space-2:4px;
--space-3:8px;
--space-4:12px;
--space-5:16px;
--space-6:20px;
--space-7:24px;
--space-8:32px;
--space-9:40px;
--space-10:48px;
--space-11:64px;
--space-12:80px;
--space-13:96px;
--space-14:128px; --gap-inline:var(--space-3);
--gap-stack:var(--space-5);
--gap-card:var(--space-7);
--gap-block:var(--space-10);
--section-y:var(--space-12);
--section-y-compact:var(--space-10);
--section-y-mobile:var(--space-9); --radius-xs:3px;
--radius-sm:6px;
--radius-md:10px;
--radius-lg:14px;
--radius-xl:20px;
--radius-pill:999px; --container-max:1200px;
--container-narrow:800px;
--container-pad:24px;
--container-pad-mobile:16px;
--content-col:calc(100% - 380px); --aside-col:340px;
--grid-gutter:var(--space-7); --control-h-sm:36px;
--control-h-md:44px;
--control-h-lg:52px;
--control-pad-x:18px;
--tap-min:44px; --bp-sm:600px; --bp-md:900px; --bp-lg:1120px; --bp-xl:1280px; }
:root{
--border-width:1px;
--border-width-strong:2px;
--rule:var(--border-width) solid var(--border-default);
--rule-subtle:var(--border-width) solid var(--border-subtle); --shadow-none:none;
--shadow-hairline:0 0 0 1px var(--border-default);
--shadow-xs:0 1px 2px rgba(49,62,79,.06);
--shadow-sm:0 2px 6px rgba(49,62,79,.07);
--shadow-md:0 6px 18px rgba(49,62,79,.09);
--shadow-lg:0 18px 44px rgba(49,62,79,.14);
--shadow-inset-top:inset 0 1px 0 var(--border-subtle);
--shadow-accent:0 6px 18px rgba(34,135,201,.24);
--focus-ring-width:3px;
--focus-ring-offset:2px;
--focus-shadow:0 0 0 var(--focus-ring-width) rgba(34,135,201,.35);
--focus-shadow-danger:0 0 0 var(--focus-ring-width) rgba(196,68,60,.3); --scrim-dark:linear-gradient(180deg,rgba(28,36,46,0) 0%,rgba(28,36,46,.78) 100%); --scrim-side:linear-gradient(90deg,rgba(28,36,46,.88) 0%,rgba(28,36,46,.35) 60%,rgba(28,36,46,0) 100%); --overlay-scrim:rgba(28,36,46,.55);
--glass-blur:blur(10px); --glass-bg:rgba(255,255,255,.86);
}
:root{
--duration-instant:80ms; --duration-fast:140ms; --duration-base:200ms; --duration-slow:320ms; --ease-standard:cubic-bezier(.2,.6,.25,1); --ease-out:cubic-bezier(.16,1,.3,1); --ease-in:cubic-bezier(.4,0,1,1); --transition-color:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard);
--transition-transform:transform var(--duration-base) var(--ease-standard);
--transition-panel:max-height var(--duration-base) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard);
--press-scale:0.985; }
@media (prefers-reduced-motion:reduce){:root{
--duration-instant:0ms; --duration-fast:0ms; --duration-base:0ms; --duration-slow:0ms; --press-scale:1; }}