:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--page:var(--lightningcss-light,#f9f9f7)var(--lightningcss-dark,#0d0d0d);--surface:var(--lightningcss-light,#fcfcfb)var(--lightningcss-dark,#1a1a19);--paper:var(--lightningcss-light,#fff)var(--lightningcss-dark,#f0efec);--text-primary:var(--lightningcss-light,#0b0b0b)var(--lightningcss-dark,#f0efec);--text-secondary:var(--lightningcss-light,#52514e)var(--lightningcss-dark,#c3c2b7);--text-muted:#898781;--grid:var(--lightningcss-light,#e1e0d9)var(--lightningcss-dark,#2c2c2a);--axis:var(--lightningcss-light,#c3c2b7)var(--lightningcss-dark,#383835);--border:var(--lightningcss-light,#0b0b0b1a)var(--lightningcss-dark,#ffffff1a);--accent:var(--lightningcss-light,#2a78d6)var(--lightningcss-dark,#3987e5);--accent-ink:#fff;--series-1:var(--lightningcss-light,#2a78d6)var(--lightningcss-dark,#3987e5);--good:#0ca30c;--good-text:var(--lightningcss-light,#006300)var(--lightningcss-dark,#0ca30c);--bad:var(--lightningcss-light,#d03b3b)var(--lightningcss-dark,#e66767);--nav-bg:var(--lightningcss-light,#2e2a6b)var(--lightningcss-dark,#221e52);--nav-ink:#fff;--nav-ink-muted:#cfcbf5;--radius:10px;color:var(--text-primary);background:var(--page);-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{min-height:100dvh;margin:0}h1,h2{margin:0;line-height:1.2}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);min-height:44px;padding:.6rem 1rem}button:disabled{cursor:default;opacity:.6}button:focus-visible,input:focus-visible,select:focus-visible,svg:focus-visible{outline:3px solid var(--accent);outline-offset:2px}button.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000;font-weight:600}button.secondary{background:var(--surface)}button.big{padding:1rem;font-size:1.15rem}button.link{min-height:auto;color:var(--text-secondary);background:0 0;border:none;padding:.25rem;text-decoration:underline}button.primary,button.secondary,.answer{background-image:linear-gradient(#ffffff24,#0000000f);transition:transform 80ms,box-shadow 80ms;box-shadow:inset 0 1px #ffffff4d,inset 0 -3px #0000002e,0 2px 4px #00000040}button.primary:not(:disabled):active,button.secondary:not(:disabled):active,.answer:not(:disabled):active{transform:translateY(2px);box-shadow:inset 0 1px #fff3,inset 0 -1px #0000002e,0 1px 1px #00000040}input,select{border:1px solid var(--axis);border-radius:var(--radius);background:var(--surface);width:100%;min-height:44px;padding:.6rem .75rem}.muted{color:var(--text-secondary)}.small{font-size:.875rem}.center{text-align:center}.error{color:var(--bad);margin:0}.visually-hidden{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.stack{flex-direction:column;gap:1rem;display:flex}.row{flex-wrap:wrap;gap:.75rem;display:flex}.row.end{justify-content:flex-end}.header{z-index:1;background:var(--nav-bg);border-bottom:1px solid #00000040;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex;position:sticky;top:0}.header .title{color:var(--nav-ink);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;padding:.25rem 0;font-size:1.15rem;font-weight:600;overflow:hidden}.header .icon{min-width:44px;color:var(--nav-ink-muted);background:0 0;border:none;padding:.5rem}.header .icon:hover{color:var(--nav-ink)}.header button:focus-visible{outline-color:var(--nav-ink)}.content,.login{max-width:640px;margin:0 auto;padding:1rem}.login{flex-direction:column;gap:.75rem;padding-top:15vh;display:flex}.banner{background:var(--surface);border-bottom:2px solid var(--bad);text-align:center;margin:0;padding:.75rem 1rem}.home{padding-top:2rem}.game{flex-direction:column;gap:.75rem;display:flex}.game-status{color:var(--text-secondary);justify-content:space-between;display:flex}.stopwatch{font-variant-numeric:tabular-nums}.paper{background:var(--paper);border-radius:var(--radius);border:1px solid var(--border);padding:.5rem}.grand-staff{justify-content:center;min-height:200px;display:flex}.feedback{text-align:center;min-height:1.5em;margin:0;font-weight:600}.feedback.good{color:var(--good-text)}.feedback.bad{color:var(--bad)}.answers{grid-template-columns:repeat(7,1fr);gap:.4rem;display:grid}.answer{min-height:52px;padding:.5rem 0;font-size:1.2rem;font-weight:600}.answer sup{font-size:.75em}.answer.is-correct{background:var(--good);color:#fff;opacity:1}.answer.is-wrong{background:var(--bad);color:#fff;opacity:1}.tiles{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;display:grid}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;padding:.75rem 1rem;display:flex}.tile-label{color:var(--text-secondary);font-size:.875rem}.tile-value{font-size:1.75rem;font-weight:600}table.data{border-collapse:collapse;background:var(--surface);border-radius:var(--radius);width:100%;overflow:hidden}table.data th,table.data td{text-align:left;border-bottom:1px solid var(--grid);padding:.5rem .6rem}table.data th{color:var(--text-secondary);font-size:.875rem;font-weight:500}table.data .num{text-align:right;font-variant-numeric:tabular-nums}.mark{font-size:1.1rem;font-weight:700}.mark.good{color:var(--good-text)}.mark.bad{color:var(--bad)}.chart{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:.75rem}.chart figcaption{margin-bottom:.5rem;font-weight:600}.chart-body{touch-action:pan-y;position:relative}.chart svg{display:block}.chart .grid{stroke:var(--grid);stroke-width:1px}.chart .axis{stroke:var(--axis);stroke-width:1px}.chart .tick{fill:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}.chart .series-line{fill:none;stroke:var(--series-1);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart .series-dot{fill:var(--series-1);stroke:var(--surface);stroke-width:2px}.chart .end-label{fill:var(--text-secondary);font-size:12px;font-weight:600}.chart .crosshair{stroke:var(--text-muted);stroke-width:1px}.chart .tooltip{background:var(--surface);border:1px solid var(--border);pointer-events:none;white-space:nowrap;color:var(--text-secondary);border-radius:8px;flex-direction:column;padding:.35rem .6rem;font-size:.8rem;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 2px 8px #0000001f}.chart .tooltip strong{color:var(--text-primary);font-size:.95rem}dialog.settings{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:min(440px,100vw - 2rem);color:var(--text-primary);padding:1.25rem}dialog.settings::backdrop{background:#0006}.field{flex-direction:column;gap:.25rem;display:flex}.check{align-items:center;gap:.6rem;min-height:44px;display:flex}.check input{width:1.25rem;height:1.25rem;min-height:auto}.segmented{border:none;margin:0;padding:0}.segmented legend{margin-bottom:.25rem;padding:0}.segmented-options{border:1px solid var(--axis);border-radius:var(--radius);grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.segmented-options label{cursor:pointer;min-height:44px;color:var(--text-secondary);justify-content:center;align-items:center;gap:.4rem;padding:.4rem;font-size:.9rem;display:flex}.segmented-options label+label{border-left:1px solid var(--axis)}.segmented-options input{opacity:0;width:1px;height:1px;position:absolute}.segmented-options label:has(input:checked){background:var(--accent);color:var(--accent-ink);font-weight:600}.segmented-options label:has(input:focus-visible){outline:3px solid var(--text-primary);outline-offset:-3px}
