:root{--bg:#f4f5f7;--card:#fff;--text:#1c1f24;--muted:#5f6672;--border:#dde1e6;--accent:#1f5fbf;--accent-soft:#e6eefb;--ok:#1e7a45;--ok-soft:#e4f4ea;--bad:#b3261e;--bad-soft:#fbe9e7;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#14161a;--card:#1d2026;--text:#e8eaed;--muted:#a0a6b0;--border:#343842;--accent:#7aa7ff;--accent-soft:#22304a;--ok:#6fcf97;--ok-soft:#1c3326;--bad:#f28b82;--bad-soft:#3a2220}}*{box-sizing:border-box}body{background:var(--bg);margin:0}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.app{max-width:760px;margin:0 auto;padding:0 16px 48px}.topbar{padding:16px 0;padding-top:max(16px, env(safe-area-inset-top));justify-content:space-between;align-items:center;display:flex}.brand{letter-spacing:.02em;font-weight:700}.link{color:var(--accent);background:0 0;border:0;padding:4px 0}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:24px}@media (width<=520px){.card{padding:18px 16px}}h1{margin:0 0 8px;font-size:1.5rem;line-height:1.25}h2{font-size:1.1rem}.muted{color:var(--muted);margin:0 0 16px}.eyebrow{color:var(--muted);margin:0 0 8px;font-size:.85rem}.sections{color:var(--muted);margin:0 0 24px;padding-left:1.4em;font-size:.95rem}.sections li{margin:4px 0}.primary,.secondary{border:1px solid #0000;border-radius:10px;padding:12px 22px;font-weight:600}.primary{background:var(--accent);color:#fff}@media (prefers-color-scheme:dark){.primary{color:#0d1526}}.secondary{color:var(--text);border-color:var(--border);background:0 0}.actions{justify-content:space-between;gap:12px;margin-top:24px;display:flex}.actions:has(>:only-child){justify-content:flex-end}.history{border-top:1px solid var(--border);margin-top:32px;padding-top:16px}.history h2{margin:0 0 8px;font-size:1rem}.history ul{margin:0;padding:0;list-style:none}.history li{color:var(--muted);justify-content:space-between;padding:6px 0;display:flex}.history .score{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.progress{gap:4px;margin-bottom:16px;display:flex}.progress span{background:var(--border);border-radius:2px;flex:1;height:4px}.progress .done{background:var(--accent)}.progress .current{background:var(--accent);opacity:.5}.qtext{margin:8px 0 16px;font-size:1.15rem;font-weight:600;line-height:1.4}.hint{color:var(--accent);margin:0 0 8px;font-size:.9rem}.qimg{border:1px solid var(--border);background:#fff;border-radius:8px;max-width:100%;height:auto;margin:0 0 16px;display:block}.optimg{vertical-align:middle;background:#fff;border-radius:4px;height:28px}.table-wrap{margin-bottom:16px;overflow-x:auto}table{border-collapse:collapse;font-size:.9rem}td{border:1px solid var(--border);padding:4px 10px}.options{flex-direction:column;gap:8px;display:flex}.option{border:1px solid var(--border);cursor:pointer;border-radius:10px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.option:hover{border-color:var(--accent)}.option.selected{border-color:var(--accent);background:var(--accent-soft)}.option input{accent-color:var(--accent);flex-shrink:0;margin-top:4px}.summary{align-items:center;gap:20px;margin-bottom:24px;display:flex}.ring{--p:0;background:conic-gradient(var(--accent) calc(var(--p) * 1%), var(--border) 0);border-radius:50%;flex-shrink:0;place-items:center;width:96px;height:96px;display:grid}.ring span{background:var(--card);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;width:76px;height:76px;font-size:1.3rem;font-weight:700;display:grid}.review{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.review>li{border:1px solid var(--border);border-left-width:4px;border-radius:10px;padding:14px 16px}.review>li.ok{border-left-color:var(--ok)}.review>li.fail{border-left-color:var(--bad)}.review h3{margin:4px 0 10px;font-size:1rem;font-weight:600}.badge{margin-right:8px;font-weight:700}.ok .badge{color:var(--ok)}.fail .badge{color:var(--bad)}.answers{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.answers li{border-radius:8px;gap:8px;padding:8px 10px;display:flex}.answers .correct{background:var(--ok-soft)}.answers .wrong{background:var(--bad-soft)}.answers .mark{font-weight:700}.answers .correct .mark{color:var(--ok)}.answers .wrong .mark{color:var(--bad)}.answers small{color:var(--muted)}
