*{box-sizing:border-box}html,body,#root{margin:0;padding:0}:root{--text:#1b2a26;--textSoft:#54655f;--bg:#f6f8f7;--surface:#fff;--surfaceMuted:#eef2f0;--primary:#0f766e;--primarySoft:#e6f4f1;--gold:#a16207;--goldSoft:#f5ebd8;--danger:#b42318;--dangerSoft:#fdeeea;--border:#e3e8e5;--shadow-card:0 1px 2px #1b2a260d, 0 4px 14px #1b2a260f;--accent-place:#3a6b8c;--accent-result:#7c5cbf}@media (prefers-color-scheme:dark){:root{--text:#e8eeeb;--textSoft:#9baaa4;--bg:#10201c;--surface:#16302a;--surfaceMuted:#1c3831;--primary:#3bb4a6;--primarySoft:#173a34;--gold:#d9a441;--goldSoft:#2a2417;--danger:#f2555a;--dangerSoft:#3a1b1a;--border:#264640;--shadow-card:0 1px 2px #0000004d, 0 4px 14px #00000059;--accent-place:#7fa8c4;--accent-result:#a78be0}}:root[data-theme=dark]{--text:#e8eeeb;--textSoft:#9baaa4;--bg:#10201c;--surface:#16302a;--surfaceMuted:#1c3831;--primary:#3bb4a6;--primarySoft:#173a34;--gold:#d9a441;--goldSoft:#2a2417;--danger:#f2555a;--dangerSoft:#3a1b1a;--border:#264640;--shadow-card:0 1px 2px #0000004d, 0 4px 14px #00000059;--accent-place:#7fa8c4;--accent-result:#a78be0}:root[data-theme=light]{--text:#1b2a26;--textSoft:#54655f;--bg:#f6f8f7;--surface:#fff;--surfaceMuted:#eef2f0;--primary:#0f766e;--primarySoft:#e6f4f1;--gold:#a16207;--goldSoft:#f5ebd8;--danger:#b42318;--dangerSoft:#fdeeea;--border:#e3e8e5;--shadow-card:0 1px 2px #1b2a260d, 0 4px 14px #1b2a260f;--accent-place:#3a6b8c;--accent-result:#7c5cbf}body{background-color:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.quiz-options-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:14px;display:grid}@media (width<=420px){.quiz-options-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:no-preference){button{transition:filter .12s,box-shadow .15s,transform 60ms}button:hover{filter:brightness(.97)}button:active{transform:translateY(1px)}.skeleton-pulse{animation:1.4s ease-in-out infinite skeletonPulse}@keyframes skeletonPulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in{animation:.2s fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.card-enter{animation:.22s cardEnter}@keyframes cardEnter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.goal-ring-progress{transition:stroke-dashoffset .6s}.progress-bar-fill{transition:width .25s}}
