:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0b0c;--panel:#151517;--line:#2a2a2e;--fg:#ececee;--dim:#8d8d96;--accent:#a78bfa;--mono:ui-monospace, "Cascadia Mono", Consolas, monospace}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);min-height:100dvh;color:var(--fg);flex-direction:column;margin:0;font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;display:flex}.topbar{grid-template-columns:1fr auto 1fr;align-items:center;width:100%;max-width:40rem;margin:0 auto;padding:.5rem .75rem 0;display:grid}.topbar button{background:0 0;border-color:#0000;min-height:2.75rem}.topbar button:hover{border-color:var(--dim)}.logo{padding:.25rem .5rem}.logo svg{width:auto;height:2rem;display:block}.icon{justify-self:end;place-items:center;width:2.75rem;padding:0;display:grid}.icon[aria-expanded=true]{border-color:var(--fg);background:var(--fg);color:var(--bg)}.prefs{gap:.25rem;width:100%;max-width:40rem;margin:0 auto;padding:.5rem .75rem 0;display:flex}.set-toggles,.modes,.options{flex-wrap:wrap;gap:.25rem;display:flex}.toggle{min-height:2.25rem;padding:.25rem .75rem;font-size:.875rem}.toggle[aria-pressed=true]{border-color:var(--fg);background:var(--fg);color:var(--bg)}.notice{border-bottom:1px solid var(--dim);background:var(--panel);margin:0;padding:.5rem .75rem;font-size:.875rem}.card,.summary,.home{flex-direction:column;flex:1;gap:.75rem;width:100%;max-width:40rem;margin:0 auto;padding:.75rem;display:flex}.modes .toggle{flex:1;min-height:2.75rem}.set-toggles .toggle{flex:auto}.stats{border-collapse:collapse;width:100%;color:var(--dim);font-variant-numeric:tabular-nums;font-size:.875rem}.stats th,.stats td{border-bottom:1px solid var(--line);padding:.4rem 0}.stats th{text-align:left;font-weight:400}.stats th:not(:first-child),.stats td{text-align:right}.stats tbody th{color:var(--fg)}.start{padding:.5rem 0 calc(.5rem + env(safe-area-inset-bottom));background:var(--bg);margin-top:auto;position:sticky;bottom:0}.start button{width:100%}.meta{color:var(--dim);justify-content:space-between;margin:0;font-size:.875rem;display:flex}.case{flex:auto;justify-content:center;align-items:center;min-height:0;margin:0;display:flex}.case svg{width:100%;height:auto;max-height:52vh;display:block}.name{margin:0;font-size:1.15rem;font-weight:600}.solution{border:1px solid var(--line);background:var(--panel);border-radius:2px;padding:.5rem .75rem}.alg{font:1.15rem/1.4 var(--mono);overflow-wrap:anywhere;margin:.25rem 0}.alg.alt{color:var(--dim);font-size:.95rem}.video{color:var(--fg);margin-top:.25rem;display:inline-block}.note{border:1px solid var(--line);background:var(--panel);width:100%;min-height:3.5rem;color:var(--fg);font:inherit;resize:vertical;border-radius:2px;padding:.5rem}.note::placeholder{color:var(--dim)}.actions{padding:.5rem 0 calc(.5rem + env(safe-area-inset-bottom));background:var(--bg);grid-template-columns:1fr 1fr;gap:.5rem;display:grid;position:sticky;bottom:0}.actions .primary,.verify .actions .primary{grid-column:1/-1}button{border:1px solid var(--line);background:var(--panel);min-height:3.25rem;color:var(--fg);font:inherit;cursor:pointer;border-radius:2px;padding:.5rem 1rem}button:hover{border-color:var(--dim)}button:disabled{opacity:.4;cursor:not-allowed}button:disabled:hover{border-color:var(--line)}:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.hint{color:var(--dim);margin:0;font-size:.875rem}button.primary{border-color:var(--accent);background:var(--accent);color:var(--bg);font-weight:600}kbd{font:.75rem var(--mono);opacity:.6;border:1px solid;border-radius:2px;margin-left:.5rem;padding:0 .3rem}@media (hover:none){kbd{display:none}}.data{border-bottom:1px solid var(--line);width:100%;max-width:40rem;color:var(--dim);margin:0 auto;padding:.5rem .75rem;font-size:.875rem}.data-actions,.import-strip{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.data button{min-height:2.5rem}.import-strip p{color:var(--fg);flex-basis:100%;margin:0}.summary{text-align:center;justify-content:center}.summary h1{margin:0;font-size:1.5rem}.result{color:var(--dim);margin:0}[data-mode=drill] .actions button:not(.primary){grid-column:1/-1}@media (width>=48rem){.card,.summary,.home{gap:1rem;padding:1.5rem}.case svg{max-height:60vh}.actions{grid-template-columns:1fr 1fr 1fr;position:static}.actions .primary{grid-column:auto}[data-mode=drill] .actions{grid-template-columns:1fr 1fr}[data-mode=drill] .actions button:not(.primary){grid-column:auto}}
