.landing-page{-webkit-overflow-scrolling:touch;box-sizing:border-box;color:#eceff5;min-height:100%;overflow-y:auto;padding:calc(28px + var(--safe-top)) calc(16px + var(--safe-right)) calc(40px + var(--safe-bottom)) calc(16px + var(--safe-left))}.landing-header{margin:0 auto 22px;max-width:720px;text-align:center}.landing-header h1{background:linear-gradient(120deg,#4fc3f7,#b39ddb 55%,#f48fb1);-webkit-background-clip:text;background-clip:text;color:#0000;font-size:clamp(2rem,9vw,3rem);font-weight:800;letter-spacing:-.02em;margin:0 0 8px}.landing-subtitle{color:#eceff59e;font-size:clamp(.95rem,3.6vw,1.05rem);line-height:1.5;margin:0 auto;max-width:42ch}.landing-toggles{display:flex;gap:10px;justify-content:center;margin-top:18px}.toggle-chip{-webkit-tap-highlight-color:transparent;background:#ffffff0a;border:1px solid #ffffff24;border-radius:999px;color:#eceff580;cursor:pointer;font-size:.9rem;font-weight:600;min-height:var(--touch-min);padding:0 18px;touch-action:manipulation;transition:background .15s,color .15s,border-color .15s}.toggle-chip-on{background:#4fc3f729;border-color:#4fc3f780;color:#9fdcff}.toggle-chip:active{transform:scale(.96)}.game-cards{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr;margin:0 auto;max-width:720px}.game-card{-webkit-tap-highlight-color:transparent;align-items:center;background:hsla(0,0%,100%,.035);border:1px solid #ffffff12;border-left:4px solid #4fc3f7;border-left:4px solid var(--accent,#4fc3f7);border-radius:16px;color:inherit;display:flex;gap:14px;min-height:92px;padding:16px 14px 16px 16px;position:relative;text-decoration:none;touch-action:manipulation;transition:background .16s,transform .12s,border-color .16s}.game-card:active{background:hsla(0,0%,100%,.075);transform:scale(.985)}.game-card-icon{filter:drop-shadow(0 0 12px rgba(255,255,255,.12));flex:0 0 auto;font-size:1.9rem;line-height:1}.game-card-body{flex:1 1 auto;min-width:0}.game-card h2{color:#eceff5;color:var(--accent,#eceff5);font-size:1.08rem;font-weight:700;margin:0 0 4px}.game-card p{color:#eceff599;font-size:.86rem;line-height:1.45;margin:0}.game-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.game-tag{background:#ffffff0f;border-radius:999px;color:#eceff58c;font-size:.7rem;font-weight:600;letter-spacing:.02em;padding:3px 9px}.game-card-chevron{color:#eceff540;flex:0 0 auto;font-size:1.6rem;line-height:1}.dashboard-link-wrapper{display:flex;justify-content:center;margin:26px auto 0}.dashboard-button{-webkit-tap-highlight-color:transparent;align-items:center;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;color:#eceff5b3;display:inline-flex;font-size:.95rem;font-weight:600;min-height:var(--touch-min);padding:0 24px;text-decoration:none;touch-action:manipulation}.dashboard-button:active{transform:scale(.97)}@media (min-width:720px){.game-cards{grid-template-columns:1fr 1fr;max-width:900px}.landing-page{padding-top:calc(48px + var(--safe-top))}}@media (hover:hover) and (pointer:fine){.game-card:hover{background:hsla(0,0%,100%,.075);border-color:#ffffff29}.dashboard-button:hover,.toggle-chip:hover{background:#ffffff1a;color:#eceff5}}@media (prefers-reduced-motion:reduce){.dashboard-button,.game-card,.toggle-chip{transition:none}}.reaction-game.fullscreen{background:radial-gradient(circle at 50% 40%,#1b2340 0,#0c0f1c 70%);color:#eceff5}.reaction-game .btn-primary{background:#ff7043;color:#24160f}.reaction-game .stat-tile-value{color:#ffab91}.reaction-game .hud{color:#c7cede}.rg-miss{color:#ff8a80}.rg-area{cursor:crosshair}.rg-target{align-items:center;animation:rgPop .13s cubic-bezier(.2,1.5,.5,1);background:radial-gradient(circle at 34% 30%,#ffb199 0,#ff5722 55%,#d8340c 100%);border:none;box-shadow:0 0 0 4px #ff8a6538,0 0 34px #ff57228c;cursor:pointer;display:flex;justify-content:center;padding:0;touch-action:none;transform:translate(-50%,-50%);z-index:10}.rg-target,.rg-target:before{border-radius:50%;position:absolute}.rg-target:before{content:"";inset:-14%}.rg-target-ring{border:3px solid #ffffff80;border-radius:50%;inset:22%;pointer-events:none;position:absolute}.rg-target:active{filter:brightness(1.25)}@keyframes rgPop{0%{opacity:.4;transform:translate(-50%,-50%) scale(.4)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.rg-wait{color:#eceff547;font-size:clamp(1rem,4.5vw,1.3rem);left:50%;letter-spacing:.08em;pointer-events:none;position:absolute;text-transform:uppercase;top:50%;transform:translate(-50%,-50%)}.pure-reaction.fullscreen{background:#121628;color:#eceff5}.pure-reaction .btn-primary{background:#4caf50;color:#10240f}.pure-reaction .stat-tile-value{color:#a5d6a7}.pr-surface{-webkit-tap-highlight-color:transparent;align-items:center;background:#0000;border:none;color:inherit;cursor:pointer;display:flex;flex-direction:column;gap:10px;height:100%;inset:0;justify-content:center;padding:0;position:absolute;touch-action:none;width:100%}.pr-title{color:#eceff58c;font-size:clamp(2.4rem,14vw,5rem);font-weight:900;letter-spacing:.02em;line-height:1;transition:color .1s}.pr-hint{color:#eceff559;font-size:clamp(.85rem,3.6vw,1.05rem);padding:0 24px;text-align:center}.pr-waiting{background:#2a2f45}.pr-ready{background:#21c25a}.pr-ready .pr-title{animation:prSnap .12s ease-out;color:#06240f}.pr-too-early{background:#b3261e}.pr-too-early .pr-title,.pr-too-slow .pr-title{color:#ffffffeb}.pr-too-early .pr-hint,.pr-too-slow .pr-hint{color:#ffffffb3}.pr-too-slow{background:#8d6e00}@keyframes prSnap{0%{transform:scale(.86)}to{transform:scale(1)}}.pr-false{color:#ffcc80}.pr-dots{bottom:calc(22px + var(--safe-bottom));display:flex;gap:8px;left:50%;pointer-events:none;position:absolute;transform:translateX(-50%);z-index:40}.pr-dot{background:#ffffff38;border-radius:50%;height:9px;transition:background .25s,transform .25s;width:9px}.pr-dot-filled{background:#ffffffd9;transform:scale(1.15)}.pathfinder.fullscreen{align-items:center;background:radial-gradient(circle at 50% 20%,#1d2440 0,#10131f 70%);color:#eceff5;display:flex;flex-direction:column;justify-content:center}.pathfinder .btn-primary{background:#4fc3f7;color:#0b2230}.pathfinder .stat-tile-value{color:#81d4fa}.pf-progress{color:#4fc3f7}.pf-board-wrap{align-items:center;box-sizing:border-box;display:flex;inset:0;justify-content:center;padding:calc(62px + var(--safe-top)) calc(10px + var(--safe-right)) calc(76px + var(--safe-bottom)) calc(10px + var(--safe-left));position:absolute}.pf-grid{grid-gap:clamp(3px,1.2vmin,8px);display:grid;gap:clamp(3px,1.2vmin,8px);height:100%;margin:auto;max-height:100%;max-width:100%;width:100%}.pf-cell{-webkit-tap-highlight-color:transparent;align-items:center;background:#17203a;border:2px solid #0000;border-radius:clamp(6px,1.6vmin,12px);cursor:pointer;display:flex;justify-content:center;min-height:0;min-width:0;padding:0;position:relative;touch-action:none;transition:background .15s,border-color .15s,transform .1s,box-shadow .2s}.pf-cell:active{transform:scale(.94)}.pf-arrow{height:62%;object-fit:contain;opacity:.72;pointer-events:none;transition:opacity .2s,filter .2s;width:62%}.pf-trail{background:#1b4d3a;border-color:#66bb6a59}.pf-trail .pf-arrow{filter:brightness(1.4);opacity:.45}.pf-current{animation:pfCurrentPulse 1.5s ease-in-out infinite;background:#2e9e5b;border-color:#a5ffc8;box-shadow:0 0 0 3px #a5ffc847,0 0 22px #2e9e5bbf;z-index:3}.pf-current .pf-arrow{filter:drop-shadow(0 0 6px rgba(255,255,255,.85)) brightness(2);height:78%;opacity:1;width:78%}@keyframes pfCurrentPulse{0%,to{box-shadow:0 0 0 3px #a5ffc847,0 0 18px #2e9e5b99}50%{box-shadow:0 0 0 5px #a5ffc866,0 0 30px #2e9e5bf2}}.pf-goal{background:#3a2a10;border-color:#ffb74d;box-shadow:inset 0 0 18px #ffb74d38}.pf-goal .pf-arrow{opacity:0}.pf-flag{filter:drop-shadow(0 1px 2px rgba(0,0,0,.6));font-size:clamp(1rem,4.4vmin,1.7rem);pointer-events:none;position:absolute}.pf-hint{animation:pfHint .9s ease-in-out infinite;border-color:#42a5f5;box-shadow:0 0 16px #42a5f5cc}@keyframes pfHint{0%,to{box-shadow:0 0 8px #42a5f580}50%{box-shadow:0 0 22px #42a5f5}}.pf-wrong{animation:pfShake .35s ease;background:#a3271f!important;border-color:#ff8a80!important}@keyframes pfShake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.pf-instruction{bottom:calc(24px + var(--safe-bottom));color:#eceff580;font-size:clamp(.78rem,3.2vw,.95rem);left:50%;margin:0;max-width:70vw;padding:0 16px;pointer-events:none;position:absolute;text-align:center;transform:translateX(-50%);z-index:25}@media (hover:hover) and (pointer:fine){.pf-cell:hover{background:#212c4d;border-color:#fff3}.pf-current:hover{background:#2e9e5b}}.splitvision.fullscreen{background:radial-gradient(circle at 50% 30%,#1a1730 0,#0b0b14 70%);color:#eceff5}.splitvision .btn-primary{background:#ce93d8;color:#24132b}.splitvision .stat-tile-value{color:#e1bee7}.sv-target{border:2px solid #ffffff8c;border-radius:50%;box-shadow:0 0 14px #ffffff38;flex:0 0 auto;height:30px;width:30px}.sv-target-name{color:#aeb6c7;font-size:.9rem;white-space:nowrap}.sv-target-name strong{color:#fff}.sv-remaining{color:#e1bee7}.sv-streak{color:#ffcc80}.sv-timer-track{background:#ffffff1a;border-radius:999px;height:5px;left:calc(16px + var(--safe-left));overflow:hidden;pointer-events:none;position:absolute;right:calc(16px + var(--safe-right));top:calc(52px + var(--safe-top));z-index:30}.sv-timer-fill{background:#ce93d8;border-radius:999px;height:100%;transition:width .1s linear,background .3s}.sv-timer-low{animation:svTimerWarn .6s ease-in-out infinite;background:#ff7043}@keyframes svTimerWarn{0%,to{opacity:1}50%{opacity:.45}}.sv-orb{-webkit-tap-highlight-color:transparent;animation:svSpawn .28s ease-out;border:none;border-radius:50%;cursor:pointer;left:0;padding:0;position:absolute;top:0;touch-action:none;will-change:transform;z-index:8}.sv-orb:before{inset:-18%}.sv-orb:after,.sv-orb:before{border-radius:50%;content:"";position:absolute}.sv-orb:after{background:radial-gradient(circle at 32% 28%,#ffffff80,#0000 60%);inset:18%;pointer-events:none}.sv-orb:active{filter:brightness(1.3)}@keyframes svSpawn{0%{opacity:0}to{opacity:1}}.colormatch.fullscreen{background:radial-gradient(circle at 50% 45%,#1c1930 0,#0c0c15 70%);color:#eceff5}.colormatch .btn-primary{background:#ffab91;color:#33170c}.cm-progress,.colormatch .stat-tile-value{color:#ffab91}.cm-time-low{animation:cmWarn .55s ease-in-out infinite;background:#ff5252}@keyframes cmWarn{0%,to{opacity:1}50%{opacity:.4}}.cm-tally{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cm-streak{color:#ffcc80}.cm-stage{align-items:center;box-sizing:border-box;display:flex;inset:0;justify-content:center;padding:calc(56px + var(--safe-top)) calc(12px + var(--safe-right)) calc(70px + var(--safe-bottom)) calc(12px + var(--safe-left));position:absolute}.cm-ring{aspect-ratio:1;height:min(94vw,100%);max-height:min(94vw,78vh);max-width:min(94vw,78vh);position:relative;width:min(94vw,100%)}.cm-orbit{inset:0;position:absolute;will-change:transform}.cm-center{align-items:center;border:4px solid #ffffff4d;border-radius:50%;display:flex;justify-content:center;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);transition:background .2s,box-shadow .2s;z-index:5}.cm-center-glyph{color:#00000059;font-size:clamp(1.1rem,4.5vmin,1.8rem);font-weight:900}.cm-option{-webkit-tap-highlight-color:transparent;border:4px solid #ffffff24;border-radius:50%;cursor:pointer;padding:0;position:absolute;touch-action:none;transform:translate(-50%,-50%);transition:border-color .12s,box-shadow .12s,filter .12s;z-index:6}.cm-option:before{inset:-16%}.cm-option:after,.cm-option:before{border-radius:50%;content:"";position:absolute}.cm-option:after{background:radial-gradient(circle at 32% 28%,#ffffff6b,#0000 62%);inset:16%;pointer-events:none}.cm-option:active{filter:brightness(1.25)}.cm-correct{animation:cmPop .34s ease;border-color:#7bdc93!important;box-shadow:0 0 0 6px #7bdc934d,0 0 34px #7bdc93a6!important}.cm-wrong{animation:cmShake .42s ease;border-color:#ff5252!important;box-shadow:0 0 0 6px #ff525247,0 0 34px #ff525299!important}@keyframes cmPop{0%{transform:translate(-50%,-50%) scale(1)}45%{transform:translate(-50%,-50%) scale(1.22)}to{transform:translate(-50%,-50%) scale(1)}}@keyframes cmShake{0%,to{transform:translate(-50%,-50%)}22%{transform:translate(calc(-50% - 8px),-50%)}55%{transform:translate(calc(-50% + 8px),-50%)}80%{transform:translate(calc(-50% - 4px),-50%)}}@media (hover:hover) and (pointer:fine){.cm-option:hover{border-color:#ffffff73;filter:brightness(1.12)}}.numbers-game.fullscreen{background:radial-gradient(circle at 50% 25%,#16213c 0,#0b0e18 70%);color:#eceff5}.numbers-game .btn-primary{background:#81d4fa;color:#0b2230}.ng-progress,.numbers-game .stat-tile-value{color:#81d4fa}.ng-mode-hint{color:#eceff58c;font-size:.9rem;margin:0;min-height:1.2em}.ng-next{color:#81d4fa}.ng-next strong{color:#fff;font-size:1.1rem;margin-left:3px}.ng-circle{-webkit-tap-highlight-color:transparent;align-items:center;animation:ngPop .25s ease-out;background:radial-gradient(circle at 35% 30%,#24456e,#16294a);border:3px solid #2f5c8a;border-radius:50%;color:#dbe6f5;cursor:pointer;display:flex;font-size:clamp(1.2rem,4.4vmin,1.8rem);font-weight:800;height:clamp(56px,13vmin,88px);justify-content:center;padding:0;position:absolute;touch-action:none;transform:translate(-50%,-50%);transition:transform .12s,opacity .3s,background .2s,border-color .2s,box-shadow .2s;width:clamp(56px,13vmin,88px);z-index:5}.ng-circle:before{border-radius:50%;content:"";inset:-12%;position:absolute}.ng-label{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;pointer-events:none}@keyframes ngPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.ng-circle:active:not(.ng-done){transform:translate(-50%,-50%) scale(.9)}.ng-next-target{border-color:#81d4fa;box-shadow:0 0 0 3px #81d4fa29}.ng-done{background:#0d1728;border-color:#ffffff12;color:#0000;cursor:default;opacity:.28;pointer-events:none;transform:translate(-50%,-50%) scale(.55)}.ng-wrong{animation:ngShake .4s ease;border-color:#ff5252!important;box-shadow:0 0 26px #ff525299!important}@keyframes ngShake{0%,to{transform:translate(-50%,-50%)}20%{transform:translate(calc(-50% - 7px),-50%)}45%{transform:translate(calc(-50% + 7px),-50%)}70%{transform:translate(calc(-50% - 4px),-50%)}}@media (hover:hover) and (pointer:fine){.ng-circle:hover:not(.ng-done){background:radial-gradient(circle at 35% 30%,#2b5382,#1a3157);border-color:#6aa9dd}}.followit.fullscreen{background:radial-gradient(circle at 50% 30%,#101c33 0,#060a14 70%);color:#eceff5}.followit .btn-primary{background:#a5d6a7;color:#10240f}.followit .stat-tile-value{color:#a5d6a7}.fi-dots{display:flex;gap:8px;justify-content:center}.fi-dot{border-radius:50%;height:14px;width:14px}.fi-dot-good{background:#66bb6a}.fi-dot-bad{background:#ef5350}.fi-timer-track{background:#ffffff1a;border-radius:999px;height:5px;left:calc(16px + var(--safe-left));overflow:hidden;pointer-events:none;position:absolute;right:calc(16px + var(--safe-right));top:calc(52px + var(--safe-top));z-index:30}.fi-timer-fill{background:#a5d6a7;border-radius:999px;height:100%;transition:width .1s linear}.fi-instruction{background:#060a1499;border-radius:999px;font-size:clamp(.9rem,4vw,1.15rem);font-weight:700;left:50%;margin:0;padding:6px 16px;pointer-events:none;position:absolute;text-align:center;top:calc(66px + var(--safe-top));transform:translateX(-50%);white-space:nowrap;z-index:30}.fi-instruction-memorise{animation:fiBlink .9s ease-in-out infinite;color:#ffd54f}.fi-instruction-tracking{animation:fiFadeAway .9s ease-out 2.4s forwards;color:#eceff58c;font-weight:500}.fi-instruction-choose{color:#81d4fa}.fi-instruction-result{color:#eceff5}@keyframes fiFadeAway{to{opacity:0}}@keyframes fiBlink{0%,to{opacity:1}50%{opacity:.55}}.fi-plane{-webkit-tap-highlight-color:transparent;background:none;border:none;height:clamp(52px,13vmin,76px);left:0;padding:0;pointer-events:none;position:absolute;top:0;width:clamp(52px,13vmin,76px);will-change:transform;z-index:10}.fi-plane img{display:block;height:100%;object-fit:contain;pointer-events:none;transition:filter .25s;width:100%}.fi-plane:before{border-radius:50%;content:"";inset:-18%;position:absolute}.fi-highlight img{filter:drop-shadow(0 0 14px #ffd835) drop-shadow(0 0 30px rgba(255,216,53,.55)) brightness(1.7)}.fi-highlight:after{animation:fiRing 1s ease-in-out infinite;border:3px solid #ffd835d9;border-radius:50%;content:"";inset:-14%;position:absolute}@keyframes fiRing{0%,to{opacity:.9;transform:scale(1)}50%{opacity:.45;transform:scale(1.14)}}.fi-selectable{cursor:pointer;pointer-events:auto}.fi-chosen img{filter:drop-shadow(0 0 14px #4fc3f7) brightness(1.45)}.fi-chosen:after{border:3px solid #4fc3f7;border-radius:50%;content:"";inset:-14%;position:absolute}.fi-check{align-items:center;background:#4fc3f7;border-radius:50%;color:#06202b;display:flex;font-size:.8rem;font-weight:900;height:22px;justify-content:center;pointer-events:none;position:absolute;right:-8px;top:-8px;width:22px}.fi-reveal-target img{filter:drop-shadow(0 0 18px #66bb6a) brightness(1.5) hue-rotate(80deg)}.fi-reveal-wrong img{filter:drop-shadow(0 0 18px #ef5350) brightness(1.4) saturate(2.5) hue-rotate(-40deg)}.fi-confirm{background:#4fc3f7;border:none;border-radius:999px;bottom:calc(16px + var(--safe-bottom));color:#06202b;cursor:pointer;font-size:1rem;font-weight:800;left:50%;min-height:52px;min-width:190px;padding:0 28px;position:absolute;touch-action:manipulation;transform:translateX(-50%);transition:opacity .2s,transform .12s;z-index:55}.fi-confirm:disabled{background:#ffffff1f;color:#ffffff73;cursor:default}.fi-confirm:not(:disabled):active{transform:translateX(-50%) scale(.96)}@media (max-width:420px){.fi-confirm{left:auto;min-width:150px;right:calc(12px + var(--safe-right));transform:none}.fi-confirm:not(:disabled):active{transform:scale(.96)}}.memgrid.fullscreen{--mg-pad-top:96px;--mg-pad-bottom:96px;background:radial-gradient(circle at 50% 30%,#201a38 0,#0d0b16 70%);color:#eceff5}.memgrid .btn-primary{background:#b39ddb;color:#1e1330}.memgrid .stat-tile-value{color:#d1c4e9}.mg-mode-hint{color:#eceff58c;font-size:.9rem;margin:0;min-height:1.2em}.mg-span{color:#d1c4e9}.mg-lives{color:#ff8a80;letter-spacing:2px}.mg-prompt{background:#0a081499;border-radius:999px;font-size:clamp(.9rem,4vw,1.15rem);font-weight:700;left:50%;margin:0;padding:6px 18px;pointer-events:none;position:absolute;top:calc(58px + var(--safe-top));transform:translateX(-50%);white-space:nowrap;z-index:30}.mg-prompt-showing{color:#ffd54f}.mg-prompt-recall{color:#b39ddb}.mg-prompt-correct{color:#7bdc93}.mg-prompt-wrong{color:#ff8a80}.mg-stage{align-items:center;box-sizing:border-box;display:flex;inset:0;justify-content:center;padding:calc(var(--mg-pad-top) + var(--safe-top)) calc(14px + var(--safe-right)) calc(var(--mg-pad-bottom) + var(--safe-bottom)) calc(14px + var(--safe-left));position:absolute}.mg-grid{grid-gap:clamp(6px,2vmin,14px);aspect-ratio:1;display:grid;gap:clamp(6px,2vmin,14px);width:min(92vw,calc(100vh - var(--mg-pad-top) - var(--mg-pad-bottom) - var(--safe-top) - var(--safe-bottom)),520px);width:min(92vw,calc(var(--app-height, 100vh) - var(--mg-pad-top) - var(--mg-pad-bottom) - var(--safe-top) - var(--safe-bottom)),520px)}.mg-tile{-webkit-tap-highlight-color:transparent;background:#2a2440;border:2px solid #ffffff14;border-radius:clamp(10px,3vmin,18px);cursor:default;padding:0;position:relative;touch-action:none;transition:background .14s,border-color .14s,transform .1s,box-shadow .18s}.mg-active{background:#332c4e;border-color:#b39ddb47;cursor:pointer}.mg-active:active{transform:scale(.94)}.mg-flash{animation:mgFlash .22s ease-out;background:#ffd54f;border-color:#fff8e1;box-shadow:0 0 0 4px #ffd54f40,0 0 34px #ffd54fcc}@keyframes mgFlash{0%{transform:scale(.88)}to{transform:scale(1)}}.mg-entered{background:#6a4fb0;border-color:#b39ddb;box-shadow:0 0 18px #b39ddb80}.mg-wrong{animation:mgShake .4s ease;background:#a3271f!important;border-color:#ff8a80!important;box-shadow:0 0 26px #ff525299!important}@keyframes mgShake{0%,to{transform:translateX(0)}22%{transform:translateX(-6px)}55%{transform:translateX(6px)}80%{transform:translateX(-3px)}}.mg-pips{bottom:calc(26px + var(--safe-bottom));display:flex;gap:8px;left:50%;pointer-events:none;position:absolute;transform:translateX(-50%);z-index:40}.mg-pip{background:#fff3;border-radius:50%;height:10px;transition:background .2s,transform .2s;width:10px}.mg-pip-filled{background:#b39ddb;transform:scale(1.2)}@media (hover:hover) and (pointer:fine){.mg-active:hover{background:#3d3459;border-color:#b39ddb8c}}@media (orientation:landscape) and (max-height:560px){.memgrid.fullscreen{--mg-pad-top:50px;--mg-pad-bottom:18px}.mg-prompt{left:calc(16px + var(--safe-left));line-height:1.3;max-width:26vw;text-align:center;white-space:normal}.mg-pips,.mg-prompt{top:50%;transform:translateY(-50%)}.mg-pips{bottom:auto;flex-direction:column;left:auto;right:calc(20px + var(--safe-right))}}.dashboard{background:linear-gradient(135deg,#0f0c29,#302b63,#24243e);color:#f0f0f0;font-family:Segoe UI,system-ui,sans-serif;min-height:100vh;min-height:var(--app-height,100vh);padding:calc(2rem + var(--safe-top)) calc(1.5rem + var(--safe-right)) calc(2rem + var(--safe-bottom)) calc(1.5rem + var(--safe-left))}.dashboard-header{margin-bottom:2rem;text-align:center}.dashboard-header h1{font-size:2rem;margin:.5rem 0 .25rem}.dashboard-subtitle{color:#aaa;font-size:.95rem;margin:0}.dashboard-back{color:#7c7cff;font-size:.9rem;text-decoration:none}.dashboard-back:hover{text-decoration:underline}.dashboard-controls{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:2rem}.control-group{display:flex;flex-direction:column;gap:.3rem}.control-group label{color:#aaa;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.control-group select{background:#1e1e3a;border:1px solid #555;border-radius:8px;color:#f0f0f0;cursor:pointer;font-size:.95rem;min-width:160px;padding:.6rem 1rem}.control-group select:focus{border-color:#7c7cff;outline:none}.dashboard-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:0 auto 2rem;max-width:700px}.stat-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;display:flex;flex-direction:column;gap:.3rem;padding:1.2rem 1rem;text-align:center}.stat-value{color:#7c7cff;font-size:1.5rem;font-weight:700}.stat-label{color:#aaa;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase}.dashboard-table-wrapper{margin:0 auto;max-width:900px;overflow-x:auto}.dashboard-table{border-collapse:collapse;font-size:.9rem;width:100%}.dashboard-table td,.dashboard-table th{padding:.75rem .6rem;text-align:left;white-space:nowrap}.dashboard-table th{border-bottom:2px solid #ffffff26;color:#aaa;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}.dashboard-table tr:nth-child(2n){background:#ffffff08}.dashboard-table tr:hover{background:#7c7cff14}.game-badge{background:#7c7cff33;border-radius:999px;color:#b3b3ff;font-size:.8rem;font-weight:500;padding:.2rem .6rem}.dashboard-empty,.dashboard-loading{color:#888;padding:2rem;text-align:center}@media (max-width:600px){.dashboard{padding:1rem}.dashboard-header h1{font-size:1.5rem}.dashboard-controls{align-items:stretch;flex-direction:column}.control-group select{min-width:0;min-width:auto;width:100%}.dashboard-stats{grid-template-columns:repeat(2,1fr)}.stat-value{font-size:1.2rem}.dashboard-table{font-size:.8rem}.dashboard-table td,.dashboard-table th{padding:.5rem .4rem}}.password-gate{align-items:center;background:linear-gradient(135deg,#0f0c29,#302b63,#24243e);box-sizing:border-box;display:flex;justify-content:center;min-height:100vh;min-height:var(--app-height,100vh);padding:calc(16px + var(--safe-top)) calc(16px + var(--safe-right)) calc(16px + var(--safe-bottom)) calc(16px + var(--safe-left))}.password-gate-form{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;color:#f0f0f0;max-width:360px;padding:3rem 2.5rem;text-align:center;width:90%}.password-gate-form h1{font-size:2rem;margin:0 0 .5rem}.password-gate-form p{color:#aaa;margin:0 0 1.5rem}.password-gate-form input{background:#1e1e3a;border:1px solid #555;border-radius:8px;box-sizing:border-box;color:#f0f0f0;font-size:1rem;margin-bottom:1rem;padding:.75rem 1rem;width:100%}.password-gate-form input:focus{border-color:#7c7cff;outline:none}.password-gate-form button{background:#7c7cff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;min-height:48px;min-height:var(--touch-min,48px);padding:.75rem;touch-action:manipulation;transition:background .2s;width:100%}@media (hover:hover) and (pointer:fine){.password-gate-form button:hover{background:#5a5aee}}.error-text{color:#ff6b6b;display:block;font-size:.9rem;margin-top:.75rem}.shake{animation:shake .3s}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}:root{--app-height:100vh;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--touch-min:48px}.fullscreen{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;height:100vh;height:var(--app-height,100vh);inset:0;overflow:hidden;overscroll-behavior:none;position:fixed;touch-action:none;-webkit-user-select:none;user-select:none;width:100%}@supports (height:100dvh){.fullscreen{height:100dvh}}.play-area{height:100%;inset:0;width:100%}.hud,.play-area{position:absolute}.hud{align-items:center;color:#ccc;display:flex;font-size:.95rem;gap:12px;left:0;padding:calc(10px + env(safe-area-inset-top, 0px)) calc(16px + env(safe-area-inset-right, 0px)) 10px calc(16px + env(safe-area-inset-left, 0px));padding:calc(10px + var(--safe-top)) calc(16px + var(--safe-right)) 10px calc(16px + var(--safe-left));pointer-events:none;right:0;top:0;z-index:30}.hud-chip{font-feature-settings:"tnum";background:#ffffff14;border-radius:999px;font-size:.85rem;font-variant-numeric:tabular-nums;font-weight:600;padding:5px 12px;white-space:nowrap}.hud-spacer{flex:1 1}.progress-track{background:#ffffff1f;border-radius:999px;flex:1 1;height:6px;min-width:40px;overflow:hidden}.progress-fill{background:currentColor;border-radius:999px;height:100%;transition:width .35s ease}.quit-button{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0a148c;border:1px solid #ffffff38;border-radius:999px;bottom:calc(12px + env(safe-area-inset-bottom, 0px));bottom:calc(12px + var(--safe-bottom));color:#cfd3dc;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;justify-content:center;left:calc(12px + env(safe-area-inset-left, 0px));left:calc(12px + var(--safe-left));min-height:48px;min-height:var(--touch-min);min-width:48px;min-width:var(--touch-min);padding:0 18px;position:absolute;text-decoration:none;touch-action:manipulation;transition:background .2s,color .2s,transform .12s;z-index:90}.quit-button:active{transform:scale(.94)}.menu-screen{-webkit-overflow-scrolling:touch;align-items:center;box-sizing:border-box;display:flex;flex-direction:column;gap:14px;inset:0;justify-content:center;overflow-y:auto;padding:calc(24px + env(safe-area-inset-top, 0px)) calc(20px + env(safe-area-inset-right, 0px)) calc(24px + env(safe-area-inset-bottom, 0px)) calc(20px + env(safe-area-inset-left, 0px));padding:calc(24px + var(--safe-top)) calc(20px + var(--safe-right)) calc(24px + var(--safe-bottom)) calc(20px + var(--safe-left));position:absolute;text-align:center;touch-action:pan-y}.menu-screen h1{color:inherit;font-size:clamp(1.7rem,7vw,2.5rem);margin:0}.menu-description{font-size:clamp(.9rem,3.6vw,1rem);line-height:1.6;margin:0;max-width:30rem;opacity:.75}.results-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin:4px 0;width:min(100%,26rem)}.results-grid.results-grid-3{grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr))}.stat-tile{background:#ffffff12;border:1px solid #ffffff17;border-radius:14px;display:flex;flex-direction:column;gap:3px;min-width:0;padding:12px 10px}.stat-tile-value{font-feature-settings:"tnum";font-size:clamp(1.1rem,5vw,1.45rem);font-variant-numeric:tabular-nums;font-weight:800;line-height:1.1;overflow-wrap:anywhere}.stat-tile-label{font-size:.7rem;letter-spacing:.06em;opacity:.6;text-transform:uppercase}.personal-best{font-size:.85rem;margin:0;opacity:.7}.personal-best-new{color:#ffd54f;font-weight:700;opacity:1}.btn-primary{border:none;border-radius:14px;cursor:pointer;font-size:1.05rem;font-weight:700;min-height:54px;padding:0 32px;touch-action:manipulation;transition:filter .2s,transform .12s;width:min(100%,20rem)}.btn-primary:active{transform:scale(.97)}.back-link{align-items:center;color:#8b93a7;display:inline-flex;font-size:.95rem;justify-content:center;min-height:48px;min-height:var(--touch-min);padding:0 16px;text-decoration:none;touch-action:manipulation}.difficulty-picker{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;width:min(100%,26rem)}.difficulty-option{background:#ffffff0d;border:2px solid #ffffff24;border-radius:12px;color:#dfe3ec;cursor:pointer;flex:1 1 6rem;font-size:.95rem;font-weight:600;min-height:48px;min-height:var(--touch-min);padding:10px 8px;touch-action:manipulation;transition:border-color .18s,background .18s,transform .12s}.difficulty-option:active{transform:scale(.96)}.difficulty-option[aria-pressed=true]{background:#ffffff24;border-color:currentColor}.countdown-overlay{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#060810b8;display:flex;flex-direction:column;gap:8px;inset:0;justify-content:center;pointer-events:auto;position:absolute;touch-action:none;z-index:80}.countdown-value{animation:countdownPulse .7s ease-out;color:#fff;font-size:clamp(4rem,22vw,8rem);font-weight:900;line-height:1}.countdown-label{color:#ffffffb8;font-size:clamp(.9rem,4vw,1.1rem);letter-spacing:.08em;text-transform:uppercase}@keyframes countdownPulse{0%{opacity:0;transform:scale(1.6)}35%{opacity:1;transform:scale(1)}to{opacity:.85;transform:scale(.95)}}.round-banner{animation:bannerPop .32s ease-out;background:#080a14c7;border-radius:16px;font-size:clamp(1.1rem,5vw,1.5rem);font-weight:800;left:50%;padding:14px 26px;pointer-events:none;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:70}.round-banner-good{color:#7bdc93}.round-banner-bad{color:#ff8a80}@keyframes bannerPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media (hover:hover) and (pointer:fine){.quit-button:hover{background:#ffffff29;color:#fff}.btn-primary:hover{filter:brightness(1.08)}.back-link:hover{color:#ccd2e0;text-decoration:underline}.difficulty-option:hover{background:#ffffff1a;border-color:#fff6}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-height:460px){.menu-screen{gap:8px;justify-content:flex-start}.menu-description{display:none}.btn-primary{min-height:46px}}*{-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;height:100%;touch-action:manipulation;width:100%}body,html{overscroll-behavior:none}body{-webkit-font-smoothing:antialiased;background-color:#0f0f1a;color:#eceff5;font-family:Segoe UI,system-ui,-apple-system,Helvetica Neue,Arial,sans-serif;margin:0;min-height:100%;-webkit-user-select:none;user-select:none}input,select,textarea{font-family:inherit;font-size:max(16px,1rem);-webkit-user-select:text;user-select:text}h1,h2,h3{color:inherit}button{font-family:inherit;touch-action:manipulation}:focus-visible{outline:3px solid #7aa7ff;outline-offset:2px}img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}
/*# sourceMappingURL=main.3f0c69d6.css.map*/