:root{color-scheme:dark;--bg:#06101d;--bg2:#0a1828;--panel:#0f2134;--panel2:#132a42;--line:#243b54;--text:#edf6ff;--muted:#94abc2;--accent:#2e80ff;--good:#2fd57b;--bad:#ff5f68;--warn:#ffbd4a}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 20% -10%,#173d6a 0,transparent 36%),linear-gradient(180deg,var(--bg),#040a12);color:var(--text);font:15px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input{font:inherit}.hidden{display:none!important}.boot{position:fixed;inset:0;z-index:50;display:flex;gap:14px;align-items:center;justify-content:center;background:var(--bg);font-size:20px}.boot small{display:block;color:var(--muted);font-size:13px;margin-top:4px}.spinner{width:28px;height:28px;border:3px solid #ffffff20;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.topbar{height:64px;position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:0 max(18px,calc((100vw - 1280px)/2));background:#07111ee8;border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:9px;font-size:18px}.brand span{font-size:11px;color:#4cc9ff;letter-spacing:.1em}.status{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.dot{width:8px;height:8px;border-radius:50%;background:var(--good)}.dot.off{background:var(--bad)}.app{max-width:1280px;margin:auto;padding:28px 18px 60px}.hero{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:30px;border:1px solid var(--line);background:linear-gradient(135deg,#0d2036,#0c1726);border-radius:24px;margin-bottom:18px}.eyebrow{font-size:11px;letter-spacing:.18em;color:#48c6ff;font-weight:800}.hero h1{margin:6px 0 4px;font-size:clamp(26px,4vw,42px)}.hero p{margin:0;color:var(--muted)}.heroStat{min-width:116px;text-align:center;border:1px solid var(--line);padding:16px;border-radius:18px;background:#07111d}.heroStat strong{display:block;font-size:30px}.heroStat span{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.card{min-height:126px;text-align:left;border:1px solid var(--line);background:linear-gradient(180deg,var(--panel),#0b1b2b);color:var(--text);padding:18px;border-radius:18px;cursor:pointer;transition:.16s transform,.16s border-color,.16s background}.card:hover{transform:translateY(-2px);border-color:#4388c7;background:var(--panel2)}.card.primary{background:linear-gradient(135deg,#16498c,#15355d);border-color:#347bd4}.card b{display:block;font-size:16px;margin-bottom:8px}.card span{color:var(--muted);font-size:13px}.panel{margin-top:14px;border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:14px 18px}.prefs{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.screenHead,.quizTop{display:flex;align-items:center;gap:14px;margin-bottom:16px}.screenHead h2{margin:0}.screenHead button,.quizTop button,.quizActions button{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:12px;padding:10px 14px;cursor:pointer}.ticketGrid{display:grid;grid-template-columns:repeat(10,1fr);gap:10px}.ticketBtn{aspect-ratio:1;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--text);cursor:pointer}.ticketBtn.done{border-color:#287a55;background:#0e3125}.ticketBtn.bad{border-color:#7a3a41;background:#32171b}.quizTop{justify-content:flex-start}.quizTop>div:nth-child(2){flex:1}.quizTop small{display:block;color:var(--muted);margin-top:2px}.timer{font:800 21px/1 ui-monospace,SFMono-Regular,Menlo,monospace;padding:10px 14px;border-radius:12px;background:#12253a;border:1px solid var(--line)}.timer.warn{color:var(--warn)}.timer.danger{color:var(--bad)}.qnav{display:flex;gap:6px;overflow:auto;padding:4px 0 12px}.qdot{flex:0 0 34px;height:34px;border-radius:9px;border:1px solid var(--line);background:#0e2032;color:var(--muted);cursor:pointer}.qdot.active{border-color:var(--accent);color:#fff;background:#17447c}.qdot.answered{background:#183a2d;border-color:#2c7254;color:#d9ffeb}.questionCard{position:relative;border:1px solid var(--line);background:#f8fbff;color:#10223a;border-radius:22px;padding:clamp(18px,3vw,32px);min-height:420px}.questionCard h2{font-size:clamp(20px,2.5vw,29px);line-height:1.25;margin:0 0 18px}.qimg{display:block;max-width:min(760px,100%);max-height:430px;object-fit:contain;margin:0 auto 18px;border-radius:12px}.options{display:grid;gap:10px}.opt{width:100%;text-align:left;border:2px solid #dae4ef;background:white;color:#15283d;border-radius:14px;padding:15px 16px;cursor:pointer;font-size:16px}.opt:hover{border-color:#7ca8d7}.opt.selected{border-color:#2e80ff;background:#edf5ff}.opt.correct{border-color:#24a663;background:#ebfff5}.opt.wrong{border-color:#df5963;background:#fff0f1}.opt:disabled{cursor:default;opacity:1}.explain{margin-top:16px;padding:16px;border-radius:14px;background:#edf3f8;border:1px solid #d7e3ed}.explain .ok{color:#10854a}.explain .no{color:#c13744}.coach{margin-top:12px;padding:14px;border-left:4px solid #2e80ff;background:white;border-radius:10px}.coach h3{margin:0 0 8px}.coach p{margin:7px 0}.anchor{font-weight:700;color:#204d80}.quizActions{display:flex;justify-content:space-between;margin-top:18px}.quizActions .primary,.primary{background:var(--accent)!important;border-color:var(--accent)!important;color:white!important}.loadingQ{position:absolute;inset:0;display:grid;place-items:center;background:#f8fbfff0;border-radius:22px;font-weight:700}.resultCard{max-width:780px;margin:30px auto;border:1px solid var(--line);background:var(--panel);padding:28px;border-radius:22px}.score{font-size:48px;font-weight:900;margin-bottom:10px}.mistake{padding:12px 0;border-top:1px solid var(--line)}.toast{position:fixed;right:20px;bottom:20px;background:#14283e;border:1px solid var(--line);padding:12px 16px;border-radius:12px;box-shadow:0 15px 40px #0007}@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}.ticketGrid{grid-template-columns:repeat(5,1fr)}}@media(max-width:560px){.app{padding:16px 10px 40px}.topbar{padding:0 12px}.brand span{display:none}.hero{padding:20px;align-items:flex-start}.heroStat{min-width:90px}.grid{grid-template-columns:1fr}.card{min-height:96px}.ticketGrid{grid-template-columns:repeat(5,1fr)}.questionCard{padding:16px;border-radius:16px}.opt{padding:13px}.qimg{max-height:300px}}
/* v22.1 account + sync */
.accountBtn{border:1px solid var(--line);background:#0e2032;color:var(--text);border-radius:10px;padding:7px 10px;cursor:pointer;font-size:12px}
.dot.sync{background:#64748b}.dot.sync.ok{background:var(--good)}.dot.sync.busy{background:var(--warn);box-shadow:0 0 0 4px #ffbd4a18}.dot.sync.bad{background:var(--bad)}.dot.sync.guest{background:#64748b}
.modal{position:fixed;inset:0;z-index:100}.modalBackdrop{position:absolute;inset:0;background:#02060bbc;backdrop-filter:blur(6px)}.modalCard{position:relative;width:min(520px,calc(100% - 24px));max-height:calc(100vh - 32px);overflow:auto;margin:16px auto;background:#0c1b2b;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 30px 90px #000a}.modalHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.modalHead h2{margin:5px 0 14px}.iconBtn{border:1px solid var(--line);background:#102338;color:var(--text);border-radius:10px;padding:7px 10px;cursor:pointer}.muted{color:var(--muted)}.authTabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.tab{border:1px solid var(--line);background:#0b1928;color:var(--muted);padding:10px;border-radius:10px;cursor:pointer}.tab.active{background:#17447c;color:white;border-color:#2e80ff}.authForm{display:grid;gap:12px}.authForm label,.profileBox label{display:grid;gap:6px;color:var(--muted);font-size:13px}.authForm input,.profileBox input,.profileBox select{width:100%;border:1px solid var(--line);background:#07111d;color:var(--text);padding:11px 12px;border-radius:10px;outline:none}.authForm input:focus,.profileBox input:focus,.profileBox select:focus{border-color:var(--accent)}.authForm button,.profileCreate button,.syncCard button,.userRow button{border:1px solid var(--line);background:#102338;color:var(--text);border-radius:10px;padding:10px 12px;cursor:pointer}.authError{margin-top:12px;padding:10px 12px;border:1px solid #71323a;background:#32171b;color:#ffb8bd;border-radius:10px}.userRow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#091522}.userRow small{display:block;color:var(--muted)}.userRow b{display:block;margin-top:3px}.profileBox{margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:14px}.profileCreate{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}.syncCard{margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#091522}.syncCard>div{display:flex;align-items:center;gap:8px}.syncCard small{display:block;color:var(--muted);margin:6px 0 10px}
@media(max-width:700px){.status #netText,.status #headerStats{display:none}.accountBtn{padding:7px 8px}.modalCard{margin:8px auto;max-height:calc(100vh - 16px)}}


/* v23.1 production account controls */
.profileActions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.profileActions button,.securityBox button,.wideBtn{border:1px solid var(--line);background:#102338;color:var(--text);border-radius:10px;padding:10px 12px;cursor:pointer}
.dangerBtn{border-color:#71323a!important;color:#ffb8bd!important;background:#241319!important}
.profileActions button:disabled{opacity:.45;cursor:not-allowed}
.securityBox{margin-top:12px;border:1px solid var(--line);border-radius:14px;padding:12px;background:#091522}
.securityBox summary{cursor:pointer;font-weight:700}
.securityBox .compact{margin-top:12px}
.wideBtn{width:100%;margin-top:10px}
.syncCard.hidden{display:none}
@media(max-width:560px){.profileActions{grid-template-columns:1fr}.status #syncText{display:none}}
