:root{--bg:#f4f6f9;--panel:#fff;--text:#1d2330;--muted:#626b7a;--line:#dde2ea;--brand:#1f5fa8;--brand-dark:#174a84;--ok:#1e8a4c;--ok-bg:#e6f5ec;--bad:#c0392b;--bad-bg:#fdecea;--warn:#a15c00;--warn-bg:#fff4e0;--demo:#7b3fb6;--radius:8px;--font:"Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;--question-font:Arial, "Segoe UI", sans-serif;--question-width:800px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.5}a{color:var(--brand)}h1{margin:0 0 .75rem;font-size:1.5rem}h2{margin:1.5rem 0 .6rem;font-size:1.2rem}h3{margin:1rem 0 .4rem;font-size:1.05rem}.muted{color:var(--muted)}.small{font-size:.85rem}.topbar{background:var(--brand);color:#fff;flex-wrap:wrap;align-items:center;gap:1.5rem;min-height:52px;padding:0 1.25rem;display:flex}.topbar .brand{color:#fff;font-size:1.1rem;font-weight:700;text-decoration:none}.topbar nav{flex-wrap:wrap;flex:1;gap:.25rem;display:flex}.topbar nav a{color:#e8effa;border-radius:6px;padding:.35rem .7rem;text-decoration:none}.topbar nav a:hover{color:#fff;background:#ffffff26}.topbar form button{color:#fff;background:0 0;border:1px solid #ffffff80}.page{max-width:1150px;margin:0 auto;padding:1.5rem 1.25rem 4rem}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1rem;padding:1.1rem 1.25rem}.grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.stat{font-size:2rem;font-weight:700}.btn,button{background:var(--brand);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:6px;padding:.5rem 1rem;text-decoration:none;display:inline-block}.btn:hover,button:hover{background:var(--brand-dark)}.btn-big{padding:.75rem 1.6rem;font-size:1.1rem}.btn-light{color:var(--brand);border:1px solid var(--brand);background:#fff}.btn-light:hover{background:#eef4fb}.btn-danger{background:var(--bad)}button:disabled{opacity:.6;cursor:wait}label{margin:.8rem 0 .25rem;font-weight:600;display:block}input[type=text],input[type=password],select{font:inherit;border:1px solid var(--line);background:#fff;border-radius:6px;width:100%;max-width:480px;padding:.45rem .6rem}.inline-form{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.inline-form select,.inline-form input{width:auto}.msg{border-radius:6px;margin-bottom:1rem;padding:.6rem .9rem}.msg-ok{background:var(--ok-bg);color:var(--ok)}.msg-bad{background:var(--bad-bg);color:var(--bad)}.msg-warn{background:var(--warn-bg);color:var(--warn)}.badge{color:var(--muted);vertical-align:middle;text-transform:uppercase;letter-spacing:.02em;background:#eef1f5;border-radius:999px;margin-left:.3rem;padding:.1rem .5rem;font-size:.75rem;font-weight:700;display:inline-block}.badge-ok{background:var(--ok-bg);color:var(--ok)}.badge-bad{background:var(--bad-bg);color:var(--bad)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-demo{color:var(--demo);background:#f1e8fb}.badge-draft{color:var(--brand);background:#e8eef8}table{border-collapse:collapse;background:var(--panel);width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.5rem .6rem}th{background:#f0f3f7;font-size:.9rem;font-weight:600}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1rem;overflow-x:auto}.report-test{border-left:5px solid var(--ok)}.report-test.bad{border-left-color:var(--bad)}.issues{margin:.4rem 0 0;padding-left:1.2rem}.issues li{margin:.15rem 0}.issues .file{background:#f0f3f7;border-radius:4px;padding:0 .3rem;font-family:Consolas,monospace;font-size:.85rem}details>summary{cursor:pointer;margin:.5rem 0;font-weight:600}.qv{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:.8rem;padding:1rem 1.25rem}.qv-head{flex-wrap:wrap;align-items:baseline;gap:.6rem;margin-bottom:.4rem;display:flex}.qv-body{max-width:var(--question-width);font-family:var(--question-font);font-size:16px;line-height:1.6}.qv-body p{white-space:pre-line;margin:.3rem 0}.qv-points{margin:.3rem 0;padding-left:1.5rem;list-style:none}.qv-match{width:auto;min-width:70%;margin:.4rem 0}.qv-match th,.qv-match td{border:1px solid var(--line)}.qv-options{margin:.5rem 0;padding:0;list-style:none}.qv-options li{border-radius:4px;gap:.5rem;padding:.15rem .4rem;display:flex}.qv-options li .n{flex:0 0 2.2rem}.qv-options li.correct{background:var(--ok-bg);font-weight:600}.qv-img{max-width:100%;width:var(--question-width);border:1px solid var(--line)}.passage{border-radius:var(--radius);background:#fbfcfe;border:1px dashed #b9c6d8;margin:1rem 0 .6rem;padding:.8rem 1rem}.passage .case{white-space:pre-line;max-width:var(--question-width);font-family:var(--question-font)}.expl{background:#f6f8fb;border-radius:6px;margin-top:.4rem;padding:.5rem .8rem}.kv{grid-template-columns:minmax(180px,280px) 1fr;gap:.25rem 1rem;margin:0;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0;font-weight:500}.kv .kv{grid-column:1/-1;margin-left:1rem}.home{place-items:center;min-height:100vh;padding:1rem;display:grid}.home-card{text-align:center;max-width:420px}.login-card{max-width:420px;margin:4rem auto}@media (max-width:640px){.kv{grid-template-columns:1fr}.page{padding:1rem .75rem 3rem}}.exam-card{color:var(--text);text-decoration:none;display:block}.exam-card:hover{border-color:var(--brand)}.search-hits{margin:.6rem 0 0;padding:0;list-style:none}.search-hits li{border-top:1px solid var(--line);padding:.3rem 0}.test-list{margin:0;padding:0;list-style:none}.test-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 0;display:flex}.test-row:first-child{border-top:0}.popular-row{flex-wrap:wrap;gap:.5rem;display:flex}.cat-icon{margin-right:.4rem}.profile-form{gap:.4rem;display:grid}.check-row{flex-wrap:wrap;gap:.3rem .9rem;display:flex}.check{white-space:nowrap;align-items:center;gap:.3rem;margin:0;font-size:.9rem;font-weight:400;display:inline-flex}.sheet-q.sheet-wrong{border-left:5px solid var(--bad)}.sheet-q.sheet-correct{border-left:5px solid var(--ok)}.sheet-q.sheet-unattempted{border-left:5px solid #bbb}.qv-options li.yours-wrong{background:var(--bad-bg);text-decoration:line-through}.sheet-answers{margin-top:.4rem}.report summary{color:var(--muted)}.time-list{gap:.25rem;display:grid}.time-row{color:var(--text);border-radius:4px;grid-template-columns:2.5rem 1fr 4.5rem 1.2rem;align-items:center;gap:.5rem;padding:.15rem .4rem;text-decoration:none;display:grid}.time-row:hover{background:#eef2f7}.time-row.slow{background:var(--warn-bg)}.time-bar-wrap{background:#e6eaf0;border-radius:3px;height:14px;overflow:hidden}.time-bar{background:var(--brand);border-radius:3px;height:100%;display:block}.t-wrong .time-bar{background:var(--bad)}.t-correct .time-bar{background:var(--ok)}.t-unattempted .time-bar{background:#9aa4b2}.time-val{text-align:right;font-variant-numeric:tabular-nums}.topbar-right{align-items:center;gap:.6rem;font-size:.9rem;display:flex}.topbar-right a{color:#fff;text-decoration:none}.topbar-right .btn-light{color:var(--brand)}.google-btn{justify-content:center;align-items:center;gap:.5rem;width:100%;display:inline-flex}.google-btn .g{color:#4285f4;font-size:1.1rem;font-weight:700}.or-line{text-align:center;margin:.6rem 0 0;display:block}.site-footer{border-top:1px solid var(--line);flex-wrap:wrap;gap:1.2rem;max-width:1150px;margin:0 auto;padding:1rem 1.25rem 2rem;font-size:.85rem;display:flex}.policy{max-width:800px}.policy h2{margin-top:1.4rem}.policy .placeholder{background:var(--warn-bg);color:var(--warn);border-radius:3px;padding:0 .3rem;font-weight:600}.settings-editor details.card>summary{margin:0}.field-list{margin:.6rem 0 0}.field-row{border-top:1px solid var(--line);grid-template-columns:minmax(240px,1fr) minmax(200px,1.2fr);align-items:start;gap:.3rem 1rem;padding:.45rem 0;display:grid}.field-row dt label{font-weight:600}.field-row dd{margin:0}.sec-table td,.sec-table th{padding:.25rem .3rem;font-size:.85rem}.sec-table input[type=number],.sec-table input[type=text],.sec-table select{padding:.25rem .35rem}.diff-table td.old{color:var(--bad)}.diff-table td.new{color:var(--ok);font-weight:600}.compare-table td.diff{background:var(--warn-bg)}@media (max-width:700px){.field-row{grid-template-columns:1fr}}
