:root{--bg:#f4f6f6;--surface:#fff;--text:#15201f;--muted:#5b6b69;--line:#dde4e3;--brand:#0f766e;--brand-ink:#fff;--brand-soft:#e3f3f1;--ok:#15803d;--ok-soft:#e4f6ea;--bad:#b91c1c;--bad-soft:#fde8e8;--warn:#92400e;--warn-soft:#fef3c7;--wa:#1f9d55;--radius:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e1413;--surface:#17201f;--text:#e6eeed;--muted:#93a3a1;--line:#2a3634;--brand:#2dd4bf;--brand-ink:#062a26;--brand-soft:#123a35;--ok:#4ade80;--ok-soft:#12321f;--bad:#f87171;--bad-soft:#3a1717;--warn:#fbbf24;--warn-soft:#3a2c0b;--wa:#25d366;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);margin:0;font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;overflow-x:hidden}a{color:var(--brand)}h1,h2{margin:0 0 12px;line-height:1.25}h2{font-size:1.15rem}p{margin:0 0 12px}button,input,select,textarea{font:inherit;color:inherit}.app{min-height:100vh;padding-bottom:76px}.page{max-width:640px;margin:0 auto;padding:12px 16px 24px}.center{place-items:center;min-height:60vh;display:grid}.muted{color:var(--muted)}.small{font-size:.875rem}.mono{letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.big{font-size:1.15rem}.top{z-index:5;background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;display:flex;position:sticky;top:0}.brand{color:var(--text);font-weight:700;text-decoration:none}.pill{background:var(--brand-soft);color:var(--text);white-space:nowrap;border-radius:999px;align-items:center;min-height:32px;padding:6px 12px;font-size:.8rem;text-decoration:none;display:inline-flex}.pill.ok{background:var(--ok-soft)}.pill.warn{background:var(--warn-soft);color:var(--warn);font-weight:600}.bottom{z-index:5;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom a{min-height:56px;color:var(--muted);flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 4px;font-size:.75rem;text-decoration:none;display:flex}.bottom a.on{color:var(--brand);font-weight:600}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;padding:16px}.btn{border:1px solid var(--brand);background:var(--brand);min-height:44px;color:var(--brand-ink);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:10px 18px;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:default}.btn.ghost{color:var(--brand);background:0 0}.btn.danger{color:var(--bad);border-color:var(--bad);background:0 0}.btn.wa{background:var(--wa);border-color:var(--wa);color:#fff}.btn.small{min-height:36px;padding:6px 12px;font-size:.875rem}.btn.wide{width:100%}.link{color:var(--brand);cursor:pointer;background:0 0;border:0;min-height:44px;padding:10px 4px}label{margin-bottom:12px;font-size:.9rem;font-weight:500;display:block}label.inline,label.radio{align-items:center;gap:8px;font-weight:400;display:flex}label.radio{min-height:44px;margin:0}input:not([type=radio]):not([type=checkbox]),select,textarea{border:1px solid var(--line);background:var(--bg);border-radius:10px;width:100%;min-height:44px;margin-top:4px;padding:10px 12px;display:block}input[type=radio],input[type=checkbox]{width:20px;height:20px;accent-color:var(--brand)}input.narrow{width:80px;display:inline-block}textarea{resize:vertical}.field-err{color:var(--bad);font-size:.9rem}.ok-text{color:var(--ok)}.banner{background:var(--brand-soft);color:var(--text);border-radius:12px;margin-bottom:12px;padding:12px 14px;text-decoration:none;display:block}.banner.warn{background:var(--warn-soft);color:var(--warn);font-weight:600}.seg{background:var(--line);border-radius:12px;margin-bottom:12px;padding:3px;display:flex}.seg button{cursor:pointer;min-height:40px;color:var(--muted);background:0 0;border:0;border-radius:10px;flex:1}.seg button.on{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 2px #00000014}.chips{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.chip{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;min-height:40px;padding:6px 16px}.chip.on{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.stack{flex-direction:column;gap:8px;margin-top:16px;display:flex}.row-btns{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.two{grid-template-columns:1fr 1fr;gap:12px;display:grid}.inline-form{align-items:flex-end;gap:8px;display:flex}.inline-form label{flex:1;margin:0}.row.between,.between{justify-content:space-between;align-items:center;gap:8px;display:flex}.auth{padding-top:32px}.hero{text-align:center;margin-bottom:20px}.logo{background:var(--brand);width:56px;height:56px;color:var(--brand-ink);border-radius:16px;place-items:center;margin:0 auto 8px;font-size:28px;font-weight:800;display:grid}.auth .btn{width:100%}.section{color:var(--muted);margin-top:8px;font-size:1rem;font-weight:600}.list{margin:0;padding:0;list-style:none}.list>li{border-bottom:1px solid var(--line)}.list>li:last-child{border-bottom:0}.list .row{color:var(--text);flex-direction:column;gap:4px;min-height:56px;padding:12px 4px;text-decoration:none;display:flex}.page>div>.list,.page>div>ul.list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:0 12px}.row-title{font-weight:600}.bar{background:var(--line);border-radius:4px;height:4px;display:block;overflow:hidden}.bar>span{background:var(--brand);height:100%;display:block}.overall{flex-direction:column;gap:4px;display:flex}.drill-page{padding-top:4px}.drill-head{justify-content:space-between;align-items:center;min-height:44px;display:flex}.back{align-items:center;min-height:44px;padding:10px 0;text-decoration:none;display:inline-flex}.strip{gap:2px;margin:4px 0 10px;display:flex}.strip .cell{background:var(--line);border-radius:2px;flex:1;min-width:1px;height:6px}.strip .cell.right{background:var(--ok)}.strip .cell.wrong{background:var(--bad)}.strip .cell.cur{box-shadow:inset 0 0 0 1px var(--text);transform:scaleY(2)}.chips-row{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.src{background:var(--brand-soft);border-radius:999px;padding:4px 10px;font-size:.8rem}.tag{background:var(--warn-soft);color:var(--warn);border-radius:999px;padding:4px 10px;font-size:.8rem}.stem{white-space:pre-line;font-size:1.05rem}.options{flex-direction:column;gap:8px;display:flex}.opt{text-align:left;border:1.5px solid var(--line);background:var(--bg);cursor:pointer;border-radius:12px;align-items:flex-start;gap:12px;width:100%;min-height:48px;padding:12px;display:flex}.opt:disabled{cursor:default}.opt .key{background:var(--surface);border:1px solid var(--line);border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:.9rem;font-weight:700;display:grid}.opt.correct{border-color:var(--ok);background:var(--ok-soft)}.opt.correct .key{background:var(--ok);color:#fff;border-color:var(--ok)}.opt.wrong{border-color:var(--bad);background:var(--bad-soft)}.opt.wrong .key{background:var(--bad);color:#fff;border-color:var(--bad)}.opt.dim{opacity:.6}.verdict{margin:14px 0 6px;font-weight:700}.verdict.ok{color:var(--ok)}.verdict.bad{color:var(--bad)}.md{border-top:1px solid var(--line);margin-top:8px;padding-top:10px}.md p,.md ul{margin:0 0 10px}.md ul{padding-left:20px}.md li{margin-bottom:6px}.card-tools{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.navbar{padding:10px 0 calc(10px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--bg) 75%, transparent);gap:10px;display:flex;position:sticky;bottom:0}.navbar .btn{flex:1}.summary{text-align:center}.score{margin:0;font-size:2.5rem;font-weight:800}.grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px;margin-top:12px;display:grid}.gcell{border:1px solid var(--line);background:var(--bg);cursor:pointer;border-radius:8px;min-height:44px;font-size:.8rem}.gcell.right{background:var(--ok-soft);border-color:var(--ok)}.gcell.wrong{background:var(--bad-soft);border-color:var(--bad)}.paywall .price{color:var(--brand);font-size:1.3rem;font-weight:700}.steps{padding-left:20px}.steps li{margin-bottom:8px}.paywall .btn.wa{width:100%;margin-bottom:16px}.redeem{border-top:1px solid var(--line);padding-top:12px}.redeem input{text-transform:uppercase;letter-spacing:.15em;font-family:ui-monospace,Menlo,monospace;font-size:1.1rem}.redeem .btn{width:100%}.sheet-backdrop{z-index:20;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.sheet{background:var(--surface);width:100%;max-width:640px;padding:20px 16px calc(20px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;max-height:90vh;overflow-y:auto}.sheet .row-btns .btn{flex:1}.tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:12px;display:flex;overflow-x:auto}.tabs a{min-height:44px;color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;padding:10px 12px;text-decoration:none}.tabs a.on{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.admin .list>li{padding:10px 0}.codes li{padding:8px 0}.badge{background:var(--bad-soft);color:var(--bad);border-radius:999px;padding:3px 10px;font-size:.8rem;font-weight:700}.kept{background:var(--warn-soft);color:var(--warn);border-radius:10px;margin:8px 0;padding:8px 10px;font-size:.9rem}.reports{padding-left:18px}.opts-admin{padding:0;list-style:none}.opts-admin li{padding:4px 0}.opts-admin li.ans{color:var(--ok);font-weight:600}details{margin:8px 0}summary{cursor:pointer;min-height:32px}.sub>div{margin-bottom:4px}.paper-edit{flex-direction:column;gap:4px;display:flex}.opt-edit{grid-template-columns:90px 1fr;align-items:center;gap:8px;display:grid}.opt-edit input:not([type=radio]){margin:0}.preview{border:1px dashed var(--line);border-radius:10px;margin-bottom:12px;padding:8px 12px}.selectable{-webkit-user-select:all;user-select:all;margin:4px 0 0}.center-text{text-align:center}.help{margin:12px 0 0}
