:root{--ink:#10231A;--green:#0B7A47;--orange:#F4A940;--bg:#F5F7F2;--line:#dfe6dc;--muted:#5b6b62}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 'DM Sans',system-ui,sans-serif}
h1,h2{font-family:'Bricolage Grotesque','DM Sans',sans-serif;line-height:1.2;margin:.2em 0 .4em}
h1{font-size:1.9rem}h2{font-size:1.25rem}
a{color:var(--green)}
.top{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:#fff;border-bottom:1px solid var(--line)}
.top nav{display:flex;gap:16px;align-items:center}.top nav a{text-decoration:none;font-weight:500;color:var(--ink)}
.brand img{display:block;height:33px;width:auto}
.wrap{max-width:860px;margin:0 auto;padding:28px 16px 60px}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;margin:16px 0;box-shadow:0 1px 2px rgba(16,35,26,.04)}
.narrow{max-width:440px;margin:24px auto}
.muted{color:var(--muted)}.small{font-size:.9rem}
label{display:block;font-weight:500;margin:14px 0}
input{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #c9d4c8;border-radius:10px;font:inherit;background:#fff}
input:focus,button:focus-visible,a:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.hp{position:absolute;left:-9999px;height:0;width:0;opacity:0}
.btn{display:inline-block;background:var(--green);color:#fff;border:0;border-radius:999px;padding:12px 22px;font:700 1rem 'DM Sans',sans-serif;text-decoration:none;cursor:pointer}
.btn:hover{background:#09663c}.btn.sm{padding:8px 16px;color:#fff}
.btn.ghost{background:transparent;color:var(--green);border:2px solid var(--green)}
.err{background:#fdecea;color:#8a1c12;border-radius:10px;padding:10px 14px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:620px){.grid{grid-template-columns:1fr}.top nav{gap:10px}}
.subj{text-decoration:none;color:inherit;display:block}.subj:hover{border-color:var(--green)}
.subj .btn{margin-top:8px}
.pill{display:inline-block;background:#e3f3ea;color:var(--green);border-radius:999px;padding:3px 12px;font-size:.85rem;font-weight:700}
.pill.o{background:#fdf0d9;color:#8a5a00}
.qtop{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.prog{height:8px;background:#e4eae1;border-radius:99px;margin:10px 0;overflow:hidden}.prog i{display:block;height:100%;background:var(--green)}
.qtext{font-size:1.2rem}
.passage{background:#f5f7f2;border-left:4px solid var(--orange);padding:10px 14px;border-radius:8px;white-space:pre-line}
.opts{display:grid;gap:10px;margin:14px 0}
.opt{display:flex;gap:12px;align-items:flex-start;text-align:left;width:100%;background:#fff;border:2px solid var(--line);border-radius:12px;padding:12px 14px;font:inherit;color:inherit;cursor:pointer}
.opt b{background:var(--bg);border-radius:8px;min-width:30px;height:30px;display:grid;place-items:center}
.opt:hover:not(:disabled){border-color:var(--green)}
.opt.right{border-color:var(--green);background:#e8f6ee}.opt.right b{background:var(--green);color:#fff}
.opt.wrong{border-color:#c0392b;background:#fdecea}.opt.wrong b{background:#c0392b;color:#fff}
.opt:disabled{cursor:default}
.fb{border-radius:12px;padding:12px 16px;margin:6px 0 14px}.fb p{margin:.3em 0 0}
.fb.ok{background:#e8f6ee}.fb.no{background:#fff4e0}
.topics,.hist{list-style:none;padding:0;margin:10px 0}
.topics li{display:grid;grid-template-columns:1fr 110px 48px;gap:10px;align-items:center;padding:6px 0}
.bar{height:8px;background:#e4eae1;border-radius:99px;overflow:hidden}.bar i{display:block;height:100%;background:var(--orange)}
.topics b{text-align:right}
.hist li{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line)}
.foot{text-align:center;color:var(--muted);font-size:.85rem;padding:24px 16px}
