:root,[data-theme=light]{--grey-0:#fff;--grey-50:#f6f6f8;--grey-100:#eeeff2;--grey-200:#e6e7eb;--grey-300:#cbcdd4;--grey-400:#a3a8b5;--grey-500:#858a99;--grey-600:#666b7a;--grey-700:#3a3e48;--grey-800:#1f2229;--grey-900:#16181d;--grey-950:#101216;--surface:var(--grey-0);--surface-raised:var(--grey-50);--surface-sunken:var(--grey-100);--line:var(--grey-200);--line-strong:#858a99;--text-primary:#262932;--text-secondary:var(--grey-600);--accent:#ff7a35;--accent-pressed:#f2692a;--accent-soft:#fff1e8;--accent-text:#c2410c;--on-accent:#262932;--hit:#109467;--hit-text:#047857;--hit-soft:#e6f6ef;--partial:#bd7800;--partial-text:#9a5b00;--partial-soft:#fff4e0;--missed:var(--grey-600);--missed-soft:#f1f2f5;--info:#2563eb;--info-soft:#e8f0ff;--warning:#b42318;--warning-soft:#fdecea;--focus-ring:var(--info);--scrim:#26293259;--mark-stroke:var(--grey-0);--shadow-sheet:0 -8px 32px #26293214;--shadow-segment:0 1px 2px #2629321a}[data-theme=dark]{--surface:var(--grey-900);--surface-raised:var(--grey-800);--surface-sunken:var(--grey-950);--line:var(--grey-700);--line-strong:#6a6f7d;--text-primary:#ecedf0;--text-secondary:#a3a8b5;--accent:#ff8a4c;--accent-pressed:#ff9d66;--accent-soft:#3a2418;--accent-text:#ff9d66;--on-accent:var(--grey-900);--hit:#34c48e;--hit-text:#45d09b;--hit-soft:#14302a;--partial:#f2ae3d;--partial-text:#f5b95a;--partial-soft:#382b12;--missed:#8e93a1;--missed-soft:#262931;--info:#7aa7ff;--info-soft:#16213a;--warning:#ff8a7a;--warning-soft:#3a1a17;--focus-ring:var(--info);--scrim:#0009;--mark-stroke:var(--grey-0);--shadow-sheet:0 -1px 0 #3a3e48;--shadow-segment:0 1px 2px #0000004d}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--surface:var(--grey-900);--surface-raised:var(--grey-800);--surface-sunken:var(--grey-950);--line:var(--grey-700);--line-strong:#6a6f7d;--text-primary:#ecedf0;--text-secondary:#a3a8b5;--accent:#ff8a4c;--accent-pressed:#ff9d66;--accent-soft:#3a2418;--accent-text:#ff9d66;--on-accent:var(--grey-900);--hit:#34c48e;--hit-text:#45d09b;--hit-soft:#14302a;--partial:#f2ae3d;--partial-text:#f5b95a;--partial-soft:#382b12;--missed:#8e93a1;--missed-soft:#262931;--info:#7aa7ff;--info-soft:#16213a;--warning:#ff8a7a;--warning-soft:#3a1a17;--focus-ring:var(--info);--scrim:#0009;--mark-stroke:var(--grey-0);--shadow-sheet:0 -1px 0 #3a3e48;--shadow-segment:0 1px 2px #0000004d}}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-round:9999px;--touch-min:48px;--control-height:56px;--icon-md:24px;--icon-sm:20px;--line-width:1px;--ring-width:2px;--tab-icon:26px;--tab-action-size:52px;--tab-action-lift:22px;--tab-action-ring:5px;--chip-height:32px;--progress-height:6px;--icon-lg:28px;--grip-width:40px;--grip-height:5px;--chart-height:120px;--bar-max-width:32px;--grade-height:10px;--track-height:4px;--dot-size:16px;--area-label-width:104px;--voice-button-size:52px;--voice-bar-height:64px;--wave-bar-width:4px;--row-height:52px;--check-size:26px;--splash-mark:96px;--breakpoint-wide:900px;--sidebar-width:240px;--content-max-width:960px;--welcome-max-width:480px;--record-button-size:76px;--record-ring:8px;--reason-label-width:120px;--font-display:Poppins, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-sans:Poppins, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}@font-face{font-family:Poppins;src:url(/fonts/Poppins-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/Poppins-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/Poppins-600.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/Poppins-700.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}
*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--surface);color:var(--text-primary);font-family:var(--font-sans);margin:0;line-height:1.5}a{color:var(--accent-text)}a:hover{color:var(--accent-pressed)}a:focus-visible,button:focus-visible{outline:var(--ring-width) solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}img,svg{max-width:100%}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{left:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--surface);border-radius:var(--radius-md);z-index:10;position:absolute;top:-100px}.skip:focus{top:var(--space-4)}.cd-caret{background:var(--accent);border-radius:1px;width:2px;height:1.15em;margin:0 2px -.2em 1px;animation:1s steps(2,start) infinite cd-blink;display:inline-block}.cd-ghost{color:var(--text-secondary)}@keyframes cd-blink{to{visibility:hidden}}.cd-tag-split{align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-round);background:var(--accent-soft);color:var(--accent-text);font-size:.75rem;font-weight:600;display:inline-flex}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cd-caret{animation:none}}.btn{min-height:var(--control-height);padding:0 var(--space-6);border-radius:14px;justify-content:center;align-items:center;gap:10px;font-size:16px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:var(--accent-pressed);color:var(--on-accent)}.btn-quiet{background:var(--surface-raised);color:var(--text-primary)}.btn-quiet:hover{color:var(--text-primary);background:var(--surface-sunken)}.btn-plain{background:var(--surface);color:var(--text-primary)}.btn-plain:hover{color:var(--text-primary)}.btn-small{min-height:var(--touch-min);border-radius:var(--radius-md);padding:0 18px;font-size:15px}.prose{max-width:44rem;padding:var(--space-12) var(--space-6) 96px;margin:0 auto;font-size:1.0625rem;line-height:1.7}.prose h1{letter-spacing:-.03em;margin:0 0 var(--space-6);font-size:clamp(2rem,3.5vw,2.75rem);line-height:1.1}.prose h2{margin:var(--space-8) 0 var(--space-2);font-size:1.25rem}.prose p,.prose li{color:var(--text-secondary)}
