:root{--bg: #f8fafc;--card: #ffffff;--text: #0f172a;--muted: #475569;--line: #cbd5e1;--primary: #1d4ed8;--on-primary: #ffffff;--good: #15803d;--good-bg: #dcfce7;--bad: #b91c1c;--bad-bg: #fee2e2;--radius: 14px;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #0b1220;--card: #111b2e;--text: #e5edf9;--muted: #a3b3cc;--line: #2a3a56;--primary: #6ea0ff;--on-primary: #08122b;--good: #86efac;--good-bg: #0f2e1d;--bad: #fca5a5;--bad-bg: #3a1212}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-text-size-adjust:100%}#root{min-height:100dvh;display:flex;flex-direction:column}main{flex:1;width:100%;max-width:40rem;margin:0 auto;padding:1rem 1rem calc(5.5rem + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:.75rem}a{color:var(--primary)}h1:focus{outline:none}h1{font-size:1.4rem;margin:.25rem 0}h2{font-size:1.1rem;margin:0}p{margin:0;overflow-wrap:anywhere}.muted{color:var(--muted);font-size:.9rem}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;display:flex;flex-direction:column;gap:.5rem}a.card,button.card{color:var(--text);text-decoration:none;text-align:left;font:inherit;cursor:pointer}button,input,select{font:inherit;color:inherit}.btn{color:var(--text);min-height:48px;padding:.6rem 1rem;border-radius:12px;border:1px solid var(--line);background:var(--card);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary);font-weight:600}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:focus-visible,.card:focus-visible,input:focus-visible,select:focus-visible,.option:focus-visible,.tab:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.row{display:flex;gap:.5rem}.row>*{flex:1}.field{display:flex;flex-direction:column;gap:.25rem}input,select{min-height:48px;padding:.5rem .75rem;border-radius:12px;border:1px solid var(--line);background:var(--card);width:100%}.error{color:var(--bad);background:var(--bad-bg);border-radius:10px;padding:.6rem .75rem}.option{display:flex;gap:.75rem;align-items:flex-start;text-align:left;width:100%;min-height:48px;padding:.7rem .8rem;border-radius:12px;border:1px solid var(--line);background:var(--card);cursor:pointer}.option b{min-width:1.4rem}.option.correct{border-color:var(--good);background:var(--good-bg);color:var(--good)}.option.wrong{border-color:var(--bad);background:var(--bad-bg);color:var(--bad)}pre{margin:0;padding:.75rem;background:var(--bg);border:1px solid var(--line);border-radius:10px;overflow-x:auto;font-size:.9rem}.flash{min-height:12rem;justify-content:center;align-items:center;text-align:center;font-size:1.15rem;width:100%}.bar{height:8px;background:var(--line);border-radius:99px;overflow:hidden}.bar>span{display:block;height:100%;background:var(--primary)}.tabs{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tab{flex:1;min-height:56px;display:flex;align-items:center;justify-content:center;color:var(--muted);text-decoration:none;font-size:.9rem}.tab[aria-current=page]{color:var(--primary);font-weight:700}.offline{background:var(--card);border-bottom:1px solid var(--line);text-align:center;padding:.35rem;font-size:.85rem}@media(min-width:40rem){main{padding-top:2rem}}.sheet{width:100%;max-width:40rem;max-height:85dvh;margin:auto auto 0;padding:0;border:1px solid var(--line);border-radius:18px 18px 0 0;background:var(--card);color:var(--text)}.sheet::backdrop{background:#00000080}.sheet-body{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1rem calc(1.25rem + env(safe-area-inset-bottom));overflow-y:auto;max-height:85dvh}@media(min-width:40rem){.sheet{margin:auto;border-radius:18px}}
