:root, [data-theme="light"]{--gray-0:#ffffff;--gray-50:#f7f7f7;--gray-100:#efefef;--gray-200:#e2e2e2;--gray-300:#c9c9c9;--gray-400:#a3a3a3;--gray-500:#737373;--gray-600:#5c5c5c;--gray-700:#444444;--gray-800:#2b2b2b;--gray-900:#1c1c1c;--gray-950:#111111;--gray-1000:#000000;--red-50:#fff4f3;--red-100:#ffe6e4;--red-200:#ffcdc8;--red-300:#ffaba3;--red-400:#fc7a73;--red-500:#e15955;--red-600:#bd3d3b;--red-700:#9c2f2e;--red-800:#782222;--red-900:#551918;--orange-50:#fff4ef;--orange-100:#ffe7dc;--orange-200:#ffcfb7;--orange-300:#ffae84;--orange-400:#f68443;--orange-500:#db640e;--orange-600:#b24e00;--orange-700:#923f00;--orange-800:#712f00;--orange-900:#511f00;--amber-50:#fff5e9;--amber-100:#ffe9cf;--amber-200:#ffd29b;--amber-300:#f8b65d;--amber-400:#e39500;--amber-500:#be7c00;--amber-600:#996300;--amber-700:#7d5000;--amber-800:#603c00;--amber-900:#452a00;--yellow-50:#fbf7e8;--yellow-100:#f7edcb;--yellow-200:#f0da95;--yellow-300:#e2c157;--yellow-400:#c9a300;--yellow-500:#a98800;--yellow-600:#876d00;--yellow-700:#6e5800;--yellow-800:#544300;--yellow-900:#3c2f00;--lime-50:#f3faeb;--lime-100:#e4f3d3;--lime-200:#cae7a7;--lime-300:#acd476;--lime-400:#8aba3e;--lime-500:#6e9e00;--lime-600:#577f00;--lime-700:#466700;--lime-800:#354f00;--lime-900:#243700;--green-50:#eefbf0;--green-100:#d9f6dd;--green-200:#b0ecbc;--green-300:#83dc97;--green-400:#4ec36f;--green-500:#17a750;--green-600:#00873c;--green-700:#006e30;--green-800:#005423;--green-900:#003c17;--teal-50:#e9fcf8;--teal-100:#cdf7ef;--teal-200:#94efdf;--teal-300:#45dfca;--teal-400:#00c2ae;--teal-500:#00a291;--teal-600:#008274;--teal-700:#006a5e;--teal-800:#005148;--teal-900:#003932;--cyan-50:#e8fbff;--cyan-100:#cbf6ff;--cyan-200:#91ebfd;--cyan-300:#3ddaf5;--cyan-400:#00bcd6;--cyan-500:#009db3;--cyan-600:#007e90;--cyan-700:#006775;--cyan-800:#004e5a;--cyan-900:#003740;--blue-50:#f2f7ff;--blue-100:#e2eeff;--blue-200:#c5ddff;--blue-300:#a0c6ff;--blue-400:#6ea8ff;--blue-500:#438af1;--blue-600:#286dce;--blue-700:#1d58aa;--blue-800:#154384;--blue-900:#0f2f5d;--indigo-50:#f4f6ff;--indigo-100:#e8ecff;--indigo-200:#d0d9ff;--indigo-300:#b4c0ff;--indigo-400:#909eff;--indigo-500:#727ef1;--indigo-600:#5962ce;--indigo-700:#474eaa;--indigo-800:#363b84;--indigo-900:#252a5d;--violet-50:#f8f5ff;--violet-100:#f0e9ff;--violet-200:#e1d2ff;--violet-300:#ceb5ff;--violet-400:#b88efc;--violet-500:#9d6fe3;--violet-600:#8053c0;--violet-700:#69429f;--violet-800:#50327b;--violet-900:#382356;--pink-50:#fff3f8;--pink-100:#ffe4f0;--pink-200:#ffc9e1;--pink-300:#ffa3cf;--pink-400:#f079b6;--pink-500:#d4599b;--pink-600:#b23d7d;--pink-700:#922f66;--pink-800:#71234e;--pink-900:#501937;--primary-50:var(--gray-50);--primary-100:var(--gray-100);--primary-200:var(--gray-200);--primary-300:var(--gray-300);--primary-400:var(--gray-400);--primary-500:var(--gray-500);--primary-600:var(--gray-600);--primary-700:var(--gray-700);--primary-800:var(--gray-800);--primary-900:var(--gray-900);--primary-950:var(--gray-950);--bg:#ffffff;--bg-subtle:var(--gray-50);--surface:#ffffff;--surface-raised:#ffffff;--surface-sunken:var(--gray-100);--surface-hover:var(--gray-100);--surface-pressed:var(--gray-200);--surface-inverse:var(--gray-950);--border:var(--gray-200);--border-strong:var(--gray-500);--text:var(--gray-950);--text-muted:var(--gray-600);--text-subtle:var(--gray-500);--text-disabled:var(--gray-400);--text-inverse:#ffffff;--icon:var(--gray-950);--icon-muted:var(--gray-600);--action:var(--primary-950);--action-hover:var(--primary-800);--action-pressed:var(--gray-1000);--on-action:#ffffff;--focus-ring:var(--gray-950);--link:var(--gray-950);--overlay:rgba(0, 0, 0, 0.56);--danger:var(--red-600);--danger-solid:var(--red-600);--on-danger-solid:#ffffff;--danger-bg:var(--red-50);--danger-border:var(--red-300);--warning:var(--amber-600);--warning-solid:var(--amber-400);--on-warning-solid:var(--gray-950);--warning-bg:var(--amber-50);--warning-border:var(--amber-300);--success:var(--green-700);--success-solid:var(--green-600);--on-success-solid:#ffffff;--success-bg:var(--green-50);--success-border:var(--green-300);--info:var(--blue-600);--info-solid:var(--blue-600);--on-info-solid:#ffffff;--info-bg:var(--blue-50);--info-border:var(--blue-300);--shadow-0:none;--shadow-1:0px 1px 2px rgba(0, 0, 0, 0.08), 0px 1px 1px rgba(0, 0, 0, 0.04);--shadow-2:0px 4px 8px rgba(0, 0, 0, 0.08), 0px 2px 4px rgba(0, 0, 0, 0.04);--shadow-3:0px 8px 24px rgba(0, 0, 0, 0.12), 0px 2px 8px rgba(0, 0, 0, 0.06);--shadow-4:0px 16px 48px rgba(0, 0, 0, 0.16), 0px 4px 16px rgba(0, 0, 0, 0.08)}
[data-theme="dark"]{--bg:#0b0b0b;--bg-subtle:#121212;--surface:#161616;--surface-raised:#1e1e1e;--surface-sunken:#0b0b0b;--surface-hover:#242424;--surface-pressed:#2e2e2e;--surface-inverse:#f5f5f5;--border:#2e2e2e;--border-strong:#8a8a8a;--text:#f5f5f5;--text-muted:#b0b0b0;--text-subtle:#8f8f8f;--text-disabled:#5c5c5c;--text-inverse:var(--gray-950);--icon:#f5f5f5;--icon-muted:#b0b0b0;--action:#f5f5f5;--action-hover:var(--gray-300);--action-pressed:var(--gray-400);--on-action:var(--gray-950);--focus-ring:#f5f5f5;--link:#f5f5f5;--overlay:rgba(0, 0, 0, 0.72);--danger:var(--red-400);--danger-solid:var(--red-400);--on-danger-solid:var(--gray-950);--danger-bg:#2a1414;--danger-border:var(--red-700);--warning:var(--amber-400);--warning-solid:var(--amber-400);--on-warning-solid:var(--gray-950);--warning-bg:#2a1f0a;--warning-border:var(--amber-700);--success:var(--green-400);--success-solid:var(--green-400);--on-success-solid:var(--gray-950);--success-bg:#0f2416;--success-border:var(--green-700);--info:var(--blue-400);--info-solid:var(--blue-400);--on-info-solid:var(--gray-950);--info-bg:#111d33;--info-border:var(--blue-700);--shadow-1:0px 1px 2px rgba(0, 0, 0, 0.5);--shadow-2:0px 4px 8px rgba(0, 0, 0, 0.6);--shadow-3:0px 8px 24px rgba(0, 0, 0, 0.7);--shadow-4:0px 16px 48px rgba(0, 0, 0, 0.8)}
[data-theme="high-contrast"]{--bg:#ffffff;--bg-subtle:#ffffff;--surface:#ffffff;--surface-raised:#ffffff;--surface-sunken:var(--gray-50);--surface-hover:var(--gray-100);--surface-pressed:var(--gray-200);--surface-inverse:#000000;--border:var(--gray-950);--border-strong:var(--gray-950);--text:#000000;--text-muted:#333333;--text-subtle:var(--gray-700);--text-disabled:var(--gray-500);--text-inverse:#ffffff;--icon:#000000;--icon-muted:#333333;--action:#000000;--action-hover:var(--gray-800);--action-pressed:var(--gray-700);--on-action:#ffffff;--focus-ring:#000000;--link:#000000;--overlay:rgba(0, 0, 0, 0.72);--danger:var(--red-800);--danger-solid:var(--red-800);--on-danger-solid:#ffffff;--danger-bg:var(--red-50);--danger-border:var(--red-800);--warning:var(--amber-800);--warning-solid:var(--amber-800);--on-warning-solid:#ffffff;--warning-bg:var(--amber-50);--warning-border:var(--amber-800);--success:var(--green-800);--success-solid:var(--green-800);--on-success-solid:#ffffff;--success-bg:var(--green-50);--success-border:var(--green-800);--info:var(--blue-800);--info-solid:var(--blue-800);--on-info-solid:#ffffff;--info-bg:var(--blue-50);--info-border:var(--blue-800)}
:root{--space-0:0px;--space-2:2px;--space-4:4px;--space-8:8px;--space-12:12px;--space-16:16px;--space-24:24px;--space-32:32px;--space-40:40px;--space-48:48px;--space-64:64px;--space-80:80px;--space-96:96px;--space-128:128px;--radius-none:0px;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-full:9999px;--border-1:1px;--border-2:2px;--size-icon-sm:16px;--size-icon-md:20px;--size-icon-lg:24px;--size-control-sm:32px;--size-control-md:40px;--size-control-lg:48px;--size-touch-ios:44px;--size-touch-android:48px;--size-container-sm:640px;--size-container-lg:1200px;--bp-sm:640px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px;--bp-2xl:1536px;--z-base:0;--z-dropdown:1000;--z-sticky:1100;--z-overlay:1300;--z-modal:1400;--z-popover:1500;--z-toast:1600;--z-tooltip:1700;--opacity-disabled:0.4;--opacity-hover:0.08;--opacity-pressed:0.16;--duration-instant:0ms;--duration-fast:120ms;--duration-base:200ms;--duration-slow:320ms;--duration-slower:480ms;--ease-standard:cubic-bezier(0.2, 0, 0, 1);--ease-enter:cubic-bezier(0, 0, 0, 1);--ease-exit:cubic-bezier(0.3, 0, 1, 1);--ease-linear:linear;--font-sans:"Atkinson Hyperlegible Next", Roboto, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Atkinson Hyperlegible Mono", "Roboto Mono", ui-monospace, Menlo, Consolas, monospace}
@font-face{font-family:'Atkinson Hyperlegible Next';src:url('../assets/fonts/AtkinsonHyperlegibleNext.woff2') format('woff2');font-weight:200 800;font-style:normal}
@font-face{font-family:'Atkinson Hyperlegible Next';src:url('../assets/fonts/AtkinsonHyperlegibleNext-Italic.woff2') format('woff2');font-weight:200 800;font-style:italic}
@font-face{font-family:'Atkinson Hyperlegible Mono';src:url('../assets/fonts/AtkinsonHyperlegibleMono.woff2') format('woff2');font-weight:200 800;font-style:normal}
@font-face{font-family:'Atkinson Hyperlegible Mono';src:url('../assets/fonts/AtkinsonHyperlegibleMono-Italic.woff2') format('woff2');font-weight:200 800;font-style:italic}
.display-xl{font-family:var(--font-sans);font-size:64px;line-height:72px;font-weight:800;letter-spacing:-0.02em}
.display-lg{font-family:var(--font-sans);font-size:48px;line-height:56px;font-weight:800;letter-spacing:-0.02em}
.heading-1{font-family:var(--font-sans);font-size:40px;line-height:48px;font-weight:700;letter-spacing:-0.01em}
.heading-2{font-family:var(--font-sans);font-size:32px;line-height:40px;font-weight:700;letter-spacing:-0.01em}
.heading-3{font-family:var(--font-sans);font-size:24px;line-height:32px;font-weight:700;}
.heading-4{font-family:var(--font-sans);font-size:20px;line-height:28px;font-weight:700;}
.heading-5{font-family:var(--font-sans);font-size:18px;line-height:24px;font-weight:700;}
.heading-6{font-family:var(--font-sans);font-size:16px;line-height:24px;font-weight:700;}
.body-lg{font-family:var(--font-sans);font-size:18px;line-height:28px;font-weight:400;}
.body{font-family:var(--font-sans);font-size:16px;line-height:24px;font-weight:400;}
.body-sm{font-family:var(--font-sans);font-size:14px;line-height:20px;font-weight:400;}
.caption{font-family:var(--font-sans);font-size:12px;line-height:16px;font-weight:400;}
.label-lg{font-family:var(--font-sans);font-size:16px;line-height:24px;font-weight:600;}
.label{font-family:var(--font-sans);font-size:14px;line-height:20px;font-weight:600;}
.label-sm{font-family:var(--font-sans);font-size:12px;line-height:16px;font-weight:600;}
.overline{font-family:var(--font-sans);font-size:12px;line-height:16px;font-weight:700;letter-spacing:0.08em}
.code{font-family:var(--font-mono);font-size:14px;line-height:20px;font-weight:400;}
.code-sm{font-family:var(--font-mono);font-size:12px;line-height:16px;font-weight:400;}
