:root{--ink:#1d2742;--ink-2:#4f5b72;--ink-3:#8793a8;--paper:#f6f8fb;--surface:#fff;--surface-2:#f2f5f9;--sunk:#e9eef5;--line:#e4e9f0;--line-strong:#d3dbe6;--outline:#e4e9f0;--tomato:#ee6c5a;--tomato-d:#d1523f;--sun:#f2b950;--sky:#6fb3e0;--grass:#63b97f;--grape:#9b8ed8;--bubble:#ef8fb2;--mint:#4fb8ae;--tangerine:#f0925a;--indigo:#5f7fc4;--tint-fact:#fce9de;--tint-quiz:#e6f1fb;--tint-badge:#e7f2e8;--tint-vocab:#eeeaf8;--tint-streak:#fdf1dc;--ok:#3f9668;--warn:#b07d2a;--danger:#d1523f;--r-badge:3px;--r-control:6px;--r-card:4px;--r-panel:6px;--r-chip:999px;--bd:1px solid var(--outline);--bd2:1px solid var(--outline);--bd-card:1px solid var(--outline);--hard:0 2px 6px #1d274212, 0 1px 2px #1d27420d;--hard-lg:0 14px 30px #1d274221, 0 4px 10px #1d27420d;--hard-sm:0 1px 3px #1d274212;--text-strong:var(--ink);--text-body:var(--ink-2);--text-muted:var(--ink-3);--brand-navy:#1d2742;--brand-navy-deep:#141c33;--brand-coral:var(--tomato);--brand-coral-deep:var(--tomato-d);--brand-sun:var(--sun);--brand-sky:var(--sky);--canvas:var(--paper);--surface-1:var(--surface);--surface-sunk:var(--sunk);--line-soft:var(--line);--shadow-sm:var(--hard-sm);--shadow-md:var(--hard);--shadow-lg:var(--hard-lg)}:root[data-theme=dark]{--ink:#eef1f6;--ink-2:#c3cbdb;--ink-3:#8b96ab;--paper:#10152a;--surface:#1a2138;--surface-2:#232c48;--sunk:#2a3350;--line:#2e3654;--line-strong:#3d4970;--outline:#2e3654;--tint-fact:#3a2a1f;--tint-quiz:#1f2e40;--tint-badge:#1f3327;--tint-vocab:#2a2440;--tint-streak:#3a2f1a;--hard:0 2px 6px #00000059, 0 1px 2px #00000040;--hard-lg:0 14px 30px #00000073, 0 4px 10px #00000040;--hard-sm:0 1px 3px #0000004d;--brand-navy-deep:#060810}
*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink-2);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;font-size:14.5px;line-height:1.5;display:flex}body>header,body>footer,.app-shell>header,.app-shell>footer{flex:none}body>main,.app-shell>main,.app-shell{flex-direction:column;flex:1;min-width:0;display:flex}h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);margin:0;font-weight:700;line-height:1.12}p{margin:0}svg{display:block}a{color:var(--tomato-d);text-decoration:none}a:hover{color:var(--ink)}:focus-visible{outline:2px solid var(--tomato);outline-offset:2px}
