:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111110;--surface:#1a1a19;--surface-2:#242423;--border:#33332f;--text:#f0efec;--text-2:#c3c2b7;--muted:#8f8e86;--accent:#3987e5;--good:#3fb97a;--bad:#e66767;--radius:14px;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-height:100vh;margin:0}h1,h2{letter-spacing:-.01em;margin:0}h1{font-size:1.6rem}h2{font-size:1.15rem}p{margin:0;line-height:1.5}main{max-width:960px;margin:0 auto;padding:32px 20px 64px}.muted{color:var(--muted)}.small{font-size:.85rem}.good{color:var(--good)}.bad{color:var(--bad)}.stack{flex-direction:column;gap:16px;display:flex}.center{text-align:center;align-items:center}.row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}kbd{border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);border-radius:5px;margin-left:6px;padding:2px 6px;font:600 .72rem ui-monospace,monospace}.btn{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);cursor:pointer;border-radius:10px;padding:10px 18px;font-weight:550;transition:background .12s,border-color .12s}.btn:hover{border-color:var(--muted)}.btn:disabled{opacity:.4;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary kbd{color:#fff;background:#0003;border-color:#ffffff40}.btn.ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-2)}.btn.danger{color:var(--bad)}.btn.wide{min-width:220px}.tag{text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:3px 9px;font-size:.72rem;font-weight:600;display:inline-block}.tag.alt{text-transform:none;letter-spacing:0;vertical-align:middle;margin-left:6px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px;display:flex}.hero h1{margin-bottom:6px;font-size:2.1rem}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.test-card{font:inherit;color:inherit;text-align:left;cursor:pointer;flex-direction:column;gap:10px;transition:transform .12s,border-color .12s;display:flex}.test-card .tag{align-self:flex-start}.test-card:hover{border-color:var(--accent);transform:translateY(-2px)}.test-card-foot{justify-content:space-between;gap:8px;margin-top:auto;padding-top:8px;display:flex}.runner-head{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:20px;display:grid}.runner-head>:first-child{justify-self:start}.runner-head>:last-child{justify-self:end}.runner-head>div{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.runner-head>div>div{display:flex}.intro{flex-direction:column;align-items:center;gap:20px;max-width:560px;margin:0 auto;display:flex}.intro ol{color:var(--text-2);align-self:stretch;margin:0;padding-left:20px;line-height:1.7}.setting{align-items:center;gap:12px;display:flex}.seg{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:3px;display:inline-flex}.seg button{font:inherit;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:6px 14px}.seg button.on{background:var(--accent);color:#fff}.stage{-webkit-user-select:none;user-select:none;touch-action:manipulation;justify-content:center;align-items:center;min-height:460px;display:flex}.done{text-align:center;flex-direction:column;align-items:center;gap:10px;max-width:560px;margin:0 auto;display:flex}.big-number{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:3rem;font-weight:700}.details{background:var(--border);border-radius:10px;gap:1px;width:100%;margin:12px 0 18px;display:grid;overflow:hidden}.details>div{background:var(--surface-2);justify-content:space-between;padding:10px 14px;display:flex}.details dt{color:var(--text-2)}.details dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.hud{width:min(440px,100%);color:var(--muted);justify-content:space-between;font-size:.9rem;display:flex}.stage-box{border-radius:var(--radius);background:var(--bg);border:1px solid var(--border);justify-content:center;align-items:center;width:min(440px,100%);height:260px;transition:background .1s;display:flex}.stage-box.tappable{cursor:pointer}.fixation{color:var(--muted);font-size:2.4rem;font-weight:300}.rt-pad{border-radius:var(--radius);cursor:pointer;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;min-height:420px;padding:20px;display:flex}.rt-pad h2{font-size:2rem}.rt-ready,.rt-shown{background:var(--surface-2)}.rt-waiting{background:#b3261e}.rt-go{background:#1e9e55}.rt-early{background:#7a4a12}.nback-grid{aspect-ratio:1;border-radius:var(--radius);border:2px solid #0000;grid-template-columns:repeat(3,1fr);gap:8px;width:min(300px,80vw);padding:8px;transition:border-color .15s;display:grid}.nback-grid.hit{border-color:var(--good)}.nback-grid.fa{border-color:var(--bad)}.nback-cell{background:var(--surface-2);border-radius:10px}.nback-cell.center-cell{background:#1f1f1e}.nback-cell.on{background:var(--accent)}.stroop-word{letter-spacing:.02em;font-size:3.4rem;font-weight:800}.stroop-x{color:var(--bad);font-size:3rem}.choice-row{grid-template-columns:repeat(4,1fr);gap:8px;width:min(560px,100%);display:grid}.choice{text-transform:capitalize;justify-content:center;align-items:center;gap:6px;padding:10px 8px;display:flex}.swatch{border-radius:50%;width:12px;height:12px}@media (width<=520px){.choice-row{grid-template-columns:repeat(2,1fr)}}.span-digit{font-variant-numeric:tabular-nums;font-size:5rem;font-weight:700}.digit-input{letter-spacing:.25em;text-align:center;width:min(360px,90%);color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:8px;font:600 2rem ui-monospace,monospace}.digit-input:focus{outline:2px solid var(--accent);outline-offset:1px}.corsi-board{aspect-ratio:1;background:var(--bg);border:2px solid var(--border);border-radius:var(--radius);width:min(420px,85vw);transition:border-color .15s;position:relative}.corsi-board.ok{border-color:var(--good)}.corsi-board.err{border-color:var(--bad)}.corsi-block{aspect-ratio:1;cursor:pointer;background:#4a4a46;border:0;border-radius:8px;width:15%;transition:background 80ms;position:absolute}.corsi-block:disabled{cursor:default}.corsi-block.lit{background:#f2c94c}.gng-go{background:#1e9e55;border-radius:50%;width:110px;height:110px}.gng-nogo{background:#c8372d;border-radius:10px;width:100px;height:100px}.flash-bad{background:#3a1513}.flanker-arrows{letter-spacing:.08em;font-size:3.4rem;font-weight:700}.flanker-ok{color:var(--good);font-size:3rem}.trail-board{aspect-ratio:1;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:min(520px,90vw);position:relative}.trail-board svg{width:100%;height:100%;position:absolute;inset:0}.trail-board polyline{fill:none;stroke:var(--accent);stroke-width:.6px;stroke-linejoin:round}.trail-circle{aspect-ratio:1;border:2px solid var(--muted);background:var(--surface-2);width:8%;color:var(--text);cursor:pointer;border-radius:50%;padding:0;font-family:inherit;font-size:clamp(.7rem,2.4vw,.95rem);font-weight:600;position:absolute;transform:translate(-50%,-50%)}.trail-circle.visited{background:var(--accent);border-color:var(--accent);color:#fff}.trail-circle.err{background:var(--bad);border-color:var(--bad);color:#fff}.storage-note{text-align:center;margin:-8px 0 16px}.history-list{flex-direction:column;gap:16px;display:flex}.history-head{flex-wrap:wrap;justify-content:space-between;gap:16px;margin-bottom:12px;display:flex}.history-head h2{margin-bottom:4px}.stat-row{gap:24px;display:flex}.stat{flex-direction:column;gap:2px;display:flex}.stat strong{font-variant-numeric:tabular-nums;font-size:1.15rem}.chart{position:relative}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart .grid{stroke:var(--border);stroke-width:1px}.chart .axis{fill:var(--muted);font-size:11px}.chart .crosshair{stroke:var(--muted);stroke-width:1px;stroke-dasharray:3 3}.chart .series-line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart .series-dot{fill:var(--accent);stroke:var(--surface);stroke-width:2px;transition:r .1s}.tooltip{background:var(--surface-2);border:1px solid var(--border);white-space:nowrap;pointer-events:none;border-radius:8px;flex-direction:column;gap:2px;padding:6px 10px;font-size:.8rem;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 12px));box-shadow:0 4px 16px #0006}.tooltip span{color:var(--text-2)}.table-view{margin-top:10px}.table-view summary{cursor:pointer}.table-view table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:8px;font-size:.85rem}.table-view th,.table-view td{text-align:left;border-bottom:1px solid var(--border);padding:6px 8px}.table-view th{color:var(--muted);font-weight:500}.rot-shape{width:min(150px,34vw);height:auto}.rot-shape rect{fill:var(--accent);stroke:var(--surface);stroke-width:.06px}.matrix-grid{grid-template-columns:repeat(3,1fr);gap:6px;width:min(330px,80vw);display:grid}.matrix-options{grid-template-columns:repeat(6,1fr);gap:8px;width:min(560px,100%);display:grid}@media (width<=520px){.matrix-options{grid-template-columns:repeat(3,1fr)}}.matrix-cell{aspect-ratio:1;background:var(--surface-2);border:2px solid var(--border);border-radius:10px;justify-content:center;align-items:center;padding:6px;display:flex;position:relative}.matrix-cell svg{width:100%;height:100%}.matrix-cell.missing{color:var(--muted);border-style:dashed;font-size:2.4rem}.matrix-cell.option{cursor:pointer;font:inherit;color:inherit}.matrix-cell.option:hover{border-color:var(--muted)}.matrix-cell.option kbd{font-size:.65rem;position:absolute;top:3px;left:3px}.matrix-cell.ok{border-color:var(--good)}.matrix-cell.err{border-color:var(--bad)}.matrix-cell.picked{border-color:var(--accent)}.profile-settings{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:20px;padding:12px 16px;display:flex}.profile-settings label{flex-direction:column;gap:4px;display:flex}.profile-settings input,.profile-settings select{font:inherit;border:1px solid var(--border,var(--muted));background:var(--surface-2);color:var(--text);border-radius:6px;padding:6px 8px}.profile-settings input{width:90px}.profile-settings p{flex:260px;margin:0}.peer-compare{margin:8px 0 0}
