:root{--b:#0f3d91;--ok:#16a34a;--warn:#f59e0b;--bad:#dc2626;--bg:#f4f6fb;--card:#fff;--tx:#0f172a;--mut:#475569}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--tx);font:17px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-text-size-adjust:100%}
.top{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:calc(10px + env(safe-area-inset-top)) 18px 10px;background:var(--b);color:#fff;font-size:16px}
.badge{background:#fbbf24;color:#111;border-radius:999px;padding:2px 10px;font-size:13px;font-weight:700}
main{max-width:560px;margin:0 auto;padding:18px 18px calc(24px + env(safe-area-inset-bottom));position:relative;z-index:1}
h1{font-size:28px;line-height:1.15;margin:12px 0 22px}h1 small{font-size:20px;color:var(--mut);font-weight:600}h2{font-size:22px;margin:8px 0 14px}
label{display:block;font-weight:600;margin:14px 0 6px}label small{font-weight:400;color:var(--mut)}
input[type=text],input:not([type]){display:block;width:100%;font-size:19px;padding:14px;border:2px solid #cbd5e1;border-radius:14px;background:#fff;-webkit-user-select:text;user-select:text}
input:focus{outline:3px solid #93c5fd;border-color:var(--b)}
.btn{display:block;width:100%;min-height:56px;margin-top:18px;font-size:19px;font-weight:700;border:0;border-radius:16px;background:var(--b);color:#fff}
.btn:disabled{background:#94a3b8}.btn:focus-visible,.opt:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}
#err{color:var(--bad);font-weight:600;min-height:1.4em;margin:10px 0 0}
.steps{list-style:none;padding:0;margin:0}.steps li{display:flex;gap:12px;background:var(--card);border-radius:14px;padding:12px 14px;margin:8px 0;box-shadow:0 1px 2px #0001}.ico{font-size:24px;line-height:1}
.chk{display:flex;align-items:center;gap:12px;font-size:18px;background:#fff;border-radius:14px;padding:14px;margin-top:14px}.chk input{width:28px;height:28px}
.qhead{display:flex;justify-content:space-between;align-items:center;gap:12px}.cnt{font-size:20px;font-weight:800}
.prog{width:180px;max-width:50vw;height:10px;border-radius:6px;background:#e2e8f0;margin-top:6px;overflow:hidden}.prog i{display:block;height:100%;background:var(--b);width:0}
.ring{position:relative;width:76px;height:76px;flex:none}.ring svg{width:76px;height:76px;transform:rotate(-90deg)}.ring circle{fill:none;stroke-width:5}.ring .bg{stroke:#e2e8f0}.ring .fg{stroke:var(--ok);stroke-linecap:round;stroke-dasharray:119.4;stroke-dashoffset:0;transition:stroke-dashoffset .2s linear,stroke .3s}
.ring span{position:absolute;inset:0;display:grid;place-items:center;font-size:24px;font-weight:800}.ring.w .fg{stroke:var(--warn)}.ring.d .fg{stroke:var(--bad)}.ring.d span{color:var(--bad)}
.lvl{margin:14px 0 0;font-size:14px;color:var(--mut);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.stem{font-size:20px;line-height:1.4;font-weight:600;margin:6px 0 16px}
.opts{display:grid;gap:10px}.opt{display:flex;gap:12px;align-items:flex-start;width:100%;min-height:60px;padding:14px;text-align:left;font-size:18px;line-height:1.35;border:2px solid #cbd5e1;border-radius:16px;background:#fff;color:var(--tx)}
.opt b{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e0e7ff;color:var(--b)}.opt.sel{border-color:var(--b);background:#eef2ff}
.final{text-align:center;padding-top:30px}.bigico{font-size:64px}.score{font-size:40px;font-weight:800;margin:6px 0}.final.lock h2{color:var(--bad)}
#wm{position:fixed;inset:-50%;pointer-events:none;z-index:9;opacity:.10;font-size:14px;color:#000;white-space:pre;line-height:64px;transform:rotate(-25deg)}
@media print{body{display:none!important}}
@media (prefers-reduced-motion:reduce){.ring .fg{transition:none}}

.lista{list-style:none;padding:0;margin:8px 0 0;background:#fff;border-radius:14px;box-shadow:0 2px 8px #0002;overflow:hidden}.lista:empty{display:none}
.lista li{padding:16px;min-height:56px;font-size:18px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;gap:10px;cursor:pointer}.lista li small{color:#64748b}.lista li:active,.lista li[aria-selected=true]{background:#eef2ff}
.conf{background:#fff;border-radius:16px;padding:16px;margin-top:12px;box-shadow:0 1px 3px #0002}.conf p{margin:4px 0}.who{font-size:22px;font-weight:800}.mat{font-size:18px}.btn.sec{background:#fff;color:#0f3d91;border:2px solid #0f3d91;margin-top:10px}
.nipin{font:800 34px/1.2 ui-monospace,Menlo,monospace!important;letter-spacing:.3em;text-align:center}
