
:root {
  color-scheme: light;
  --bg:#f7f7f8; --surface:#ffffff; --text:#18181b; --muted:#6b7280; --line:#e5e7eb;
  --accent:#b91c1c; --accent-2:#991b1b; --accent-soft:#fef2f2; --ok:#166534; --ok-bg:#f0fdf4;
  --warn:#92400e; --warn-bg:#fffbeb; --bad:#991b1b; --bad-bg:#fef2f2; --shadow:0 8px 28px rgba(0,0,0,.07);
}
*{box-sizing:border-box}
html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
body{margin:0;min-width:320px;background:var(--bg)}
button,input,select{font:inherit}
button{touch-action:manipulation}
.app-shell{max-width:920px;margin:0 auto;padding:0 14px 40px}
.topbar{position:sticky;top:0;z-index:20;background:rgba(247,247,248,.94);backdrop-filter:blur(14px);padding:10px 0;border-bottom:1px solid rgba(229,231,235,.8)}
.topbar-inner{display:flex;align-items:center;gap:10px;min-height:48px}.brand{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.flagmark{width:38px;height:38px;border-radius:12px;background:var(--accent);display:grid;place-items:center;color:white;font-weight:800;letter-spacing:-.04em}.brand-title{font-weight:800;line-height:1.1}.brand-sub{font-size:.78rem;color:var(--muted);margin-top:2px}.icon-btn{border:1px solid var(--line);background:var(--surface);border-radius:12px;min-width:44px;height:44px;padding:0 12px;color:var(--text)}
main{padding-top:18px}.hero{padding:12px 2px 6px}.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:800}.hero h1{font-size:clamp(1.65rem,6vw,2.6rem);line-height:1.05;margin:8px 0 10px;letter-spacing:-.035em}.hero p{margin:0;color:var(--muted);line-height:1.55;max-width:720px}
.grid{display:grid;gap:12px}.grid.actions{grid-template-columns:1fr 1fr;margin-top:18px}.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--shadow)}.action-card{display:flex;flex-direction:column;gap:8px;text-align:left;min-height:132px;cursor:pointer}.action-card strong{font-size:1.05rem}.action-card span{color:var(--muted);font-size:.88rem;line-height:1.45}.action-card.primary{background:var(--accent);border-color:var(--accent);color:#fff}.action-card.primary span{color:#fee2e2}.action-icon{font-size:1.35rem}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:16px 0}.stat{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px}.stat b{display:block;font-size:1.2rem}.stat span{font-size:.72rem;color:var(--muted)}
.section-title{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:24px 2px 10px}.section-title h2{font-size:1.08rem;margin:0}.section-title small{color:var(--muted)}
.list{display:grid;gap:9px}.list-btn{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:15px;padding:14px;text-align:left;display:flex;gap:12px;align-items:center;min-height:62px}.list-btn .grow{flex:1;min-width:0}.list-btn strong{display:block}.list-btn small{display:block;color:var(--muted);margin-top:3px;line-height:1.35}.pill{font-size:.72rem;padding:5px 8px;border-radius:999px;background:#f3f4f6;color:#4b5563;white-space:nowrap}.chev{font-size:1.2rem;color:#9ca3af}
.btn{border:1px solid var(--line);background:var(--surface);border-radius:13px;min-height:46px;padding:10px 15px;font-weight:700}.btn.primary{background:var(--accent);border-color:var(--accent);color:white}.btn.ghost{background:transparent}.btn.good{background:var(--ok-bg);border-color:#bbf7d0;color:var(--ok)}.btn.bad{background:var(--bad-bg);border-color:#fecaca;color:var(--bad)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-row{display:flex;gap:9px;flex-wrap:wrap}.btn-row .btn{flex:1;min-width:120px}
.form-card{display:grid;gap:16px}.field label{font-size:.83rem;font-weight:700;display:block;margin-bottom:6px}.select,.input{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:12px;min-height:48px;padding:10px 12px;color:var(--text)}.hint{font-size:.8rem;color:var(--muted);line-height:1.45}.notice{border:1px solid #fde68a;background:var(--warn-bg);color:#78350f;border-radius:14px;padding:12px 14px;font-size:.84rem;line-height:1.45}.notice strong{color:#78350f}
.quiz-head{display:grid;gap:10px;margin-bottom:12px}.quiz-meta{display:flex;justify-content:space-between;gap:12px;font-size:.82rem;color:var(--muted)}.progress-track{height:7px;background:#e5e7eb;border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);width:0;transition:width .2s ease}.question-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow)}.q-kicker{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.q-kicker .pill{background:var(--accent-soft);color:var(--accent)}.question{font-size:1.22rem;line-height:1.45;font-weight:760;letter-spacing:-.015em;margin:0 0 18px}.options{display:grid;gap:10px}.option{border:1.5px solid var(--line);background:var(--surface);border-radius:15px;min-height:56px;padding:11px 13px;display:flex;align-items:flex-start;gap:11px;text-align:left;width:100%;color:var(--text)}.option .letter{width:28px;height:28px;flex:0 0 28px;border-radius:9px;background:#f3f4f6;display:grid;place-items:center;font-weight:800;font-size:.8rem}.option.selected{border-color:var(--accent);background:var(--accent-soft)}.option.selected .letter{background:var(--accent);color:#fff}.option.correct{border-color:#86efac;background:var(--ok-bg)}.option.wrong{border-color:#fca5a5;background:var(--bad-bg)}
.quiz-actions{display:flex;gap:9px;margin-top:14px;flex-wrap:wrap}.quiz-actions .btn{flex:1}.timer{font-variant-numeric:tabular-nums;font-weight:800;color:var(--text)}.answer-status{margin-top:14px;border-radius:14px;padding:12px;font-size:.84rem;line-height:1.45}.answer-status.unkeyed{background:#f3f4f6;color:#4b5563}.answer-status.correct{background:var(--ok-bg);color:var(--ok)}.answer-status.wrong{background:var(--bad-bg);color:var(--bad)}
.study-list{display:grid;gap:8px;margin-top:12px}.study-line{padding:10px 11px;background:#f9fafb;border:1px solid var(--line);border-radius:12px;font-size:.88rem;line-height:1.4;white-space:pre-wrap}
.result-score{text-align:center;padding:20px 10px}.result-score .big{font-size:3.2rem;font-weight:900;letter-spacing:-.06em}.result-score p{color:var(--muted);margin:6px 0}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.result-grid .stat{text-align:center}.pass{color:var(--ok)}.fail{color:var(--bad)}
.tabs{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px}.tab{white-space:nowrap;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 11px;font-size:.8rem}.tab.active{background:var(--accent);border-color:var(--accent);color:white}.searchbar{display:flex;gap:8px;margin:12px 0}.searchbar .input{flex:1}
.settings-group{display:grid;gap:9px}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:10px 0}.setting-row:last-child{border-bottom:0}.setting-row small{color:var(--muted);display:block;margin-top:3px}.toggle{width:52px;height:30px;border-radius:999px;background:#d1d5db;border:0;padding:3px}.toggle i{display:block;width:24px;height:24px;background:white;border-radius:50%;transition:transform .2s}.toggle.on{background:var(--accent)}.toggle.on i{transform:translateX(22px)}
.footer-note{color:var(--muted);font-size:.76rem;line-height:1.5;margin:22px 4px;text-align:center}.empty{text-align:center;padding:28px 18px;color:var(--muted)}
@media (max-width:640px){.grid.actions{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.brand-sub{display:none}.question-card{padding:15px}.question{font-size:1.1rem}.result-grid{grid-template-columns:1fr 1fr 1fr}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
