:root{--bg:#f6f5f1;--surface:#fff;--text:#1c1b19;--muted:#6b6860;--border:#dedbd2;--accent:#2f5d50;--accent-text:#fff;--error:#a33a2c;--good:#2f7a4f;--warn:#9a6a12;--radius:12px;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#141412;--surface:#1d1c1a;--text:#ecebe6;--muted:#9c998f;--border:#34322d;--accent:#7fb8a4;--accent-text:#0e1f1a;--error:#f08a7a;--good:#7fcf9a;--warn:#e8b85c}}*,:before,:after{box-sizing:border-box}body{background:var(--bg);min-height:100dvh;margin:0}#root{flex-direction:column;align-items:center;min-height:100dvh;display:flex}.screen{flex-direction:column;flex:1;gap:16px;width:100%;max-width:440px;padding:64px 20px 32px;display:flex}.screen.center{text-align:center;justify-content:center;padding-top:32px}.small{font-size:.875rem}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.8rem}.question{white-space:pre-wrap;font-size:1.5rem;line-height:1.35}.field{flex-direction:column;gap:6px;font-size:.9rem;font-weight:600;display:flex}.field .input{font-weight:400}.textarea{resize:vertical;min-height:120px;line-height:1.5}.hint{color:var(--muted);font-variant-numeric:tabular-nums;align-self:flex-end;font-size:.8rem;font-weight:400}.center-link{align-self:center}.pulse{background:var(--accent);border-radius:50%;width:48px;height:48px;margin:0 auto 8px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.4;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.pulse{animation:none}}.score{font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;display:flex}.score-number{font-size:3rem;font-weight:700;line-height:1}.score-label{color:var(--muted)}.score-correct .score-number{color:var(--good)}.score-partial .score-number{color:var(--warn)}.score-incorrect .score-number{color:var(--error)}.feedback{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:14px;padding:16px;display:flex}.feedback-item h2{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 2px;font-size:.78rem}.feedback-item p,.feedback-item blockquote{white-space:pre-wrap;margin:0}.feedback-item blockquote{border-left:3px solid var(--accent);padding-left:12px;font-style:italic}.footer{justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:440px;padding:16px 20px 24px;display:flex}h1{letter-spacing:-.02em;margin:0 0 4px;font-size:1.9rem;line-height:1.2}p{margin:0}.muted{color:var(--muted)}.stack{flex-direction:column;gap:12px;margin-top:8px;display:flex}.row{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.input{width:100%;font:inherit;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);padding:14px 16px}.input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:#0000}.code-input{letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums;font-size:1.6rem}.button{font:inherit;border-radius:var(--radius);background:var(--accent);color:var(--accent-text);cursor:pointer;border:none;padding:14px 16px;font-weight:600}.button.secondary{color:var(--text);border:1px solid var(--border);background:0 0}.button:disabled{opacity:.5;cursor:default}.link{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:.9rem}.link:disabled{color:var(--muted);cursor:default}.error{color:var(--error);font-size:.95rem}.facts{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);grid-template-columns:auto 1fr;gap:8px 16px;margin:8px 0;padding:16px;display:grid}.facts dt{color:var(--muted)}.facts dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.back{align-self:flex-start;margin-bottom:-8px}.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:12px;padding:16px;display:flex}.panel h2{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.78rem}.row-field{justify-content:space-between;align-items:center;gap:12px;display:flex}.select{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);font-variant-numeric:tabular-nums;border-radius:10px;padding:8px 12px}.dot{vertical-align:middle;border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.dot.on{background:var(--good)}.steps{flex-direction:column;gap:6px;margin:0;padding-left:20px;display:flex}.hint-card{border-radius:var(--radius);border:1px dashed var(--border);flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;font-size:.95rem;display:flex}.center-text{text-align:center}.answer-box{flex-direction:column;gap:6px;display:flex;position:relative}.answer-box .textarea{padding-right:52px}.mic{border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--muted);cursor:pointer;border-radius:50%;place-items:center;display:grid;position:absolute;top:8px;right:8px}.mic:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.mic:disabled{opacity:.5;cursor:default}.mic-on{background:var(--accent);border-color:var(--accent);color:var(--accent-text);animation:1.4s ease-in-out infinite mic-pulse}@keyframes mic-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 45%, transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb, var(--accent) 0%, transparent)}}@media (prefers-reduced-motion:reduce){.mic-on{animation:none}}.mic-status{margin:0}
