:root{--bg:#f6f7fb;--surface:#fff;--surface-2:#eef1f7;--text:#141a2b;--muted:#5b6478;--border:#d9deea;--accent:#2f5bea;--accent-text:#fff;--accent-soft:#e6ecff;--right:#1d8a4e;--right-soft:#e3f5ea;--wrong:#c43a31;--wrong-soft:#fbe7e5;--code-bg:#0f1626;--code-text:#e4e8f2;--radius:10px;--font:"DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0b1220;--surface:#111a2c;--surface-2:#17223a;--text:#e6e9f2;--muted:#97a1b8;--border:#253250;--accent:#6d8dff;--accent-text:#0b1220;--accent-soft:#1b2850;--right:#4cc785;--right-soft:#12301f;--wrong:#ff7a70;--wrong-soft:#3a1714;--code-bg:#070c17;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:16px/1.55 var(--font);margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{margin:.4rem 0;font-size:1.6rem;line-height:1.25}h2{margin:1.6rem 0 .6rem;font-size:1.1rem}.muted{color:var(--muted)}.small{font-size:.85rem}code{font-family:var(--mono);background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:.05em .35em;font-size:.88em}pre{background:var(--code-bg);color:var(--code-text);border-radius:8px;padding:.8rem 1rem;font-size:.85rem;line-height:1.45;overflow-x:auto}pre code{color:inherit;font-size:inherit;background:0 0;border:0;padding:0}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.topbar{z-index:10;background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);align-items:center;height:56px;padding:0 16px;display:flex;position:sticky;top:0}.brand{color:var(--text);align-items:center;gap:.5rem;font-weight:700;display:inline-flex}.brand:hover{text-decoration:none}.brand-mark{background:var(--accent);width:28px;height:28px;color:var(--accent-text);border-radius:8px;place-items:center;font-weight:800;display:inline-grid}.page{max-width:820px;margin:0 auto;padding:24px 16px 96px}.topic h2{align-items:baseline;gap:.5rem;display:flex}.topic-id,.obj-id{font-family:var(--mono);color:var(--accent);font-weight:600}.objectives{gap:6px;margin:0;padding:0;list-style:none;display:grid}.obj{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);grid-template-columns:3.4rem 1fr auto auto;align-items:center;gap:.75rem;padding:.7rem .9rem;display:grid}a.obj:hover{border-color:var(--accent);text-decoration:none}.obj-empty{opacity:.6}.obj-meta{color:var(--muted);white-space:nowrap;align-items:center;gap:.6rem;font-size:.85rem;display:flex}.obj-weight{color:var(--muted);font-size:.8rem;font-family:var(--mono)}.meter{background:var(--surface-2);border-radius:3px;width:64px;height:6px;display:flex;overflow:hidden}.meter-right{background:var(--right)}.meter-wrong{background:var(--wrong)}@media (width<=600px){.obj{grid-template-columns:3rem 1fr auto}.obj-meta{grid-column:2/4}.obj-weight{grid-area:1/3}}.crumbs{color:var(--muted);flex-wrap:wrap;gap:.4rem;font-size:.85rem;display:flex}.choice{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;gap:.4rem 1.4rem;margin:1rem 0;padding:.6rem 1rem .8rem;display:flex}.choice legend{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:0 .3rem;font-size:.8rem;font-weight:600}.choice label{cursor:pointer;align-items:center;gap:.4rem;display:inline-flex}.choice label.disabled{color:var(--muted);cursor:default}.count{color:var(--muted);background:var(--surface-2);border-radius:999px;padding:0 .5rem;font-size:.8rem}.actions{flex-wrap:wrap;gap:.6rem;margin:1.2rem 0;display:flex}.btn{appearance:none;border:1px solid var(--border);background:var(--surface);min-height:42px;color:var(--text);font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0 1.1rem;font-weight:600;display:inline-flex}.btn:hover{border-color:var(--accent);text-decoration:none}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn:disabled{opacity:.45;cursor:default;border-color:var(--border)}.btn:focus-visible,.option:focus-visible,.fill-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.progress-head{justify-content:space-between;gap:1rem;margin-top:.8rem;font-size:.9rem;display:flex}.bar{background:var(--surface-2);border-radius:2px;height:4px;margin:.5rem 0 1.2rem;overflow:hidden}.bar span{background:var(--accent);height:100%;transition:width .2s;display:block}.question{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem}.stem{font-size:1.05rem}.hint{color:var(--muted);margin:.6rem 0 0;font-size:.9rem;font-weight:600}.options{gap:8px;margin:1rem 0 0;padding:0;list-style:none;display:grid}.option{text-align:left;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);font:inherit;cursor:pointer;border-radius:8px;align-items:flex-start;gap:.75rem;padding:.65rem .8rem;display:flex}.option:hover:not(:disabled){border-color:var(--accent)}.option:disabled{cursor:default}.option-key{border:1px solid var(--border);width:1.6rem;height:1.6rem;color:var(--muted);border-radius:6px;flex:none;place-items:center;font-size:.8rem;font-weight:700;display:inline-grid}.option>span:nth-child(2){flex:1;padding-top:.05rem}.option-tag{flex:none;padding-top:.2rem;font-size:.75rem;font-weight:700}.option.selected{border-color:var(--accent);background:var(--accent-soft)}.option.selected .option-key{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.option.right{border-color:var(--right);background:var(--right-soft)}.option.right .option-key,.option.missed .option-key{background:var(--right);border-color:var(--right);color:#fff}.option.right .option-tag,.option.missed .option-tag{color:var(--right)}.option.missed{border-color:var(--right);border-style:dashed}.option.wrong{border-color:var(--wrong);background:var(--wrong-soft)}.option.wrong .option-key{background:var(--wrong);border-color:var(--wrong);color:#fff}.option.wrong .option-tag{color:var(--wrong)}.option.dim{opacity:.6}.fill{margin-top:1rem}.fill-input{width:100%;min-height:46px;font:1rem var(--mono);color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:0 .9rem}.fill-input.right{border-color:var(--right);background:var(--right-soft)}.fill-input.wrong{border-color:var(--wrong);background:var(--wrong-soft)}.feedback{border-left:4px solid var(--right);background:var(--surface-2);border-radius:0 8px 8px 0;margin-top:1.2rem;padding:.9rem 1rem}.feedback.wrong{border-left-color:var(--wrong)}.verdict{margin:0 0 .5rem;font-weight:700}.feedback.right .verdict{color:var(--right)}.feedback.wrong .verdict{color:var(--wrong)}.verdict code{margin-right:.3rem}.book-link{margin:.7rem 0 0;font-size:.9rem}.actions.sticky{background:linear-gradient(transparent, var(--bg) 30%);justify-content:space-between;margin:0;padding:.8rem 0;position:sticky;bottom:0}.score{align-items:baseline;gap:1rem;margin:1rem 0;display:flex}.score-num{font-size:2.6rem;font-weight:800}.score-pct{color:var(--muted);font-size:1.2rem}.missed{gap:.8rem;padding-left:1.2rem;display:grid}.missed li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem 1rem}.missed details{margin-top:.5rem}.missed summary{cursor:pointer;color:var(--accent);font-weight:600}.empty{text-align:center;padding:3rem 0}
