:root{
--color-ink:#0f172a;
--color-ink-soft:#1e293b;
--color-muted:#475569;
--color-muted-soft:#64748b;
--color-faint:#94a3b8;
--color-line:#e2e8f0;
--color-line-strong:#cbd5e1;
--color-bg:#ffffff;
--color-bg-soft:#f8fafc;
--color-bg-muted:#f1f5f9;
--color-bg-inverse:#0f172a;
--color-bg-overlay:rgba(15,23,42,.6);

--color-primary:#1a365d;
--color-primary-hover:#132a4a;
--color-primary-soft:#ebf4ff;
--color-primary-contrast:#ffffff;

--color-accent:#2b6cb0;
--color-accent-hover:#1f4f85;
--color-accent-soft:#dbeafe;

--color-success:#166534;
--color-success-soft:#dcfce7;
--color-warning:#92400e;
--color-warning-soft:#fef3c7;
--color-danger:#991b1b;
--color-danger-soft:#fee2e2;
--color-info:#1e40af;
--color-info-soft:#dbeafe;

--color-focus:#2b6cb0;

--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";
--font-serif:"Source Serif",Georgia,Cambria,"Times New Roman",Times,serif;
--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;

--font-size-2xs:.6875rem;
--font-size-xs:.75rem;
--font-size-sm:.8125rem;
--font-size-base:.9375rem;
--font-size-md:1rem;
--font-size-lg:1.0625rem;
--font-size-xl:1.1875rem;
--font-size-2xl:1.375rem;
--font-size-3xl:1.75rem;
--font-size-4xl:2.25rem;
--font-size-5xl:3rem;
--font-size-6xl:3.75rem;

--line-tight:1.15;
--line-snug:1.3;
--line-normal:1.55;
--line-relaxed:1.7;

--weight-regular:400;
--weight-medium:500;
--weight-semibold:600;
--weight-bold:700;
--weight-black:800;

--letter-tight:-.02em;
--letter-normal:0;
--letter-wide:.04em;
--letter-wider:.08em;

--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;

--radius-xs:4px;
--radius-sm:6px;
--radius-md:10px;
--radius-lg:14px;
--radius-xl:20px;
--radius-2xl:28px;
--radius-pill:999px;
--radius-circle:50%;

--shadow-none:none;
--shadow-xs:0 1px 2px rgba(15,23,42,.06);
--shadow-sm:0 4px 12px -6px rgba(15,23,42,.14);
--shadow-md:0 10px 24px -12px rgba(15,23,42,.18);
--shadow-lg:0 24px 48px -20px rgba(15,23,42,.22);
--shadow-focus:0 0 0 2px var(--color-bg),0 0 0 4px var(--color-focus);

--border-thin:1px solid var(--color-line);
--border-strong:1px solid var(--color-line-strong);
--border-accent:1px solid var(--color-accent);

--container-xs:480px;
--container-sm:640px;
--container-md:820px;
--container-lg:1040px;
--container-xl:1160px;
--container-2xl:1280px;

--bp-xs:480px;
--bp-sm:640px;
--bp-md:768px;
--bp-lg:960px;
--bp-xl:1200px;
--bp-2xl:1440px;

--z-base:0;
--z-raised:10;
--z-sticky:100;
--z-header:200;
--z-drawer:300;
--z-modal:400;
--z-toast:500;
--z-tooltip:600;
--z-skip:900;

--duration-instant:0ms;
--duration-fast:120ms;
--duration-base:150ms;
--duration-medium:220ms;
--duration-slow:320ms;

--ease-standard:cubic-bezier(.2,0,.2,1);
--ease-in:cubic-bezier(.4,0,1,1);
--ease-out:cubic-bezier(0,0,.2,1);
--ease-emphasis:cubic-bezier(.2,0,0,1);

--control-height-sm:32px;
--control-height-md:40px;
--control-height-lg:48px;
--control-min-touch:44px;

--icon-xs:14px;
--icon-sm:16px;
--icon-md:20px;
--icon-lg:24px;
--icon-xl:32px;

--page-a4-width:210mm;
--page-a4-height:297mm;
--page-letter-width:215.9mm;
--page-letter-height:279.4mm;
--page-margin-default:18mm;

--content-max:68ch;
--content-wide:82ch;

--header-height:64px;
--footer-padding-y:48px;

--transition-base:color var(--duration-base) var(--ease-standard),background-color var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard);

--opacity-disabled:.55;
--opacity-muted:.72;
--opacity-overlay:.6;