body.nback-page{max-width:1180px;width:100%;box-sizing:border-box;overflow-x:hidden;overscroll-behavior-x:none}body.nback-page #main-content{padding-right:0;padding-left:0;max-width:100%;overflow-x:hidden}.nback-tool{--nback-panel:var(--bg-primary);--nback-ink:var(--text-color);--nback-muted:var(--date-color);--nback-line:var(--border-color);--nback-field:var(--bg-secondary);--nback-field-strong:var(--bg-tertiary);--nback-progress-bg:var(--progress-bg);--nback-green:#198754;--nback-green-soft:rgba(25, 135, 84, 0.16);--nback-red:#b02a37;--nback-red-soft:rgba(176, 42, 55, 0.14);--nback-gold:#8a6d3b;--nback-shadow:0 18px 42px rgba(0, 0, 0, 0.08);margin:1.25rem 0 2rem;max-width:100%;overflow-x:hidden;touch-action:pan-y;color:var(--nback-ink)}.nback-tool,.nback-tool *{box-sizing:border-box}.nback-tool button,.nback-tool input,.nback-tool select{font:inherit}.nback-tool button{border:0;cursor:pointer;touch-action:manipulation;user-select:none}.nback-tool :focus-visible{outline:3px solid var(--focus-outline-color);outline-offset:2px}.nback-tool [hidden]{display:none!important}.nback-tool .visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.nback-tool .app-shell{display:grid;grid-template-columns:minmax(0,1040px);justify-content:center;gap:14px;width:100%;max-width:100%;min-width:0}.nback-tool .details-panel,.nback-tool .game-panel{background:var(--nback-panel);border:1px solid var(--nback-line);border-radius:6px;box-shadow:var(--nback-shadow);min-width:0;max-width:100%}.nback-tool .game-panel{display:flex;flex-direction:column;min-width:0;padding:24px}.nback-tool .game-panel.is-result-success{animation:nback-result-success-flash 850ms ease-out}.nback-tool .game-panel.is-result-fail{animation:nback-result-fail-flash 850ms ease-out}.nback-tool .details-panel{padding:0}.nback-tool .details-panel summary{cursor:pointer;padding:14px 18px;color:var(--nback-muted);font-weight:850}.nback-tool .details-content{display:flex;flex-direction:column;gap:18px;padding:20px;border-top:1px solid var(--nback-line);min-width:0;max-width:100%}.nback-tool .history-header,.nback-tool .topbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.nback-tool .eyebrow{margin:0 0 4px;color:var(--accent-color);font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.nback-tool h1,.nback-tool h2,.nback-tool p{margin-top:0}.nback-tool h1{margin-bottom:0;padding:0;border:0;color:var(--nback-ink);font-size:clamp(2rem, 4vw, 4.75rem);line-height:.95;letter-spacing:0}.nback-tool h2{margin-bottom:12px;color:var(--nback-ink);font-size:.95rem;letter-spacing:0}.nback-tool .level-pill{display:grid;min-width:92px;min-height:92px;place-items:center;border:1px solid var(--nback-line);border-radius:6px;background:var(--nback-field);color:var(--accent-color)}.nback-tool .level-pill span{font-size:.72rem;font-weight:800}.nback-tool .level-pill strong{font-size:2.9rem;line-height:.9}.nback-tool .tips-panel{margin:14px 0 0;border:1px solid var(--nback-line);border-radius:6px;background:var(--nback-field)}.nback-tool .tips-panel summary{cursor:pointer;padding:10px 12px;color:var(--nback-muted);font-size:.82rem;font-weight:850;letter-spacing:0;text-transform:uppercase}.nback-tool .tips-panel ul{display:grid;gap:8px;margin:0;padding:0 14px 12px 30px;color:var(--nback-muted);font-size:.86rem;line-height:1.4}.nback-tool .tips-panel kbd{display:inline-grid;min-width:28px;min-height:24px;place-items:center;margin:0 1px;padding:0 7px;border:1px solid var(--nback-line);border-bottom-width:2px;border-radius:4px;background:var(--nback-panel);color:var(--nback-ink);font:inherit;font-size:.78rem;font-weight:850}.nback-tool .progress-stack{display:grid;gap:10px;margin:24px 0}.nback-tool .progress-line{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:12px}.nback-tool .progress-line>span,.nback-tool .stimulus-card span{display:block;color:var(--nback-muted);font-size:.76rem;font-weight:750;letter-spacing:0;text-transform:uppercase}.nback-tool .difficulty-progress,.nback-tool .round-progress{height:12px;overflow:hidden;background:var(--nback-progress-bg);border-radius:999px}.nback-tool .difficulty-progress span,.nback-tool .round-progress span{display:block;width:0%;height:100%;transition:width 180ms ease}.nback-tool .round-progress span{background:var(--accent-color)}.nback-tool .difficulty-progress span{background:var(--nback-green)}.nback-tool .progress-line.is-break{align-items:start}.nback-tool .break-progress{display:grid;gap:6px;min-width:0}.nback-tool .break-progress p{margin:0;color:var(--nback-muted);font-size:.82rem;line-height:1.35}.nback-tool .level-up-notice{margin:-8px 0 18px;padding:10px 12px;border:1px solid var(--nback-line);border-left:4px solid var(--accent-color);border-radius:6px;background:var(--nback-field);color:var(--nback-ink);font-size:.88rem;font-weight:850}.nback-tool .play-area{display:grid;grid-template-columns:1fr;gap:14px;min-height:0;min-width:0;max-width:100%;flex:1}.nback-tool .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-self:stretch;width:min(100%,72vh);max-width:680px;min-width:0;aspect-ratio:1;margin:auto}.nback-tool .cell{display:grid;min-width:0;min-height:0;place-items:center;border:2px solid var(--nback-line);border-radius:6px;background:var(--nback-field-strong);color:#fff;font-size:clamp(1.5rem, 5vw, 3.6rem);font-weight:900;line-height:1;text-shadow:0 1px 7px rgba(0,0,0,.36);transition:transform 120ms ease,background 120ms ease,border-color 120ms ease,box-shadow 120ms ease}.nback-tool .cell.is-active{border-color:var(--accent-color);background:var(--active-color,#3478c7);box-shadow:inset 0 0 0 8px rgba(255,255,255,.34);transform:scale(.96)}.nback-tool .cell.is-pulse{animation:nback-trial-pulse 420ms ease-out}.nback-tool .cell.is-response-success{border-color:var(--nback-green);background:var(--nback-green);box-shadow:0 0 0 10px color-mix(in srgb,var(--nback-green) 18%,transparent),inset 0 0 0 8px rgba(255,255,255,.38);animation:nback-cell-success-flash 420ms ease-out}.nback-tool .cell.is-response-fail{border-color:var(--nback-red);background:var(--nback-red);box-shadow:0 0 0 10px color-mix(in srgb,var(--nback-red) 18%,transparent),inset 0 0 0 8px rgba(255,255,255,.34);animation:nback-cell-fail-flash 420ms ease-out}.nback-tool .grid.is-muted .cell{background:var(--nback-field);border-color:var(--nback-line);box-shadow:none}.nback-tool .grid-input-hint{width:min(100%,72vh);max-width:680px;min-height:40px;margin:-2px auto 0;padding:10px 12px;border:1px solid var(--nback-line);border-left:4px solid var(--accent-color);border-radius:6px;background:var(--nback-field);color:var(--nback-ink);font-size:.88rem;font-weight:800;line-height:1.3}.nback-tool .controls-panel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:min(100%,72vh);max-width:680px;min-width:0;margin:0 auto}.nback-tool .stimulus-card{display:grid;min-width:86px;min-height:48px;place-items:center;border:1px solid var(--nback-line);border-radius:6px;background:var(--nback-field)}.nback-tool .stimulus-card span{align-self:end}.nback-tool .stimulus-card strong{align-self:start;font-size:1.2rem;line-height:1}.nback-tool .stimulus-card.is-visual-cue{min-width:104px;background:var(--cue-color,var(--nback-field));color:#fff}.nback-tool .stimulus-card.is-visual-cue span,.nback-tool .stimulus-card.is-visual-cue strong{color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.35)}.nback-tool .stimulus-card.is-cue-pulse{animation:nback-cue-pulse 420ms ease-out}.nback-tool .match-controls{display:grid;grid-template-columns:repeat(var(--stream-count,1),minmax(0,1fr));gap:12px;min-width:0;max-width:100%}.nback-tool .history-header button,.nback-tool .match-button,.nback-tool .primary-actions button{min-height:48px;border:1px solid var(--nback-line);border-radius:6px;background:var(--nback-field);color:var(--nback-ink);font-weight:800}.nback-tool .match-button{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;padding:8px 10px;text-align:left;min-width:0;overflow-wrap:anywhere;touch-action:manipulation}.nback-tool .match-button span{display:grid;width:34px;height:30px;place-items:center;border-radius:4px;background:var(--text-color);color:#fff}.nback-tool .match-button.is-selected{border-color:var(--accent-color);background:color-mix(in srgb,var(--accent-color) 12%,var(--nback-field))}.nback-tool .match-button.is-correct{border-color:var(--nback-green);background:var(--nback-green-soft)}.nback-tool .match-button.is-wrong{border-color:var(--nback-red);background:var(--nback-red-soft)}.nback-tool .match-button:disabled{cursor:default;opacity:.42}.nback-tool .primary-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:190px;max-width:100%}.nback-tool .primary-actions button:first-child{background:var(--accent-color);color:#fff}.nback-tool .primary-actions button:first-child:hover{background:var(--hover-color)}.nback-tool .daily-practice,.nback-tool .history,.nback-tool .hotkeys,.nback-tool .progression,.nback-tool .settings{padding-top:16px;border-top:1px solid var(--nback-line)}.nback-tool .settings{padding-top:0;border-top:0}.nback-tool .load-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}.nback-tool .load-grid div,.nback-tool .practice-stats div{min-width:0;padding:10px;border:1px solid var(--nback-line);border-radius:6px;background:var(--nback-field)}.nback-tool .load-grid span,.nback-tool .practice-stats span{display:block;color:var(--nback-muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.nback-tool .load-grid strong,.nback-tool .practice-stats strong{display:block;margin-top:4px}.nback-tool .load-grid strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nback-tool label{display:grid;gap:7px;margin-bottom:12px;color:var(--nback-muted);font-size:.86rem;font-weight:750}.nback-tool .training-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:12px;min-width:0;max-width:100%}.nback-tool .training-options label{margin-bottom:0}.nback-tool input,.nback-tool select{width:100%;min-height:42px;padding:8px 10px;border:1px solid var(--nback-line);border-radius:6px;background:var(--nback-field);color:var(--nback-ink)}.nback-tool .toggle-row{grid-template-columns:18px minmax(0,1fr);align-items:center;min-height:42px;padding-bottom:2px;color:var(--nback-ink)}.nback-tool .toggle-row input{width:18px;min-height:18px}.nback-tool dl{display:grid;gap:8px;margin:0}.nback-tool dl div{display:grid;grid-template-columns:74px minmax(0,1fr);align-items:center;gap:10px}.nback-tool dt{display:grid;min-height:30px;place-items:center;border-radius:4px;background:var(--text-color);color:#fff;font-size:.78rem;font-weight:850}.nback-tool dd{margin:0;color:var(--nback-muted)}.nback-tool .daily-practice p,.nback-tool .progression p{color:var(--nback-muted);line-height:1.45}.nback-tool .progress-bars{display:grid;gap:10px}.nback-tool .metric{display:grid;gap:6px}.nback-tool .metric-row{display:flex;justify-content:space-between;gap:10px;color:var(--nback-muted);font-size:.82rem;font-weight:750;min-width:0}.nback-tool .metric-row>*{min-width:0;overflow-wrap:anywhere}.nback-tool .bar{height:9px;overflow:hidden;border-radius:999px;background:var(--nback-progress-bg)}.nback-tool .bar span{display:block;width:0%;height:100%;background:var(--accent-color);transition:width 180ms ease}.nback-tool .daily-practice-bar span{background:var(--nback-green)}.nback-tool .practice-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.nback-tool .practice-stats strong{font-size:1.25rem}.nback-tool .history-header h2{margin-bottom:0}.nback-tool .history-header button{min-height:34px;padding:0 12px;border-color:var(--nback-red);background:var(--nback-red-soft);color:var(--nback-red)}.nback-tool .history-table-wrap{margin-top:12px;max-width:100%;overflow-x:hidden;border:1px solid var(--nback-line);border-radius:6px;background:var(--nback-field)}.nback-tool .history-table{width:100%;min-width:0;border-collapse:collapse;font-size:.82rem;table-layout:fixed}.nback-tool .history-table td,.nback-tool .history-table th{padding:10px 9px;border-bottom:1px solid var(--nback-line);text-align:left;white-space:normal;overflow-wrap:anywhere}.nback-tool .history-table th{color:var(--nback-muted);font-size:.72rem;font-weight:850;text-transform:uppercase}.nback-tool .history-table tbody tr:last-child td{border-bottom:0}.nback-tool .history-table td{color:var(--nback-ink);font-weight:700}.nback-tool .history-table td.is-muted{color:var(--nback-muted)}@keyframes nback-result-success-flash{0%{border-color:var(--nback-green);box-shadow:0 0 0 6px color-mix(in srgb,var(--nback-green) 22%,transparent),var(--nback-shadow);background:color-mix(in srgb,var(--nback-green-soft) 42%,var(--nback-panel))}100%{border-color:var(--nback-line);box-shadow:var(--nback-shadow);background:var(--nback-panel)}}@keyframes nback-result-fail-flash{0%{border-color:var(--nback-red);box-shadow:0 0 0 6px color-mix(in srgb,var(--nback-red) 20%,transparent),var(--nback-shadow);background:color-mix(in srgb,var(--nback-red-soft) 46%,var(--nback-panel))}100%{border-color:var(--nback-line);box-shadow:var(--nback-shadow);background:var(--nback-panel)}}@keyframes nback-trial-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent-color) 42%,transparent),inset 0 0 0 12px rgba(255,255,255,.55);transform:scale(.9)}58%{box-shadow:0 0 0 12px color-mix(in srgb,var(--accent-color) 14%,transparent),inset 0 0 0 6px rgba(255,255,255,.34);transform:scale(.98)}100%{box-shadow:inset 0 0 0 8px rgba(255,255,255,.34);transform:scale(.96)}}@keyframes nback-cell-success-flash{0%{transform:scale(.9)}65%{transform:scale(.98)}100%{transform:scale(.96)}}@keyframes nback-cell-fail-flash{0%,100%{transform:translateX(0) scale(.96)}25%{transform:translateX(-5px) scale(.96)}50%{transform:translateX(5px) scale(.96)}75%{transform:translateX(-3px) scale(.96)}}@keyframes nback-cue-pulse{0%{box-shadow:0 0 0 0 rgba(47,111,159,.42),inset 0 0 0 9px rgba(255,255,255,.42);transform:scale(.94)}60%{box-shadow:0 0 0 10px rgba(47,111,159,.14),inset 0 0 0 4px rgba(255,255,255,.25);transform:scale(1)}100%{box-shadow:none;transform:scale(1)}}@media (prefers-color-scheme:dark){.nback-tool{--nback-green-soft:rgba(25, 135, 84, 0.18);--nback-red-soft:rgba(176, 42, 55, 0.18);--nback-shadow:0 18px 42px rgba(0, 0, 0, 0.28)}}html[data-theme=dark] .nback-tool{--nback-green-soft:rgba(25, 135, 84, 0.18);--nback-red-soft:rgba(176, 42, 55, 0.18);--nback-shadow:0 18px 42px rgba(0, 0, 0, 0.28)}@media (max-width:1050px){.nback-tool .app-shell{grid-template-columns:1fr}.nback-tool .details-panel{overflow:visible}}@media (max-width:760px){body.nback-page{padding:8px}body.nback-page #main-content{padding-right:0;padding-left:0}.nback-tool .app-shell{gap:10px}.nback-tool .game-panel{min-height:calc(100dvh - 96px);width:100%;padding:12px}.nback-tool .details-content{padding:14px}.nback-tool .topbar{align-items:center;gap:10px}.nback-tool .eyebrow{margin-bottom:2px;font-size:.68rem}.nback-tool h1{font-size:2rem}.nback-tool .level-pill{min-width:62px;min-height:62px}.nback-tool .level-pill strong{font-size:1.9rem}.nback-tool .tips-panel{margin-top:10px}.nback-tool .tips-panel summary{padding:9px 10px;font-size:.72rem}.nback-tool .tips-panel ul{gap:7px;padding:0 12px 10px 26px;font-size:.8rem;line-height:1.35}.nback-tool .progress-stack{gap:7px;margin:12px 0}.nback-tool .progress-line{grid-template-columns:44px minmax(0,1fr);gap:8px}.nback-tool .progress-line>span{font-size:.66rem}.nback-tool .play-area{display:flex;flex:1;flex-direction:column;gap:10px;min-height:0}.nback-tool .grid{width:min(100%,calc(100dvw - 40px),56dvh);max-width:none;min-height:0}.nback-tool .grid-input-hint{width:min(100%,calc(100dvw - 40px),56dvh);max-width:none;min-height:38px;font-size:.82rem}.nback-tool .cell{border-width:1px}.nback-tool .controls-panel{position:sticky;bottom:0;z-index:5;grid-template-columns:1fr;gap:8px;width:100%;max-width:none;min-width:0;margin:auto 0 0;padding:8px;border:1px solid var(--nback-line);border-radius:6px;background:color-mix(in srgb,var(--nback-panel) 94%,transparent);box-shadow:0 -8px 24px rgba(0,0,0,.08)}.nback-tool .match-controls{order:1;grid-template-columns:repeat(var(--stream-count,1),minmax(0,1fr));gap:8px}.nback-tool .match-button{grid-template-columns:1fr;grid-template-rows:auto auto;justify-items:center;min-height:clamp(74px,18dvw,104px);padding:10px 6px;text-align:center;font-size:clamp(.78rem, 3.2dvw, 1rem);line-height:1.15}.nback-tool .match-button span{width:38px;height:32px;font-size:.92rem}.nback-tool .match-button.is-selected{box-shadow:inset 0 0 0 2px var(--accent-color)}.nback-tool .stimulus-card{order:0;min-height:52px}.nback-tool .stimulus-card[hidden]+.match-controls{order:1}.nback-tool .primary-actions{order:2;grid-template-columns:1fr 1fr;gap:8px;min-width:0}.nback-tool .primary-actions button{min-height:52px}.nback-tool .load-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nback-tool .training-options{grid-template-columns:1fr;align-items:stretch}.nback-tool .hotkeys{display:none}.nback-tool .history-table{font-size:.68rem}.nback-tool .history-table td,.nback-tool .history-table th{padding:6px 4px}}@media (max-width:420px){.nback-tool .match-button{min-height:72px;font-size:.74rem}.nback-tool .match-button span{width:34px;height:30px}.nback-tool .primary-actions button{min-height:48px}}