:root{color-scheme:light dark;--bg: #0b1120;--surface: #111a2e;--surface-2: #16223c;--border: #24324f;--text: #e6ecf7;--muted: #93a3c0;--accent: #5b9dff;--accent-ink: #07142c;--good: #34d399;--bad: #f87171;--warn: #fbbf24;--radius: 12px}@media (prefers-color-scheme: light){:root:not([data-theme=dark]){color-scheme:light;--bg: #f6f8fc;--surface: #ffffff;--surface-2: #eef2f9;--border: #d7deea;--text: #101828;--muted: #55627d;--accent: #1f6feb;--accent-ink: #ffffff;--good: #067647;--bad: #b42318;--warn: #92400e}}:root[data-theme=light]{color-scheme:light;--bg: #f6f8fc;--surface: #ffffff;--surface-2: #eef2f9;--border: #d7deea;--text: #101828;--muted: #55627d;--accent: #1f6feb;--accent-ink: #ffffff;--good: #067647;--bad: #b42318;--warn: #92400e}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-text-size-adjust:100%}.app{max-width:900px;margin:0 auto;padding:max(16px,env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom))}h1{font-size:1.5rem;margin:0 0 4px;letter-spacing:-.01em}h2{font-size:1.1rem;margin:24px 0 10px}h3{font-size:.95rem;margin:0 0 6px}p{margin:0 0 10px}.sub{color:var(--muted);font-size:.875rem;margin:0 0 18px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:12px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row-between{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.grow{flex:1 1 auto;min-width:0}button{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:8px 14px;cursor:pointer;min-height:40px}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}button.danger{color:var(--bad)}button.ghost{background:transparent}label.file{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:var(--accent-ink);border-radius:9px;padding:10px 16px;font-weight:600;cursor:pointer}label.file input{display:none}.banner{border-radius:var(--radius);padding:12px 14px;margin-bottom:12px;border:1px solid var(--border);background:var(--surface-2);font-size:.9rem}.banner.good{border-color:color-mix(in srgb,var(--good) 45%,var(--border))}.banner.warn{border-color:color-mix(in srgb,var(--warn) 55%,var(--border))}.banner strong{display:block;margin-bottom:2px}.muted{color:var(--muted)}.small{font-size:.85rem}.mono{font-variant-numeric:tabular-nums}.prompt{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:14px}.options{display:flex;flex-direction:column;gap:8px;margin:0 0 14px;padding:0;list-style:none}.option{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;background:var(--surface-2);padding:11px 13px;white-space:pre-wrap;overflow-wrap:anywhere}.option .key{flex:none;width:24px;height:24px;border-radius:6px;display:grid;place-items:center;font-size:.8rem;font-weight:700;background:var(--bg);border:1px solid var(--border)}.option[aria-checked=true]{border-color:var(--accent)}.option[aria-checked=true] .key{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.option.correct{border-color:var(--good)}.option.correct .key{background:var(--good);color:var(--accent-ink);border-color:var(--good)}.option.wrong{border-color:var(--bad)}.option.wrong .key{background:var(--bad);color:#fff;border-color:var(--bad)}.exhibit{max-width:100%;border-radius:8px;border:1px solid var(--border);display:block;margin-bottom:10px}.grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}@media (min-width: 400px){.grid{grid-template-columns:repeat(10,minmax(0,1fr))}}@media (min-width: 780px){.grid{grid-template-columns:repeat(20,minmax(0,1fr))}}.grid button{min-height:36px;padding:0;font-size:.8rem}.grid button.answered{border-color:var(--accent)}.grid button.flagged{border-color:var(--warn)}.grid button.current{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.score{font-size:3rem;font-weight:700;line-height:1.1;letter-spacing:-.02em}.verdict-pass{color:var(--good)}.verdict-fail{color:var(--bad)}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:600}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.bar{height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden;min-width:60px}.bar>span{display:block;height:100%;background:var(--accent)}.tag{display:inline-block;font-size:.75rem;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--muted)}.feedback{border-radius:10px;padding:11px 13px;margin-bottom:14px;border:1px solid var(--border);background:var(--surface-2)}.feedback.correct{border-color:color-mix(in srgb,var(--good) 55%,var(--border))}.feedback.incorrect{border-color:color-mix(in srgb,var(--bad) 55%,var(--border))}.feedback .explanation{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.92rem;margin-top:6px}.review{border-top:1px solid var(--border);padding:10px 0}.review summary{cursor:pointer}main#main{display:flex;flex-direction:column;min-height:calc(100dvh - 96px)}main#main>*{flex:none}.sticky-bar{position:sticky;bottom:0;background:var(--bg);border-top:1px solid var(--border);padding:12px 0 calc(8px + env(safe-area-inset-bottom));margin-top:auto}.dnd-board{position:relative;width:100%;margin-bottom:12px;border-radius:8px;overflow:hidden;border:1px solid var(--border);background:#fff}.dnd-bg{position:absolute;inset:0;width:100%;height:100%;display:block}.dnd-box{position:absolute;padding:0;min-height:0;border-radius:4px;border:2px solid transparent;background:transparent;overflow:hidden;cursor:pointer}.dnd-box:disabled{cursor:default}.dnd-box.empty{background:#f1f5f9;border-color:#94a3b8;border-style:dashed}.dnd-box:not(:disabled):hover{border-color:var(--accent)}.dnd-box.picked{border-color:var(--accent);border-style:solid;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 35%,transparent)}.dnd-box.ok{border-color:var(--good);border-style:solid}.dnd-box.bad{border-color:var(--bad);border-style:solid}.dnd-box:focus-visible{outline:3px solid var(--accent);outline-offset:2px;z-index:2}.dnd-item{position:absolute;inset:0;background-repeat:no-repeat}.dnd-empty{position:absolute;inset:0}:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:8px;top:-60px;background:var(--accent);color:var(--accent-ink);padding:10px 14px;border-radius:8px;font-weight:600;z-index:20;text-decoration:none;transition:top .12s ease}.skip-link:focus{top:8px}kbd{font:600 .78rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--surface-2);border:1px solid var(--border);border-bottom-width:2px;border-radius:5px;padding:3px 6px;color:var(--text);white-space:nowrap}.shortcuts{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;align-items:center;margin:0}.shortcuts dt{margin:0}.shortcuts dd{margin:0;color:var(--muted);font-size:.9rem}fieldset.options-group{border:0;margin:0;padding:0;min-width:0}fieldset.options-group>legend{padding:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}:root{--font-scale: 1}.prompt,.option,.feedback .explanation{font-size:calc(1rem * var(--font-scale))}input[type=text],input[type=number],input[type=range]{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:8px 10px;min-height:40px}input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}label.row{cursor:pointer}@media print{.no-print,.sticky-bar,.skip-link,button{display:none!important}body{background:#fff;color:#000}.card{border-color:#bbb;break-inside:avoid}.app{max-width:none;padding:0}details{display:block}details>summary{display:none}}select{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:8px 10px;min-height:40px}.linklike{background:none;border:0;padding:0;min-height:0;color:var(--accent);text-decoration:underline;cursor:pointer;font:inherit}
