@font-face{font-family:Inter fallback;src:local("Inter"),local("Inter Regular")}:root{--bg: #0b0b14;--surface: #14141f;--surface-muted: #1d1d2c;--text: #f2f3fa;--text-2: #a9adc4;--green: #84cc16;--green-strong: #a3e635;--green-pale: #1c2814;--on-green: #0b0b14;--border: #2a2a3e;--correct: #4ade80;--correct-bg: #0f2a1a;--incorrect: #fca5a5;--incorrect-bg: #2e1216;--warn: #fcd34d;--warn-bg: #2a220c;--focus: #22d3ee;--rgb: linear-gradient(90deg, #ff3d6e, #ffb020, #84cc16, #22d3ee, #8b5cf6);--radius: 14px;--radius-sm: 10px;--shadow: 0 1px 2px rgb(0 0 0 / .4), 0 6px 16px rgb(0 0 0 / .25);--font: Inter, "Inter fallback", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--mono: ui-monospace, "Cascadia Mono", "SF Mono", Menlo, Consolas, monospace;--step: 1rem;color-scheme:dark}:root[data-text=large]{--step: 1.15rem}:root[data-text=xlarge]{--step: 1.3rem}:root[data-contrast=high]{--text: #ffffff;--text-2: #dcdeea;--border: #74789a;--surface: #000000;--bg: #000000}*,*:before,*:after{box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--step);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{line-height:1.2;margin:0 0 .5rem}h1{font-size:calc(var(--step) * 1.6)}h2{font-size:calc(var(--step) * 1.2)}h3{font-size:calc(var(--step) * 1.05)}p{margin:0 0 .75rem}a{color:var(--green-strong)}button,input,select{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--focus);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:.5rem;top:-3rem;background:var(--surface);padding:.5rem 1rem;z-index:10;border-radius:var(--radius-sm)}.skip-link:focus{top:.5rem}.shell{min-height:100dvh;display:flex;flex-direction:column}.topbar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:var(--surface);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--text)}.brand-name{font-weight:700;font-size:calc(var(--step) * 1.1);line-height:1.1}.brand-by{display:block;font-size:.75rem;color:var(--green-strong);font-weight:600}.main{flex:1;width:100%;max-width:40rem;margin:0 auto;padding:1.25rem 1rem 6rem}.bottomnav{position:fixed;inset:auto 0 0 0;display:flex;justify-content:space-around;background:var(--surface);border-top:1px solid var(--border);padding:.25rem 0 calc(.25rem + env(safe-area-inset-bottom))}.bottomnav a{display:flex;flex-direction:column;align-items:center;gap:.1rem;min-width:5rem;min-height:44px;padding:.35rem .5rem;font-size:.8rem;color:var(--text-2);text-decoration:none;border-radius:var(--radius-sm)}.bottomnav a[aria-current=page]{color:var(--green-strong);font-weight:700}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow)}.stack{display:grid;gap:.75rem}.muted{color:var(--text-2)}.small{font-size:.875rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.6rem 1.25rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);font-weight:600;cursor:pointer;text-decoration:none;color:var(--text)}.btn-primary{background:var(--green);border-color:var(--green);color:var(--on-green)}.btn-danger{color:var(--incorrect);border-color:#5b2a30}.btn-link{background:none;border:none;color:var(--green-strong);text-decoration:underline;min-height:44px;padding:.25rem .5rem;cursor:pointer;font-weight:600}.btn[disabled]{opacity:.55;cursor:not-allowed}.mode-list{display:grid;gap:.6rem;list-style:none;margin:0;padding:0}.mode-card{display:flex;align-items:center;gap:.9rem;width:100%;min-height:64px;padding:.85rem 1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);text-decoration:none;color:var(--text);box-shadow:var(--shadow)}.mode-card .icon{flex:none;width:2.5rem;height:2.5rem;color:var(--green-strong)}.mode-card .title{font-weight:700;display:block}.mode-card .sub{font-size:.85rem;color:var(--text-2)}.mode-card .chev{margin-left:auto;color:var(--text-2)}.mode-card.featured{background:var(--green);border-color:var(--green);color:var(--on-green)}.mode-card.featured .icon,.mode-card.featured .sub,.mode-card.featured .chev{color:var(--on-green)}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.choice{min-height:56px;border-radius:var(--radius-sm);border:2px solid var(--border);background:var(--surface);font-weight:600;cursor:pointer;padding:.5rem}.choice[aria-pressed=true],.choice[aria-checked=true]{border-color:var(--green);background:var(--green-pale)}.choice[aria-pressed=true]:before,.choice[aria-checked=true]:before{content:"✓ ";color:var(--green-strong)}.stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.stat{text-align:center;padding:.75rem .5rem}.stat .value{font-size:calc(var(--step) * 1.35);font-weight:700;display:block}.stat .label{font-size:.8rem;color:var(--text-2)}.banner{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.6rem 1rem;font-size:.9rem}.banner-offline{background:var(--warn-bg);color:var(--warn)}.banner-update,.banner-install{background:var(--green-pale);color:var(--text)}.field{display:grid;gap:.35rem}.field label,.field .label{font-weight:600}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:48px}.switch{width:3.25rem;height:2rem;border-radius:999px;border:2px solid var(--border);background:var(--surface-muted);position:relative;cursor:pointer;flex:none}.switch:after{content:"";position:absolute;top:2px;left:2px;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--text-2);transition:transform .15s}.switch[aria-checked=true]{background:var(--green);border-color:var(--green)}.switch[aria-checked=true]:after{transform:translate(1.25rem);background:var(--on-green)}.segmented{display:flex;flex-wrap:wrap;gap:.4rem}.segmented .choice{min-height:44px;padding:.35rem .9rem;flex:1 1 auto}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:grid;place-items:center;padding:1rem;z-index:20}.modal{width:100%;max-width:28rem;max-height:90dvh;overflow:auto}.actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end;margin-top:1rem}.notice{padding:.75rem 1rem;border-radius:var(--radius-sm)}.notice-success{background:var(--correct-bg);color:var(--correct)}.notice-error{background:var(--incorrect-bg);color:var(--incorrect)}@media (prefers-reduced-motion: reduce){:root:not([data-motion=full]) *{transition:none!important;animation:none!important}}:root[data-motion=reduce] *{transition:none!important;animation:none!important}.navicon{width:1.5rem;height:1.5rem}.banner-install{position:fixed;left:0;right:0;bottom:calc(3.75rem + env(safe-area-inset-bottom));border-top:1px solid var(--border)}.icon-lg{flex:none;width:2rem;height:2rem;color:var(--green-strong)}.topbar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--rgb);opacity:.85}.brand-by{font-family:var(--mono);letter-spacing:.02em}.eyebrow{display:block;font-family:var(--mono);font-size:.8rem;font-weight:600;letter-spacing:.04em;color:var(--green-strong);margin-bottom:.25rem}.tag{margin-left:.5rem;padding:.1rem .5rem;border-radius:999px;font-size:.7rem;font-weight:700;font-family:var(--mono);background:var(--on-green);color:var(--green-strong);vertical-align:middle}.mode-card.featured{box-shadow:0 0 0 1px var(--green),0 6px 24px #84cc1640}.btn-primary:before{content:"▶";font-size:.75em}.btn-primary.no-play:before{content:none}.game{display:grid;gap:1rem}.round-header{display:flex;justify-content:space-between;gap:1rem;font-family:var(--mono);font-size:.85rem;color:var(--text-2)}.round-score strong{color:var(--green-strong);font-variant-numeric:tabular-nums}.timebar{height:8px;border-radius:999px;background:var(--surface-muted);overflow:hidden}.timebar-fill{height:100%;background:var(--rgb);transform-origin:left;transition:transform .1s linear}.prompt{font-size:calc(var(--step) * 2.4);font-weight:800;text-align:center;padding:1.25rem .5rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.answer{min-height:72px;border-radius:var(--radius);border:2px solid var(--border);background:var(--surface);font-size:calc(var(--step) * 1.5);font-weight:700;cursor:pointer;font-variant-numeric:tabular-nums;-webkit-tap-highlight-color:transparent}.answer.is-correct{border-color:var(--correct);background:var(--correct-bg);color:var(--correct)}.answer.is-incorrect{border-color:var(--incorrect);background:var(--incorrect-bg);color:var(--incorrect)}.answer.is-correct:after{content:" ✓"}.answer.is-incorrect:after{content:" ✗"}.feedback-slot{min-height:3rem}.feedback{margin:0;padding:.6rem .9rem;border-radius:var(--radius-sm);font-weight:600}.feedback-correct{background:var(--correct-bg);color:var(--correct)}.feedback-incorrect{background:var(--incorrect-bg);color:var(--incorrect)}.feedback-info{background:var(--surface-muted);color:var(--text)}.grid-board{display:grid;gap:.4rem;width:100%;max-width:26rem;margin:0 auto}.grid-cell{aspect-ratio:1;min-width:44px;min-height:44px;border-radius:var(--radius-sm);border:2px solid var(--border);background:var(--surface);cursor:pointer;display:grid;place-items:center;padding:0;max-width:100%}.grid-cell[aria-pressed=true],.grid-cell.is-lit{background:var(--green);border-color:var(--green-strong)}.grid-cell[aria-pressed=true]:after{content:"✓";color:var(--on-green);font-weight:800}.grid-cell.is-missed{border-style:dashed;border-color:var(--warn)}.grid-cell.is-wrong{background:var(--incorrect-bg);border-color:var(--incorrect)}.grid-cell.is-wrong:after{content:"✗";color:var(--incorrect);font-weight:800}.grid-cell[disabled]{cursor:default}.sequence{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center;align-items:center}.seq-term{min-width:2.6rem;padding:.45rem .4rem;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);font-size:calc(var(--step) * 1.15);font-weight:800;text-align:center;font-variant-numeric:tabular-nums}.seq-term.is-blank{border:2px dashed var(--green);color:var(--green-strong)}.results-score{font-size:calc(var(--step) * 3);font-weight:800;color:var(--green-strong);line-height:1;font-variant-numeric:tabular-nums}.level-chip{justify-self:start;display:inline-block;font-family:var(--mono);font-size:.8rem;padding:.15rem .6rem;border-radius:999px;border:1px solid var(--border);color:var(--text-2)}.game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;list-style:none;padding:0;margin:0}.game-card{display:grid;gap:.35rem;height:100%;padding:.9rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);text-decoration:none;color:var(--text);text-align:left;cursor:pointer;width:100%}.game-card .gc-icon{width:2.5rem;height:2.5rem;color:var(--green-strong)}.game-card .gc-title{font-weight:700}.game-card .gc-sub{font-size:.8rem;color:var(--text-2)}.game-card .gc-best{font-family:var(--mono);font-size:.75rem;color:var(--green-strong)}@media (max-width: 360px){.game-grid{grid-template-columns:1fr}}.std-panels{display:grid;gap:1rem}.std-panels.is-side{grid-template-columns:1fr 1fr;gap:.6rem}.std-panels:not(.is-side) .std-panel:first-child .grid-board{max-width:16rem}@media (min-width: 640px){.std-panels{grid-template-columns:1fr 1fr}.std-panels:not(.is-side) .std-panel:first-child .grid-board{max-width:26rem}}.std-panel{margin:0;display:grid;gap:.4rem}.std-panel figcaption{font-family:var(--mono);font-size:.8rem;color:var(--text-2)}.std-cell{background:var(--surface);min-width:0;min-height:0}.std-panels.is-side .grid-board{gap:.25rem}.std-cell svg{width:70%;height:70%}.grid-cell.is-found{box-shadow:inset 0 0 0 3px var(--correct);background:var(--correct-bg);position:relative}.grid-cell.is-found:before{content:"✓";position:absolute;top:2px;right:5px;font-size:.8rem;font-weight:800;color:var(--correct)}.arena{position:relative;width:100%;aspect-ratio:1;max-width:26rem;margin:0 auto;padding:.75rem;border-radius:var(--radius);border:2px solid var(--border);background:var(--surface);cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none}.arena-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:100%;height:100%}.arena-slot{display:grid;place-items:center}.cue{display:grid;place-items:center;width:80%;aspect-ratio:1;font-weight:900;font-size:calc(var(--step) * 1.1);letter-spacing:.05em}.cue-target{border-radius:50%;background:var(--green);color:var(--on-green);border:3px solid #f2f3fa}.cue-decoy{border-radius:6px;background:#ff5c8a;color:#0b0b14;border:3px dashed #f2f3fa}.arena-hint{position:absolute;inset:auto 0 .75rem;text-align:center;color:var(--text-2);font-family:var(--mono);font-size:.85rem}.recall-stage{min-height:9.5rem;display:grid;place-items:center;gap:.4rem;text-align:center}.recall-answer{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center}.recall-slot{width:2.5rem;height:2.5rem;border-radius:var(--radius-sm);border:2px dashed var(--border);display:grid;place-items:center}.shape-pad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.shape-btn{display:grid;justify-items:center;gap:.2rem;font-size:.85rem;padding:.5rem;min-height:80px}.input{min-height:48px;padding:.5rem .75rem;border-radius:var(--radius-sm);border:2px solid var(--border);background:var(--surface-muted);width:100%}.input:focus{border-color:var(--green)}.scoreboard{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.scoreboard li{display:grid;grid-template-columns:3rem 1fr auto;gap:.5rem;align-items:center;padding:.6rem .8rem;border-radius:var(--radius-sm);background:var(--surface-muted);font-variant-numeric:tabular-nums}.scoreboard li:first-child{box-shadow:0 0 0 2px var(--green)}.scoreboard .place{font-family:var(--mono);color:var(--green-strong);font-weight:700}.handoff{text-align:center;justify-items:center}.daily-breakdown{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}ol.daily-breakdown{counter-reset:g}.daily-breakdown li{display:flex;justify-content:space-between;gap:1rem;padding:.55rem .8rem;border-radius:var(--radius-sm);background:var(--surface-muted);font-variant-numeric:tabular-nums}ol.daily-breakdown li:before{counter-increment:g;content:counter(g);font-family:var(--mono);color:var(--green-strong);margin-right:.6rem}ol.daily-breakdown li span:first-of-type{margin-right:auto}.scoreboard li.is-me,.scoreboard li:first-child.is-me{box-shadow:0 0 0 2px var(--focus)}.best-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.best-list li{display:grid;grid-template-columns:minmax(0,1fr) 6rem 3.5rem;align-items:center;gap:.75rem;font-variant-numeric:tabular-nums}.best-list strong{text-align:right;color:var(--green-strong)}.spark{display:flex;align-items:flex-end;gap:2px;height:1.75rem}.spark span{flex:1;background:var(--green);border-radius:2px 2px 0 0;min-width:4px}@media (hover: hover) and (pointer: fine){.btn:hover{border-color:var(--green)}.btn-primary:hover{background:var(--green-strong);border-color:var(--green-strong)}.mode-card:hover{border-color:var(--green)}.mode-card.featured:hover{background:var(--green-strong)}.choice:hover{border-color:var(--green)}.mode-card:hover .chev{color:var(--green-strong)}.mode-card.featured:hover .chev{color:var(--on-green)}.answer:hover:not([disabled]){border-color:var(--green)}.game-card:hover{border-color:var(--green)}}html{touch-action:manipulation}button,a,[role=button]{-webkit-tap-highlight-color:transparent}html:has(.game),body:has(.game){overflow:hidden;overscroll-behavior:none}.shell:has(.game){height:100dvh;min-height:0;overflow:hidden}.shell:has(.game) :is(.bottomnav,.banner-install){display:none}.shell:has(.game) .topbar{padding-block:.4rem}.shell:has(.game) .main{display:flex;flex-direction:column;min-height:0;padding:.75rem 1rem calc(.5rem + env(safe-area-inset-bottom))}.main :has(.game){display:flex;flex-direction:column;flex:1;min-height:0;gap:.6rem!important}.main :has(.game)>:is(h1,:not(:has(.game)):has(h1)){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.main :has(.game)>:is(.btn-link,.level-chip){align-self:flex-start}.game{flex:1;min-height:0;display:flex;flex-direction:column;gap:clamp(.4rem,2cqh,.75rem);container-type:size;overflow-y:auto;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.game>*{flex-shrink:0}.game .prompt{padding-block:.9rem;margin:0}.game>:is(.prompt,.card:has(.sequence)){min-height:clamp(6.5rem,24cqh,10rem);display:flex;flex-direction:column;justify-content:center;align-items:center}.game .answer{min-height:clamp(56px,12cqh,72px)}.game .feedback-slot{min-height:2.6rem}.game>.grid-board{width:min(100%,26rem,calc(100cqh - 10.5rem))}.game>.grid-board .grid-cell{min-width:0;min-height:0}.game>.arena{width:min(100%,26rem,calc(100cqh - 3.5rem))}.game .std-cell{min-width:0;min-height:0}.game .std-panels{grid-template-columns:2fr 3fr;gap:.5rem;align-items:start}.game .std-panels.is-side{grid-template-columns:1fr 1fr}.game .std-panels .std-panel .grid-board{width:min(100%,26rem,calc(100cqh - 14.5rem));max-width:none;gap:.25rem}
