@font-face{font-family:Saira;font-style:normal;font-weight:500 800;font-stretch:112.5% 125%;font-display:swap;src:url(/assets/saira-latin-X2eA-qfZ.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Saira;font-style:normal;font-weight:500 800;font-stretch:112.5% 125%;font-display:swap;src:url(/assets/saira-latin-ext-3Ba4ICIc.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/figtree-latin-D_ZTVpCC.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/figtree-latin-ext-DCwSJGxG.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--void:#050913;--deep:#0b1324;--raised:#121c33;--high:#1a2742;--line:#22314f;--line-strong:#5a72a0;--ink:#edf3fb;--ink-2:#93a3bd;--ink-3:#7b8db0;--ion:#2ad4f5;--ion-soft:#2ad4f51f;--surge:#4f8cff;--surge-fill:#1d5ef0;--surge-press:#1648c4;--on-surge:#fff;--apex:#0030f9;--flare:#ff9a4a;--valid:#3ddc8a;--valid-soft:#3ddc8a21;--held:#f6c744;--held-soft:#f6c74424;--reject:#ff6b78;--reject-soft:#ff6b7821;--focus:#7fe6ff;--staff:#f6c744;--font-display:"Saira", "Arial Narrow", system-ui, sans-serif;--font-text:"Figtree", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--cut-s:8px;--cut-m:14px;--radius-s:8px;--radius-m:12px;--nav-height:64px;--touch:48px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark only;font-family:var(--font-text);color:var(--ink);background:var(--void);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;font-size:100%;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark only}}*,:before,:after{box-sizing:border-box}body{background:var(--void);overflow-wrap:anywhere;min-height:100dvh;margin:0}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}h1:focus,main:focus{outline:none}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;font-stretch:112.5%;line-height:1.2}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--surge-fill);color:var(--on-surge);border-radius:4px;padding:12px 16px;font-weight:600;position:absolute;top:-100px;left:8px}.skip-link:focus{top:8px}.app{flex-direction:column;min-height:100dvh;display:flex}.app-header{z-index:10;background:var(--void);color:var(--ink);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top);position:sticky;top:0}.app-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:0 16px;display:flex}.brand{min-height:var(--touch);color:var(--ink);font-family:var(--font-display);letter-spacing:-.01em;align-items:center;gap:8px;font-size:1.25rem;font-weight:800;font-stretch:125%;text-decoration:none;display:inline-flex}.brand img{mix-blend-mode:screen;width:36px;height:auto;display:block}.brand-xo{color:var(--ion)}.session-control{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;font-size:.875rem;display:flex}.session-test{color:var(--ink-2)}.session-button{min-height:var(--touch);box-shadow:inset 0 0 0 1.5px var(--line-strong);color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;padding:6px 14px;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.session-button:hover{background:var(--raised)}.offline-notice{background:var(--raised);color:var(--ink);border-bottom:1px solid var(--line);padding:10px 16px;font-size:.9375rem}main{width:100%;max-width:40rem;padding:20px 16px calc(var(--nav-height) + 28px + env(safe-area-inset-bottom));flex:1;margin:0 auto}.page h1{margin:4px 0 14px;font-size:1.875rem;font-weight:800;font-stretch:125%;line-height:1.15}.page h2{margin:24px 0 8px;font-size:1.1875rem;font-weight:700}.page h3{font-size:1.0625rem;font-weight:700}a{color:var(--ion);text-underline-offset:3px}li{margin:6px 0}li>a{min-height:32px;padding:4px 0;display:inline-block}.note{color:var(--ink-2);font-size:.9375rem}.empty-state{border-radius:var(--radius-m);background-color:var(--deep);background-image:repeating-linear-gradient(135deg, transparent 0 8px, var(--raised) 8px 9px);box-shadow:inset 0 0 0 1px var(--line);text-align:center;color:var(--ink-2);padding:16px}.card-list{gap:14px;padding:0;list-style:none;display:grid}.card{background:var(--deep);border:1px solid var(--line);border-radius:var(--radius-m);margin:0;padding:16px}.card h2{margin-top:0}.button,.button-link{isolation:isolate;min-height:var(--touch);min-width:var(--touch);color:var(--on-surge);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex;position:relative}.button:before,.button-link:before{content:"";z-index:-1;background:var(--surge-fill);clip-path:polygon(0 0, calc(100% - var(--cut-s)) 0, 100% var(--cut-s), 100% 100%, 0 100%);transition:background-color .12s;position:absolute;inset:0}.button:hover:before,.button:active:before,.button-link:hover:before,.button-link:active:before{background:var(--surge-press)}.button:disabled{color:var(--ink-3);cursor:not-allowed}.button:disabled:before{background:var(--raised)}.button-secondary{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-strong);border-radius:4px}.button-secondary:before{display:none}.button-secondary:hover{background:var(--raised)}.button-secondary:disabled{box-shadow:inset 0 0 0 1.5px var(--line);background:0 0}.status-ok{color:var(--valid);font-weight:600}.status-ok:before{content:"✓ "}.error-state{border-radius:var(--radius-m);background:var(--reject-soft);padding:16px}.error-state h2{color:var(--reject);margin-top:0}.reference code{word-break:break-all}.loading-state{color:var(--ink-2);align-items:center;gap:14px;padding:16px 0;display:flex}.spinner{border-radius:2px;flex:none;width:8px;height:8px;margin:14px 20px 0 0;animation:.9s step-end infinite pixel-step}@keyframes pixel-step{0%{background:var(--ion);box-shadow:10px -7px 0 var(--high), 20px -14px 0 var(--high)}33%{background:var(--high);box-shadow:10px -7px 0 var(--ion), 20px -14px 0 var(--high)}66%{background:var(--high);box-shadow:10px -7px 0 var(--high), 20px -14px 0 var(--ion)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.spinner{background:var(--ion);box-shadow:10px -7px 0 var(--ion), 20px -14px 0 var(--ion);animation:none}}.tester-password,.form-card{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--deep);gap:8px;max-width:28rem;margin:8px 0 16px;padding:16px;display:grid}.tester-password h2,.form-card h2{margin:0;font-size:1.125rem}.tester-password p,.form-card p{margin:0}.tester-password label,.form-card label{font-size:.875rem;font-weight:600}.tester-password input,.form-card input:not([type=checkbox]),.form-card select{min-height:var(--touch);border-radius:var(--radius-s);background:var(--raised);box-shadow:inset 0 0 0 1.5px var(--line-strong);color:var(--ink);font:inherit;border:0;padding:8px 12px}.password-field{min-height:var(--touch);border-radius:var(--radius-s);background:var(--raised);box-shadow:inset 0 0 0 1.5px var(--line-strong);align-items:stretch;display:flex;overflow:hidden}.form-card .password-field input,.password-field input{min-width:0;min-height:var(--touch);box-shadow:none;color:var(--ink);font:inherit;background:0 0;border:0;flex:1;padding:8px 12px}.password-field button{width:var(--touch);border:0;border-left:1px solid var(--line);background:var(--deep);color:var(--ion);cursor:pointer;flex:none;justify-content:center;align-items:center;display:flex}.password-field:focus-within{box-shadow:inset 0 0 0 2px var(--focus)}.tester-password-error,.form-error{color:var(--reject);font-weight:600}.tester-password-actions,.form-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.form-card .form-check{align-items:flex-start;gap:10px;font-size:1rem;font-weight:400;display:flex}.form-card .form-check input{width:22px;height:22px;accent-color:var(--ion);flex:none;margin-top:2px}.form-card .form-field{gap:4px;margin-bottom:8px;display:grid}.form-card pre{white-space:pre-wrap;font-size:.8125rem;overflow-x:auto}.session-profile{color:inherit;text-underline-offset:3px;text-decoration:underline}.form-hint{color:var(--ink-2);font-size:.875rem}.terms{border-radius:var(--radius-s);background:var(--raised);box-shadow:inset 0 0 0 1px var(--line);padding:12px}.terms h3{margin:12px 0 4px;font-size:1rem}.terms ul{margin:0;padding-left:1.25rem}:root{--game-pattern-master:#6a3fe0;--game-memory-matrix:#0a7a52;--game-block-blitz:#b35f00;--game-reflex-rush:#c21e52;--game-thunder-stack:#0e5fa8;--game-stop-the-light:#b8430f;--game-number-clash:#1f5fd0;--game-reflex-rush-angie:#b5177a;--game-hop-hop-spinnekop:#0d6150;--game-default:#2a2f3d}[data-theme=gold]{--void:#080a10;--deep:#0b0e15;--raised:#151923;--high:#1c2130;--line:#2a2f3d;--line-strong:#6f6c63;--ink:#f3f0e8;--ink-2:#cfc8b6;--ink-3:#a8a396;--ion:#2ad4f5;--ion-soft:#2ad4f51f;--surge:#f5c451;--surge-fill:#f5c451;--surge-press:#d99a28;--on-surge:#1a1206;--apex:#ffe08a;--flare:#ff8a3d;--valid:#3df5b0;--valid-soft:#3df5b021;--held:#ffd45e;--held-soft:#ffd45e24;--reject:#ff6b86;--reject-soft:#ff6b8621;--focus:#7fe6ff;--staff:#ffd45e;--gold:#f5c451;--gold-light:#ffe08a;--gold-deep:#d99a28;--gold-fill:linear-gradient(180deg, #ffe08a, #f5c451 55%, #d99a28);--gold-glow:0 0 22px #f5c45159;--gold-edge:#f5c45147;--gold-soft:#f5c4511f;--emerald:#3df5b0;--emerald-deep:#08744d;--sapphire:#7cc2ff;--sapphire-deep:#1f4fc4;--amethyst:#c4a5ff;--amethyst-deep:#5128c4;--ruby:#ff8aa6;--ruby-deep:#9c1440;--amber:#ffc96b;--amber-deep:#9a5a00;--card-fill:linear-gradient(180deg, #171c27, #11151e);--page-glow:radial-gradient(120% 50% at 50% -12%, #2a2311 0%, #0c0e14 52%, #080a10 100%);--marquee:#f5c451;--candy:#c4a5ff;--mint:#3df5b0;--on-ion:#04161b;--font-shout:var(--font-display);--shout-weight:800;--shout-spacing:.02em;--radius-pill:999px;--radius-card:18px;--radius-poster:18px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark only;color:var(--ink);background:var(--void)}.logo{max-width:100%;height:auto;display:block}.marquee{background-color:var(--high);background-image:radial-gradient(circle at 8px 6px, var(--marquee) 0 2.5px, transparent 3px), radial-gradient(circle at 8px 6px, #f5c45140 0 4.5px, transparent 5px);background-size:16px 12px;height:12px;animation:1.6s steps(2,end) infinite marquee-chase}@keyframes marquee-chase{to{background-position:16px 0}}.game-poster{border-radius:var(--radius-poster,18px);background:linear-gradient(170deg, var(--poster-from,#3a3f50) 0%, var(--poster-to,#151923) 100%);border:1px solid var(--poster-edge,var(--line));box-shadow:0 0 20px var(--poster-glow,transparent);color:#fff;flex-direction:column;display:flex;position:relative;overflow:hidden}.game-poster-art{aspect-ratio:1;width:100%;height:auto;display:block}.game-poster-name{font-family:var(--font-shout,var(--font-display));font-weight:var(--shout-weight,800);letter-spacing:var(--shout-spacing,0);padding:8px 12px 12px;font-size:1rem;line-height:1.15}.game-poster-badge{background:var(--void);border:1px solid var(--line-strong);color:var(--ink);letter-spacing:.08em;border-radius:999px;padding:3px 9px;font-size:.6875rem;font-weight:800;position:absolute;top:10px;left:10px}.rail{flex-direction:column;gap:12px;display:flex}.rail-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.rail-head h2{font-family:var(--font-shout,var(--font-display));font-weight:var(--shout-weight,800);letter-spacing:var(--shout-spacing,0);margin:0;font-size:1.1875rem}.rail-see-all{min-height:var(--touch,48px);color:var(--ion);align-items:center;font-weight:700;display:inline-flex}.rail-track{scroll-snap-type:x mandatory;scrollbar-width:none;gap:12px;margin:0 -16px;padding:0 16px 4px;scroll-padding-inline:16px;list-style:none;display:flex;overflow-x:auto}.rail-track>li{scroll-snap-align:start;flex:none;width:140px}.category-pills{scrollbar-width:none;gap:8px;margin:0 -16px;padding:0 16px;display:flex;overflow-x:auto}.category-pills button{min-height:var(--touch,48px);border-radius:var(--radius-pill,999px);border:1px solid var(--line);background:var(--raised);color:var(--ink);font:inherit;cursor:pointer;flex:none;padding:0 16px;font-size:.875rem;font-weight:700}.category-pills button[aria-pressed=true]{border-color:var(--line-strong);background:var(--high);color:var(--ink);font-weight:800}.play-bar{z-index:10;background:var(--deep);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);position:fixed;inset:auto 0 0}.play-bar ul{grid-template-columns:repeat(var(--play-bar-count,5), minmax(0, 1fr));align-items:end;max-width:640px;margin:0 auto;padding:0;list-style:none;display:grid}.play-bar a{min-height:64px;color:var(--ink-3);flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;padding:8px 4px 10px;font-size:.75rem;font-weight:700;text-decoration:none;display:flex}.play-bar a[aria-current=page]{color:var(--gold)}.play-bar-centre a{color:var(--gold-light,var(--surge-fill));font-weight:800}.play-bar-raised{background:var(--gold-fill,var(--surge-fill));width:60px;height:60px;color:var(--on-surge);border:4px solid var(--void);box-shadow:0 0 0 2px var(--gold,var(--surge-fill)), var(--gold-glow,none);border-radius:50%;justify-content:center;align-items:center;margin-top:-30px;display:inline-flex}[data-theme=gold] .button:before,[data-theme=gold] .button-link:before{clip-path:none;background:var(--gold-fill);border-radius:14px;box-shadow:inset 0 1px #ffffff8c}[data-theme=gold] .button:hover:before,[data-theme=gold] .button:active:before,[data-theme=gold] .button-link:hover:before,[data-theme=gold] .button-link:active:before{background:linear-gradient(#ffe9a8,#f5c451 50%,#c98a22)}[data-theme=gold] .button:disabled:before{background:var(--raised);box-shadow:none}[data-theme=gold] .button,[data-theme=gold] .button-link{border-radius:14px;font-weight:800}[data-theme=gold] .button-secondary{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-strong)}[data-theme=gold] .button-secondary:hover{background:var(--high)}@media (prefers-reduced-motion:reduce){.marquee{animation:none}}.brand .logo{mix-blend-mode:normal;width:112px}.credits-chip{border-radius:var(--radius-pill,999px);background:var(--high);min-height:36px;box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--ink);white-space:nowrap;align-items:center;margin-left:auto;padding:0 14px;font-size:.875rem;font-weight:800;text-decoration:none;display:inline-flex}.session-avatar{width:var(--touch);height:var(--touch);border-radius:50%;place-items:center;text-decoration:none;display:inline-grid}.session-avatar span{background:var(--candy,var(--ion));color:#1a0b14;width:40px;height:40px;font-family:var(--font-shout,var(--font-display));font-weight:var(--shout-weight,400);border-radius:50%;place-items:center;font-size:1.125rem;display:grid}.update-prompt{left:12px;right:12px;bottom:calc(var(--nav-height) + 12px + env(safe-area-inset-bottom));z-index:20;border-radius:var(--radius-m);background:var(--high);color:var(--ink);flex-wrap:wrap;align-items:center;gap:8px;padding:12px;display:flex;position:fixed;box-shadow:0 8px 32px #0000008c}.rail{margin:8px 0 24px}.poster-link{border-radius:var(--radius-poster,16px);text-decoration:none;display:block}.poster-note{color:var(--ink-2);margin:6px 2px 0;font-size:.8125rem}.pm-progress{color:var(--ink-2);margin:0 0 4px;font-weight:600}.pm-question{margin:4px 0 12px}.pm-sequence{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:0 0 16px;padding:0;list-style:none;display:grid}.pm-sequence li{aspect-ratio:1;background:var(--deep);border:1px solid var(--line);border-radius:var(--radius-s);color:var(--ink);place-items:center;margin:0;display:grid}.pm-sequence .pm-missing{border:2px dashed var(--ion);background:var(--ion-soft);font-family:var(--font-display);color:var(--ion);font-size:1.75rem;font-weight:800;font-stretch:125%}.pm-tile{width:100%;height:100%;padding:6%;display:block}.pm-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.pm-options li{margin:0}.pm-option{aspect-ratio:1.4;border-radius:var(--radius-s);width:100%;min-height:96px;box-shadow:inset 0 0 0 1.5px var(--line-strong);background:var(--deep);color:var(--ink);cursor:pointer;border:0;place-items:center;padding:8px;display:grid;position:relative}.pm-option:hover:not(:disabled){background:var(--raised)}.pm-option .pm-tile{aspect-ratio:1;width:auto;max-height:100%}.pm-option:disabled{cursor:default}.pm-letter{font-family:var(--font-display);color:var(--ink-2);font-weight:700;font-stretch:112.5%;position:absolute;top:6px;left:10px}.pm-option.is-correct{box-shadow:inset 0 0 0 4px var(--valid);background:var(--valid-soft)}.pm-option.is-correct:after{content:"✓";color:var(--valid);font-weight:700;position:absolute;top:4px;right:10px}.pm-option.is-wrong{box-shadow:none;outline:4px dashed var(--reject);outline-offset:-4px;background:var(--reject-soft)}.pm-option.is-wrong:after{content:"✗";color:var(--reject);font-weight:700;position:absolute;top:4px;right:10px}.pm-feedback{min-height:1.5em;margin:12px 0;font-weight:600}.pm-score{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:800;font-stretch:125%}.mm-grid{grid-template-columns:repeat(var(--mm-size), minmax(0, 1fr));gap:6px;max-width:22rem;margin:0 auto 8px;padding:0;list-style:none;display:grid}.mm-cell{aspect-ratio:1;border-radius:var(--radius-s);min-width:0;box-shadow:inset 0 0 0 1.5px var(--line-strong);background:var(--deep);color:var(--ink);font:inherit;font-family:var(--font-display);border:0;place-items:center;margin:0;font-size:1.25rem;font-weight:800;font-stretch:125%;display:grid}button.mm-cell{cursor:pointer}button.mm-cell:disabled{cursor:default}.mm-cell.is-lit{background:var(--surge-fill);box-shadow:none;color:var(--on-surge)}.mm-cell.is-picked{background:var(--ion-soft);box-shadow:none;outline:3px dashed var(--ion);outline-offset:-3px;color:var(--ion)}.mm-cell.is-correct{box-shadow:inset 0 0 0 4px var(--valid);background:var(--valid-soft);color:var(--valid)}.mm-cell.is-wrong{box-shadow:none;outline:4px dashed var(--reject);outline-offset:-4px;color:var(--reject)}.mm-cell.is-missed{box-shadow:none;outline:3px dotted var(--ink-3);outline-offset:-3px;color:var(--ink-2)}.ranked-list{margin:0 0 16px;padding:0;list-style:none}.ranked-card{background:var(--deep);box-shadow:inset 0 0 0 1px var(--line);clip-path:polygon(0 0, calc(100% - var(--cut-m)) 0, 100% var(--cut-m), 100% 100%, 0 100%);margin:0 0 14px;padding:16px}.ranked-card h3{margin-top:0;font-size:1.25rem;font-stretch:125%}.ranked-alert{border-radius:var(--radius-m);background:var(--reject-soft);margin-top:12px;padding:12px 14px}.ranked-alert>:first-child{color:var(--reject);margin-top:0;font-weight:700}.ranked-timer{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.375rem;font-weight:800;font-stretch:125%}.ranked-status{border-radius:var(--radius-card,var(--radius-m));background:linear-gradient(170deg, color-mix(in srgb, var(--poster-colour,var(--game-default)) calc(var(--game-tint,1) * 35%), transparent) 0, transparent 60%), var(--deep);border:1px solid var(--line);border-top:4px solid var(--line);padding:16px}.ranked-status h2{font-family:var(--font-shout,var(--font-display));font-weight:var(--shout-weight,400);letter-spacing:var(--shout-spacing,0);margin-top:0}.ranked-status-kicker{color:var(--ink-3);letter-spacing:.09em;text-transform:uppercase;margin:0 0 8px;font-size:.75rem;font-weight:800}.ranked-status-actions{flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:16px;display:flex}.ranked-status[data-result=VALIDATED]{border-top-color:var(--valid)}.ranked-status[data-result=VALIDATED] h2{color:var(--valid)}.ranked-status[data-result=HELD]{border-top-color:var(--held)}.ranked-status[data-result=HELD] h2{color:var(--held)}.ranked-status[data-result=REJECTED],.ranked-status[data-phase=refused],.ranked-status[data-phase=closed]{border-top-color:var(--reject)}.ranked-status[data-result=REJECTED] h2{color:var(--reject)}.ranked-provisional{border-radius:var(--radius-s);background:var(--ion-soft);color:var(--ink);padding:12px}.ranked-provisional strong{color:var(--ion)}.ranked-score{font-family:var(--font-shout,var(--font-display));font-variant-numeric:tabular-nums;margin:4px 0 8px;font-size:2.75rem;font-weight:800;line-height:1}.leaderboard-division{color:var(--ink-2)}.leaderboard-provisional{border-radius:var(--radius-m);background:var(--ion-soft);padding:12px}.leaderboard-you{font-weight:600}.leaderboard-freshness{margin:12px 0}.leaderboard-freshness p{margin:0 0 8px}.leaderboard-warning{border-radius:var(--radius-m);background:var(--held-soft);color:var(--ink);padding:12px}.recent-days{margin-top:24px}.recent-days-list{margin:8px 0 12px;padding-left:20px}.recent-days-list li{margin-bottom:8px}.welcome-card,.notice-card{background:var(--deep);text-align:center;border:1px solid #4f8cff73;border-radius:20px;justify-items:center;gap:12px;max-width:28rem;margin:8px auto 24px;padding:32px 20px 24px;display:grid;overflow:hidden;box-shadow:0 0 48px #1d5ef038}.welcome-card h2{margin:4px 0 0;font-size:1.5rem}.welcome-card p,.notice-card p{margin:0}.welcome-card .marquee{border-radius:20px 20px 0 0;width:calc(100% + 40px);margin:-32px -20px 8px}.welcome-logo{justify-items:center;gap:6px;display:grid}.welcome-card .welcome-tagline{font-family:var(--font-shout,var(--font-display));font-weight:var(--shout-weight,400);letter-spacing:.12em;color:var(--ion);font-size:.8125rem}.welcome-actions,.notice-actions{gap:12px;width:100%;margin-top:8px;display:grid}.welcome-actions .button-link,.notice-actions .button-link,.notice-actions .button{justify-content:center}.notice-icon{color:var(--ion)}.notice-address{word-break:break-all}.notice-tick{background:var(--ion);width:72px;height:72px;color:var(--void);border-radius:50%;justify-content:center;align-items:center;display:flex}.terms-details summary{min-height:var(--touch);color:var(--ion);cursor:pointer;align-items:center;font-weight:600;display:flex}.town-field{min-height:var(--touch);border-radius:var(--radius-s);background:var(--raised);box-shadow:inset 0 0 0 1.5px var(--line-strong);align-items:stretch;display:flex;overflow:hidden}.form-card .town-field input{min-width:0;box-shadow:none;background:0 0;flex:1}.town-field button{width:var(--touch);border:0;border-left:1px solid var(--line);background:var(--deep);color:var(--ion);cursor:pointer;flex:none;justify-content:center;align-items:center;display:flex}.town-field button:disabled{opacity:.6;cursor:progress}.town-field:focus-within{box-shadow:inset 0 0 0 2px var(--focus)}.sandbox-badge{border:1px solid var(--held);color:var(--held);letter-spacing:.06em;border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:700;display:inline-block}.sandbox-badge-large{letter-spacing:.12em;padding:6px 14px;font-size:.8125rem}.sandbox-payment{text-align:left;border-color:#f6c74499;justify-items:stretch}.sandbox-payment .sandbox-badge{justify-self:center}.sandbox-line{justify-content:space-between;gap:12px;display:flex}.rating-card fieldset{border:0;margin:0 0 12px;padding:0}.rating-card legend{margin-bottom:6px;font-weight:700}.rating-stars{flex-wrap:wrap;gap:4px;display:flex}.rating-star{width:var(--touch);height:var(--touch);color:var(--marquee,var(--held));cursor:pointer;border-radius:12px;place-items:center;font-size:1.75rem;line-height:1;display:inline-grid;position:relative}.rating-star input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.rating-star:focus-within{outline:3px solid var(--focus);outline-offset:2px}.rating-yesno{flex-wrap:wrap;gap:4px 20px;display:flex}.rating-yesno legend{flex-basis:100%}.rating-yesno .form-check{min-height:var(--touch);align-items:center}.rating-card textarea{border:1px solid var(--line-strong);background:var(--deep);width:100%;min-height:5rem;color:var(--ink);font:inherit;border-radius:8px;padding:10px 12px}.rating-card input[type=radio]{min-height:0;box-shadow:none;border:0;padding:0}.rating-card .rating-star input[type=radio]{width:100%;height:100%}.brand{align-items:center;gap:6px;display:inline-flex}.brand .logo:first-child{filter:drop-shadow(0 0 8px #2ac4ff8c);width:40px}.credits-chip{background:var(--raised);min-height:40px;box-shadow:inset 0 0 0 1px var(--line-strong);gap:8px;padding:0 4px 0 12px;font-size:.9375rem}.credits-chip-icon{color:var(--ink-2);flex:none}.credits-chip-plus{background:var(--high);width:32px;height:32px;color:var(--ink);border-radius:50%;place-items:center;font-size:1.125rem;font-weight:800;line-height:1;display:grid}.session-avatar span{background:var(--high);color:var(--ink);box-shadow:0 0 0 2px var(--line-strong);font-weight:800}.welcome-card{border:1px solid var(--line);background:radial-gradient(90% 70% at 50% 100%,#4a3610 0%,#1b160c 45%,#0b0e15 100%)}.welcome-card .welcome-tagline{color:var(--ink-2)}.welcome-trophy{width:min(70%,240px);height:auto;margin:-8px 0 -4px}.poster-note{font-weight:700}.ranked-status{border:1px solid var(--line);border-top:4px solid var(--line);background:linear-gradient(170deg, var(--poster-colour,var(--game-default)) 0%, #11151e 55%, #0b0e15 100%)}.ranked-trophy{width:min(80%,260px);height:auto;margin:0 auto -8px;display:block}.ranked-score{color:var(--gold,#f5c451)}.profile-head{align-items:center;gap:16px;margin:0 0 16px;display:flex}.profile-avatar{width:84px;height:84px;box-shadow:0 0 0 3px var(--line-strong);color:var(--ink);font-family:var(--font-display);background:radial-gradient(circle at 35% 30%,#2a3042,#11151e);border-radius:50%;flex:none;place-items:center;font-size:2rem;font-weight:800;display:grid}.profile-name{gap:2px;margin:0;display:grid}.profile-name strong{font-family:var(--font-display);font-size:1.375rem}.profile-name span{color:var(--ink-3);font-size:.875rem}.form-card{background:linear-gradient(#171c27,#11151e);border-color:#f5c45140}.bb-game{gap:12px;max-width:28rem;margin:0 auto;display:grid}.bb-hud{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px;display:grid}.bb-hud p{background:linear-gradient(#171c27,#11151e);border:1px solid #f5c45140;border-radius:12px;justify-items:center;margin:0;padding:6px 4px;display:grid}.bb-hud-label{color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;font-size:.6875rem;font-weight:700}.bb-hud-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:800}.bb-points .bb-hud-value{color:var(--gold,#f5c451)}.bb-streak.is-on{border-color:#3df5b0;box-shadow:0 0 16px #3df5b059}.bb-streak.is-on .bb-hud-value{color:#3df5b0}.bb-clock.is-low .bb-hud-value{color:#ff8aa6}.bb-flash{min-height:1.5em;color:var(--gold,#f5c451);text-align:center;margin:0;font-weight:700}.bb-board{touch-action:none;background:linear-gradient(#0f1320,#080a10);border-radius:16px;gap:3px;padding:6px;display:grid;box-shadow:inset 0 0 0 1px #f5c4514d,0 0 26px #f5c45114}.bb-cell{aspect-ratio:1;cursor:pointer;background:#1a1f2c;border:0;border-radius:6px;min-width:0;padding:0;box-shadow:inset 0 0 0 1px #ffffff0a}.bb-cell:focus-visible{outline:2px solid var(--focus,#7fe6ff);outline-offset:1px}.bb-cell.is-block{background:linear-gradient(160deg,#7cc2ff 0%,#2f6bff 45%,#14307e 100%);box-shadow:inset 0 2px #ffffff73,inset 0 -2px #0000004d}.bb-cell.is-gold{background:linear-gradient(160deg,#fff0bf 0%,#f5c451 45%,#b97a1c 100%);box-shadow:inset 0 2px #ffffffb3,0 0 12px #f5c4518c}.bb-cell.is-preview{background:#3df5b059;box-shadow:inset 0 0 0 2px #3df5b0}.bb-cell.is-blocked{box-shadow:inset 0 0 0 2px #ff8aa6}.bb-tray{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.bb-slot{cursor:grab;touch-action:none;background:linear-gradient(#171c27,#11151e);border:1.5px solid #f5c45140;border-radius:14px;place-items:center;min-height:96px;padding:8px;display:grid}.bb-slot.is-selected{border-color:#ffe08a;box-shadow:0 0 18px #ffe08a73}.bb-slot:disabled{cursor:default;opacity:.35}.bb-shape{gap:2px;display:inline-grid}.bb-shape-cell{background:var(--jewel-fill);border-radius:4px;box-shadow:inset 0 1.5px #ffffff80,inset 0 -1.5px #0000004d}.bb-gold{--jewel-fill:linear-gradient(160deg, #fff0bf, #f5c451 50%, #b97a1c)}.bb-emerald{--jewel-fill:linear-gradient(160deg, #9bffda, #14d492 50%, #08744d)}.bb-sapphire{--jewel-fill:linear-gradient(160deg, #9dd3ff, #2f6bff 50%, #14307e)}.bb-amethyst{--jewel-fill:linear-gradient(160deg, #d9c6ff, #7b4dff 50%, #3a1c99)}.bb-ruby{--jewel-fill:linear-gradient(160deg, #ffc2d1, #ff4f7b 50%, #9c1440)}.bb-amber{--jewel-fill:linear-gradient(160deg, #ffe0a6, #ffb23f 50%, #9a5a00)}.bb-next{justify-content:center;align-items:center;gap:12px;display:flex}.bb-next-shapes{opacity:.8;align-items:center;gap:10px;display:inline-flex}.bb-modes ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.bb-modes li{flex-wrap:wrap;align-items:center;gap:12px;display:flex}@media (prefers-reduced-motion:reduce){.bb-cell,.bb-slot{transition:none}}.rr-game{gap:12px;max-width:26rem;margin:0 auto;display:grid}.rr-ready{justify-items:start}.rr-hud{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.rr-hud p{background:linear-gradient(#171c27,#11151e);border:1px solid #f5c45140;border-radius:12px;justify-items:center;margin:0;padding:6px 4px;display:grid}.rr-hud-label{color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;font-size:.6875rem;font-weight:700}.rr-hud-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:800}.rr-points .rr-hud-value{color:var(--gold,#f5c451)}.rr-clock.is-low .rr-hud-value{color:#ff8aa6}.rr-flash{min-height:1.5em;color:var(--gold,#f5c451);text-align:center;margin:0;font-weight:700}.rr-grid{background:linear-gradient(#0f1320,#080a10);border-radius:18px;gap:8px;padding:10px;display:grid;box-shadow:inset 0 0 0 1px #f5c4514d,0 0 26px #f5c45114}.rr-cell{aspect-ratio:1;cursor:pointer;touch-action:pan-x pan-y;-webkit-tap-highlight-color:transparent;background:#1a1f2c;border:0;border-radius:50%;min-width:0;padding:0;box-shadow:inset 0 0 0 1px #ffffff0d}.rr-cell:focus-visible{outline:2px solid var(--focus,#7fe6ff);outline-offset:2px}.rr-cell.is-target{background:radial-gradient(circle at 35% 30%,#fff6d6 0%,#f5c451 40%,#b97a1c 100%);box-shadow:inset 0 2px #fff9,0 0 18px #f5c451a6}.rr-cell.is-decoy{background:radial-gradient(circle at 35% 30%,#ffc2d1 0%,#ff4f7b 45%,#9c1440 100%);box-shadow:inset 0 2px #fff6,0 0 14px #ff4f7b80}@media (prefers-reduced-motion:reduce){.rr-cell{transition:none}}.ar-edition-head{align-items:center;gap:12px;display:flex}.ar-portrait{object-fit:cover;border:2px solid #ff9ad6;border-radius:50%;flex:none;width:72px;height:72px;box-shadow:0 0 16px #ff4fb480}.ar-edition{color:#ff9ad6;font-family:var(--font-display);letter-spacing:.02em;margin:0;font-weight:800}.ar-edition-sub{color:var(--ink-3);margin:0;font-size:.875rem}.ar-word-orange{color:#ffa24a}.ar-grid{background:linear-gradient(#1a0b2e,#0a0614);box-shadow:inset 0 0 0 1px #ff4fb473,0 0 26px #ff4fb429}.ar-cell{place-items:center;display:grid;position:relative}.ar-cell.is-target{background:radial-gradient(circle at 35% 30%,#ffe2c2 0%,#ff8a1e 45%,#b44a00 100%);box-shadow:inset 0 2px #ffffff8c,0 0 18px #ff8a1eb3}.ar-cell.is-target:after{content:"";border:3px solid #ffffffe6;border-radius:50%;width:46%;height:46%}.ar-cell.is-colour-1{background:radial-gradient(circle at 35% 30%,#ffd1ec 0%,#ff4fb4 45%,#a3136a 100%)}.ar-cell.is-colour-2{background:radial-gradient(circle at 35% 30%,#cfe1ff 0%,#3b82f6 45%,#1e3a8a 100%)}.ar-cell.is-colour-3{background:radial-gradient(circle at 35% 30%,#e4d9ff 0%,#8b5cf6 45%,#4c1d95 100%)}.ar-cell.is-colour-4{background:radial-gradient(circle at 35% 30%,#d3f8df 0%,#22c55e 45%,#14532d 100%)}.ar-cell.is-colour-5{background:radial-gradient(circle at 35% 30%,#fff 0%,#d9dce3 50%,#8a8f9c 100%)}.ar-cell.is-colour-6{background:radial-gradient(circle at 35% 30%,#ccfbf1 0%,#14b8a6 45%,#115e59 100%)}.ar-cell.is-colour-7{background:radial-gradient(circle at 35% 30%,#fecaca 0%,#ef4444 45%,#7f1d1d 100%)}.ar-cell.is-bolt{background:radial-gradient(circle at 35% 30%,#4a3b10 0%,#1d1606 100%);box-shadow:inset 0 0 0 2px #ffd60abf,0 0 18px #ffd60a8c}.ar-bolt{fill:#ffd60a;filter:drop-shadow(0 0 4px #ffd60acc);width:60%;height:60%}.ts-game{gap:10px;max-width:26rem;margin:0 auto;display:grid}.ts-ready{justify-items:start}.ts-howto{color:var(--ink-3);font-size:.875rem}.ts-hud{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.ts-hud p,.ts-count{background:linear-gradient(#0d1a3d,#081029);border:1px solid #7fd8ff4d;border-radius:12px;justify-items:center;margin:0;padding:6px 4px;display:grid}.ts-hud-label{color:#a9c8ef;letter-spacing:.06em;text-transform:uppercase;font-size:.6875rem;font-weight:700}.ts-hud-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.2rem;font-weight:800}.ts-points .ts-hud-value{color:var(--gold,#f5c451)}.ts-overdrive.is-on{border-color:#ff8a1ab3;box-shadow:0 0 14px #ff8a1a59}.ts-overdrive.is-on .ts-hud-value{color:#ffb347}.ts-flash{color:#ffd24a;text-align:center;min-height:1.5em;margin:0;font-weight:700}.ts-play{grid-template-columns:auto 4.5rem;justify-content:center;align-items:start;gap:8px;display:grid}.ts-well{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:radial-gradient(120% 60% at 0 100%,#ff6a1a47,#0000 60%),radial-gradient(110% 70% at 50% 0,#1b4fd6 0%,#0a2177 45%,#040b2d 100%);border-radius:12px;gap:2px;max-width:calc(100vw - 7.5rem);height:min(52vh,32rem);padding:4px;display:grid;box-shadow:inset 0 0 0 1.5px #9be3ffd9,0 0 22px #2ba8ff59}.ts-well:focus-visible{outline:2px solid var(--focus,#7fe6ff);outline-offset:3px}.ts-cell{aspect-ratio:1;border-radius:3px;min-width:0;box-shadow:inset 0 0 0 1px #7fd8ff24}.ts-cell[class*=ts-p],.ts-mini{background:linear-gradient(180deg, var(--hi,#d6f1ff) 0%, var(--mid,#2ba8ff) 45%, var(--lo,#0a3f8a) 100%);border-radius:4px;position:relative;box-shadow:inset 0 -2px #00000059,inset 0 0 0 1px #0a0f2acc}.ts-cell[class*=ts-p]:after{content:"";background:#ffffff8c;border-radius:999px;height:22%;position:absolute;inset:10% 14% auto}.ts-p0{--hi:#d6f1ff;--mid:#2ba8ff;--lo:#0a3f8a}.ts-p1{--hi:#fff3c4;--mid:#ffb020;--lo:#8a4b00}.ts-p2{--hi:#ffc2cf;--mid:#f43f5e;--lo:#7f0a26}.ts-p3{--hi:#e6ffd0;--mid:#65d622;--lo:#1f5c06}.ts-p4{--hi:#e9d5ff;--mid:#a855f7;--lo:#4c1d95}.ts-p5{--hi:#ccfbff;--mid:#22d3ee;--lo:#0b5566}.ts-p6{--hi:#ffe0c2;--mid:#ff7a1a;--lo:#7a2a00}.ts-p7{--hi:#ffd6f2;--mid:#ec4899;--lo:#6b0d44}.ts-p8{--hi:#d9fff0;--mid:#14c88a;--lo:#04503a}.ts-cell.is-thunder{box-shadow:inset 0 -2px #00000059,inset 0 0 0 1px #0a0f2acc,0 0 10px #ffd24ad9}.ts-cell.is-thunder:before{content:"";z-index:1;clip-path:polygon(62% 0,18% 56%,46% 56%,34% 100%,82% 40%,54% 40%,70% 0);filter:drop-shadow(0 0 2px #7a2a00);background:#fff6c8;position:absolute;inset:16%}.ts-cell.is-falling{filter:brightness(1.12)}.ts-side{gap:8px;display:grid}.ts-next{background:linear-gradient(#0d1a3d,#081029);border:1px solid #7fd8ff4d;border-radius:12px;justify-items:center;gap:6px;padding:8px 4px;display:grid}.ts-piece{gap:1px;display:grid}.ts-mini-gap{visibility:hidden}.ts-max{color:#ffb347;text-align:center;margin:0;font-size:.75rem;font-weight:800}.ts-controls{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.ts-key{color:#e6f4ff;cursor:pointer;touch-action:pan-x pan-y;-webkit-tap-highlight-color:transparent;background:linear-gradient(#16306f,#0b1a44);border:1px solid #7fd8ff73;border-radius:12px;min-height:48px;font-size:1.15rem;font-weight:800}.ts-key:focus-visible{outline:2px solid var(--focus,#7fe6ff);outline-offset:2px}.ts-key:disabled{opacity:.45;cursor:default}.ts-drop{color:#1a0700;background:linear-gradient(#ff9a3c,#c2410c);border-color:#ff8a1abf;font-size:.95rem}.ts-edition-head{align-items:center;gap:12px;display:flex}.ts-portrait{object-fit:cover;border:2px solid #7fd8ff;border-radius:50%;flex:none;width:72px;height:72px;box-shadow:0 0 16px #2ba8ff73}.ts-edition{color:#7fd8ff;font-family:var(--font-display);letter-spacing:.02em;margin:0;font-weight:800}.nc-game{gap:12px;max-width:28rem;margin:0 auto;display:grid}.nc-hud{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.nc-hud p{background:linear-gradient(#171c27,#11151e);border:1px solid #f5c45140;border-radius:12px;justify-items:center;margin:0;padding:6px 4px;display:grid}.nc-hud-label,.nc-target-label,.nc-tier{color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;font-size:.6875rem;font-weight:700}.nc-hud-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:800}.nc-points .nc-hud-value{color:var(--gold,#f5c451)}.nc-streak.is-on{border-color:#3df5b0;box-shadow:0 0 16px #3df5b059}.nc-streak.is-on .nc-hud-value{color:#3df5b0}.nc-target{background:radial-gradient(circle at 50% 30%,#1d3fa8 0%,#0b1f66 55%,#060f38 100%);border-radius:18px;justify-items:center;gap:2px;padding:12px;display:grid;box-shadow:inset 0 0 0 2px #f5c4518c,0 0 26px #3a7bff40}.nc-target-label{color:#ffe08a}.nc-target-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--gold,#f5c451);text-shadow:0 0 18px #f5c45173;font-size:3rem;font-weight:800;line-height:1.05}.nc-flash{min-height:1.5em;color:var(--gold,#f5c451);text-align:center;margin:0;font-weight:700}.nc-tiles{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.nc-tile{color:#071a52;min-width:64px;min-height:64px;font-family:var(--font-display);font-variant-numeric:tabular-nums;cursor:pointer;background:linear-gradient(#e9f1ff 0%,#7fa8ff 45%,#1b3fa8 100%);border:2px solid #0a1c5c;border-radius:16px;padding:0 10px;font-size:1.6rem;font-weight:800;box-shadow:inset 0 3px #fff9,inset 0 -3px #0000004d,0 4px 10px #00000059}.nc-tile.is-selected{border-color:#ffe08a;transform:translateY(-3px);box-shadow:inset 0 3px #fff9,0 0 0 3px #ffe08a,0 0 18px #ffe08a99}.nc-ops{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.nc-op{color:#3a2004;cursor:pointer;background:linear-gradient(160deg,#fff0bf 0%,#f5c451 50%,#b97a1c 100%);border:1.5px solid #8f5a12;border-radius:14px;min-height:52px;font-size:1.6rem;font-weight:800;box-shadow:inset 0 2px #ffffffb3}.nc-op.is-selected{border-color:#3df5b0;box-shadow:0 0 0 3px #3df5b0,0 0 16px #3df5b080}.nc-tile:focus-visible,.nc-op:focus-visible{outline:2px solid var(--focus,#7fe6ff);outline-offset:3px}.nc-tile:disabled,.nc-op:disabled{opacity:.45;cursor:default}.nc-hint{color:var(--ink-3);text-align:center;margin:0;font-size:.875rem}.nc-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}@media (prefers-reduced-motion:reduce){.nc-tile.is-selected{transform:none}}.hs-game{gap:12px;max-width:26rem;margin:0 auto;display:grid}.hs-ready{justify-items:start}.hs-mark{color:var(--gold)}.hs-sub{color:var(--ink-2);margin:0}.hs-rules{color:var(--ink-2);gap:4px;margin:0;padding-left:1.2rem;display:grid}.hs-hud{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.hs-hud div{background:linear-gradient(#171c27,#11151e);border:1px solid #f5c45140;border-radius:12px;justify-items:center;padding:6px 4px;display:grid}.hs-hud dt{color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;font-size:.6875rem;font-weight:700}.hs-hud dd{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin:0;font-weight:800}.hs-board{width:100%;height:min(56vh,520px);border:1.5px solid var(--gold-edge);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:16px;height:min(56dvh,520px);overflow:hidden}.hs-board.hs-charging{box-shadow:var(--gold-glow)}.hs-board canvas{width:100%;height:100%;display:block}.hs-done{margin:0;font-weight:700}html.in-play,html.in-play body{overscroll-behavior:none;overflow:hidden}html.in-play .app{visibility:hidden}.play-shell{z-index:50;background:var(--void);height:100dvh;color:var(--ink);padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);overscroll-behavior:none;flex-direction:column;display:flex;position:fixed;inset:0}.play-hud{height:var(--touch);grid-template-columns:var(--touch) minmax(0, 1fr) auto;border-bottom:1px solid var(--line);background:var(--deep);flex:none;align-items:center;gap:8px;padding:0 8px 0 4px;display:grid}.play-hud-close{width:var(--touch);height:var(--touch);color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.play-hud-close svg{stroke:currentColor;stroke-width:2px;stroke-linecap:round;fill:none}.play-hud-close:active{background:var(--high)}.play-hud-mid{align-items:center;gap:8px;min-width:0;display:flex}.play-hud-title{font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1rem;font-weight:700;line-height:1.25;overflow:hidden}.play-chip{border:1px solid var(--line);min-height:24px;color:var(--ink-2);border-radius:999px;flex:none;align-items:center;padding:0 10px;font-size:.8125rem;font-weight:500;display:inline-flex}.play-chip-tag{letter-spacing:.04em;font-size:.6875rem;font-weight:700}.play-hud-right{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:700}.play-hud-right .ranked-timer{font:inherit}.play-stage{overscroll-behavior:contain;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex-direction:column;flex:1;align-items:center;min-height:0;padding:16px;display:flex;overflow-y:auto}.play-stage>*{width:100%;max-width:560px}.play-board{--board-size:min(100vw - 32px, 100dvh - 220px)}.play-actions{flex-wrap:wrap;gap:8px;display:flex}.play-countdown{flex:1;place-items:center;min-height:50dvh;display:grid}.play-countdown-number{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:6rem;font-weight:800;line-height:1;animation:1s ease-out both play-count}@keyframes play-count{0%{opacity:0;transform:scale(1.4)}30%{opacity:1}to{opacity:1;transform:scale(1)}}.play-confirm{z-index:60;padding:16px max(16px, env(safe-area-inset-right,0px)) max(16px, env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));background:#05070bcc;place-items:end center;display:grid;position:fixed;inset:0}.play-confirm-card{border:1px solid var(--line);background:var(--deep);border-radius:20px;width:100%;max-width:420px;padding:20px;box-shadow:0 -8px 32px #00000080}.play-confirm-card h2{font-family:var(--font-display);margin:0 0 4px;font-size:1.25rem}.play-confirm-card p{color:var(--ink-2);margin:0 0 16px}.play-confirm-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}@media (min-width:720px){.play-confirm{place-items:center}}@media (prefers-reduced-motion:reduce){.play-countdown-number{animation:none}}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:16px 0 0;padding:0;list-style:none;display:grid}.game-tile{aspect-ratio:3/4;border:1px solid var(--line);background:linear-gradient(160deg, var(--tile-from,var(--raised)), var(--tile-to,var(--deep)));width:100%;max-width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:12px;padding:0;transition:transform .12s ease-out;display:block;position:relative;overflow:hidden}.game-tile:active{transform:scale(.97)}@media (hover:hover){.game-tile:hover{transform:translateY(-2px)}}.game-tile-art{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.game-tile-chip{border:1px solid var(--line);color:var(--ink);background:#080a10c7;border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600;position:absolute;top:8px;left:8px}.game-tile-scrim{background:linear-gradient(#080a1000,#080a10eb 55%);gap:2px;padding:32px 10px 10px;display:grid;position:absolute;inset:auto 0 0}.game-tile-name{font-family:var(--font-display);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1rem;font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.game-tile-meta{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:.8125rem}.sheet-layer{z-index:40;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-backdrop{background:#0009;position:absolute;inset:0}.sheet{overscroll-behavior:contain;border:1px solid var(--line);background:var(--deep);width:100%;max-width:480px;max-height:calc(100dvh - 24px);color:var(--ink);padding-bottom:env(safe-area-inset-bottom,0px);border-bottom:0;border-radius:20px 20px 0 0;animation:.24s ease-out sheet-rise;position:relative;overflow-y:auto}@media (min-width:720px){.sheet-layer{align-items:center}.sheet{border-bottom:1px solid var(--line);border-radius:20px}}@keyframes sheet-rise{0%{opacity:0;transform:translateY(24px)}}@media (prefers-reduced-motion:reduce){.sheet{animation:none}.game-tile{transition:none}}.sheet-close{z-index:1;width:var(--touch);height:var(--touch);border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#080a10c7;border-radius:50%;place-items:center;display:grid;position:absolute;top:8px;right:8px}.sheet-close svg{stroke:currentColor;stroke-width:2px;stroke-linecap:round;fill:none}.sheet-art{aspect-ratio:16/9;max-width:100%;overflow:hidden}.sheet-art img{object-fit:cover;width:100%;height:100%;display:block}.sheet-body{gap:12px;padding:16px;display:grid}.sheet-heading{flex-wrap:wrap;align-items:center;gap:8px;padding-right:56px;display:flex}.sheet-art+.sheet-body .sheet-heading{padding-right:0}.sheet-heading h2{font-family:var(--font-display);margin:0;font-size:1.375rem;line-height:1.2}.sheet-heading h2:focus{outline:none}.chip{border:1px solid var(--line);min-height:24px;color:var(--ink-2);border-radius:999px;align-items:center;padding:0 10px;font-size:.8125rem;display:inline-flex}.sheet-body p{margin:0}.sheet-lead{color:var(--ink-2)}.stat-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.stat-row>div{border:1px solid var(--line);background:var(--raised);border-radius:12px;min-width:0;padding:10px}.stat-row dt{color:var(--ink-2);font-size:.75rem}.stat-row dd{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:1.125rem;font-weight:700}.stat-of{color:var(--ink-2);font-family:inherit;font-size:.8125rem;font-weight:400}.attempt-dots{align-items:center;gap:6px;font-size:.875rem;display:inline-flex}.attempt-dots>span{gap:3px;display:inline-flex}.attempt-dots .dot{border:1px solid var(--ink-2);border-radius:50%;width:8px;height:8px}.attempt-dots .dot.is-left{background:var(--ink);border-color:var(--ink)}.sheet-cost{font-variant-numeric:tabular-nums}.sheet-actions{gap:8px;display:grid}.sheet-actions .button,.sheet-actions .button-link{justify-content:center;width:100%}.sheet-links{flex-wrap:wrap;align-items:center;gap:4px 16px;display:flex}.link-button{min-height:var(--touch);color:var(--ion);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.sheet-links a{min-height:var(--touch);align-items:center;display:inline-flex}.how-ranked{gap:8px;margin:0;padding-left:20px;display:grid}.play-result{width:100%;max-width:480px;margin:0 auto;padding:16px}.hero-card{border:1px solid var(--line);background:var(--deep);border-radius:12px;margin-top:16px;overflow:hidden}@supports (background:color-mix(in srgb, red 10%, blue)){.hero-card .hero-body{background:color-mix(in srgb, var(--hero-tint,var(--deep)) 14%, var(--deep))}}.hero-art{height:120px}.hero-art img{object-fit:cover;width:100%;height:100%;display:block}.hero-body{gap:12px;padding:16px;display:grid}.hero-head{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.hero-title{min-width:0}.hero-title h2{margin:0}.hero-name{min-height:var(--touch);color:var(--ink);font:700 1.25rem/1.2 var(--font-display);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.hero-chev,.game-row-chev{color:var(--ink-3);font-size:1.125rem}.hero-when{color:var(--ink-2);margin:0;font-size:.8125rem}.hero-rank{color:var(--gold);font:800 2.5rem/1.1 var(--font-display);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0}.hero-rank small{color:var(--ink-2);font:500 .8125rem/1 var(--font-text);margin-left:4px}.hero-actions{grid-template-columns:auto 1fr;gap:8px;display:grid}.home-games h2,.rank-strip h2{margin:24px 0 8px;font-size:1rem}.game-rows{gap:8px;margin:0;padding:0;list-style:none;display:grid}.game-row{border:1px solid var(--line);background:var(--deep);width:100%;min-height:72px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:8px 12px 8px 8px;transition:background .12s ease-out;display:flex}.game-row:active{background:var(--high)}.game-row-thumb{border-radius:8px;flex:none;width:56px;height:56px;overflow:hidden}.game-row-thumb img{object-fit:cover;width:100%;height:100%;display:block}.game-row-main{flex:1;gap:2px;min-width:0;display:grid}.game-row-name{font:700 1rem/1.25 var(--font-display);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-row-status{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:.8125rem;display:flex}.game-row-status .attempt-dots{font-size:.8125rem}.game-row-cost{color:var(--ink-2);white-space:nowrap;font-size:.8125rem}.rank-strip-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.live-dot,.final-tag{color:var(--ink-2);align-items:center;gap:6px;margin-top:16px;font-size:.8125rem;display:inline-flex}.live-dot:before{content:"";background:var(--valid);border-radius:50%;width:8px;height:8px}.rank-list{border:1px solid var(--line);background:var(--deep);border-radius:12px;margin:0;padding:0;list-style:none;overflow:hidden}.rank-row{min-height:var(--touch);border-top:1px solid var(--line);grid-template-columns:48px 1fr auto;align-items:center;gap:8px;padding:0 12px;display:grid}.rank-row:first-child{border-top:0}.rank-pos,.rank-score{font:700 1rem/1.25 var(--font-display);font-variant-numeric:tabular-nums}.rank-pos{color:var(--ink-2)}.rank-row.is-you{background:var(--gold-soft)}.rank-row.is-you .rank-pos{color:var(--gold)}.rank-row.is-you .rank-name{font-weight:600}.rank-empty{color:var(--ink-2)}.rank-all{min-height:var(--touch);align-items:center;font-size:.875rem;display:inline-flex}.home-updated{color:var(--ink-3);margin:8px 0 0;font-size:.75rem}.home-skeleton{gap:8px;margin-top:16px;display:grid}.skeleton{background:var(--raised);border-radius:12px;display:block}.skeleton-hero{height:320px}.skeleton-row{height:72px}@media (prefers-reduced-motion:no-preference){.skeleton{animation:1.2s ease-in-out infinite alternate skeleton-pulse}}@keyframes skeleton-pulse{to{opacity:.55}}@media (prefers-reduced-motion:reduce){.game-row{transition:none}}.to-send-notice{border-radius:var(--radius,12px);background:var(--raised);box-shadow:inset 0 0 0 1px var(--line,#ffffff1f);margin:0 0 16px;padding:12px 16px}.to-send-notice a{min-height:var(--touch,48px);align-items:center;font-weight:700;display:inline-flex}.ranked-status .ranked-score{font-size:3.5rem}.result-rank{flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0 0 8px;font-size:1.125rem;display:flex}.result-rank-value{color:var(--gold,#f5c451);font-variant-numeric:tabular-nums;font-weight:800}.result-rank-link{min-height:var(--touch,48px);align-items:center;margin-left:auto;display:inline-flex}.result-attempts{margin:0 0 8px}.ranked-status-actions .button{flex:100%}.checking-spinner{border:3px solid var(--line,#fff3);border-top-color:var(--ink);vertical-align:-.1em;border-radius:50%;width:.9em;height:.9em;margin-right:10px;display:inline-block}@media (prefers-reduced-motion:no-preference){.checking-spinner{animation:.9s linear infinite checking-spin}}@keyframes checking-spin{to{transform:rotate(360deg)}}.star-row{margin-top:16px}.star-row-label{color:var(--muted,inherit);margin:0 0 4px;font-size:.9375rem}.star-row ul{gap:0;margin:0;padding:0;list-style:none;display:flex}.star-row .star{width:var(--touch,48px);height:var(--touch,48px);color:var(--muted,inherit);place-items:center;font-size:1.75rem;text-decoration:none;display:inline-grid}.star-row .star.is-on{color:var(--ink)}button.credits-chip{cursor:pointer;border:0;font-family:inherit}.credits-panel{gap:16px;display:grid}.credits-balance{align-items:center;gap:10px;margin:0;display:flex}.credits-balance-icon{color:var(--gold,#f5c451);flex:none}.credits-balance-number{font-family:var(--font-shout,var(--font-display));font-variant-numeric:tabular-nums;font-size:3rem;font-weight:800;line-height:1}.credits-balance-unit{color:var(--muted,inherit);align-self:flex-end;padding-bottom:6px}.credits-promo{color:var(--muted,inherit);margin:-8px 0 0}.credits-buy{gap:12px;display:grid}.pack-cards{border:0;margin:0;padding:0}.pack-cards-legend{align-items:center;gap:8px;margin-bottom:8px;padding:0;font-weight:700;display:flex}.pack-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.pack-card{border-radius:var(--radius,12px);background:var(--raised);min-height:96px;box-shadow:inset 0 0 0 1px var(--line,#ffffff1f);cursor:pointer;text-align:center;justify-items:center;gap:4px;padding:16px 8px;display:grid;position:relative}.pack-card input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.pack-card-credits{font-family:var(--font-shout,var(--font-display));font-size:1.5rem;font-weight:800}.pack-card-price{color:var(--muted,inherit);font-size:.9375rem}.pack-card:has(input:checked){background:var(--gold-soft);box-shadow:inset 0 0 0 2px var(--gold,#f5c451)}.pack-card:has(input:focus-visible){outline:3px solid var(--focus,#7fe6ff);outline-offset:2px}.credits-buy-button{width:100%}.credits-sandbox-line{color:var(--muted,inherit);text-align:center;margin:0;font-size:.875rem}.game-costs summary{min-height:var(--touch,48px);cursor:pointer;align-items:center;font-weight:700;display:flex}.game-costs dl{gap:4px;margin:0 0 8px;display:grid}.game-costs dl>div{border-bottom:1px solid var(--line,#ffffff1f);justify-content:space-between;gap:12px;padding:6px 0;display:flex}.game-costs dt,.game-costs dd{margin:0}.game-costs dd{font-variant-numeric:tabular-nums}.credits-redeem{margin:0}.credits-redeem a{min-height:var(--touch,48px);align-items:center;display:inline-flex}.credits-skeleton{gap:16px;display:grid}.skeleton-balance{width:50%;height:48px}.skeleton-packs{height:208px}.chip-strip{margin:0 calc(-1 * var(--gutter,16px)) 12px;padding:4px var(--gutter,16px);scrollbar-width:none;overscroll-behavior-x:contain;gap:8px;display:flex;overflow-x:auto}.chip-strip::-webkit-scrollbar{display:none}.chip-filter{min-height:var(--touch,48px);border:1px solid var(--line,#ffffff29);border-radius:var(--radius-pill,999px);color:var(--ink-2,inherit);font:600 .9375rem/1 var(--font-body,inherit);white-space:nowrap;cursor:pointer;background:0 0;flex:none;padding:0 16px}.chip-filter[aria-pressed=true]{background:var(--high,#2a3142);color:var(--ink);border-color:#0000}.segmented{border-radius:var(--radius-pill,999px);background:var(--raised);grid-template-columns:1fr 1fr;gap:4px;margin-bottom:16px;padding:4px;display:grid}.segmented button{min-height:var(--touch,48px);border-radius:var(--radius-pill,999px);color:var(--ink-2,inherit);font:600 .9375rem/1 var(--font-body,inherit);cursor:pointer;background:0 0;border:0}.segmented button[aria-pressed=true]{background:var(--high,#2a3142);color:var(--ink)}.rank-board .rank-row{grid-template-columns:72px 32px 1fr auto;gap:8px;min-height:52px}.rank-initial{background:var(--high,#2a3142);width:32px;height:32px;color:var(--ink);border-radius:50%;place-items:center;font-weight:700;display:grid}.rank-board .rank-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.rank-board .rank-score{text-align:right}.rank-board .rank-row.is-cut{border-bottom:2px solid var(--line-strong,#ffffff4d)}.rank-board .rank-row.is-you{bottom:calc(var(--play-bar-height,76px) + env(safe-area-inset-bottom,0px));z-index:1;background:color-mix(in srgb, var(--gold,#f5c451) 12%, var(--bg,#080a10));position:sticky}.rank-board .rank-row.is-apart{border-top:0;margin-top:8px}.rank-skeleton{gap:8px;display:grid}.skeleton-rank-row{height:52px}.rank-empty{justify-items:start;gap:12px;display:grid}.nickname-choice{border-radius:var(--radius,12px);background:var(--raised);box-shadow:inset 0 0 0 1px var(--line,#ffffff1f);gap:12px;margin-bottom:16px;padding:16px;display:grid}.nickname-choice h2{margin:0;font-size:1.125rem}.nickname-choice p{margin:0}.nickname-choice-actions{gap:8px;display:grid}.nickname-choice-done{color:var(--ink-2,inherit);margin:0 0 16px}.settings-rows{border-radius:var(--radius,12px);background:var(--raised);margin:0 0 24px;padding:0;list-style:none;overflow:hidden}.settings-rows>li+li{border-top:1px solid var(--line,#ffffff1f)}.settings-row{width:100%;min-height:56px;color:var(--ink);font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:8px 16px;text-decoration:none;display:flex}.settings-action{cursor:pointer}.settings-action:hover{background:var(--high,#ffffff0a)}.settings-label{flex:none;font-weight:600}.settings-value{min-width:0;color:var(--ink-2,inherit);text-align:right;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.settings-chevron{fill:none;stroke:var(--ink-2,currentColor);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none}.switch-track{background:var(--line-strong,#ffffff3d);border-radius:13px;flex:none;width:44px;height:26px;position:relative}.switch-thumb{background:var(--ink);border-radius:50%;width:20px;height:20px;position:absolute;top:3px;left:3px}.settings-switch[aria-checked=true] .switch-track{background:var(--cyan,#2ad4f5)}.settings-switch[aria-checked=true] .switch-thumb{background:#06222b;left:21px}@media (prefers-reduced-motion:no-preference){.switch-thumb{transition:left .15s}}.nickname-form{gap:8px;display:grid}.nickname-form .button{margin-top:8px}@media (min-width:1024px){:root{--frame:430px;--frame-left:calc((100% - var(--frame)) / 2)}body{background:var(--void)}.app{width:var(--frame);background:var(--deep);border-inline:1px solid var(--line);margin:0 auto}.play-bar,.play-shell,.play-confirm,.sheet-layer,.update-prompt{left:var(--frame-left);right:var(--frame-left)}.play-bar,.play-shell{border-inline:1px solid var(--line)}.update-prompt{left:calc(var(--frame-left) + 12px);right:calc(var(--frame-left) + 12px)}.sheet{border-bottom:0;border-radius:20px 20px 0 0;max-width:100%}.sheet-layer{align-items:flex-end}.play-board{--board-size:min(var(--frame) - 32px, 100dvh - 220px)}.ts-well{max-width:calc(var(--frame) - 7.5rem)}}html,body,*{touch-action:pan-x pan-y}
