:root{color-scheme:light;--bg:#fbfdff;--text:#203344;--muted:#596c7c;--line:#d6e4ee;--soft:#eef8ff;--button:#b8def7;--ink:#214c6b;--accent:#27678f}
:root[data-theme=dark]{color-scheme:dark;--bg:#17191d;--text:#eef4f8;--muted:#b2c1cc;--line:#35434d;--soft:#263640;--button:#a8d4ef;--ink:#203f55;--accent:#a8d4ef}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,sans-serif;padding-bottom:100px}h1,h2,h3,strong,b,button,input,select{color:inherit}h1{font-size:26px;margin:24px 0 8px}h2{font-size:22px}h3{font-size:18px}p{margin:8px 0 20px}small,.muted{color:var(--muted)}header,main,nav,#notice{max-width:760px;margin:auto}header{padding:20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center}.brand small{display:block}.logo{background:var(--button);color:var(--ink);padding:6px 15px;border-radius:8px;font-size:28px}main{padding:0 20px}button,input,select{font:inherit;border:1px solid var(--line);border-radius:8px;background:var(--bg);padding:12px;min-height:46px}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.primary{background:var(--button);color:var(--ink);font-weight:600;border-color:transparent}.feature{padding:24px;border:1px solid var(--line);border-radius:8px;margin:20px 0}.feature:first-of-type{background:var(--soft)}.feature button{width:100%}.actions{display:flex;gap:10px;margin:20px 0}.actions>*{flex:1}nav{position:fixed;bottom:0;left:0;right:0;background:var(--bg);padding:10px 8px calc(10px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}nav button{border:0;font-size:13px;padding:8px 2px}nav button[aria-current=page]{color:var(--accent);background:var(--soft)}input[type=search]{width:100%;margin:16px 0}.topic{display:block;width:100%;text-align:left;margin:8px 0}.option{width:100%;display:flex;gap:14px;text-align:left;margin:12px 0;white-space:pre-wrap;overflow-wrap:anywhere}.option[aria-pressed=true]{border:2px solid var(--accent);background:var(--soft)}.option b{color:var(--accent)}.grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:20px 0}.grid button{padding:8px}.grid .answered{background:var(--button);color:var(--ink)}.grid [aria-current=true]{outline:2px solid var(--accent);outline-offset:2px}.prompt{white-space:pre-wrap;overflow-wrap:anywhere;font-size:18px}#notice{color:var(--muted);padding:0 20px}.exam-top{display:flex;justify-content:space-between;gap:12px;position:sticky;top:0;background:var(--bg);padding:14px 0;border-bottom:1px solid var(--line)}dialog{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:8px;max-width:min(440px,calc(100% - 32px))}dialog::backdrop{background:#0008}[hidden]{display:none!important}a{color:var(--accent)}table{border-collapse:collapse;width:100%;font-size:15px}td,th{border:1px solid var(--line);padding:10px;white-space:pre-wrap;overflow-wrap:anywhere}.material{margin:20px 0;overflow:auto}.material img{max-width:100%;height:auto}.score{font-size:44px;color:var(--accent)}
