:root{color-scheme:light;--drag-ghost-lift-rem: .9;--page-top: #dfc8ff;--page-bottom: #c0dcff;--bg-surface: rgba(255, 255, 255, .82);--stroke: rgba(110, 185, 220, .7);--fg: #38106a;--stroke-muted: #7a52a0;--accent: #e060b0;--accent-secondary: #48bedd;--gold: #f0c840;--fg-secondary: #7a52a0;--bg-interactive: rgba(255, 255, 255, .82);--fg-link: #48bedd;--shadow: 0 6px 20px rgba(80, 40, 160, .16);--menu-surface: var(--bg-surface);--menu-interactive: var(--bg-interactive);--menu-stroke: var(--stroke);--menu-shadow: var(--shadow);--menu-fg: var(--fg);--menu-muted: var(--fg-secondary);--menu-accent: var(--accent-secondary);--menu-active-fg: var(--menu-surface);--tone-coral: #ffb0cc;--tone-coral-hi: #ffeef5;--tone-coral-lo: #ff9dc4;--tone-gold: #ffe480;--tone-gold-hi: #fffbe8;--tone-gold-lo: #ffe080;--tone-mint: #90e8d0;--tone-mint-hi: #eafff7;--tone-mint-lo: #7adec8;--tone-sky: #60dcf0;--tone-sky-hi: #e8fbff;--tone-sky-lo: #50d8f0;--tone-orchid: #dcd8d2;--tone-orchid-hi: #fefefe;--tone-orchid-lo: #e0dbd6;--bg-bloom-a: rgba(255, 150, 210, .28);--bg-bloom-b: rgba(120, 200, 255, .28);--board-bg: linear-gradient(145deg, rgba(225, 210, 255, .96), rgba(205, 185, 252, .93));--board-cell-bg: rgba(130, 80, 200, .15);--board-cell-border: rgba(110, 60, 180, .2);--board-cell-depth: #3c1478;--board-filled-bg: rgba(80, 130, 190, .18);--bg-modal: linear-gradient(150deg, #f5eeff 0%, #eaf4ff 100%);--bg-overlay: rgba(30, 5, 70, .55);--locked-preview-stroke: var(--accent-secondary);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--board-size: min(38rem, calc(100dvh - 14rem - var(--safe-top) - var(--safe-bottom)), calc(100vw - 24rem) );--board-gap: .2rem;--medal-gold-hi: #fff8d0;--medal-gold: #ffc820;--medal-gold-lo: #c07800;--medal-silver-hi: #f2f2f8;--medal-silver: #b0b0cc;--medal-silver-lo: #686890;--medal-bronze-hi: #ffede0;--medal-bronze: #c86c30;--medal-bronze-lo: #882808;font-size:clamp(16px,1.7vmin,22px);font-family:"Press Start 2P",monospace;line-height:1.5;font-weight:400;color:var(--fg);background:radial-gradient(circle at 12% 12%,var(--bg-bloom-a) 0%,transparent 42%),radial-gradient(circle at 88% 18%,var(--bg-bloom-b) 0%,transparent 38%),linear-gradient(160deg,var(--page-top) 0%,var(--page-bottom) 100%);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;-webkit-user-select:none;user-select:none}html,body,#root{margin:0;min-height:100%;width:100%}html,body{background-color:var(--page-bottom)}body{min-width:0;min-height:100vh;min-height:100svh;min-height:100dvh;overflow-x:clip;overflow-y:auto;background:radial-gradient(circle at 12% 12%,var(--bg-bloom-a) 0%,transparent 42%),radial-gradient(circle at 88% 18%,var(--bg-bloom-b) 0%,transparent 38%),linear-gradient(160deg,var(--page-top) 0%,var(--page-bottom) 100%)}body.is-dragging{overflow:hidden;overscroll-behavior:none}html.is-game-interactive,body.is-game-interactive{overscroll-behavior:none}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(rgba(160,120,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(160,120,255,.13) 1px,transparent 1px);background-size:2rem 2rem}html[data-crt-filter] body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:6000;pointer-events:none;mix-blend-mode:multiply;animation:crtPhosphorDrift 6s steps(1,end) infinite}html[data-crt-filter] .board:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;pointer-events:none;border-radius:inherit;mix-blend-mode:multiply}html[data-crt-filter=soft] body:after{background:radial-gradient(ellipse at center,transparent 45%,rgba(0,0,0,.38) 100%),repeating-linear-gradient(90deg,rgba(255,0,80,.07) 0,rgba(255,0,80,.07) 1px,rgba(0,255,200,.06) 1px,rgba(0,255,200,.06) 2px,transparent 2px,transparent 4px);opacity:.85}html[data-crt-filter=soft] .board:after{background:repeating-linear-gradient(0deg,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 1px,transparent 1px,transparent 3px);opacity:.88}html[data-crt-filter=soft] .app-shell{filter:saturate(1.18) contrast(1.12) brightness(1.06)}html[data-crt-filter=vivid] body:after{background:radial-gradient(ellipse at center,transparent 35%,rgba(0,0,0,.52) 100%),repeating-linear-gradient(90deg,rgba(255,40,90,.16) 0,rgba(255,40,90,.16) 1px,rgba(70,255,110,.14) 1px,rgba(70,255,110,.14) 2px,rgba(60,180,255,.15) 2px,rgba(60,180,255,.15) 3px,transparent 3px,transparent 5px);opacity:.95}html[data-crt-filter=vivid] .board:after{background:repeating-linear-gradient(0deg,rgba(0,0,0,.58) 0,rgba(0,0,0,.58) 1px,transparent 1px,transparent 2px);opacity:1}html[data-crt-filter=vivid] .app-shell{filter:saturate(1.45) contrast(1.22) brightness(1.1) drop-shadow(0 0 .6rem color-mix(in srgb,var(--accent-secondary) 35%,transparent))}@keyframes crtPhosphorDrift{0%{transform:translateY(0)}33%{transform:translateY(1px)}66%{transform:translateY(-1px)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){html[data-crt-filter] body:after{animation:none}}button,input,textarea,select{font:inherit}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;margin:0;border:0;min-width:0}.app-shell{position:relative;z-index:1;width:min(88rem,calc(100% - 2rem));max-width:100%;margin:0 auto;padding:.75rem 0 1.5rem;min-height:100dvh;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:.9rem;overflow:visible}.app-shell.is-game-interactive{overscroll-behavior:none}.hero{position:relative;display:block;min-height:0;padding:0;text-align:center}.site-footer{justify-self:center;display:inline-flex;align-items:center;gap:.18rem;color:color-mix(in srgb,var(--fg) 42%,transparent);font-size:.44rem;letter-spacing:.04em;text-align:center}.site-footer.is-hidden{visibility:hidden;pointer-events:none}.site-footer-link{color:color-mix(in srgb,var(--fg-link) 62%,transparent);text-decoration:none;transition:color .12s ease}.site-footer-link:hover,.site-footer-link:focus-visible{color:color-mix(in srgb,var(--fg-link) 95%,transparent)}.site-footer-separator{margin-left:-.02rem}.site-footer-version{color:color-mix(in srgb,var(--fg) 28%,transparent)}.site-footer-version--button{display:inline-flex;align-items:center;gap:.42rem;background:none;border:none;padding:0;font:inherit;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.site-footer-version--button:hover{color:color-mix(in srgb,var(--fg) 55%,transparent)}.ui-pill-badge,.ui-dot-badge{flex:0 0 auto;pointer-events:none}.ui-pill-badge{display:inline-flex;align-items:center;justify-content:center;min-height:1rem;padding:.04rem .34rem;border-radius:999px;background:#db3159;color:#fff7fb;font-family:"Press Start 2P",monospace;font-size:.42rem;letter-spacing:.04em;line-height:1;text-transform:uppercase;box-shadow:1px 1px #4d081a59}.ui-dot-badge{position:absolute;top:-.14rem;right:-.14rem;width:.52rem;height:.52rem;border-radius:999px;border:2px solid color-mix(in srgb,var(--bg-surface) 86%,white);background:#db3159;box-shadow:0 0 0 1px #ffffff26}.changelog-modal{max-height:min(32rem,calc(100dvh - 5rem))}.changelog-entries{display:grid;gap:1.25rem}.changelog-entry-header{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.5rem}.changelog-version{font-family:"Press Start 2P",monospace;font-size:.55rem;color:var(--accent)}.changelog-date{font-size:.5rem;color:var(--fg-secondary)}.changelog-list{display:grid;gap:.35rem;padding-left:1.1rem}.changelog-item{font-size:.68rem;color:var(--fg);line-height:1.5}.changelog-empty{font-size:.8rem;color:var(--fg-secondary);text-align:center}.update-toast{position:fixed;left:50%;bottom:calc(1rem + max(env(safe-area-inset-bottom),0px));z-index:4600;transform:translate(-50%);width:min(calc(100% - 1.5rem),25rem);display:grid;gap:.65rem;padding:.8rem .9rem;border-radius:.75rem;border:2px solid var(--accent-secondary);background:var(--bg-modal);box-shadow:6px 6px color-mix(in srgb,var(--accent-secondary) 30%,transparent),var(--shadow)}.update-toast-copy{display:grid;gap:.22rem;min-width:0}.update-toast-copy strong{font-family:"Press Start 2P",monospace;font-size:.48rem;letter-spacing:.06em;color:var(--fg)}.update-toast-copy span{color:var(--fg-secondary);font-size:.74rem;line-height:1.35}.update-toast-actions{display:flex;gap:.55rem;justify-content:flex-end}.update-toast-button{min-height:2.2rem;padding:.55rem .85rem;border-radius:.5rem;border:2px solid color-mix(in srgb,var(--stroke-muted) 45%,transparent);background:transparent;color:var(--fg);font-size:.56rem;letter-spacing:.05em;cursor:pointer;transition:transform 80ms ease,border-color .12s ease,background .12s ease,color .12s ease}.update-toast-button:hover,.update-toast-button:focus-visible{transform:translateY(-1px);border-color:var(--accent)}.update-toast-button--primary{border-color:var(--accent-secondary);background:var(--accent-secondary);color:#fff}h1,h2{margin:0;font-family:"Press Start 2P",monospace;line-height:1.4;letter-spacing:.04em}h1{font-size:clamp(1.1rem,5.4vw,2.15rem);margin-top:0;color:#fff;text-shadow:3px 3px 0 var(--accent);animation:titleArcadeGlow 2.6s ease-in-out infinite;pointer-events:none}.game-title{position:relative;display:inline-block;white-space:nowrap}.game-title-wordmark{display:block}.game-title-stamp{position:absolute;right:-.35rem;bottom:.02rem;z-index:1;display:block;padding:.18em .38em .12em;border:2px solid color-mix(in srgb,var(--accent-secondary) 72%,#fff 28%);border-radius:.18rem;background:color-mix(in srgb,var(--accent-secondary) 82%,#8ed7f1 18%);color:#f8fdff;font-size:clamp(.34rem,1.55vw,.52rem);letter-spacing:.08em;line-height:1;text-transform:uppercase;text-shadow:none;box-shadow:0 0 0 1px color-mix(in srgb,#fff 18%,transparent),2px 2px color-mix(in srgb,var(--accent) 60%,transparent);transform:rotate(-11deg);transform-origin:center;opacity:.96}h2{font-size:clamp(.75rem,2vw,1.1rem)}@keyframes titleArcadeGlow{0%,to{filter:drop-shadow(0 0 0 rgba(255,255,255,0));text-shadow:3px 3px 0 var(--accent)}50%{filter:drop-shadow(0 0 .45rem color-mix(in srgb,var(--accent-secondary) 42%,transparent));text-shadow:3px 3px 0 var(--accent),0 0 .55rem color-mix(in srgb,var(--accent-secondary) 38%,transparent)}}@keyframes modalHeaderGlow{0%,to{filter:drop-shadow(0 0 0 rgba(255,255,255,0));text-shadow:2px 2px 0 var(--accent)}50%{filter:drop-shadow(0 0 .3rem color-mix(in srgb,var(--accent-secondary) 42%,transparent));text-shadow:2px 2px 0 var(--accent),0 0 .4rem color-mix(in srgb,var(--accent-secondary) 38%,transparent)}}@media(prefers-reduced-motion:reduce){h1,.how-to-play-modal h2,.leaderboard-modal h2,.settings-panel h2,.mode-select-heading{animation:none}}.section-label{margin:0;font-size:.5rem;letter-spacing:.06em;text-transform:uppercase;color:var(--menu-muted, var(--fg-secondary));font-family:"Press Start 2P",monospace}.game-layout{display:grid;grid-template-columns:minmax(9rem,10.5rem) minmax(0,var(--board-size)) minmax(9rem,10.5rem);gap:1.1rem;justify-content:center;align-items:center;min-height:0}.score-rail,.playfield,.sidebar{min-width:0;min-height:0}.score-rail,.sidebar{display:grid;align-items:center}.score-rail{align-content:center;gap:.85rem}.score-stack{width:100%;display:grid;gap:.45rem;justify-items:center}.playfield{display:grid;justify-items:center;align-content:start}.app-shell.is-game-interactive .playfield,.app-shell.is-game-interactive .board-container,.app-shell.is-game-interactive .sidebar,.app-shell.is-game-interactive .tray,.app-shell.is-game-interactive .drag-dismiss-zone{touch-action:none}.playfield-header{width:min(100%,var(--board-size));display:grid;justify-items:center;margin-bottom:.45rem}.desktop-player-handle{width:100%}.mobile-player-handle{display:none;width:min(100%,var(--board-size));justify-self:center}.score-panel{background:var(--bg-surface);border:2px solid var(--stroke);border-radius:.6rem;box-shadow:4px 4px 0 var(--stroke),var(--shadow);display:grid;align-items:center;grid-template-columns:minmax(0,1fr);row-gap:.85rem;padding:1rem .85rem;width:100%;max-width:10.5rem}.score-panel--button{color:inherit;cursor:pointer;text-align:inherit;transition:border-color .12s ease,filter .12s ease}.score-panel--button:hover,.score-panel--button:focus-visible{border-color:var(--accent-secondary);filter:brightness(1.03)}.score-panel--button:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:4px}.player-handle{margin:-.15rem 0 0;width:100%;box-sizing:border-box;padding-inline:.28rem;justify-self:center;display:flex;align-items:center;justify-content:center;gap:.35rem;color:var(--fg-link);font-size:.72rem;letter-spacing:.04em;line-height:1.35;text-align:center;text-shadow:0 0 10px rgba(72,190,221,.14)}.player-handle-name{flex:0 1 auto;min-width:0;max-width:calc(100% - 2rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-handle-sparkle{flex:0 0 auto;font-size:.78em;line-height:1}html[data-crt-filter] .player-handle{text-shadow:0 0 .16rem rgba(255,255,255,.18),1px 0 0 rgba(17,21,52,.78),-1px 0 0 rgba(17,21,52,.78),0 1px 0 rgba(17,21,52,.9),0 -1px 0 rgba(17,21,52,.54)}html[data-crt-filter] .player-handle-name{padding-inline:2px}html[data-theme=classic][data-crt-filter] .player-handle{text-shadow:0 0 .18rem rgba(255,255,255,.28),1px 0 0 rgba(56,16,106,.82),-1px 0 0 rgba(56,16,106,.82),0 1px 0 rgba(56,16,106,.9),0 -1px 0 rgba(56,16,106,.56)}.profile-trigger,.theme-trigger,.scoreboard-trigger{position:relative;width:100%;max-width:10.5rem;min-height:2.65rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:0 .8rem;border-radius:.55rem;border:2px solid color-mix(in srgb,var(--stroke) 85%,transparent);background:color-mix(in srgb,var(--bg-interactive) 88%,transparent);color:var(--fg-secondary);box-shadow:3px 3px color-mix(in srgb,var(--stroke) 35%,transparent);cursor:pointer;transition:transform 80ms ease,box-shadow 80ms ease,border-color .12s ease,background-color .12s ease,color .12s ease;justify-self:center}.profile-trigger span,.theme-trigger span,.scoreboard-trigger span{font-size:.58rem;letter-spacing:.04em}.profile-trigger:hover,.profile-trigger:focus-visible,.theme-trigger:hover,.theme-trigger:focus-visible,.scoreboard-trigger:hover,.scoreboard-trigger:focus-visible{transform:translate(-1px,-1px);border-color:var(--accent-secondary);box-shadow:4px 4px color-mix(in srgb,var(--accent-secondary) 24%,transparent);color:var(--accent-secondary)}.profile-trigger:focus-visible,.theme-trigger:focus-visible,.scoreboard-trigger:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:4px}.profile-trigger:active,.theme-trigger:active,.scoreboard-trigger:active{transform:translate(1px,1px);box-shadow:2px 2px color-mix(in srgb,var(--accent-secondary) 18%,transparent)}.profile-trigger.is-active,.theme-trigger.is-active,.scoreboard-trigger.is-active{background:color-mix(in srgb,var(--accent-secondary) 14%,transparent);border-color:var(--accent-secondary);color:var(--accent-secondary);box-shadow:4px 4px color-mix(in srgb,var(--accent-secondary) 22%,transparent)}.profile-trigger svg,.theme-trigger svg,.scoreboard-trigger svg{flex:0 0 auto}.leaderboard-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4200;display:grid;place-items:center;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));background:var(--bg-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.leaderboard-modal-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem;width:min(100%,38rem);max-height:min(42rem,calc(100dvh - 2rem))}.leaderboard-modal{position:relative;width:100%;min-width:0;flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:1rem;padding:1.1rem 1rem 0;border-radius:1rem;border:2px solid color-mix(in srgb,var(--stroke-muted) 45%,transparent);background:var(--bg-modal);box-shadow:6px 6px color-mix(in srgb,var(--stroke-muted) 20%,transparent),var(--shadow)}.leaderboard-colour-strip{position:absolute;top:0;left:0;right:0;height:7px;border-radius:1rem 1rem 0 0;background:linear-gradient(90deg,var(--tone-coral) 0% 20%,var(--tone-gold) 20% 40%,var(--tone-mint) 40% 60%,var(--tone-sky) 60% 80%,var(--tone-orchid) 80% 100%)}.leaderboard-modal h2{color:#fff;text-shadow:2px 2px 0 var(--accent);animation:modalHeaderGlow 2.6s ease-in-out infinite}.leaderboard-close{min-height:2rem;padding:0 .75rem;border-radius:.45rem;border:2px solid color-mix(in srgb,var(--stroke-muted) 50%,transparent);background:var(--bg-interactive);color:var(--fg);box-shadow:3px 3px color-mix(in srgb,var(--stroke-muted) 15%,transparent);font-size:.48rem;letter-spacing:.03em;cursor:pointer;transition:transform 80ms ease}.leaderboard-close:hover,.leaderboard-close:focus-visible{transform:translate(-1px,-1px)}.leaderboard-scope-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem;padding:.2rem;border-radius:.65rem;border:1.5px solid color-mix(in srgb,var(--accent-secondary) 35%,transparent);background:color-mix(in srgb,var(--accent-secondary) 7%,transparent)}.leaderboard-scope-option{min-height:2rem;border-radius:.45rem;border:none;background:transparent;color:var(--fg-secondary);cursor:pointer;font-size:.48rem;letter-spacing:.05em;transition:color .1s ease,background .1s ease}.leaderboard-scope-option:hover,.leaderboard-scope-option:focus-visible{color:var(--accent-secondary)}.leaderboard-scope-option.is-active{background:color-mix(in srgb,var(--accent-secondary) 18%,transparent);color:var(--accent-secondary);box-shadow:0 1px 3px color-mix(in srgb,var(--accent-secondary) 20%,transparent),inset 0 1px #fff3}.leaderboard-mode-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.leaderboard-mode-tab{min-height:2rem;border-radius:.28rem;border:2px solid color-mix(in srgb,var(--stroke-muted) 40%,transparent);background:transparent;color:var(--fg-secondary);cursor:pointer;font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;transition:transform 80ms ease,border-color .12s ease,background .12s ease,color .12s ease,box-shadow .12s ease;display:flex;align-items:center;justify-content:center;padding:.3em .5em}.leaderboard-mode-tab:hover,.leaderboard-mode-tab:focus-visible{transform:translateY(-1px)}.leaderboard-mode-tab-eyebrow{font-size:.36rem;letter-spacing:.12em;opacity:.7;text-transform:uppercase}.leaderboard-mode-tab--classic.is-active{background:color-mix(in srgb,var(--accent-secondary) 85%,#8ed7f1 15%);border-color:color-mix(in srgb,var(--accent-secondary) 72%,#fff 28%);color:#f8fdff;box-shadow:2px 2px color-mix(in srgb,var(--accent) 50%,transparent)}.leaderboard-mode-tab--crunch.is-active{background:color-mix(in srgb,var(--accent) 82%,#8ed7f1 18%);border-color:color-mix(in srgb,var(--accent-secondary) 72%,#fff 28%);color:#f8fdff;box-shadow:2px 2px color-mix(in srgb,var(--accent-secondary) 50%,transparent)}.leaderboard-mode-tab--classic:not(.is-active):hover,.leaderboard-mode-tab--classic:not(.is-active):focus-visible{border-color:var(--accent-secondary);color:var(--accent-secondary)}.leaderboard-mode-tab--crunch:not(.is-active):hover,.leaderboard-mode-tab--crunch:not(.is-active):focus-visible{border-color:var(--accent);color:var(--accent)}.leaderboard-mode-tab--popoff.is-active{background:color-mix(in srgb,var(--accent) 58%,var(--accent-secondary) 42%);border-color:color-mix(in srgb,var(--accent) 40%,var(--accent-secondary) 60%);color:#f8fdff;box-shadow:2px 2px color-mix(in srgb,var(--accent) 35%,transparent)}.leaderboard-mode-tab--popoff:not(.is-active):hover,.leaderboard-mode-tab--popoff:not(.is-active):focus-visible{border-color:color-mix(in srgb,var(--accent) 58%,var(--accent-secondary) 42%);color:color-mix(in srgb,var(--accent) 58%,var(--accent-secondary) 42%)}.leaderboard-row.leaderboard-row--popoff{grid-template-columns:2rem minmax(0,1fr) 2.8rem 2.8rem}.leaderboard-popoff-puzzles{font-size:.56rem;color:var(--fg-secondary);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.leaderboard-popoff-delta{font-size:.6rem;font-weight:600;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.leaderboard-popoff-delta--under,.leaderboard-popoff-delta--par{color:#4ade80}.leaderboard-popoff-delta--over{color:#f87171}.leaderboard-panel{display:grid;align-content:start;gap:0;flex:1;min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;padding-bottom:1rem}.leaderboard-section{display:grid;gap:.55rem;min-width:0}.leaderboard-section+.leaderboard-section{margin-top:1rem;padding-top:1rem;border-top:1px solid color-mix(in srgb,var(--stroke-muted) 18%,transparent)}.leaderboard-section--hero{justify-items:center;text-align:center}.leaderboard-section+.leaderboard-section.leaderboard-section--global-list{margin-top:.7rem;padding-top:0;border-top:0}.leaderboard-disclaimer{margin:0;display:grid;justify-items:center;gap:.5rem;color:var(--fg-secondary);font-size:.44rem;letter-spacing:.05em;line-height:1.6;text-align:center}.leaderboard-disclaimer p{margin:0}.leaderboard-disclaimer-cta{min-height:1.45rem;padding:.1rem .12rem;border:0;border-radius:0;background:none;color:var(--accent);box-shadow:none;font-size:.46rem;letter-spacing:.03em;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:4px;transition:color .12s ease}.leaderboard-disclaimer-cta:hover,.leaderboard-disclaimer-cta:focus-visible{color:var(--accent-secondary)}.leaderboard-row--skeleton{opacity:.35}@keyframes leaderboard-row-pop{0%{transform:scale(.7);opacity:0}65%{transform:scale(1.06);opacity:1}to{transform:scale(1);opacity:1}}.leaderboard-row--pop{animation:leaderboard-row-pop .2s ease-out both}.leaderboard-best-score{font-size:clamp(1rem,4vw,1.45rem);color:var(--fg);text-shadow:1px 1px 0 rgba(255,255,255,.5)}.leaderboard-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;min-width:0}.leaderboard-podium-card{display:grid;gap:.18rem;min-width:0;justify-items:center;padding:.75rem .5rem;border-radius:.75rem;text-align:center;background:var(--board-cell-bg);border:1px solid var(--board-cell-border);box-shadow:inset 0 1px 3px #ffffff73,0 1px 3px color-mix(in srgb,var(--board-cell-depth) 10%,transparent)}.leaderboard-podium-card:nth-child(1),.leaderboard-podium-card:nth-child(2),.leaderboard-podium-card:nth-child(3){border:none;box-shadow:inset 0 2px 5px #ffffffa6,inset 0 -2px 4px #0000001a,0 2px 5px color-mix(in srgb,var(--board-cell-depth) 22%,transparent)}.leaderboard-podium-card:nth-child(1){background:radial-gradient(circle at 35% 28%,var(--medal-gold-hi),var(--medal-gold-lo) 85%)}.leaderboard-podium-card:nth-child(2){background:radial-gradient(circle at 35% 28%,var(--medal-silver-hi),var(--medal-silver-lo) 85%)}.leaderboard-podium-card:nth-child(3){background:radial-gradient(circle at 35% 28%,var(--medal-bronze-hi),var(--medal-bronze-lo) 85%)}.leaderboard-hero--global{width:100%;padding:1.1rem .85rem 1rem;border-radius:.75rem;background:radial-gradient(circle at 35% 28%,var(--medal-gold-hi),var(--medal-gold-lo) 85%);border:none;box-shadow:inset 0 3px 8px #ffffffbf,inset 0 -3px 6px #0000001a,0 3px 8px color-mix(in srgb,var(--board-cell-depth) 28%,transparent),0 0 24px color-mix(in srgb,var(--medal-gold) 32%,transparent)}.leaderboard-podium-card:is(:nth-child(1),:nth-child(2),:nth-child(3)) :is(.leaderboard-podium-rank,.leaderboard-podium-score,.leaderboard-meta,.leaderboard-crunch-stat),.leaderboard-hero--global :is(.leaderboard-hero-rank,.leaderboard-best-score,.leaderboard-hero-score,.leaderboard-hero-name,.leaderboard-crunch-stat){color:#140a23d1}.leaderboard-podium-rank{font-size:.46rem;letter-spacing:.08em;color:var(--fg-secondary)}.leaderboard-podium-score{font-size:clamp(.82rem,3vw,1.05rem);color:var(--fg)}.leaderboard-hero{display:grid;justify-items:center;gap:.28rem;text-align:center}.leaderboard-hero--skeleton{opacity:.35}.leaderboard-section--hero{position:relative}.leaderboard-hero-spinner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:7px}.leaderboard-hero-rank{display:inline-flex;align-items:center;justify-content:center;min-height:1.2rem;color:var(--fg-secondary)}.leaderboard-hero-rank svg{filter:drop-shadow(0 1px 0 rgba(255,248,210,.75)) drop-shadow(0 0 .16rem rgba(48,24,0,.42))}.leaderboard-hero-score{font-size:clamp(1.1rem,4.4vw,1.6rem);color:var(--fg);text-shadow:1px 1px 0 rgba(255,255,255,.5)}.leaderboard-hero-name{font-size:.72rem;color:var(--fg-secondary)}.leaderboard-list{list-style:none;margin:0;padding:0;display:grid;gap:.45rem;min-width:0}.leaderboard-row{display:grid;grid-template-columns:2rem minmax(0,1fr) 4.5rem;gap:.6rem;min-width:0;align-items:center;padding:.55rem .75rem;border-radius:.65rem;background:color-mix(in srgb,var(--accent-secondary) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent-secondary) 18%,transparent);box-shadow:inset 0 1px 2px #fff6,0 1px 3px color-mix(in srgb,var(--board-cell-depth) 8%,transparent)}.leaderboard-rank{font-size:.42rem;color:var(--fg-secondary);letter-spacing:.08em}.leaderboard-rank-poxel{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex-shrink:0;border-radius:28%;font-size:.38rem;letter-spacing:.04em;color:#140a239e;--rpox-hi: var(--tone-sky-hi);--rpox-lo: var(--tone-sky-lo);--rpox-fill: var(--tone-sky);background:radial-gradient(circle at 35% 28%,var(--rpox-hi),var(--rpox-lo) 85%);box-shadow:inset 0 2px 5px #ffffffa6,inset 0 -2px 4px #0000001a,0 2px 5px color-mix(in srgb,var(--board-cell-depth) 22%,transparent)}.leaderboard-list-global .leaderboard-rank-poxel[data-rank="1"]{--rpox-hi: var(--medal-gold-hi);--rpox-lo: var(--medal-gold-lo);--rpox-fill: var(--medal-gold);color:#643200b3}.leaderboard-list-global .leaderboard-rank-poxel[data-rank="2"]{--rpox-hi: var(--medal-silver-hi);--rpox-lo: var(--medal-silver-lo);--rpox-fill: var(--medal-silver);color:#28284699}.leaderboard-list-global .leaderboard-rank-poxel[data-rank="3"]{--rpox-hi: var(--medal-bronze-hi);--rpox-lo: var(--medal-bronze-lo);--rpox-fill: var(--medal-bronze);color:#50190099}.leaderboard-score,.leaderboard-name{font-size:.74rem;color:var(--fg)}.leaderboard-score{text-align:right}.leaderboard-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-date{color:var(--fg-secondary);white-space:nowrap;font-size:.62rem}.leaderboard-meta,.leaderboard-empty{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.78rem;line-height:1.4;color:var(--fg-secondary)}.leaderboard-row.is-crunch{grid-template-columns:2rem minmax(0,1fr) auto;row-gap:.1rem;align-items:start}.leaderboard-row.is-crunch .leaderboard-rank-poxel{grid-column:1;grid-row:1 / 3;align-self:center}.leaderboard-row.is-crunch .leaderboard-name,.leaderboard-row.is-crunch .leaderboard-date{grid-column:2;grid-row:1 / 3;align-self:center}.leaderboard-row.is-crunch .leaderboard-score{grid-column:3;grid-row:1;align-self:end}.leaderboard-crunch-stats{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;grid-column:3;grid-row:2;justify-content:flex-end}.leaderboard-hero .leaderboard-crunch-stats,.leaderboard-crunch-stats--podium{grid-column:unset;grid-row:unset;justify-content:center}.leaderboard-crunch-stat{display:inline-flex;align-items:center;gap:.2rem;padding:.12rem .38rem;border-radius:.28rem;background:color-mix(in srgb,var(--accent-secondary) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent-secondary) 24%,transparent);font-size:.44rem;color:var(--fg-secondary);letter-spacing:.03em;white-space:nowrap;line-height:1}.leaderboard-crunch-stat-icon{font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.85em;line-height:1;display:flex;align-items:center}.auth-panel{background:var(--menu-surface, var(--bg-surface));border:2px solid var(--menu-stroke, var(--stroke));border-radius:.6rem;box-shadow:4px 4px 0 var(--menu-stroke, var(--stroke)),var(--menu-shadow, var(--shadow));display:grid;gap:.65rem;padding:.95rem .85rem;width:100%;max-width:10.5rem}.desktop-auth-dialog .auth-panel,.mobile-auth-sheet .auth-panel{max-width:none;background:var(--bg-modal)}.auth-form{display:grid;gap:.65rem}.auth-form-inline{margin-top:.1rem}.auth-copy,.auth-status,.auth-error{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.76rem;line-height:1.45}.auth-copy,.auth-status{color:var(--menu-muted, var(--fg-secondary))}.auth-error{color:#b02268}.auth-field{display:grid;gap:.3rem}.auth-label{font-size:.5rem;letter-spacing:.06em;text-transform:uppercase;color:var(--menu-muted, var(--fg-secondary));font-family:"Press Start 2P",monospace}.auth-input{width:100%;border:2px solid color-mix(in srgb,var(--menu-accent, var(--accent-secondary)) 90%,transparent);border-radius:.45rem;background:color-mix(in srgb,var(--menu-surface, var(--bg-surface)) 72%,white);color:var(--menu-fg, var(--fg));padding:.7rem .8rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.2;-webkit-user-select:text;user-select:text}.auth-input:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 28%,transparent);outline-offset:2px}.auth-code-input{text-align:center;letter-spacing:.3em;font-variant-numeric:tabular-nums}.auth-actions{display:grid;gap:.5rem}.auth-actions-divider{border:none;border-top:1px solid color-mix(in srgb,var(--menu-muted, var(--stroke-muted)) 30%,transparent);margin:.1rem 0}.auth-button,.auth-secondary-button{min-height:2.65rem;border-radius:.45rem;cursor:pointer;transition:transform 80ms ease,box-shadow 80ms ease,opacity .12s ease}.auth-button{background:var(--accent);color:#fff;border:2px solid #fff;box-shadow:4px 4px #1e003259;text-shadow:1px 1px 0 rgba(120,0,60,.35);font-size:.58rem;letter-spacing:.04em}.auth-secondary-button{background:color-mix(in srgb,var(--menu-interactive, var(--bg-interactive)) 88%,white);color:var(--menu-fg, var(--fg));border:2px solid color-mix(in srgb,var(--menu-accent, var(--accent-secondary)) 75%,transparent);box-shadow:3px 3px color-mix(in srgb,var(--menu-accent, var(--accent-secondary)) 20%,transparent);font-size:.54rem;letter-spacing:.03em}.auth-secondary-button--icon{display:inline-flex;align-items:center;justify-content:center;gap:.45rem}.auth-secondary-button--icon svg{flex:0 0 auto;color:currentColor}.auth-button:hover,.auth-button:focus-visible,.auth-secondary-button:hover,.auth-secondary-button:focus-visible{transform:translate(-1px,-1px)}.auth-button:disabled,.auth-secondary-button:disabled{cursor:default;opacity:.65;transform:none}.auth-identity{display:grid;gap:.15rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.auth-identity strong{font-size:.82rem;color:var(--menu-fg, var(--fg))}.auth-identity span{font-size:.74rem;color:var(--menu-muted, var(--fg-secondary));overflow-wrap:anywhere}.settings-panel{background:var(--menu-surface, var(--bg-surface));border:2px solid var(--menu-stroke, var(--stroke));border-radius:.6rem;box-shadow:4px 4px 0 var(--menu-stroke, var(--stroke)),var(--menu-shadow, var(--shadow));display:grid;gap:.85rem;padding:1rem .95rem;width:100%;max-width:12.5rem}.desktop-auth-dialog .settings-panel,.mobile-auth-sheet .settings-panel{max-width:none;background:var(--bg-modal)}.settings-panel h2{color:#fff;text-shadow:2px 2px 0 var(--accent);animation:modalHeaderGlow 2.6s ease-in-out infinite}.run-actions-panel{max-width:12.5rem}.run-actions-copy{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.76rem;line-height:1.45;color:var(--menu-muted, var(--fg-secondary))}.run-actions-buttons,.run-action-modal-buttons{display:grid;gap:.55rem}.run-actions-button{width:100%}.run-actions-button--danger{border-color:color-mix(in srgb,#b02268 70%,transparent);color:#b02268;box-shadow:3px 3px color-mix(in srgb,#b02268 16%,transparent)}.run-actions-button--danger:hover,.run-actions-button--danger:focus-visible{border-color:#b02268;color:#b02268;box-shadow:4px 4px color-mix(in srgb,#b02268 22%,transparent)}.run-action-panel{gap:1rem;overflow:visible}.run-action-confirm{width:100%}.run-action-modal-buttons{width:min(100%,16rem);margin:0 auto}.leaderboard-modal:not(.run-action-modal){min-height:min(32rem,calc(100dvh - 6rem))}.run-action-modal .leaderboard-empty{margin:0;line-height:1.5}.run-action-mode-select{width:100%;justify-content:center}.settings-row{display:grid;gap:.42rem}.settings-group{display:grid;gap:.55rem}.settings-group+.settings-group{border-top:1px solid color-mix(in srgb,var(--menu-muted, var(--fg-secondary)) 22%,transparent);padding-top:.7rem}.settings-group-label{margin:0;color:color-mix(in srgb,var(--menu-muted, var(--fg-secondary)) 70%,transparent);font-family:"Press Start 2P",monospace;font-size:.38rem;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.settings-row-label{font-size:.5rem;letter-spacing:.06em;text-transform:uppercase;color:var(--menu-muted, var(--fg-secondary));font-family:"Press Start 2P",monospace}.settings-row-control{display:flex;align-items:center;gap:.45rem;min-height:1.75rem}.settings-volume-icon{flex:0 0 auto;color:var(--menu-muted, var(--fg-secondary));display:grid;place-items:center}.settings-volume-icon svg{display:block;height:.8rem;width:1rem}.settings-slider{flex:1 1 auto;min-width:0;width:100%;height:1.75rem;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer;accent-color:var(--menu-accent, var(--accent-secondary))}.settings-slider:focus-visible{outline:2px solid var(--menu-accent, var(--accent-secondary));outline-offset:3px}.settings-slider::-webkit-slider-runnable-track{height:.34rem;background:color-mix(in srgb,var(--menu-accent, var(--accent-secondary)) 32%,var(--menu-surface, var(--bg-surface)));border-radius:9999px}.settings-slider::-webkit-slider-thumb{width:1.22rem;height:1.22rem;margin-top:-.44rem;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:2px solid var(--menu-stroke, var(--stroke));border-radius:.24rem;background:var(--menu-accent, var(--accent-secondary));box-shadow:2px 2px 0 var(--menu-stroke, var(--stroke))}.settings-slider::-moz-range-track{height:.34rem;background:color-mix(in srgb,var(--menu-accent, var(--accent-secondary)) 32%,var(--menu-surface, var(--bg-surface)));border-radius:9999px}.settings-slider::-moz-range-thumb{width:1.22rem;height:1.22rem;border:2px solid var(--menu-stroke, var(--stroke));border-radius:.24rem;background:var(--menu-accent, var(--accent-secondary));box-shadow:2px 2px 0 var(--menu-stroke, var(--stroke))}.settings-segmented{display:flex;width:100%;border-radius:4px;overflow:hidden;border:1.5px solid color-mix(in srgb,var(--menu-accent, var(--accent-secondary)) 55%,var(--menu-surface, var(--bg-surface)))}.settings-segmented-btn{flex:1;padding:.52rem .1rem;font-family:"Press Start 2P",monospace;font-size:.42rem;letter-spacing:.03em;color:var(--menu-muted, var(--fg-secondary));background:transparent;border:none;border-left:1px solid color-mix(in srgb,var(--menu-accent, var(--accent-secondary)) 35%,var(--menu-surface, var(--bg-surface)));cursor:pointer;transition:background .12s,color .12s;line-height:1}.settings-segmented-btn:first-child{border-left:none}.settings-segmented-btn:hover:not(.is-active){background:color-mix(in srgb,var(--menu-accent, var(--accent-secondary)) 12%,transparent)}.settings-segmented-btn.is-active{background:var(--menu-accent, var(--accent-secondary));color:var(--menu-active-fg, #fff)}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;background:none;border:none;padding:0;text-align:left;cursor:pointer}.settings-toggle-row:focus-visible{outline:2px solid var(--menu-accent, var(--accent-secondary));outline-offset:4px;border-radius:4px}.settings-toggle-label{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.76rem;color:var(--menu-muted, var(--fg-secondary));line-height:1.4}.settings-toggle{flex-shrink:0;position:relative;width:2.2rem;height:1.1rem;border-radius:.22rem;border:1.5px solid color-mix(in srgb,var(--menu-accent, var(--accent-secondary)) 45%,var(--menu-surface, var(--bg-surface)));background:color-mix(in srgb,var(--menu-accent, var(--accent-secondary)) 16%,var(--menu-surface, var(--bg-surface)));transition:background .14s,border-color .14s}.settings-toggle:after{content:"";position:absolute;top:2px;left:2px;width:calc(1.1rem - 7px);height:calc(1.1rem - 7px);border-radius:.14rem;background:color-mix(in srgb,var(--menu-muted, var(--fg-secondary)) 65%,transparent);transition:transform .14s ease,background .14s}.settings-toggle-row.is-on .settings-toggle{background:var(--menu-accent, var(--accent-secondary));border-color:var(--menu-accent, var(--accent-secondary))}.settings-toggle-row.is-on .settings-toggle:after{transform:translate(calc(1.1rem + 1px));background:var(--menu-active-fg, #fff)}.score-stat{display:grid;justify-items:center;text-align:center;position:relative}.crunch-board-time-bonus{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:"Press Start 2P",monospace;font-size:clamp(.95rem,4.2vw,1.4rem);line-height:1;color:#fff;text-shadow:3px 3px 0 rgba(23,49,85,.82);white-space:nowrap;pointer-events:none;animation:crunchTimeBonusFloat 1.45s linear forwards;z-index:5}.crunch-phase-cue{position:absolute;left:50%;top:50%;width:calc(100% - 1.6rem);transform:translate(-50%,-50%);font-family:"Press Start 2P",monospace;font-size:clamp(1.05rem,5vw,1.7rem);line-height:1;letter-spacing:.12em;text-align:center;color:#fff;text-shadow:0 0 18px color-mix(in srgb,var(--accent-secondary) 42%,transparent),4px 4px 0 rgba(13,27,54,.5);pointer-events:none;animation:crunchPhaseCueFloat 1.4s ease forwards;z-index:6}.crunch-start-countdown{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:"Press Start 2P",monospace;font-size:clamp(2.6rem,16vw,5.1rem);line-height:1;color:#fff;text-shadow:0 0 20px color-mix(in srgb,var(--accent-secondary) 44%,transparent),5px 5px 0 rgba(13,27,54,.58);pointer-events:none;animation:crunchStartCountdownPop .62s ease forwards;z-index:7}html[data-theme=tinted] .crunch-board-time-bonus,html[data-theme=tinted-plus-plus] .crunch-board-time-bonus{padding:.28rem .46rem;border-radius:.18rem;color:#0b2a4d;background:#fffffff0;box-shadow:0 0 0 2px #005e94b8,3px 3px #0b2a4d38;text-shadow:none}.score-value.is-crunch-time-bonus{animation:crunchTimerBonusPulse .42s cubic-bezier(.2,.9,.25,1)}@keyframes crunchTimeBonusFloat{0%{opacity:0;transform:translate(-50%,.1rem) scale(.72)}12%{opacity:1;transform:translate(-50%) scale(1.12)}72%{opacity:1;transform:translate(-50%) scale(1)}84%{opacity:.96;transform:translate(-50%,-.6rem) scale(.98)}to{opacity:0;transform:translate(-50%,-1.8rem) scale(.9)}}@keyframes crunchTimerBonusPulse{0%{transform:scale(1);color:inherit}35%{transform:scale(1.16);color:var(--tone-mint);text-shadow:0 0 14px color-mix(in srgb,var(--tone-mint) 55%,transparent),3px 3px 0 rgba(50,0,70,.25)}to{transform:scale(1)}}@keyframes crunchPhaseCueFloat{0%{opacity:0;transform:translate(-50%,calc(-50% + .48rem)) scale(.84)}8%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}18%{opacity:1;transform:translate(-50%,-50%) scale(1)}72%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,calc(-50% - 1.7rem)) scale(.96)}}@keyframes crunchStartCountdownPop{0%{opacity:0;transform:translate(-50%,calc(-50% + .4rem)) scale(.82)}12%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}72%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,calc(-50% - .75rem)) scale(.96)}}@keyframes crunchPhaseBorderSurge{0%{border-color:var(--accent-secondary);box-shadow:5px 5px 0 var(--accent-secondary),var(--shadow),inset 0 2px 8px color-mix(in srgb,var(--board-cell-depth) 12%,transparent)}18%{border-color:color-mix(in srgb,#ffffff 44%,var(--accent-secondary));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-secondary) 44%,transparent),5px 5px color-mix(in srgb,#ffffff 26%,var(--accent-secondary)),var(--shadow),inset 0 2px 8px color-mix(in srgb,var(--board-cell-depth) 12%,transparent)}to{border-color:var(--accent-secondary);box-shadow:5px 5px 0 var(--accent-secondary),var(--shadow),inset 0 2px 8px color-mix(in srgb,var(--board-cell-depth) 12%,transparent)}}.board-container{position:relative;width:min(100%,var(--board-size));margin:0 auto}.board{position:relative;--board-radius: .6rem;--crunch-perimeter-progress: 0;display:grid;grid-template-columns:repeat(8,1fr);gap:var(--board-gap);width:100%;padding:.55rem;overflow:hidden;border-radius:var(--board-radius);background:var(--board-bg);border:3px solid var(--accent-secondary);box-shadow:5px 5px 0 var(--accent-secondary),var(--shadow),inset 0 2px 8px color-mix(in srgb,var(--board-cell-depth) 12%,transparent);touch-action:none;contain:layout paint style;isolation:isolate}.board.has-crunch-perimeter:before,.board.has-crunch-perimeter:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:calc(var(--board-radius) - 3px);padding:4px;pointer-events:none;z-index:3;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.board.has-crunch-perimeter:before{background:color-mix(in srgb,var(--accent) 18%,transparent);opacity:.95}.board.has-crunch-perimeter:after{background:conic-gradient(from 0deg,var(--accent) calc(var(--crunch-perimeter-progress) * 1turn),transparent 0);filter:drop-shadow(0 0 5px color-mix(in srgb,var(--accent) 42%,transparent))}.board,.tray,.piece-button,.board-cell,.drag-ghost{-webkit-touch-callout:none}.board-cell{position:relative;display:block;width:100%;aspect-ratio:1;border-radius:.15rem;background:var(--board-cell-bg);border:1px solid var(--board-cell-border);box-shadow:inset 0 2px 4px color-mix(in srgb,var(--board-cell-depth) 22%,transparent),inset 0 1px 2px color-mix(in srgb,var(--board-cell-depth) 12%,transparent),inset 1px 0 2px color-mix(in srgb,var(--board-cell-depth) 8%,transparent);transition:transform .14s ease,background-color .14s ease,box-shadow .14s ease,opacity .16s ease}.piece-cell.is-solid{border-radius:28%;box-shadow:inset 0 2px 5px #ffffffa6,inset 0 -2px 4px #0000001a,2px 2px #0000001a}.board-cell.is-filled{background:var(--board-filled-bg);border-radius:.15rem;box-shadow:inset 0 2px 4px color-mix(in srgb,var(--board-cell-depth) 22%,transparent),inset 0 1px 2px color-mix(in srgb,var(--board-cell-depth) 12%,transparent),inset 1px 0 2px color-mix(in srgb,var(--board-cell-depth) 8%,transparent)}.board-cell.is-filled:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:28%;background:var(--cell-bg);box-shadow:inset 0 2px 5px #ffffffa6,inset 0 -2px 4px #0000001a,0 2px 5px color-mix(in srgb,var(--board-cell-depth) 22%,transparent);pointer-events:none}.tone-coral{--tone-fill: var(--tone-coral);--cell-bg: radial-gradient(circle at 35% 28%, var(--tone-coral-hi), var(--tone-coral-lo) 85%)}.tone-gold{--tone-fill: var(--tone-gold);--cell-bg: radial-gradient(circle at 35% 28%, var(--tone-gold-hi), var(--tone-gold-lo) 85%)}.tone-mint{--tone-fill: var(--tone-mint);--cell-bg: radial-gradient(circle at 35% 28%, var(--tone-mint-hi), var(--tone-mint-lo) 85%)}.tone-sky{--tone-fill: var(--tone-sky);--cell-bg: radial-gradient(circle at 35% 28%, var(--tone-sky-hi), var(--tone-sky-lo) 85%)}.tone-orchid{--tone-fill: var(--tone-orchid);--cell-bg: radial-gradient(circle at 35% 28%, var(--tone-orchid-hi), var(--tone-orchid-lo) 85%)}.piece-cell.tone-coral,.piece-cell.tone-gold,.piece-cell.tone-mint,.piece-cell.tone-sky,.piece-cell.tone-orchid,.board-preview-cell.tone-coral,.board-preview-cell.tone-gold,.board-preview-cell.tone-mint,.board-preview-cell.tone-sky,.board-preview-cell.tone-orchid{background:var(--cell-bg)}.board-cell.is-game-fill:before{animation:cellFillIn .18s ease-out forwards}@keyframes crunchWarnBorderPulse{0%,to{border-color:var(--accent);box-shadow:5px 5px 0 var(--accent),var(--shadow),inset 0 2px 8px color-mix(in srgb,var(--board-cell-depth) 12%,transparent),0 0 18px 2px color-mix(in srgb,var(--accent) 70%,white)}38%{border-color:var(--accent);box-shadow:5px 5px 0 var(--accent),var(--shadow),inset 0 2px 8px color-mix(in srgb,var(--board-cell-depth) 12%,transparent)}}.board.is-crunch-warning{animation:crunchWarnBorderPulse var(--crunch-warning-pulse-duration, .55s) ease-in-out infinite}.board.has-crunch-perimeter.is-crunch-warning:after{animation:crunchPerimeterPulse var(--crunch-warning-pulse-duration, .55s) ease-in-out infinite}.board.is-crunch-phase-shift{animation:crunchPhaseBorderSurge .68s ease-out 1}.board.is-crunch-critical{animation:crunchWarnBorderPulse .32s ease-in-out infinite}.board.has-crunch-perimeter.is-crunch-critical:after{animation:crunchPerimeterCriticalPulse .32s ease-in-out infinite}@keyframes crunchTimerBlink{0%,16%{opacity:1}48%,84%{opacity:.15}to{opacity:1}}.score-value.is-crunch-warning-value{animation:crunchTimerBlink var(--crunch-warning-pulse-duration, .55s) step-start infinite}.board.warning-step-3,.score-value.warning-step-3,.board.warning-step-2,.score-value.warning-step-2{--crunch-warning-pulse-duration: 1s}.board.warning-step-1,.score-value.warning-step-1{--crunch-warning-pulse-duration: .5s}@keyframes crunchPerimeterPulse{0%,to{opacity:1;filter:drop-shadow(0 0 18px color-mix(in srgb,var(--accent) 70%,transparent))}38%{opacity:1;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--accent) 42%,transparent))}}@keyframes crunchPerimeterCriticalPulse{0%,to{opacity:1;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--danger) 35%,transparent)) drop-shadow(0 0 12px color-mix(in srgb,var(--accent) 42%,transparent))}50%{opacity:1;filter:drop-shadow(0 0 12px color-mix(in srgb,var(--danger) 60%,transparent)) drop-shadow(0 0 22px color-mix(in srgb,var(--accent) 72%,transparent))}}@keyframes crunchClearWarn{0%{transform:translate(0) scale(1)}12%{transform:translate(-2px,1px) scale(1.02)}24%{transform:translate(1.5px,-1.5px) scale(1)}38%{transform:translate(.5px,2px) scale(1.02)}50%{transform:translate(-1.5px,.5px) scale(1)}62%{transform:translate(2px,-.5px) scale(1.02)}74%{transform:translate(-1px,1px) scale(1)}86%{transform:translate(1px,.5px) scale(1.01)}to{transform:translate(0) scale(1)}}@keyframes crunchClearWarnWall{0%,to{filter:brightness(1)}40%{filter:brightness(1.55)}80%{filter:brightness(1.25)}}.board-cell.is-crunch-pending-clear:not(.is-crunch-wall):before{animation:crunchClearWarn .32s linear infinite;filter:brightness(1.14) saturate(1.24);will-change:transform;backface-visibility:hidden}.board-cell.is-crunch-pending-clear.is-crunch-wall{animation:crunchClearWarnWall 145ms ease-in-out infinite}.board-cell.is-crunch-critical-cell.is-crunch-wall{z-index:2;animation:crunchClearWarn .32s linear infinite;animation-delay:calc(-1 * var(--rumble-offset, 0ms));filter:brightness(1.2) saturate(1.25);will-change:transform;backface-visibility:hidden}@keyframes crunchWallSlideInL{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes crunchWallSlideInR{0%{transform:translate(100%)}to{transform:translate(0)}}.board-cell.is-crunch-wall-l.is-game-fill{animation:crunchWallSlideInL .18s cubic-bezier(.15,0,0,1) forwards}.board-cell.is-crunch-wall-r.is-game-fill{animation:crunchWallSlideInR .18s cubic-bezier(.15,0,0,1) forwards}.board-cell.is-crunch-critical-cell.is-crunch-wall.is-game-fill{animation:crunchClearWarn .32s linear infinite;animation-delay:calc(-1 * var(--rumble-offset, 0ms))}.board-cell.is-crunch-wall.is-game-fill:before{animation:none}@keyframes pushSlideInL{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes pushSlideInR{0%{transform:translate(100%)}to{transform:translate(0)}}.board-cell.is-push-l.is-filled:before{animation:pushSlideInL .16s cubic-bezier(.2,0,0,1) forwards}.board-cell.is-push-r.is-filled:before{animation:pushSlideInR .16s cubic-bezier(.2,0,0,1) forwards}.board-cell.is-crunch-wall.is-filled{background:color-mix(in srgb,var(--accent-secondary) 80%,black);border-color:color-mix(in srgb,var(--accent-secondary) 55%,black);border-radius:.1rem;box-shadow:inset 0 1px #ffffff1f,inset 0 -2px #0000004d}.board-cell.is-crunch-wall.is-filled:before{border-radius:.1rem;background:repeating-linear-gradient(-45deg,transparent,transparent 4px,rgba(0,0,0,.15) 4px,rgba(0,0,0,.15) 5px);box-shadow:none;animation:none!important}@keyframes cellFillIn{0%{transform:scale(0)}65%{transform:scale(1.15)}to{transform:scale(1)}}.board-cell.was-cleared{pointer-events:none;overflow:visible}.board-cell.was-cleared:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;--pop-radius: 28%;border-radius:var(--pop-radius);background:var(--cell-bg, rgba(200, 200, 200, .8));box-shadow:inset 0 2px 4px #ffffff85,inset 0 -2px 3px #00000014;border:0 solid color-mix(in srgb,var(--tone-fill) 72%,white 28%);pointer-events:none;animation:bubblePop var(--clear-duration, .64s) ease-out var(--clear-delay, 0ms) forwards;will-change:transform,opacity;backface-visibility:hidden}.board-cell.was-cleared:after{content:"";position:absolute;top:50%;left:50%;width:1px;height:1px;margin:-.5px 0 0 -.5px;border-radius:999px;background:transparent;pointer-events:none;transform-origin:center center;animation:bubbleSplash var(--clear-duration, .64s) ease-out var(--clear-delay, 0ms) forwards;will-change:transform,opacity;backface-visibility:hidden}@keyframes bubblePop{0%{transform:scale(1);opacity:1;border-radius:var(--pop-radius, 28%);background:var(--cell-bg, rgba(200, 200, 200, .8));border-width:0px}10%{transform:scale(1.1);opacity:1;border-radius:50%;background:var(--cell-bg, rgba(200, 200, 200, .8));border-width:0px}18%{transform:scale(1.08);opacity:.88;background:var(--cell-bg, rgba(200, 200, 200, .8));border-width:0}26%{transform:scale(1.12);opacity:.34;background:var(--cell-bg, rgba(200, 200, 200, .8));border-width:0}36%{transform:scale(1.16);opacity:0;background:transparent;border-width:0}to{transform:scale(1.18);opacity:0;background:transparent;border-width:0}}@keyframes bubbleSplash{0%,16%{opacity:0;transform:translate(-50%,-50%) rotate(var(--splash-rotation, 0deg)) scale(.1);box-shadow:0 0 #fff0,0 0 #fff0,0 0 #fff0,0 0 #fff0,0 0 #fff0,0 0 #fff0}22%{opacity:.62;transform:translate(-50%,-50%) rotate(var(--splash-rotation, 0deg)) scale(calc(var(--splash-scale-x, 1) * 1.08),calc(var(--splash-scale-y, 1) * 1.1));box-shadow:0 -18px 0 1.4px color-mix(in srgb,var(--tone-fill) 68%,white 32%),16px -9px 0 .28px color-mix(in srgb,var(--tone-fill) 63%,white 37%),16px 9px 0 1.2px color-mix(in srgb,var(--tone-fill) 61%,white 39%),0 18px 0 .22px color-mix(in srgb,var(--tone-fill) 60%,white 40%),-16px 9px 0 1.2px color-mix(in srgb,var(--tone-fill) 59%,white 41%),-16px -9px 0 .28px color-mix(in srgb,var(--tone-fill) 63%,white 37%)}30%{opacity:1;transform:translate(-50%,-50%) rotate(var(--splash-rotation, 0deg)) scale(calc(var(--splash-scale-x, 1) * 1.1),calc(var(--splash-scale-y, 1) * 1.12))}42%{opacity:.74;transform:translate(-50%,-50%) rotate(var(--splash-rotation, 0deg)) scale(calc(var(--splash-scale-x, 1) * 1.14),calc(var(--splash-scale-y, 1) * 1.18));box-shadow:0 -19px 0 .6px color-mix(in srgb,var(--tone-fill) 56%,white 44%),16px -10px 0 -.34px color-mix(in srgb,var(--tone-fill) 53%,white 47%),16px 10px 0 .5px color-mix(in srgb,var(--tone-fill) 51%,white 49%),0 19px 0 -.38px color-mix(in srgb,var(--tone-fill) 50%,white 50%),-16px 10px 0 .5px color-mix(in srgb,var(--tone-fill) 49%,white 51%),-16px -10px 0 -.34px color-mix(in srgb,var(--tone-fill) 50%,white 50%)}62%{opacity:.22;transform:translate(-50%,-50%) rotate(var(--splash-rotation, 0deg)) scale(calc(var(--splash-scale-x, 1) * 1.28),calc(var(--splash-scale-y, 1) * 1.32));box-shadow:0 -22px 0 -.2px color-mix(in srgb,var(--tone-fill) 34%,white 66%),19px -11px 0 -.82px color-mix(in srgb,var(--tone-fill) 31%,white 69%),19px 11px 0 -.28px color-mix(in srgb,var(--tone-fill) 29%,white 71%),0 22px 0 -.86px color-mix(in srgb,var(--tone-fill) 30%,white 70%),-19px 11px 0 -.28px color-mix(in srgb,var(--tone-fill) 29%,white 71%),-19px -11px 0 -.8px color-mix(in srgb,var(--tone-fill) 30%,white 70%)}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--splash-rotation, 0deg)) scale(calc(var(--splash-scale-x, 1) * 1.6),calc(var(--splash-scale-y, 1) * 1.48));box-shadow:0 -24px 0 -1.1px #fff0,21px -12px 0 -1.2px #fff0,21px 12px 0 -1.16px #fff0,0 24px 0 -1.22px #fff0,-21px 12px 0 -1.28px #fff0,-21px -12px 0 -1.24px #fff0}}.board-cell.will-clear,.board-cell.is-drag-will-clear{z-index:1}.board-cell.will-clear:before,.board-cell.is-drag-will-clear:before{animation:willClearRumble .8s linear infinite;animation-delay:calc(-1 * var(--rumble-offset, 0ms));filter:brightness(1.14) saturate(1.24);will-change:transform;backface-visibility:hidden}@keyframes willClearRumble{0%{transform:translate(0) scale(1)}12%{transform:translate(-2px,1px) scale(1.02)}22%{transform:translate(1.5px,-1.5px) scale(1)}35%{transform:translate(.5px,2px) scale(1.02)}47%{transform:translate(-1.5px,.5px) scale(1)}58%{transform:translate(2px,-1px) scale(1.02)}70%{transform:translate(-1px,-2px) scale(1)}82%{transform:translate(1.5px,1px) scale(1.02)}to{transform:translate(0) scale(1)}}.board-cell.is-locked-preview{z-index:1}.board-cell.is-locked-preview:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:28%;background:var(--cell-bg);opacity:.5;pointer-events:none}@keyframes lockedPreviewStrokePulse{0%,to{stroke-opacity:.12}50%{stroke-opacity:.92}}.locked-preview-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:2}.locked-preview-svg path{fill:none;stroke:var(--locked-preview-stroke);stroke-width:2.5;stroke-linejoin:round;animation:lockedPreviewStrokePulse 1.2s ease-in-out infinite}html[data-theme=tinted] .board-cell.is-locked-preview:before{opacity:.88}html[data-theme=tinted-plus-plus] .board-cell.is-locked-preview:after{content:var(--tone-symbol, "");position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-family:var(--tone-symbol-font);font-weight:700;font-size:var(--tone-symbol-size, 1.5rem);line-height:1;letter-spacing:0;text-align:center;color:var(--tone-symbol-ink);transform:translateY(var(--tone-symbol-offset-y));pointer-events:none;z-index:2}.sound-icon-button svg{display:block}.sound-icon-button{position:relative;z-index:2;width:2.2rem;height:2.2rem;display:flex;align-items:center;justify-content:center;border-radius:4px;border:2px solid var(--stroke);background:var(--bg-interactive);color:var(--fg-secondary);cursor:pointer;transition:background-color .14s ease,border-color .14s ease,transform .14s ease,color .14s ease}.hero-auth-button,.hero-theme-button,.hero-info-button,.hero-sound-button{position:absolute;top:50%;width:2.2rem;height:2.2rem;min-width:2.2rem;padding:0;display:flex;align-items:center;justify-content:center;transform:translateY(-50%)}.hero-sound-button{right:0}.hero-auth-button{display:none;left:0}.hero-theme-button{display:none;left:2.6rem}.sound-icon-button:hover,.sound-icon-button:focus-visible{transform:translateY(-1px);border-color:var(--accent-secondary)}.hero-sound-button:hover,.hero-sound-button:focus-visible{transform:translateY(calc(-50% - 1px))}.hero-auth-button:hover,.hero-auth-button:focus-visible,.hero-theme-button:hover,.hero-theme-button:focus-visible{transform:translateY(calc(-50% - 1px))}.sound-icon-button.is-active{background:color-mix(in srgb,var(--accent-secondary) 15%,transparent);border-color:var(--accent-secondary);color:var(--accent-secondary)}.hero-theme-button .ui-dot-badge{top:-.18rem;right:-.18rem}.hero-info-button{right:2.6rem}.hero-info-button:hover,.hero-info-button:focus-visible{transform:translateY(calc(-50% - 1px))}.info-icon-letter{font-family:Georgia,Times New Roman,serif;font-style:italic;font-size:1rem;font-weight:700;line-height:1}.how-to-play-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5000;display:grid;place-items:center;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));background:var(--bg-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.how-to-play-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem;width:min(100%,26rem)}.how-to-play-modal{position:relative;width:100%;overflow:auto;max-height:calc(100dvh - 5rem);display:grid;gap:1rem;padding:1.1rem 1rem 1rem;border-radius:1rem;border:2px solid color-mix(in srgb,var(--stroke) 85%,transparent);background:var(--bg-modal);box-shadow:6px 6px color-mix(in srgb,var(--stroke) 35%,transparent),var(--shadow)}.how-to-play-modal h2{color:#fff;text-shadow:2px 2px 0 var(--accent);animation:modalHeaderGlow 2.6s ease-in-out infinite}.how-to-play-steps{display:grid;gap:.85rem}.how-to-play-step{display:flex;gap:.85rem;align-items:flex-start}.how-to-play-step .mini-board,.how-to-play-step .how-to-play-combo-badges{margin-top:1.35rem}.how-to-play-step-body{display:grid;gap:.3rem;align-content:start}.how-to-play-step-title{font-size:.58rem;color:var(--accent);letter-spacing:.04em}.how-to-play-step p,.how-to-play-step--popoff p{font-size:.5rem;color:var(--fg);line-height:1.7;letter-spacing:.02em}.how-to-play-pts{color:var(--fg-link)!important}.how-to-play-footer{font-size:.46rem;color:color-mix(in srgb,var(--fg) 58%,transparent);text-align:center;border-top:1px solid color-mix(in srgb,var(--stroke) 55%,transparent);border-bottom:1px solid color-mix(in srgb,var(--stroke) 40%,transparent);padding-top:.75rem;padding-bottom:.75rem;letter-spacing:.02em;line-height:1.7}.how-to-play-credit{font-size:.42rem;color:color-mix(in srgb,var(--fg) 40%,transparent);text-align:center;letter-spacing:.02em}.how-to-play-steps--popoff{gap:0}.how-to-play-step--popoff{display:grid;grid-template-columns:5rem 1fr;gap:.75rem;align-items:center;padding:.75rem 0}.how-to-play-step--popoff:first-child{border-top:none;padding-top:0}.how-to-play-step-visual{display:flex;align-items:center;justify-content:center}.stats-modal .stats-list{display:grid;gap:0;margin:0;padding:0;list-style:none;border-radius:.5rem;overflow:hidden;border:1px solid color-mix(in srgb,var(--stroke) 55%,transparent)}.stats-modal .stats-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.55rem .75rem;background:color-mix(in srgb,var(--bg-surface) 86%,white)}.stats-modal .stats-row+.stats-row{border-top:1px solid color-mix(in srgb,var(--stroke) 45%,transparent)}.stats-modal .stats-row dt{font-size:.5rem;color:color-mix(in srgb,var(--fg) 66%,transparent);letter-spacing:.02em}.stats-modal .stats-row dd{font-size:.55rem;font-weight:700;color:var(--fg);margin:0}.stats-share-btn{align-self:stretch;margin-top:.6rem;min-height:2.65rem;border-radius:.45rem;border:2px solid #fff;background:var(--accent);color:#fff;box-shadow:4px 4px #1e00324d;text-shadow:1px 1px 0 rgba(120,0,60,.3);font-size:.52rem;letter-spacing:.04em;cursor:pointer;transition:transform 80ms ease,box-shadow 80ms ease,opacity .12s ease}.stats-share-btn:hover,.stats-share-btn:focus-visible{transform:translate(-1px,-1px);box-shadow:5px 5px #1e00324d}.stats-share-btn:disabled{opacity:.65;cursor:default;transform:none;box-shadow:4px 4px #1e00324d}.mini-board{flex:0 0 auto;display:grid;gap:2px;padding:4px;width:4.2rem;height:4.2rem;background:var(--board);border-radius:4px;border:2px solid color-mix(in srgb,var(--stroke) 85%,transparent);box-shadow:3px 3px color-mix(in srgb,var(--stroke) 35%,transparent)}.mini-cell{border-radius:2px;background:color-mix(in srgb,var(--board-cell-bg) 90%,transparent)}.mini-cell--coral{background:var(--tone-coral)}.mini-cell--gold{background:var(--tone-gold);box-shadow:0 0 3px #ffc80099}.mini-cell--mint{background:var(--tone-mint)}.mini-cell--sky{background:var(--tone-sky)}.mini-cell--orchid{background:var(--tone-orchid)}.mini-cell--wall{background:color-mix(in srgb,var(--accent-secondary) 80%,black);border-radius:1px;box-shadow:inset 0 1px #ffffff1f,inset 0 -2px #0000004d;position:relative;overflow:hidden}.mini-cell--wall:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(-45deg,transparent,transparent 3px,rgba(0,0,0,.18) 3px,rgba(0,0,0,.18) 4px)}.how-to-play-combo-badges{flex:0 0 auto;width:4.2rem;height:4.2rem;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:.3rem}.how-to-play-badge{font-size:.56rem;color:var(--fg);background:color-mix(in srgb,var(--bg-surface) 12%,transparent);border:1px solid color-mix(in srgb,var(--stroke-muted) 35%,transparent);border-radius:.3rem;padding:.2rem 0;text-align:center;letter-spacing:.04em}.how-to-play-poxel{display:inline-block;width:.9rem;height:.9rem;border-radius:.18rem;background:var(--tone-coral);box-shadow:inset 0 1px #ffffff4d,inset 0 -2px #0000002e;vertical-align:middle}.how-to-play-poxel-count{display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.how-to-play-badge--hot{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.desktop-auth-panel{width:100%;display:grid;gap:.7rem;justify-items:center}.desktop-auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;display:grid;place-items:center;padding:1rem;background:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mobile-auth-overlay{display:none}.desktop-auth-dialog{width:min(100%,24rem);max-height:calc(100dvh - 2rem);display:grid;gap:.45rem;overflow-y:auto;overscroll-behavior:contain;padding:.1rem .35rem .45rem .1rem;scrollbar-gutter:stable}.desktop-auth-close{position:sticky;top:.1rem;z-index:1;justify-self:end;min-height:2rem;padding:0 .65rem;border-radius:.4rem;border:2px solid color-mix(in srgb,var(--menu-accent, var(--accent-secondary)) 75%,transparent);background:var(--bg-modal);color:var(--menu-fg, var(--fg));box-shadow:3px 3px color-mix(in srgb,var(--menu-accent, var(--accent-secondary)) 20%,transparent);font-size:.48rem;letter-spacing:.03em;cursor:pointer;transition:transform 80ms ease,box-shadow 80ms ease,opacity .12s ease}.desktop-auth-close:hover,.desktop-auth-close:focus-visible{transform:translate(-1px,-1px)}.score-value{display:block;margin-top:.4rem;font-size:clamp(.75rem,3vw,1.35rem);font-family:"Press Start 2P",monospace;color:var(--fg)}.sidebar{overflow:visible}.tray{display:grid;grid-template-columns:1fr;gap:.75rem;width:100%}.tray--loading{gap:.65rem}.piece-button{display:grid;place-items:center;min-height:5.5rem;width:100%;max-width:100%;padding:.75rem;border-radius:.4rem;border:2px solid var(--stroke);background:var(--bg-interactive);box-shadow:3px 3px 0 var(--stroke);cursor:grab;overflow:hidden;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,opacity .14s ease;touch-action:none;contain:layout paint style}.piece-button:hover,.piece-button:focus-visible,.piece-button.is-selected{transform:translate(-2px,-2px);border-color:var(--accent);box-shadow:4px 4px 0 var(--accent)}.piece-button.is-empty{cursor:default;opacity:.3}.piece-button.is-being-dragged .piece-grid{opacity:0}.piece-button[disabled]{pointer-events:none}.piece-button--loading{position:relative;cursor:default;overflow:hidden;border-color:color-mix(in srgb,var(--accent-secondary) 55%,var(--stroke));background:linear-gradient(180deg,color-mix(in srgb,var(--bg-surface) 92%,transparent),color-mix(in srgb,var(--bg-surface) 84%,var(--board-bg))),radial-gradient(circle at 18% 20%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 42%);box-shadow:3px 3px color-mix(in srgb,var(--accent-secondary) 35%,var(--stroke)),inset 0 1px color-mix(in srgb,white 18%,transparent)}.tray-spinner{display:flex;gap:5px;align-items:center}.tray-spinner-dot{width:5px;height:5px;background:var(--accent-secondary);opacity:.3;animation:overlayDotPulse 1.2s ease-in-out infinite}.tray-spinner-dot:nth-child(2){animation-delay:.2s}.tray-spinner-dot:nth-child(3){animation-delay:.4s}.piece-button--reveal{animation:leaderboard-row-pop .2s ease-out both}.tray-status-button{margin:0;min-height:2.7rem;width:100%;border-radius:.6rem;padding:.85rem .95rem;text-align:center;font-size:.58rem;line-height:1.55;letter-spacing:.03em}.tray-status-button{cursor:pointer;border:2px solid color-mix(in srgb,var(--accent-secondary) 75%,transparent);background:color-mix(in srgb,var(--bg-interactive) 94%,transparent);color:var(--fg);box-shadow:3px 3px color-mix(in srgb,var(--accent-secondary) 20%,transparent);transition:transform 80ms ease,box-shadow 80ms ease,border-color .12s ease}.tray-status-button:hover,.tray-status-button:focus-visible{transform:translate(-1px,-1px);border-color:var(--accent);box-shadow:4px 4px color-mix(in srgb,var(--accent) 35%,transparent)}.tray-status-button:disabled{cursor:default;opacity:.7;transform:none}.drag-dismiss-zone{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1rem .75rem;margin-top:.5rem;max-height:5rem;overflow:hidden;opacity:0;pointer-events:none;border-radius:.6rem;border:2px dashed transparent;background:transparent;color:var(--fg-secondary);font-size:.82rem;transform:translateY(-.45rem) scaleY(.72);transform-origin:top center;transition:opacity .2s ease,transform .2s ease,border-color .15s ease,background-color .15s ease,color .15s ease;will-change:transform,opacity}.sidebar.is-drag-active .drag-dismiss-zone{opacity:1;transform:translateY(0) scaleY(1);border-color:var(--stroke);background:color-mix(in srgb,var(--bg-interactive) 55%,transparent)}.drag-dismiss-zone.is-hovered{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--bg-interactive));color:var(--accent)}@media(min-width:981px){.sidebar{position:relative}.drag-dismiss-zone{position:absolute;top:calc(100% + .75rem);left:0;right:0;max-height:none;overflow:visible;padding:1.5rem 1rem;transform:translateY(-6px);transition:opacity .2s ease,transform .2s ease,border-color .15s ease,background-color .15s ease,color .15s ease}.sidebar.is-drag-active .drag-dismiss-zone{max-height:none;padding:1.5rem 1rem;opacity:1;transform:translateY(0)}}.piece-grid{display:grid;grid-template-columns:repeat(var(--cols),var(--piece-cell));grid-template-rows:repeat(var(--rows),var(--piece-cell));gap:var(--piece-gap, .08rem);max-width:100%;transform-origin:center}.piece-cell{width:var(--piece-cell);height:var(--piece-cell);border-radius:.1rem;opacity:0}.piece-cell.is-solid{opacity:1}.piece-grid .piece-cell:before,.piece-grid .piece-cell:after{content:none}.drag-ghost{position:fixed;top:0;left:0;z-index:999;pointer-events:none;will-change:transform;filter:drop-shadow(0 8px 16px color-mix(in srgb,var(--board-cell-depth) 32%,transparent));contain:layout style}.drag-ghost.is-pending{visibility:hidden}.drag-ghost .piece-grid{transition:transform .17s cubic-bezier(.2,.9,.22,1.18),opacity .14s ease}.drag-ghost.is-dismiss-hovered .piece-grid{opacity:.82;transform:scale(.45)}.start-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;border-radius:.6rem;background:var(--bg-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:auto}.start-button{padding:1rem 1.4rem;border-radius:4px;background:var(--accent);color:#fff;font-family:"Press Start 2P",monospace;font-size:clamp(.65rem,2.5vw,.9rem);font-weight:400;cursor:pointer;border:3px solid #fff;box-shadow:5px 5px color-mix(in srgb,var(--accent) 35%,black);text-shadow:2px 2px 0 color-mix(in srgb,var(--accent) 55%,black);pointer-events:auto;letter-spacing:.04em;transition:transform 80ms ease,box-shadow 80ms ease}.start-button:focus-visible{transform:translate(-2px,-2px);box-shadow:7px 7px color-mix(in srgb,var(--accent) 35%,black)}@media(hover:hover)and (pointer:fine){.start-button:hover{transform:translate(-2px,-2px);box-shadow:7px 7px color-mix(in srgb,var(--accent) 35%,black)}}.start-button:active{transform:translate(2px,2px);box-shadow:3px 3px color-mix(in srgb,var(--accent) 35%,black)}.game-over-overlay{animation:overlayFadeIn .38s ease forwards;display:flex;flex-direction:column;align-items:stretch}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.game-over-content{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:.9rem;text-align:center;padding:1rem 1.5rem}.game-over-score-group{position:relative;display:flex;flex-direction:column;align-items:center;gap:.5rem}.game-over-mid{display:flex;flex-direction:column;align-items:center;width:100%}.game-over-divider{width:70%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);margin-bottom:.75rem}.game-over-actions{display:flex;flex-direction:column;align-items:center;gap:.75rem;opacity:0;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease}.game-over-actions.is-visible{opacity:1;transform:translateY(0)}.game-over-footer{display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:.75rem 1.5rem 1rem;opacity:0;transition:opacity .28s ease .12s}.game-over-footer.is-visible{opacity:1}.game-over-signin-benefits{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:.4rem;color:#ffffff59;font-family:"Press Start 2P",monospace;font-size:clamp(.34rem,1.3vw,.44rem);letter-spacing:.06em;text-transform:uppercase;line-height:1}.game-over-signin-cta{background:none;border:none;padding:0;color:#ffffff80;font-family:"Press Start 2P",monospace;font-size:clamp(.38rem,1.5vw,.48rem);letter-spacing:.04em;line-height:1.6;text-decoration:underline;text-underline-offset:3px;cursor:pointer;transition:color .12s ease}.game-over-signin-cta:hover,.game-over-signin-cta:focus-visible{color:#fffc}.new-best-banner{position:absolute;bottom:100%;left:0;right:0;padding-bottom:.45rem;margin:0;font-family:"Press Start 2P",monospace;font-size:clamp(.42rem,1.8vw,.62rem);color:var(--gold);letter-spacing:.04em;animation:scoreEnter .36s cubic-bezier(.34,1.56,.64,1) both,newBestGlow .7s .36s ease-in-out infinite alternate}@keyframes newBestGlow{0%{color:var(--gold);text-shadow:0 0 6px rgba(255,200,60,.5);transform:scale(1)}to{color:#fff;text-shadow:0 0 14px rgba(255,200,60,.95),0 0 30px rgba(255,140,0,.45);transform:scale(1.06)}}.game-over-score-label{margin:0;font-size:.6rem;font-family:"Press Start 2P",monospace;letter-spacing:.08em;text-transform:uppercase;color:#ffffff8c}.game-over-score{margin:0;font-family:"Press Start 2P",monospace;font-size:clamp(1.5rem,8vw,2.4rem);color:#fff;text-shadow:3px 3px 0 rgba(50,0,70,.4);letter-spacing:.04em;transition:color .28s ease,text-shadow .28s ease}@keyframes scoreEnter{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes scorePop{0%{transform:scale(1)}40%{transform:scale(1.14)}70%{transform:scale(.97)}to{transform:scale(1)}}.game-over-overlay .game-over-score{animation:scoreEnter .48s cubic-bezier(.34,1.56,.64,1) both}.game-over-score.is-done{animation:scorePop .38s cubic-bezier(.34,1.56,.64,1) forwards}.game-over-stats{display:flex;gap:1.5rem;justify-content:center;margin:.25rem 0}.game-over-stat{display:flex;flex-direction:column;align-items:center;gap:.3rem;opacity:0;transform:scale(.75) translateY(6px);transition:opacity .18s ease,transform .18s ease}.game-over-stat.is-revealed{opacity:1;transform:scale(1) translateY(0)}.game-over-stat-value{font-family:"Press Start 2P",monospace;font-size:clamp(.52rem,2.2vw,.72rem);color:#ffffffeb;letter-spacing:.04em}.game-over-stat-label{font-family:"Press Start 2P",monospace;font-size:clamp(.3rem,1.2vw,.42rem);color:#ffffff73;letter-spacing:.06em;text-transform:uppercase}.run-submission-retry{cursor:pointer;background:none;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.78rem;line-height:1.4;color:var(--accent);text-decoration:underline;text-underline-offset:2px;padding:0}.start-failed-msg{margin:0 0 .75rem;font-family:"Press Start 2P",monospace;font-size:.5rem;letter-spacing:.06em;color:#ffffffb3;text-align:center}.start-resume-msg{margin:1.5rem 0 .5rem;font-family:"Press Start 2P",monospace;font-size:.5rem;letter-spacing:.06em;color:#ffffffe6;text-align:center}.start-resume-sub{margin:0 0 1.5rem;font-family:"Press Start 2P",monospace;font-size:.38rem;letter-spacing:.06em;color:#ffffff73;text-align:center}.overlay-spinner{display:flex;gap:7px;align-items:center}.overlay-spinner-dot{width:7px;height:7px;background:var(--accent);opacity:.25;animation:overlayDotPulse 1.2s ease-in-out infinite}.overlay-spinner-dot:nth-child(2){animation-delay:.2s}.overlay-spinner-dot:nth-child(3){animation-delay:.4s}@keyframes overlayDotPulse{0%,80%,to{opacity:.25;transform:scale(.75)}40%{opacity:1;transform:scale(1)}}.resumed-elsewhere-overlay{animation:overlayFadeIn .28s ease forwards}.resumed-elsewhere-title{margin:1.5rem 0;font-family:"Press Start 2P",monospace;font-size:.52rem;letter-spacing:.06em;color:#fff;text-align:center}.resumed-elsewhere-body{margin:0 0 1.1rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.8rem;color:#ffffffbf;text-align:center;line-height:1.5;max-width:240px}.resumed-elsewhere-score{margin:-.5rem 0 1.25rem;font-family:"Press Start 2P",monospace;font-size:clamp(1.1rem,5.5vw,1.7rem);color:#fff;text-shadow:3px 3px 0 rgba(50,0,70,.4)}.player-handle--status{width:100%;text-align:center}.start-local-button{cursor:pointer;background:none;border:2px solid rgba(255,255,255,.35);border-radius:8px;font-family:"Press Start 2P",monospace;font-size:.55rem;letter-spacing:.08em;color:#ffffffb3;padding:.6rem 1.2rem;margin-top:.5rem}.start-local-button:active{opacity:.75}.mode-select-group{display:flex;flex-direction:column;align-items:center;gap:1rem}.mode-select-heading{color:#fff;text-align:center;text-shadow:2px 2px 0 var(--accent);animation:modalHeaderGlow 2.6s ease-in-out infinite}.mode-select{display:flex;gap:1.1rem;align-items:stretch}.mode-select:focus{outline:none}.mode-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;width:7.5rem;padding:1.25rem .75rem;border-radius:4px;background:var(--accent);border:3px solid #fff;box-shadow:5px 5px color-mix(in srgb,var(--accent) 35%,black);cursor:pointer;pointer-events:auto;transition:transform 80ms ease,box-shadow 80ms ease}.mode-card--crunch{background:var(--accent-secondary);box-shadow:5px 5px color-mix(in srgb,var(--accent-secondary) 35%,black)}.mode-card:focus-visible{transform:translate(-2px,-2px);box-shadow:7px 7px color-mix(in srgb,var(--accent) 35%,black)}.mode-card--crunch:focus-visible{box-shadow:7px 7px color-mix(in srgb,var(--accent-secondary) 35%,black)}@media(hover:hover)and (pointer:fine){.mode-card:hover{transform:translate(-2px,-2px);box-shadow:7px 7px color-mix(in srgb,var(--accent) 35%,black)}.mode-card--crunch:hover{box-shadow:7px 7px color-mix(in srgb,var(--accent-secondary) 35%,black)}}.mode-card:active{transform:translate(2px,2px);box-shadow:3px 3px color-mix(in srgb,var(--accent) 35%,black)}.mode-card--crunch:active{box-shadow:3px 3px color-mix(in srgb,var(--accent-secondary) 35%,black)}.mode-card--locked{opacity:.55;cursor:pointer}.mode-card--locked svg{font-size:1.4rem;opacity:.8}.mode-card-name{font-family:"Press Start 2P",monospace;font-size:.6rem;color:#fff;letter-spacing:.06em;text-shadow:2px 2px 0 color-mix(in srgb,currentColor 0%,rgba(0,0,0,.35) 100%)}.mode-card-blurb{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.68rem;color:color-mix(in srgb,#fff 78%,transparent);line-height:1.5;text-align:center}.mode-toggle-button{cursor:pointer;background:none;border:2px solid rgba(255,255,255,.2);border-radius:8px;font-family:"Press Start 2P",monospace;font-size:.5rem;letter-spacing:.08em;color:#ffffff80;padding:.6rem 1.2rem;transition:border-color .12s ease,color .12s ease;pointer-events:auto;position:absolute;bottom:1.25rem;left:50%;transform:translate(-50%);white-space:nowrap}.mode-toggle-button:hover,.mode-toggle-button:focus-visible{border-color:#fff6;color:#fffc}.mode-toggle-button:active{opacity:.7}.game-over-overlay.is-new-best .game-over-score{color:var(--gold);text-shadow:3px 3px 0 rgba(150,80,0,.4),0 0 20px rgba(255,200,60,.55)}@media(max-width:980px){:root{--board-size: min(calc(100dvh - 22rem - var(--safe-top) - var(--safe-bottom)), calc(100vw - 2rem) , 36rem)}body{overflow-y:hidden}.app-shell{width:min(100%,calc(100% - 1rem));padding:.9rem 0 1rem;height:100dvh;min-height:100dvh;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.game-layout{grid-template-columns:1fr;grid-template-rows:auto auto;gap:.9rem;align-items:start;min-height:auto}.hero{display:block}.score-rail,.playfield,.sidebar{min-height:auto}.score-rail,.sidebar{display:grid}.sidebar{overflow:visible}.score-panel{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:0;column-gap:.45rem;max-width:none;padding:.75rem .85rem}.auth-panel,.settings-panel,.scoreboard-trigger{max-width:none}.desktop-player-handle{display:none}.mobile-player-handle{display:block}.desktop-auth-panel,.playfield-header{display:none}.hero-auth-button,.hero-theme-button{display:flex}.mobile-auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;display:grid;align-items:start;justify-items:center;padding:max(3.3rem,calc(3.3rem + env(safe-area-inset-top))) max(.5rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.5rem,env(safe-area-inset-left));background:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mobile-auth-sheet{width:min(100%,26rem);display:grid;gap:.45rem;max-height:calc(100dvh - max(4.05rem,calc(3.3rem + env(safe-area-inset-top))) - max(.75rem,env(safe-area-inset-bottom)));overflow-y:auto;overflow-x:hidden;padding-right:.1rem}.mobile-auth-close{justify-self:end;min-height:2rem;padding:0 .65rem;border-radius:.4rem;border:2px solid color-mix(in srgb,var(--menu-accent, var(--accent-secondary)) 75%,transparent);background:var(--bg-modal);color:var(--menu-fg, var(--fg));box-shadow:3px 3px color-mix(in srgb,var(--menu-accent, var(--accent-secondary)) 20%,transparent);font-size:.48rem;letter-spacing:.03em}.mobile-auth-close:hover,.mobile-auth-close:focus-visible{transform:translate(-1px,-1px)}.tray{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.board{width:min(100%,var(--board-size));margin:0 auto}}@media(max-width:820px){:root{--board-gap: .15rem}.app-shell{width:calc(100% - .75rem);padding:.375rem 0 .6rem;gap:.55rem}.hero{gap:.4rem;padding:.15rem 0 0}h1{font-size:clamp(.95rem,6.5vw,1.55rem);margin-top:.1rem}.game-layout{gap:.65rem;align-content:start}.sidebar{gap:0}.score-panel{column-gap:.35rem;padding:.5rem .65rem;border-radius:.5rem;box-shadow:3px 3px 0 var(--stroke),var(--shadow)}.auth-panel,.settings-panel{padding:.8rem .75rem;border-radius:.5rem;box-shadow:3px 3px 0 var(--stroke),var(--shadow)}.scoreboard-trigger{min-height:1.8rem;font-size:.46rem}.player-handle{max-width:none;margin-top:-.05rem;font-size:.66rem}.auth-button,.auth-secondary-button{min-height:2.45rem;font-size:.52rem}.sound-icon-button{width:1.9rem;height:1.9rem}.hero-auth-button,.hero-theme-button,.hero-info-button,.hero-sound-button{width:1.9rem;height:1.9rem;min-width:1.9rem}.hero-sound-button,.hero-info-button{transform:translateY(-50%)}.hero-info-button{right:2.3rem}.hero-theme-button{left:2.3rem}.section-label{font-size:.42rem}.board{padding:.4rem;border-radius:.5rem;border-width:2px;box-shadow:3px 3px 0 var(--accent-secondary),var(--shadow),inset 0 2px 6px #2850961f}.start-overlay{border-radius:.5rem}.board-cell{border-radius:.1rem}.score-value{margin-top:.18rem;font-size:clamp(.6rem,4vw,.95rem)}.tray{gap:.4rem}.piece-button{min-height:4rem;padding:.4rem;border-radius:.35rem;box-shadow:2px 2px 0 var(--stroke)}.piece-button .piece-grid{transform:scale(.82);transform-origin:center}.start-button{font-size:clamp(.55rem,3.5vw,.8rem);padding:.85rem 1.1rem}.site-footer{font-size:.4rem}.update-toast{width:min(calc(100% - 1rem),22rem);bottom:calc(.75rem + max(env(safe-area-inset-bottom),0px));padding:.75rem .8rem}.update-toast-actions{justify-content:stretch}.update-toast-button{flex:1}.leaderboard-modal-overlay{padding:.6rem}.leaderboard-modal-wrap{max-height:calc(100dvh - 1.2rem)}.leaderboard-modal{width:100%;padding:.85rem .85rem 0;border-radius:.65rem}.leaderboard-row{gap:.65rem;padding:.5rem .6rem}.leaderboard-podium{gap:.45rem}.leaderboard-podium-card{padding:.65rem .4rem}.leaderboard-score,.leaderboard-name{font-size:.66rem}.leaderboard-meta,.leaderboard-empty{font-size:.72rem}}@media(max-width:700px){:root{--drag-ghost-lift-rem: 3;--board-gap: .15rem;--board-size: clamp(14rem, calc(100dvh - 20rem - var(--safe-top) - var(--safe-bottom)), calc(100vw - 2rem) )}body{overflow-y:hidden}.app-shell{width:calc(100% - .75rem);padding:.375rem 0 .6rem;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:.55rem}.hero{gap:.4rem;padding:.15rem 0 0}h1{font-size:clamp(.95rem,6.5vw,1.55rem);margin-top:.1rem}.game-layout{grid-template-columns:1fr;grid-template-rows:auto auto;gap:.65rem;align-content:start}.score-rail,.playfield,.sidebar{min-height:auto}.sidebar{gap:0}.desktop-auth-panel,.playfield-header{display:none}.mobile-auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;display:grid;align-items:start;justify-items:center;padding:max(3.3rem,calc(3.3rem + env(safe-area-inset-top))) max(.5rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.5rem,env(safe-area-inset-left));background:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mobile-auth-sheet{width:min(100%,26rem);display:grid;gap:.45rem}.mobile-auth-close{justify-self:end;min-height:2rem;padding:0 .65rem;border-radius:.4rem;border:2px solid color-mix(in srgb,var(--menu-accent, var(--accent-secondary)) 75%,transparent);background:var(--bg-modal);color:var(--menu-fg, var(--fg));box-shadow:3px 3px color-mix(in srgb,var(--menu-accent, var(--accent-secondary)) 20%,transparent);font-size:.48rem;letter-spacing:.03em}.mobile-auth-close:hover,.mobile-auth-close:focus-visible{transform:translate(-1px,-1px)}.score-panel{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:0;column-gap:.35rem;padding:.5rem .65rem;border-radius:.5rem;box-shadow:3px 3px 0 var(--stroke),var(--shadow)}.auth-panel,.settings-panel{max-width:none;padding:.8rem .75rem;border-radius:.5rem;box-shadow:3px 3px 0 var(--stroke),var(--shadow)}.scoreboard-trigger{min-height:1.8rem;font-size:.46rem}.player-handle{max-width:none;margin-top:-.05rem;font-size:.66rem}.auth-button,.auth-secondary-button{min-height:2.45rem;font-size:.52rem}.sound-icon-button{width:1.9rem;height:1.9rem}.hero-auth-button{display:flex}.hero-theme-button{display:flex;left:2.3rem}.hero-auth-button,.hero-theme-button,.hero-info-button,.hero-sound-button{width:1.9rem;height:1.9rem;min-width:1.9rem}.hero-sound-button,.hero-info-button{transform:translateY(-50%)}.hero-info-button{right:2.3rem}.section-label{font-size:.42rem}.board{padding:.4rem;border-radius:.5rem;border-width:2px;box-shadow:3px 3px 0 var(--accent-secondary),var(--shadow),inset 0 2px 6px #2850961f}.start-overlay{border-radius:.5rem}.board-cell{border-radius:.1rem}.score-value{margin-top:.18rem;font-size:clamp(.6rem,4vw,.95rem)}.tray{gap:.4rem}.piece-button{min-height:4rem;padding:.4rem;border-radius:.35rem;box-shadow:2px 2px 0 var(--stroke)}.piece-button .piece-grid{transform:scale(.82);transform-origin:center}.start-button{font-size:clamp(.55rem,3.5vw,.8rem);padding:.85rem 1.1rem}.site-footer{font-size:.4rem}.update-toast{width:min(calc(100% - 1rem),22rem);bottom:calc(.75rem + max(env(safe-area-inset-bottom),0px));padding:.75rem .8rem}.update-toast-actions{justify-content:stretch}.update-toast-button{flex:1}.leaderboard-modal-overlay{padding:.6rem}.leaderboard-modal-wrap{max-height:calc(100dvh - 1.2rem)}.leaderboard-modal{width:100%;padding:.85rem .85rem 0;border-radius:.65rem}.leaderboard-row{gap:.65rem;padding:.5rem .6rem}.leaderboard-podium{gap:.45rem}.leaderboard-podium-card{padding:.65rem .4rem}.leaderboard-score,.leaderboard-name{font-size:.66rem}.leaderboard-meta,.leaderboard-empty{font-size:.72rem}}@media(pointer:coarse){:root{--drag-ghost-lift-rem: 3}}@media(max-width:700px)and (max-height:700px){.site-footer{display:none}}.landscape-block{display:none}@media(orientation:landscape)and (pointer:coarse){.landscape-block{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;background:radial-gradient(circle at 12% 12%,var(--bg-bloom-a) 0%,transparent 42%),radial-gradient(circle at 88% 18%,var(--bg-bloom-b) 0%,transparent 38%),linear-gradient(160deg,var(--page-top) 0%,var(--page-bottom) 100%);color:#fff}.landscape-block-icon{opacity:.9;filter:drop-shadow(2px 2px 0 var(--accent))}.landscape-block-text{margin:0;font-family:"Press Start 2P",monospace;font-size:clamp(.7rem,3.5vw,1rem);letter-spacing:.08em;text-transform:uppercase;text-align:center;color:#fff;text-shadow:2px 2px 0 var(--accent)}.app-shell{display:none}}@media(max-width:980px)and (min-width:640px)and (orientation:landscape){:root{--board-size: min(calc(100dvh - 8rem - var(--safe-top) - var(--safe-bottom)), calc(100vw - 20rem) , 30rem)}.app-shell{width:min(100%,calc(100% - 1rem));padding:.5rem 0 .75rem;height:100dvh;min-height:100dvh;grid-template-rows:auto minmax(0,1fr) auto;gap:.55rem;overflow:hidden}.hero{display:block;padding-top:.1rem}h1{font-size:clamp(1rem,3.5vw,1.45rem)}.game-layout{grid-template-columns:minmax(7.75rem,9rem) minmax(0,var(--board-size)) minmax(7.75rem,9rem);grid-template-rows:none;gap:.9rem;align-items:center;justify-content:center;min-height:0}.score-rail,.sidebar{display:grid;align-items:center;min-height:0}.score-rail{gap:.65rem}.score-panel{grid-template-columns:minmax(0,1fr);row-gap:.55rem;column-gap:0;max-width:9rem;padding:.65rem .55rem}.auth-panel,.settings-panel{max-width:9rem;padding:.65rem .55rem}.scoreboard-trigger{max-width:9rem}.player-handle{font-size:.62rem}.playfield-header{margin-bottom:.35rem}.profile-trigger,.theme-trigger{max-width:9rem;min-height:2.4rem}.profile-trigger span,.theme-trigger span{font-size:.52rem}.mobile-player-handle{display:none}.score-value{margin-top:.14rem;font-size:clamp(.56rem,2vw,.9rem)}.section-label{font-size:.38rem}.tray{grid-template-columns:1fr;gap:.45rem}.piece-button{min-height:4.1rem;padding:.4rem;box-shadow:2px 2px 0 var(--stroke)}.piece-button .piece-grid{transform:scale(.84);transform-origin:center}.board{width:min(100%,var(--board-size));margin:0 auto}}[data-theme=classic]{color-scheme:light;--page-top: #dfc8ff;--page-bottom: #c0dcff;--bg-surface: rgba(255, 255, 255, .82);--stroke: rgba(110, 185, 220, .7);--fg: #38106a;--stroke-muted: #7a52a0;--accent: #e060b0;--accent-secondary: #48bedd;--gold: #f0c840;--fg-secondary: #7a52a0;--bg-interactive: rgba(255, 255, 255, .82);--fg-link: #48bedd;--shadow: 0 6px 20px rgba(80, 40, 160, .16);--bg-bloom-a: rgba(255, 150, 210, .28);--bg-bloom-b: rgba(120, 200, 255, .28);--board-bg: linear-gradient(145deg, rgba(225, 210, 255, .96), rgba(205, 185, 252, .93));--board-cell-bg: rgba(130, 80, 200, .15);--board-cell-border: rgba(110, 60, 180, .2);--board-cell-depth: #3c1478;--board-filled-bg: rgba(80, 130, 190, .18);--bg-modal: linear-gradient(150deg, #f5eeff 0%, #eaf4ff 100%);--bg-overlay: rgba(30, 5, 70, .55);--tone-coral: #ffb0cc;--tone-coral-hi: #ffeef5;--tone-coral-lo: #ff9dc4;--tone-gold: #ffe480;--tone-gold-hi: #fffbe8;--tone-gold-lo: #ffe080;--tone-mint: #90e8d0;--tone-mint-hi: #eafff7;--tone-mint-lo: #7adec8;--tone-sky: #60dcf0;--tone-sky-hi: #e8fbff;--tone-sky-lo: #50d8f0;--tone-orchid: #dcd8d2;--tone-orchid-hi: #fefefe;--tone-orchid-lo: #e0dbd6}[data-theme=classic-dark]{color-scheme:dark;--page-top: #1e0a3c;--page-bottom: #0a1840;--bg-bloom-a: rgba(180, 60, 140, .18);--bg-bloom-b: rgba(40, 100, 200, .18);--bg-surface: rgba(28, 10, 58, .88);--stroke: rgba(130, 190, 230, .25);--fg: #f0e8ff;--stroke-muted: #b090d0;--fg-secondary: #b090d0;--accent: #f070c0;--accent-secondary: #50d0f0;--bg-interactive: rgba(28, 10, 58, .88);--fg-link: #50d0f0;--board-bg: linear-gradient(145deg, rgba(50, 15, 90, .85), rgba(30, 8, 65, .92));--board-cell-bg: rgba(255, 255, 255, .04);--board-cell-border: rgba(180, 140, 255, .14);--board-cell-depth: #1a0a40;--board-filled-bg: rgba(30, 10, 80, .25);--bg-modal: linear-gradient(150deg, #1a0a30 0%, #0e1030 100%);--bg-overlay: rgba(0, 0, 0, .7);--shadow: 0 6px 20px rgba(0, 0, 0, .4);--tone-coral: #ff70a8;--tone-coral-hi: #ffaace;--tone-coral-lo: #e0508a;--tone-gold: #ffd040;--tone-gold-hi: #ffe888;--tone-gold-lo: #e0aa20;--tone-mint: #40d8b0;--tone-mint-hi: #80eed0;--tone-mint-lo: #20b890;--tone-sky: #20c8e8;--tone-sky-hi: #70e0f4;--tone-sky-lo: #10a8cc;--tone-orchid: #c8b8e8;--tone-orchid-hi: #e0d8f4;--tone-orchid-lo: #a890d0}[data-theme=lo-fi]{color-scheme:light;--page-top: #e2d0f8;--page-bottom: #c8daf4;--bg-surface: rgba(245, 238, 255, .88);--stroke: rgba(100, 80, 150, .45);--fg: #3a1268;--stroke-muted: #8060a8;--accent: #c84ea0;--accent-secondary: #4888b8;--gold: #d8a820;--fg-secondary: #7050a0;--bg-interactive: rgba(245, 238, 255, .88);--fg-link: #4888b8;--shadow: 0 4px 0 rgba(58, 18, 104, .18);--bg-bloom-a: rgba(200, 120, 180, .2);--bg-bloom-b: rgba(90, 160, 220, .2);--board-bg: #dcd4f0;--board-cell-bg: rgba(100, 60, 170, .12);--board-cell-border: rgba(80, 40, 150, .28);--board-cell-depth: #2a0a58;--board-filled-bg: rgba(60, 100, 160, .14);--bg-modal: linear-gradient(150deg, #ece5ff 0%, #ddeeff 100%);--bg-overlay: rgba(20, 4, 55, .55);--tone-coral: #e8a0ba;--tone-coral-hi: #f8dce8;--tone-coral-lo: #cc7a9c;--tone-gold: #e8c855;--tone-gold-hi: #f5e8a8;--tone-gold-lo: #c8a82c;--tone-mint: #78ccb4;--tone-mint-hi: #c4eee0;--tone-mint-lo: #54b09a;--tone-sky: #74c4dc;--tone-sky-hi: #bee8f4;--tone-sky-lo: #4ea8c0;--tone-orchid: #cec6bc;--tone-orchid-hi: #eae6e0;--tone-orchid-lo: #b0a89c}html[data-theme=lo-fi] .board-cell.is-filled:before{border-radius:10%;box-shadow:inset 2px 2px #ffffff8c,inset -2px -2px #0000002e,0 2px color-mix(in srgb,var(--board-cell-depth) 20%,transparent)}html[data-theme=lo-fi] .piece-cell.is-solid{border-radius:10%;box-shadow:inset 2px 2px #ffffff8c,inset -2px -2px #0000002e,2px 2px #0000001f}html[data-theme=lo-fi] .board-cell.is-filled.tone-coral:before,html[data-theme=lo-fi] .piece-cell.is-solid.tone-coral{background:radial-gradient(circle at 42% 32%,color-mix(in srgb,var(--tone-coral-hi) 60%,white) 0% 14%,var(--tone-coral-hi) 14% 30%,var(--tone-coral) 30% 54%,var(--tone-coral-lo) 54% 74%,color-mix(in srgb,var(--tone-coral-lo) 75%,#2a0a58) 74%)}html[data-theme=lo-fi] .board-cell.is-filled.tone-gold:before,html[data-theme=lo-fi] .piece-cell.is-solid.tone-gold{background:radial-gradient(circle at 42% 32%,color-mix(in srgb,var(--tone-gold-hi) 60%,white) 0% 14%,var(--tone-gold-hi) 14% 30%,var(--tone-gold) 30% 54%,var(--tone-gold-lo) 54% 74%,color-mix(in srgb,var(--tone-gold-lo) 75%,#2a0a58) 74%)}html[data-theme=lo-fi] .board-cell.is-filled.tone-mint:before,html[data-theme=lo-fi] .piece-cell.is-solid.tone-mint{background:radial-gradient(circle at 42% 32%,color-mix(in srgb,var(--tone-mint-hi) 60%,white) 0% 14%,var(--tone-mint-hi) 14% 30%,var(--tone-mint) 30% 54%,var(--tone-mint-lo) 54% 74%,color-mix(in srgb,var(--tone-mint-lo) 75%,#2a0a58) 74%)}html[data-theme=lo-fi] .board-cell.is-filled.tone-sky:before,html[data-theme=lo-fi] .piece-cell.is-solid.tone-sky{background:radial-gradient(circle at 42% 32%,color-mix(in srgb,var(--tone-sky-hi) 60%,white) 0% 14%,var(--tone-sky-hi) 14% 30%,var(--tone-sky) 30% 54%,var(--tone-sky-lo) 54% 74%,color-mix(in srgb,var(--tone-sky-lo) 75%,#2a0a58) 74%)}html[data-theme=lo-fi] .board-cell.is-filled.tone-orchid:before,html[data-theme=lo-fi] .piece-cell.is-solid.tone-orchid{background:radial-gradient(circle at 42% 32%,color-mix(in srgb,var(--tone-orchid-hi) 60%,white) 0% 14%,var(--tone-orchid-hi) 14% 30%,var(--tone-orchid) 30% 54%,var(--tone-orchid-lo) 54% 74%,color-mix(in srgb,var(--tone-orchid-lo) 75%,#2a0a58) 74%)}.theme-preview-board[data-theme=lo-fi] .tone-coral{--cell-bg: radial-gradient(circle at 42% 32%, color-mix(in srgb, var(--tone-coral-hi) 60%, white) 0% 14%, var(--tone-coral-hi) 14% 30%, var(--tone-coral) 30% 54%, var(--tone-coral-lo) 54% 74%, color-mix(in srgb, var(--tone-coral-lo) 75%, #2a0a58) 74%)}.theme-preview-board[data-theme=lo-fi] .tone-gold{--cell-bg: radial-gradient(circle at 42% 32%, color-mix(in srgb, var(--tone-gold-hi) 60%, white) 0% 14%, var(--tone-gold-hi) 14% 30%, var(--tone-gold) 30% 54%, var(--tone-gold-lo) 54% 74%, color-mix(in srgb, var(--tone-gold-lo) 75%, #2a0a58) 74%)}.theme-preview-board[data-theme=lo-fi] .tone-mint{--cell-bg: radial-gradient(circle at 42% 32%, color-mix(in srgb, var(--tone-mint-hi) 60%, white) 0% 14%, var(--tone-mint-hi) 14% 30%, var(--tone-mint) 30% 54%, var(--tone-mint-lo) 54% 74%, color-mix(in srgb, var(--tone-mint-lo) 75%, #2a0a58) 74%)}.theme-preview-board[data-theme=lo-fi] .tone-sky{--cell-bg: radial-gradient(circle at 42% 32%, color-mix(in srgb, var(--tone-sky-hi) 60%, white) 0% 14%, var(--tone-sky-hi) 14% 30%, var(--tone-sky) 30% 54%, var(--tone-sky-lo) 54% 74%, color-mix(in srgb, var(--tone-sky-lo) 75%, #2a0a58) 74%)}.theme-preview-board[data-theme=lo-fi] .tone-orchid{--cell-bg: radial-gradient(circle at 42% 32%, color-mix(in srgb, var(--tone-orchid-hi) 60%, white) 0% 14%, var(--tone-orchid-hi) 14% 30%, var(--tone-orchid) 30% 54%, var(--tone-orchid-lo) 54% 74%, color-mix(in srgb, var(--tone-orchid-lo) 75%, #2a0a58) 74%)}.theme-preview-board[data-theme=lo-fi] .theme-preview-cell--empty{border-radius:.15rem}.theme-preview-board[data-theme=lo-fi] .theme-preview-cell--filled{border-radius:10%}[data-theme=fn-80z]{color-scheme:dark;--page-top: #050010;--page-bottom: #00020a;--bg-bloom-a: rgba(255, 0, 96, .12);--bg-bloom-b: rgba(0, 240, 255, .1);--bg-surface: rgba(6, 4, 22, .94);--stroke: rgba(0, 255, 240, .32);--fg: #f8f4ff;--stroke-muted: #8d74ff;--fg-secondary: #a58cff;--accent: #ff2d7a;--accent-secondary: #00f0ff;--bg-interactive: rgba(7, 5, 24, .94);--fg-link: #00f0ff;--gold: #ffe640;--shadow: 0 8px 26px rgba(0, 0, 0, .62);--menu-surface: rgba(5, 4, 18, .98);--menu-interactive: rgba(8, 6, 28, .98);--menu-stroke: rgba(0, 240, 255, .46);--menu-shadow: 0 8px 28px rgba(0, 0, 0, .7);--menu-fg: #fff8ff;--menu-muted: #b8a6ff;--menu-accent: #00f0ff;--menu-active-fg: #050412;--board-bg: #02020a;--board-cell-bg: rgba(80, 60, 140, .1);--board-cell-border: rgba(105, 78, 190, .34);--board-cell-depth: #000009;--board-filled-bg: rgba(0, 0, 0, .35);--bg-modal: linear-gradient(150deg, #07051b 0%, #02020c 100%);--bg-overlay: rgba(0, 0, 8, .82);--tone-coral: #ff2d55;--tone-coral-hi: #ff2d55;--tone-coral-lo: #ff2d55;--tone-gold: #ffe640;--tone-gold-hi: #ffe640;--tone-gold-lo: #ffe640;--tone-mint: #33ff66;--tone-mint-hi: #33ff66;--tone-mint-lo: #33ff66;--tone-sky: #00eaff;--tone-sky-hi: #00eaff;--tone-sky-lo: #00eaff;--tone-orchid: #b45cff;--tone-orchid-hi: #b45cff;--tone-orchid-lo: #b45cff}html[data-theme=fn-80z] h1{color:#fff;text-shadow:3px 3px 0 var(--accent),-2px 0 0 var(--accent-secondary)}html[data-theme=fn-80z] .board{border-color:var(--accent-secondary);box-shadow:4px 4px color-mix(in srgb,var(--accent) 75%,black),0 0 .85rem color-mix(in srgb,var(--accent-secondary) 28%,transparent),inset 0 0 0 2px #ffffff09}html[data-theme=fn-80z] .board-cell{border-radius:0;background:#0a081cd1;border-color:var(--board-cell-border);box-shadow:inset 0 0 0 1px #000000bf}html[data-theme=fn-80z] .board-cell.is-filled{border-radius:0;background:#00000059;box-shadow:inset 0 0 0 1px #ffffff0d}html[data-theme=fn-80z] .board-cell.was-cleared:before{--pop-radius: 0;background:var(--tone-fill);box-shadow:inset -3px -3px color-mix(in srgb,var(--tone-fill) 68%,black),inset 2px 2px color-mix(in srgb,var(--tone-fill) 72%,white),0 0 .45rem color-mix(in srgb,var(--tone-fill) 36%,transparent)}html[data-theme=fn-80z] .board-cell.is-filled:before,html[data-theme=fn-80z] .piece-cell.is-solid,.theme-preview-board[data-theme=fn-80z] .theme-preview-bubble{border-radius:0;background:var(--tone-fill);box-shadow:inset -3px -3px color-mix(in srgb,var(--tone-fill) 68%,black),inset 2px 2px color-mix(in srgb,var(--tone-fill) 72%,white),0 0 .45rem color-mix(in srgb,var(--tone-fill) 36%,transparent)}html[data-theme=fn-80z] .board-cell.is-crunch-wall.is-filled{background:#12051d;border-color:color-mix(in srgb,var(--accent-secondary) 75%,var(--accent));box-shadow:inset 0 0 0 1px #ffffff0a,0 0 .45rem color-mix(in srgb,var(--accent-secondary) 24%,transparent)}html[data-theme=fn-80z] .board-cell.is-crunch-wall.is-filled:before{background:linear-gradient(180deg,#00f0ff29,#ff2d7a14),repeating-linear-gradient(-45deg,#00f0ff47 0,#00f0ff47 3px,#ff2d7a2e 3px,#ff2d7a2e 6px,#08061c00 6px,#08061c00 10px);box-shadow:inset -3px -3px #00000080,inset 2px 2px #ffffff14,0 0 .55rem color-mix(in srgb,var(--accent-secondary) 28%,transparent)}html[data-theme=fn-80z] .piece-button{background:#050412d1;border-color:#00f0ff3d}.theme-preview-board[data-theme=fn-80z] .theme-preview-cell--empty{border-color:#00f0ff38;border-radius:0;background:#0a081cd1}.theme-preview-board[data-theme=fn-80z] .theme-preview-cell--filled{border-radius:0}[data-theme=tinted]{color-scheme:light;--okabe-ito-orange: #e69f00;--okabe-ito-sky: #56b4e9;--okabe-ito-green: #009e73;--okabe-ito-yellow: #f0e442;--okabe-ito-blue: #0072b2;--okabe-ito-vermilion: #d55e00;--okabe-ito-purple: #cc79a7;--okabe-ito-black: #000000;--page-top: #eef8fc;--page-bottom: #d6eaf5;--bg-bloom-a: rgba(204, 121, 167, .18);--bg-bloom-b: rgba(86, 180, 233, .2);--bg-surface: rgba(238, 248, 252, .88);--stroke: rgba(0, 114, 178, .28);--fg: #0072b2;--stroke-muted: #0072b2;--fg-secondary: #0072b2;--accent: #d55e00;--accent-secondary: #0072b2;--bg-interactive: rgba(238, 248, 252, .88);--fg-link: #0072b2;--gold: var(--okabe-ito-orange);--shadow: 0 6px 20px rgba(0, 114, 178, .12);--board-bg: linear-gradient(145deg, #eef8fc, #d6eaf5);--board-cell-bg: rgba(0, 114, 178, .12);--board-cell-border: rgba(0, 114, 178, .22);--board-cell-depth: #0072b2;--board-filled-bg: rgba(0, 114, 178, .1);--bg-modal: linear-gradient(150deg, #eef8fc 0%, #d6eaf5 100%);--bg-overlay: rgba(0, 114, 178, .26);--tone-coral: var(--okabe-ito-orange);--tone-coral-hi: #efc159;--tone-coral-lo: #c48700;--tone-gold: var(--okabe-ito-vermilion);--tone-gold-hi: #e49659;--tone-gold-lo: #b55000;--tone-mint: var(--okabe-ito-green);--tone-mint-hi: #59c0a4;--tone-mint-lo: #008662;--tone-sky: var(--okabe-ito-sky);--tone-sky-hi: #91cef1;--tone-sky-lo: #4999c6;--tone-orchid: var(--okabe-ito-purple);--tone-orchid-hi: #dea8c6;--tone-orchid-lo: #ad678e}html[data-theme=tinted] .board-cell{border-radius:.18rem;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-surface) 78%,var(--board-cell-bg)),color-mix(in srgb,var(--bg-surface) 58%,var(--board-cell-bg)));border-color:color-mix(in srgb,var(--accent-secondary) 42%,var(--board-cell-border));box-shadow:inset 0 2px 4px #0072b21a,inset 0 1px 1px #ffffff94,inset 0 -1px 2px #0072b21a}html[data-theme=tinted] .board-cell.is-filled{background:linear-gradient(180deg,color-mix(in srgb,var(--bg-surface) 62%,var(--board-cell-bg)),color-mix(in srgb,var(--bg-surface) 44%,var(--board-cell-bg)));box-shadow:inset 0 2px 4px #0072b21f,inset 0 1px 1px #ffffff75,inset 0 -1px 2px #0072b21a}html[data-theme=tinted] .board-cell.is-filled:before{top:1px;right:1px;bottom:1px;left:1px;border-radius:30%;box-shadow:inset 0 2px 4px #ffffff8c,inset 0 -2px 3px #0000002e}html[data-theme=tinted] .drag-ghost{filter:drop-shadow(0 6px 12px rgba(0,114,178,.16))}html[data-theme=tinted] .drag-ghost .piece-cell.is-solid{box-shadow:inset 0 2px 4px #ffffff8c,inset 0 -2px 3px #0000002e}html[data-theme=tinted] .board-cell.is-crunch-wall.is-filled{background:color-mix(in srgb,#005e94 80%,black);border-color:color-mix(in srgb,#005e94 55%,black)}html[data-theme=tinted] .board-cell.is-crunch-wall.is-filled:before{top:0;right:0;bottom:0;left:0;border-radius:.1rem;box-shadow:none}[data-theme=tinted-plus-plus]{color-scheme:light;--okabe-ito-orange: #e69f00;--okabe-ito-sky: #56b4e9;--okabe-ito-green: #009e73;--okabe-ito-yellow: #f0e442;--okabe-ito-blue: #0072b2;--okabe-ito-vermilion: #d55e00;--okabe-ito-purple: #cc79a7;--okabe-ito-black: #000000;--page-top: #ddeeff;--page-bottom: #cce4f8;--bg-bloom-a: rgba(204, 121, 167, .28);--bg-bloom-b: rgba(86, 180, 233, .28);--bg-surface: rgba(255, 255, 255, .82);--stroke: rgba(86, 180, 233, .7);--fg: #001a3d;--stroke-muted: #2a6090;--fg-secondary: #2a6090;--accent: #7a5800;--accent-secondary: #005e94;--bg-interactive: rgba(255, 255, 255, .82);--fg-link: #005e94;--gold: #7a5800;--shadow: 0 6px 20px rgba(0, 30, 60, .2);--board-bg: linear-gradient(145deg, #f0f2f5, #e8ecf0);--board-cell-bg: rgba(30, 50, 80, .1);--board-cell-border: rgba(30, 50, 80, .22);--board-cell-depth: #2a3a4a;--board-filled-bg: rgba(30, 50, 80, .14);--bg-modal: linear-gradient(150deg, #eaf5ff 0%, #dceeff 100%);--bg-overlay: rgba(0, 15, 50, .55);--locked-preview-stroke: rgba(0, 0, 0, .78);--tone-coral: var(--okabe-ito-orange);--tone-coral-hi: #efc159;--tone-coral-lo: #c48700;--tone-gold: var(--okabe-ito-vermilion);--tone-gold-hi: #e49659;--tone-gold-lo: #b55000;--tone-mint: var(--okabe-ito-green);--tone-mint-hi: #59c0a4;--tone-mint-lo: #008662;--tone-sky: var(--okabe-ito-sky);--tone-sky-hi: #91cef1;--tone-sky-lo: #4999c6;--tone-orchid: var(--okabe-ito-purple);--tone-orchid-hi: #dea8c6;--tone-orchid-lo: #ad678e;--tone-coral-symbol: "●";--tone-coral-symbol-size: 1.5rem;--tone-coral-symbol-tray-size: .94rem;--tone-coral-symbol-preview-size: 1.12rem;--tone-gold-symbol: "▲";--tone-gold-symbol-size: 1.5rem;--tone-gold-symbol-tray-size: .94rem;--tone-gold-symbol-preview-size: 1.12rem;--tone-mint-symbol: "■";--tone-mint-symbol-size: 1.5rem;--tone-mint-symbol-tray-size: .94rem;--tone-mint-symbol-preview-size: 1.12rem;--tone-sky-symbol: "◆";--tone-sky-symbol-size: 1.5rem;--tone-sky-symbol-tray-size: .94rem;--tone-sky-symbol-preview-size: 1.12rem;--tone-orchid-symbol: "★";--tone-orchid-symbol-size: 1.9rem;--tone-orchid-symbol-tray-size: 1.16rem;--tone-orchid-symbol-preview-size: 1.36rem;--tone-symbol-ink: rgba(0, 0, 0, .82);--tone-symbol-offset-y: .045em;--tone-symbol-tray-offset-y: .04em;--tone-symbol-preview-offset-y: .05em;--tone-symbol-font: "Segoe UI Symbol", "Apple Symbols", "Noto Sans Symbols 2", "Noto Sans Symbols", sans-serif}html[data-theme=tinted-plus-plus] .board-cell.tone-coral,html[data-theme=tinted-plus-plus] .piece-cell.tone-coral,.theme-preview-board[data-theme=tinted-plus-plus] .theme-preview-bubble.tone-coral{--tone-symbol: var(--tone-coral-symbol);--tone-symbol-size: var(--tone-coral-symbol-size);--tone-symbol-tray-size: var(--tone-coral-symbol-tray-size);--tone-symbol-preview-size: var(--tone-coral-symbol-preview-size)}html[data-theme=tinted-plus-plus] .board-cell.tone-gold,html[data-theme=tinted-plus-plus] .piece-cell.tone-gold,.theme-preview-board[data-theme=tinted-plus-plus] .theme-preview-bubble.tone-gold{--tone-symbol: var(--tone-gold-symbol);--tone-symbol-size: var(--tone-gold-symbol-size);--tone-symbol-tray-size: var(--tone-gold-symbol-tray-size);--tone-symbol-preview-size: var(--tone-gold-symbol-preview-size)}html[data-theme=tinted-plus-plus] .board-cell.tone-mint,html[data-theme=tinted-plus-plus] .piece-cell.tone-mint,.theme-preview-board[data-theme=tinted-plus-plus] .theme-preview-bubble.tone-mint{--tone-symbol: var(--tone-mint-symbol);--tone-symbol-size: var(--tone-mint-symbol-size);--tone-symbol-tray-size: var(--tone-mint-symbol-tray-size);--tone-symbol-preview-size: var(--tone-mint-symbol-preview-size)}html[data-theme=tinted-plus-plus] .board-cell.tone-sky,html[data-theme=tinted-plus-plus] .piece-cell.tone-sky,.theme-preview-board[data-theme=tinted-plus-plus] .theme-preview-bubble.tone-sky{--tone-symbol: var(--tone-sky-symbol);--tone-symbol-size: var(--tone-sky-symbol-size);--tone-symbol-tray-size: var(--tone-sky-symbol-tray-size);--tone-symbol-preview-size: var(--tone-sky-symbol-preview-size)}html[data-theme=tinted-plus-plus] .board-cell.tone-orchid,html[data-theme=tinted-plus-plus] .piece-cell.tone-orchid,.theme-preview-board[data-theme=tinted-plus-plus] .theme-preview-bubble.tone-orchid{--tone-symbol: var(--tone-orchid-symbol);--tone-symbol-size: var(--tone-orchid-symbol-size);--tone-symbol-tray-size: var(--tone-orchid-symbol-tray-size);--tone-symbol-preview-size: var(--tone-orchid-symbol-preview-size)}html[data-theme=tinted-plus-plus] .board-cell.is-filled:before{box-shadow:0 0 0 2px #0000008c,inset 0 2px 5px #ffffff8c,inset 0 -2px 4px #0000001f,0 2px 5px #0000001f}html[data-theme=tinted-plus-plus] .piece-cell.is-solid{box-shadow:0 0 0 1.5px #00000080}html[data-theme=tinted-plus-plus] .board-cell.will-clear:after,html[data-theme=tinted-plus-plus] .board-cell.is-drag-will-clear:after{animation:willClearRumble .8s linear infinite;animation-delay:calc(-1 * var(--rumble-offset, 0ms))}html[data-theme=tinted-plus-plus] .board-cell.is-filled:after{content:var(--tone-symbol, "");position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-family:var(--tone-symbol-font);font-weight:700;font-size:var(--tone-symbol-size, 1.5rem);line-height:1;letter-spacing:0;text-align:center;color:var(--tone-symbol-ink);transform:translateY(var(--tone-symbol-offset-y));pointer-events:none;z-index:1}html[data-theme=tinted-plus-plus] .piece-grid .piece-cell.is-solid:after{content:var(--tone-symbol, "");position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-family:var(--tone-symbol-font);font-weight:700;font-size:var(--tone-symbol-tray-size, 1.5rem);line-height:1;letter-spacing:0;text-align:center;color:var(--tone-symbol-ink);transform:translateY(var(--tone-symbol-tray-offset-y));pointer-events:none;z-index:1}html[data-theme=tinted-plus-plus] .drag-ghost .piece-cell.is-solid:after{font-size:var(--tone-symbol-size, 1.5rem);transform:translateY(var(--tone-symbol-offset-y))}html[data-theme=tinted-plus-plus] .board-cell.is-crunch-wall.is-filled:after{content:"╳";font-family:var(--tone-symbol-font);font-size:1.9rem;color:#ffffff73;font-weight:400;transform:none}.theme-preview-board[data-theme=tinted-plus-plus] .theme-preview-bubble{box-shadow:0 0 0 1.5px #00000080,inset 0 2px 4px #ffffff8c,inset 0 -2px 3px #0000002e}.theme-preview-board[data-theme=tinted-plus-plus] .theme-preview-bubble:after{content:var(--tone-symbol, "");position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-family:var(--tone-symbol-font);font-weight:700;font-size:var(--tone-symbol-preview-size, .62rem);line-height:1;letter-spacing:0;text-align:center;color:var(--tone-symbol-ink);transform:translateY(var(--tone-symbol-preview-offset-y));pointer-events:none;z-index:1}html[data-theme=tinted-plus-plus] .piece-grid .piece-cell{position:relative}[data-theme=gen-y]{--page-top: #f5f0e8;--page-bottom: #ede5d5;--bg-bloom-a: rgba(210, 170, 120, .2);--bg-bloom-b: rgba(180, 200, 160, .15);--bg-surface: rgba(255, 252, 245, .85);--stroke: rgba(160, 130, 90, .4);--fg: #3a2a18;--stroke-muted: #8b6848;--fg-secondary: #8b6848;--accent: #c07040;--accent-secondary: #7a9870;--bg-interactive: rgba(255, 252, 245, .85);--fg-link: #7a9870;--gold: #c09030;--shadow: 0 6px 20px rgba(100, 70, 30, .14);--board-bg: linear-gradient(145deg, rgba(235, 220, 195, .95), rgba(218, 202, 176, .92));--board-cell-bg: rgba(160, 120, 80, .1);--board-cell-border: rgba(140, 100, 60, .18);--board-cell-depth: #6b4820;--board-filled-bg: rgba(160, 120, 80, .15);--bg-modal: linear-gradient(150deg, #faf6ee 0%, #f0ebe0 100%);--bg-overlay: rgba(80, 50, 20, .5);--tone-coral: #e8c0a0;--tone-coral-hi: #fff4ed;--tone-coral-lo: #d4a880;--tone-gold: #ddc890;--tone-gold-hi: #fff8e4;--tone-gold-lo: #c8b070;--tone-mint: #b8c8a8;--tone-mint-hi: #f0f5e8;--tone-mint-lo: #9ab88a;--tone-sky: #c0c4c8;--tone-sky-hi: #f0f2f4;--tone-sky-lo: #a8b0b8;--tone-orchid: #e0d8c8;--tone-orchid-hi: #faf8f0;--tone-orchid-lo: #ccc4b0}[data-theme=broadcast]{color-scheme:dark;--page-top: #080810;--page-bottom: #050508;--bg-bloom-a: rgba(255, 30, 30, .1);--bg-bloom-b: rgba(0, 200, 100, .08);--bg-surface: rgba(18, 18, 26, .92);--stroke: rgba(255, 255, 255, .12);--fg: #f0f0f4;--stroke-muted: #888898;--fg-secondary: #888898;--accent: #ff2244;--accent-secondary: #e8e8e8;--bg-interactive: rgba(18, 18, 26, .92);--fg-link: #e8e8e8;--gold: #ffee00;--shadow: 0 6px 20px rgba(0, 0, 0, .6);--board-bg: linear-gradient(145deg, #111118, #0a0a14);--board-cell-bg: rgba(255, 255, 255, .04);--board-cell-border: rgba(255, 255, 255, .08);--board-cell-depth: #0a0a1a;--board-filled-bg: rgba(20, 20, 30, .35);--bg-modal: linear-gradient(150deg, #14141e 0%, #0e0e18 100%);--bg-overlay: rgba(0, 0, 0, .8);--tone-coral: #ff2244;--tone-coral-hi: #ff8899;--tone-coral-lo: #cc0022;--tone-gold: #ffee00;--tone-gold-hi: #ffff88;--tone-gold-lo: #cccc00;--tone-mint: #00ff44;--tone-mint-hi: #88ffaa;--tone-mint-lo: #00cc33;--tone-sky: #00eeff;--tone-sky-hi: #88ffff;--tone-sky-lo: #00ccdd;--tone-orchid: #e0e0e0;--tone-orchid-hi: #ffffff;--tone-orchid-lo: #c0c0c0}[data-theme=dmg]{color-scheme:light;--page-top: #d4d4d8;--page-bottom: #c4c4c8;--bg-bloom-a: rgba(155, 188, 15, .12);--bg-bloom-b: rgba(15, 56, 15, .1);--bg-surface: rgba(155, 158, 182, .68);--stroke: rgba(70, 70, 105, .26);--fg: #1a1a36;--stroke-muted: #8a8aaa;--fg-secondary: #54546e;--accent: #d4197a;--accent-secondary: #3636a8;--bg-interactive: rgba(155, 158, 182, .68);--fg-link: #3636a8;--gold: #c8a400;--shadow: 0 6px 20px rgba(40, 40, 80, .2);--menu-surface: rgba(214, 216, 226, .94);--menu-interactive: rgba(238, 239, 246, .94);--menu-stroke: rgba(54, 54, 92, .52);--menu-shadow: 0 8px 24px rgba(18, 18, 44, .32);--menu-fg: #151632;--menu-muted: #44445f;--menu-accent: #3636a8;--board-bg: #c0d465;--board-cell-bg: rgba(15, 56, 15, .07);--board-cell-border: rgba(15, 56, 15, .2);--board-cell-depth: #0f380f;--board-filled-bg: rgba(15, 56, 15, .18);--bg-modal: linear-gradient(150deg, #d0d0d8 0%, #c6c6cc 100%);--bg-overlay: rgba(10, 28, 10, .8);--tone-coral: #0f380f;--tone-coral-hi: #306230;--tone-coral-lo: #061808;--tone-gold: #1e4a12;--tone-gold-hi: #3a7028;--tone-gold-lo: #0e280a;--tone-mint: #306230;--tone-mint-hi: #4e8a44;--tone-mint-lo: #1a3e1a;--tone-sky: #558020;--tone-sky-hi: #78a83a;--tone-sky-lo: #345214;--tone-orchid: #4e7510;--tone-orchid-hi: #72982a;--tone-orchid-lo: #324a08}html[data-theme=dmg] .board{border-radius:0;border-color:#0f380f;box-shadow:4px 4px #0f380f}html[data-theme=dmg] .board-cell,html[data-theme=dmg] .board-cell.is-filled{border-radius:0}html[data-theme=dmg] .board-cell.is-crunch-wall.is-filled{background:#0f380f;border-color:#0f380f;box-shadow:inset 0 1px #9bbc0f1f,inset 0 -2px #0618088c}html[data-theme=dmg] .board-cell.is-crunch-wall.is-filled:before{background:linear-gradient(90deg,transparent 0 18%,rgba(155,188,15,.2) 18% 24%,transparent 24% 76%,rgba(155,188,15,.2) 76% 82%,transparent 82% 100%),linear-gradient(color-mix(in srgb,#306230 58%,#0f380f),color-mix(in srgb,#306230 72%,#0f380f));box-shadow:inset 2px 2px #9bbc0f1f,inset -2px -2px #061808a6}html[data-theme=dmg] .board-cell.is-crunch-wall.is-filled:after{content:"=";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#9bbc0f94;font-family:"Press Start 2P",monospace;font-size:.65rem;line-height:1;pointer-events:none;z-index:1}html[data-theme=dmg] .board-cell.was-cleared:before{--pop-radius: 0;background:linear-gradient(color-mix(in srgb,var(--tone-fill) 58%,var(--board-bg)),color-mix(in srgb,var(--tone-fill) 58%,var(--board-bg))) center / calc(100% - 12px) calc(100% - 12px) no-repeat,color-mix(in srgb,var(--tone-fill) 92%,#0f380f);box-shadow:inset 2px 2px color-mix(in srgb,var(--tone-fill) 50%,var(--board-bg)),inset -2px -2px color-mix(in srgb,var(--tone-fill) 58%,#0f380f)}html[data-theme=dmg] .board-cell.is-filled:before,html[data-theme=dmg] .piece-cell.is-solid,.theme-preview-board[data-theme=dmg] .theme-preview-bubble{border-radius:0;box-shadow:inset 2px 2px color-mix(in srgb,var(--tone-fill) 50%,var(--board-bg)),inset -2px -2px color-mix(in srgb,var(--tone-fill) 58%,#0f380f)}html[data-theme=dmg] .board-cell.is-filled.tone-coral:before,html[data-theme=dmg] .piece-cell.is-solid.tone-coral{background:linear-gradient(color-mix(in srgb,var(--tone-fill) 42%,var(--board-bg)),color-mix(in srgb,var(--tone-fill) 58%,var(--board-bg))) center / calc(100% - 12px) calc(100% - 12px) no-repeat,color-mix(in srgb,var(--tone-fill) 92%,#0f380f)}.theme-preview-board[data-theme=dmg] .tone-coral{--cell-bg: linear-gradient( color-mix(in srgb, var(--tone-fill) 42%, var(--board-bg)), color-mix(in srgb, var(--tone-fill) 58%, var(--board-bg)) ) center / calc(100% - 12px) calc(100% - 12px) no-repeat, color-mix(in srgb, var(--tone-fill) 92%, #0f380f)}html[data-theme=dmg] .board-cell.is-filled.tone-gold:before,html[data-theme=dmg] .piece-cell.is-solid.tone-gold{background:linear-gradient(color-mix(in srgb,var(--tone-fill) 42%,var(--board-bg)),color-mix(in srgb,var(--tone-fill) 58%,var(--board-bg))) center / calc(100% - 12px) calc(100% - 12px) no-repeat,color-mix(in srgb,var(--tone-fill) 92%,#0f380f)}.theme-preview-board[data-theme=dmg] .tone-gold{--cell-bg: linear-gradient( color-mix(in srgb, var(--tone-fill) 42%, var(--board-bg)), color-mix(in srgb, var(--tone-fill) 58%, var(--board-bg)) ) center / calc(100% - 12px) calc(100% - 12px) no-repeat, color-mix(in srgb, var(--tone-fill) 92%, #0f380f)}html[data-theme=dmg] .board-cell.is-filled.tone-mint:before,html[data-theme=dmg] .piece-cell.is-solid.tone-mint{background:linear-gradient(color-mix(in srgb,var(--tone-fill) 42%,var(--board-bg)),color-mix(in srgb,var(--tone-fill) 58%,var(--board-bg))) center / calc(100% - 12px) calc(100% - 12px) no-repeat,color-mix(in srgb,var(--tone-fill) 92%,#0f380f)}.theme-preview-board[data-theme=dmg] .tone-mint{--cell-bg: linear-gradient( color-mix(in srgb, var(--tone-fill) 42%, var(--board-bg)), color-mix(in srgb, var(--tone-fill) 58%, var(--board-bg)) ) center / calc(100% - 12px) calc(100% - 12px) no-repeat, color-mix(in srgb, var(--tone-fill) 92%, #0f380f)}html[data-theme=dmg] .board-cell.is-filled.tone-sky:before,html[data-theme=dmg] .piece-cell.is-solid.tone-sky{background:linear-gradient(color-mix(in srgb,var(--tone-fill) 42%,var(--board-bg)),color-mix(in srgb,var(--tone-fill) 58%,var(--board-bg))) center / calc(100% - 12px) calc(100% - 12px) no-repeat,color-mix(in srgb,var(--tone-fill) 92%,#0f380f)}.theme-preview-board[data-theme=dmg] .tone-sky{--cell-bg: linear-gradient( color-mix(in srgb, var(--tone-fill) 42%, var(--board-bg)), color-mix(in srgb, var(--tone-fill) 58%, var(--board-bg)) ) center / calc(100% - 12px) calc(100% - 12px) no-repeat, color-mix(in srgb, var(--tone-fill) 92%, #0f380f)}html[data-theme=dmg] .board-cell.is-filled.tone-orchid:before,html[data-theme=dmg] .piece-cell.is-solid.tone-orchid{background:linear-gradient(color-mix(in srgb,var(--tone-fill) 42%,var(--board-bg)),color-mix(in srgb,var(--tone-fill) 58%,var(--board-bg))) center / calc(100% - 12px) calc(100% - 12px) no-repeat,color-mix(in srgb,var(--tone-fill) 92%,#0f380f)}.theme-preview-board[data-theme=dmg] .tone-orchid{--cell-bg: linear-gradient( color-mix(in srgb, var(--tone-fill) 42%, var(--board-bg)), color-mix(in srgb, var(--tone-fill) 58%, var(--board-bg)) ) center / calc(100% - 12px) calc(100% - 12px) no-repeat, color-mix(in srgb, var(--tone-fill) 92%, #0f380f)}.theme-preview-board[data-theme=dmg] .theme-preview-cell--empty{border-radius:0;border-color:#0f380f33}.theme-preview-board[data-theme=dmg] .theme-preview-cell--filled{border-radius:0}[data-theme=y2k]{color-scheme:dark;--page-top: #080824;--page-bottom: #040420;--bg-bloom-a: rgba(0, 200, 255, .14);--bg-bloom-b: rgba(0, 255, 120, .09);--bg-surface: rgba(0, 15, 45, .88);--stroke: rgba(0, 200, 255, .25);--fg: #d0e8ff;--stroke-muted: #6090b0;--fg-secondary: #6090b0;--accent: #00ff88;--accent-secondary: #00ccff;--bg-interactive: rgba(0, 15, 45, .88);--fg-link: #00ccff;--gold: #c8d400;--shadow: 0 6px 20px rgba(0, 0, 0, .5);--board-bg: linear-gradient(145deg, rgba(0, 20, 60, .9), rgba(0, 10, 40, .95));--board-cell-bg: rgba(0, 100, 200, .08);--board-cell-border: rgba(0, 200, 255, .14);--board-cell-depth: #002840;--board-filled-bg: rgba(0, 30, 60, .25);--bg-modal: linear-gradient(150deg, #0c1028 0%, #080e20 100%);--bg-overlay: rgba(0, 0, 20, .75);--tone-coral: #0088ff;--tone-coral-hi: #66ccff;--tone-coral-lo: #0055cc;--tone-gold: #a0b8d0;--tone-gold-hi: #d0e4f0;--tone-gold-lo: #7090b0;--tone-mint: #00ff88;--tone-mint-hi: #88ffcc;--tone-mint-lo: #00cc66;--tone-sky: #00eeff;--tone-sky-hi: #88ffff;--tone-sky-lo: #00bbdd;--tone-orchid: #9900ff;--tone-orchid-hi: #cc88ff;--tone-orchid-lo: #7700cc}[data-theme=washed]{color-scheme:light;--page-top: #d8d8d8;--page-bottom: #c8c8c8;--bg-bloom-a: rgba(0, 0, 0, .04);--bg-bloom-b: rgba(0, 0, 0, .03);--bg-surface: rgba(255, 255, 255, .72);--stroke: rgba(60, 60, 60, .22);--fg: #1a1a1a;--stroke-muted: #909090;--fg-secondary: #606060;--accent: #404040;--accent-secondary: #848484;--bg-interactive: rgba(255, 255, 255, .72);--fg-link: #505050;--gold: #787878;--shadow: 0 6px 20px rgba(0, 0, 0, .14);--menu-surface: rgba(232, 232, 232, .94);--menu-interactive: rgba(246, 246, 246, .94);--menu-stroke: rgba(70, 70, 70, .48);--menu-shadow: 0 8px 24px rgba(0, 0, 0, .24);--menu-fg: #171717;--menu-muted: #4d4d4d;--menu-accent: #777777;--menu-active-fg: #fff;--board-bg: linear-gradient(145deg, #d4d4d4, #c8c8c8);--board-cell-bg: rgba(40, 40, 40, .08);--board-cell-border: rgba(40, 40, 40, .16);--board-cell-depth: #282828;--board-filled-bg: rgba(40, 40, 40, .14);--bg-modal: linear-gradient(150deg, #e0e0e0 0%, #d6d6d6 100%);--bg-overlay: rgba(0, 0, 0, .6);--tone-coral: #1e1e1e;--tone-coral-hi: #d2d2d2;--tone-coral-lo: #0e0e0e;--tone-gold: #424242;--tone-gold-hi: #d9d9d9;--tone-gold-lo: #2a2a2a;--tone-mint: #666666;--tone-mint-hi: #e0e0e0;--tone-mint-lo: #4c4c4c;--tone-sky: #8e8e8e;--tone-sky-hi: #e8e8e8;--tone-sky-lo: #727272;--tone-orchid: #ababab;--tone-orchid-hi: #eeeeee;--tone-orchid-lo: #909090}[data-theme=dev]{color-scheme:dark;--page-top: #020503;--page-bottom: #07110a;--bg-bloom-a: rgba(80, 255, 140, .12);--bg-bloom-b: rgba(90, 180, 255, .08);--bg-surface: rgba(8, 18, 11, .92);--stroke: rgba(110, 255, 165, .16);--fg: #dfffe8;--stroke-muted: #7fa88d;--fg-secondary: #7fa88d;--accent: #5eff9a;--accent-secondary: #8ae1ff;--bg-interactive: rgba(8, 18, 11, .92);--fg-link: #8ae1ff;--gold: #9dff6a;--shadow: 0 10px 28px rgba(0, 0, 0, .55);--board-bg: linear-gradient(145deg, rgba(10, 16, 12, .96), rgba(18, 28, 20, .98));--board-cell-bg: rgba(135, 255, 180, .06);--board-cell-border: rgba(135, 255, 180, .18);--board-cell-depth: #05110a;--board-filled-bg: rgba(18, 42, 24, .3);--bg-modal: linear-gradient(150deg, #06100a 0%, #0a1810 100%);--bg-overlay: rgba(0, 0, 0, .8);--tone-coral: #5eff9a;--tone-coral-hi: #c9ffd9;--tone-coral-lo: #1da74b;--tone-gold: #9dff6a;--tone-gold-hi: #e4ffb8;--tone-gold-lo: #5eaf20;--tone-mint: #41e6c2;--tone-mint-hi: #aaf8e8;--tone-mint-lo: #138e76;--tone-sky: #8ae1ff;--tone-sky-hi: #d4f8ff;--tone-sky-lo: #2e8fb0;--tone-orchid: #b6bcc4;--tone-orchid-hi: #edf1f4;--tone-orchid-lo: #6c737c}[data-theme=summit]{color-scheme:light;--page-top: #f2f8ff;--page-bottom: #ddeeff;--bg-bloom-a: rgba(100, 180, 240, .2);--bg-bloom-b: rgba(180, 220, 255, .15);--bg-surface: rgba(240, 250, 255, .92);--stroke: rgba(40, 110, 180, .18);--fg: #0d2545;--stroke-muted: #4a7aaa;--fg-secondary: #4a7aaa;--accent: #2288cc;--accent-secondary: #55aadd;--bg-interactive: rgba(240, 250, 255, .92);--fg-link: #55aadd;--gold: #2288cc;--shadow: 0 6px 20px rgba(20, 80, 150, .12);--board-bg: linear-gradient(145deg, rgba(90, 165, 225, .85), rgba(55, 135, 205, .9));--board-cell-bg: rgba(255, 255, 255, .18);--board-cell-border: rgba(255, 255, 255, .3);--board-cell-depth: #1a5a9a;--board-filled-bg: rgba(255, 255, 255, .12);--bg-modal: linear-gradient(150deg, #f5faff 0%, #e5f2ff 100%);--bg-overlay: rgba(10, 40, 90, .45);--tone-coral: #5aaae0;--tone-coral-hi: #9ccef4;--tone-coral-lo: #3388cc;--tone-gold: #2277bb;--tone-gold-hi: #66aadd;--tone-gold-lo: #1155aa;--tone-mint: #88c8f0;--tone-mint-hi: #c4e8f8;--tone-mint-lo: #66aacc;--tone-sky: #3399cc;--tone-sky-hi: #77bbdd;--tone-sky-lo: #1177aa;--tone-orchid: #aad8f0;--tone-orchid-hi: #cceeff;--tone-orchid-lo: #88bbcc}[data-theme=crown]{color-scheme:light;--page-top: #fef9ed;--page-bottom: #f8edcc;--bg-bloom-a: rgba(210, 160, 20, .18);--bg-bloom-b: rgba(230, 180, 40, .12);--bg-surface: rgba(255, 251, 235, .9);--stroke: rgba(160, 110, 10, .22);--fg: #3d2800;--stroke-muted: #8a6520;--fg-secondary: #8a6520;--accent: #c8880a;--accent-secondary: #e8a820;--bg-interactive: rgba(255, 251, 235, .9);--fg-link: #e8a820;--gold: #c8880a;--shadow: 0 6px 20px rgba(100, 70, 0, .16);--board-bg: linear-gradient(145deg, rgba(210, 160, 30, .88), rgba(185, 135, 10, .92));--board-cell-bg: rgba(120, 80, 0, .08);--board-cell-border: rgba(150, 100, 0, .18);--board-cell-depth: #7a5000;--board-filled-bg: rgba(140, 95, 0, .18);--bg-modal: linear-gradient(150deg, #fdf6e3 0%, #f8edcc 100%);--bg-overlay: rgba(60, 35, 0, .5);--tone-coral: #d4a017;--tone-coral-hi: #fff8e0;--tone-coral-lo: #aa7800;--tone-gold: #e8880a;--tone-gold-hi: #fff4d4;--tone-gold-lo: #c06800;--tone-mint: #c87800;--tone-mint-hi: #fff0cc;--tone-mint-lo: #9a5800;--tone-sky: #f0c030;--tone-sky-hi: #fffce0;--tone-sky-lo: #cca020;--tone-orchid: #b87010;--tone-orchid-hi: #ffeccc;--tone-orchid-lo: #8a5800}.theme-modal-wrap{width:min(100%,30rem)}.theme-picker{display:flex;flex-direction:column;gap:.6rem}.theme-picker-divider{height:1px;background:color-mix(in srgb,var(--stroke) 60%,transparent);margin:.35rem 0}.theme-picker-section-label{font-size:.5rem;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-secondary);margin:0 0 .1rem}.theme-card-hint--equipped{color:var(--accent);text-shadow:none;letter-spacing:.06em;text-transform:uppercase}.theme-card{position:relative;border-radius:.55rem;border:2px solid color-mix(in srgb,var(--stroke) 80%,transparent);cursor:pointer;overflow:hidden;transition:border-color .1s ease}.theme-card:hover:not(:disabled){border-color:var(--accent)}.theme-card.is-locked:hover{border-color:color-mix(in srgb,var(--stroke-muted) 30%,transparent)}.theme-card.is-active{border-color:var(--accent)}.theme-card.is-locked{cursor:default;opacity:.68;border-color:color-mix(in srgb,var(--stroke-muted) 30%,transparent);box-shadow:inset 0 0 0 1px #0000002e}.theme-card.is-locked .theme-preview-board{filter:saturate(.7) brightness(.78) contrast(.94)}.theme-card.is-guest-locked{opacity:1}.theme-card.is-guest-locked .theme-preview-board{filter:saturate(.35) brightness(.6) contrast(.9)}.theme-card.is-guest-locked .theme-card-label{filter:grayscale(1) blur(1.2px);opacity:.2}.theme-preview-board{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;padding:6px;width:100%}.theme-preview-cell--empty{aspect-ratio:1;border-radius:3px;border:1px solid transparent}.theme-preview-cell--filled{aspect-ratio:1;border-radius:3px;background:transparent;position:relative}.theme-preview-bubble{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:28%;box-shadow:inset 0 2px 4px #ffffff8c,inset 0 -2px 3px #0000002e}.theme-card-obscured-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#120e1e42,#120e1e8f),repeating-linear-gradient(-45deg,#ffffff0a 0,#ffffff0a 10px,#00000024 10px,#00000024 20px);-webkit-backdrop-filter:blur(5px) saturate(.45);backdrop-filter:blur(5px) saturate(.45)}.theme-card-lock-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;padding:.9rem .9rem 2.8rem;font-size:2.4rem;color:#ffffffe6;pointer-events:none;filter:drop-shadow(0 2px 6px rgba(0,0,0,.55))}.theme-card-lock-overlay--guest{pointer-events:auto}.theme-card-lock-cta-button{min-height:2.1rem;padding:.45rem .8rem;border-radius:.45rem;border:2px solid rgba(255,255,255,.9);background:color-mix(in srgb,var(--bg-interactive) 88%,transparent);box-shadow:3px 3px #0000003d;font:inherit;font-size:.62rem;line-height:1.35;letter-spacing:.04em;text-align:center;color:var(--fg);cursor:pointer;pointer-events:auto;transition:transform 80ms ease,box-shadow 80ms ease,border-color .12s ease}.theme-card-lock-cta-button:hover,.theme-card-lock-cta-button:focus-visible{transform:translate(-1px,-1px);border-color:#fff;box-shadow:4px 4px #00000047}.theme-card-label{position:absolute;bottom:0;left:0;right:0;z-index:3;padding:2rem .75rem .65rem;background:linear-gradient(to top,rgba(0,0,0,.62),transparent);display:flex;flex-direction:column;gap:.25rem;pointer-events:none}.theme-card-name{font-size:.74rem;color:#fff;text-shadow:2px 2px 0 rgba(0,0,0,.6);line-height:1}.theme-card-hint{font-size:.35rem;color:#ffffffbf;text-shadow:1px 1px 0 rgba(0,0,0,.5);line-height:1.4}@media(display-mode:standalone){html{background:radial-gradient(circle at 12% 12%,var(--bg-bloom-a) 0%,transparent 42%),radial-gradient(circle at 88% 18%,var(--bg-bloom-b) 0%,transparent 38%),linear-gradient(160deg,var(--page-top) 0%,var(--page-bottom) 100%);min-height:var(--vvh, 100dvh)}html,body,#root{height:var(--vvh, 100dvh);min-height:var(--vvh, 100dvh);overflow:hidden}body{overscroll-behavior:none}.app-shell{position:relative;width:min(88rem,calc(100% - 2rem));max-width:100%;margin:0 auto;min-height:calc(var(--vvh, 100dvh) - var(--vv-top, 0px) - var(--vv-bottom, 0px));height:calc(var(--vvh, 100dvh) - var(--vv-top, 0px) - var(--vv-bottom, 0px));box-sizing:border-box;padding:calc(.75rem + max(env(safe-area-inset-top),var(--vv-top, 0px))) 0 calc(1.5rem + max(env(safe-area-inset-bottom),var(--vv-bottom, 0px)));background:transparent;overflow:hidden}}.maintenance-page{position:relative;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1.5rem 1rem;overflow:hidden}.maintenance-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1.25rem}.maintenance-pixels{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.maintenance-pixel{--pixel-size: clamp(1.6rem, calc((min(32rem, 100vw - 1.5rem) - 7 * .2rem) / 8), 3.8rem);position:absolute;width:var(--pixel-size);height:var(--pixel-size);border-radius:28%;background:var(--cell-bg);border:1px solid color-mix(in srgb,var(--tone-fill) 55%,transparent);box-shadow:inset 0 2px 5px #ffffffa6,inset 0 -2px 4px #00000014,2px 2px #00000014;cursor:pointer;pointer-events:auto;padding:0;transform-origin:center;touch-action:manipulation}.maintenance-pixel.is-popping{animation:bubblePop .36s ease-out both;border:0 solid color-mix(in srgb,var(--tone-fill) 82%,white 18%);pointer-events:none}.maintenance-pixel.is-spawning{animation:leaderboard-row-pop .22s ease-out both}.maintenance-sound-button{position:fixed;top:1rem;right:1rem;z-index:2}.maintenance-page h1{font-size:clamp(1.4rem,6vw,2.2rem);color:#fff;text-shadow:3px 3px 0 var(--accent);letter-spacing:.04em;margin:0}.maintenance-card{width:min(22rem,100%);display:flex;flex-direction:column;gap:.75rem;padding:1.25rem 1rem;background:var(--bg-surface);border:2px solid var(--stroke);border-radius:.75rem;box-shadow:4px 4px 0 var(--stroke),var(--shadow)}.maintenance-eyebrow{margin:0;font-size:.5rem;color:var(--fg-secondary);line-height:1.6}.maintenance-title{margin:0;font-size:clamp(.65rem,3vw,.85rem);color:var(--fg);line-height:1.6;letter-spacing:.03em}.maintenance-body{margin:0;font-size:.55rem;color:var(--fg);line-height:1.9}.maintenance-note{margin:0;font-size:.5rem;color:var(--fg-secondary);line-height:1.9}html[data-theme=fn-80z] .leaderboard-rank-poxel{border-radius:0;background:var(--rpox-fill);box-shadow:inset -3px -3px color-mix(in srgb,var(--rpox-fill) 68%,black),inset 2px 2px color-mix(in srgb,var(--rpox-fill) 72%,white),0 0 .45rem color-mix(in srgb,var(--rpox-fill) 36%,transparent)}html[data-theme=tinted] .leaderboard-rank-poxel{top:1px;right:1px;bottom:1px;left:1px;border-radius:30%;box-shadow:inset 0 2px 4px #ffffff8c,inset 0 -2px 3px #0000002e}html[data-theme=tinted-plus-plus] .leaderboard-rank-poxel{box-shadow:0 0 0 2px #0000008c,inset 0 2px 5px #ffffff8c,inset 0 -2px 4px #0000001f,0 2px 5px #0000001f}html[data-theme=dmg] .leaderboard-rank-poxel{border-radius:0;background:color-mix(in srgb,var(--rpox-fill) 92%,#0f380f);box-shadow:inset 2px 2px color-mix(in srgb,var(--rpox-fill) 50%,var(--board-bg)),inset -2px -2px color-mix(in srgb,var(--rpox-fill) 58%,#0f380f)}html[data-theme=fn-80z] .popoff-cell{border-radius:0;background:#0a081cd1;border-color:var(--board-cell-border);box-shadow:inset 0 0 0 1px #000000bf}html[data-theme=fn-80z] .popoff-cell:before{border-radius:0}html[data-theme=fn-80z] .popoff-cell.is-lit:before{background:var(--accent);box-shadow:inset -3px -3px color-mix(in srgb,var(--accent) 68%,black),inset 2px 2px color-mix(in srgb,var(--accent) 72%,white),0 0 .45rem color-mix(in srgb,var(--accent) 36%,transparent)}html[data-theme=dmg] .popoff-cell{border-radius:0}html[data-theme=dmg] .popoff-cell:before{border-radius:0}html[data-theme=dmg] .popoff-cell.is-lit:before{background:linear-gradient(color-mix(in srgb,var(--accent) 42%,var(--board-bg)),color-mix(in srgb,var(--accent) 58%,var(--board-bg))) center / calc(100% - 12px) calc(100% - 12px) no-repeat,color-mix(in srgb,var(--accent) 92%,#0f380f);box-shadow:inset 2px 2px color-mix(in srgb,var(--accent) 50%,var(--board-bg)),inset -2px -2px color-mix(in srgb,var(--accent) 58%,#0f380f)}html[data-theme=tinted-plus-plus] .popoff-cell.is-lit:before{box-shadow:0 0 0 2px #0000008c,inset 0 2px 5px #ffffff8c,inset 0 -2px 4px #0000001f,0 2px 5px #0000001f}html[data-theme=tinted-plus-plus] .popoff-cell.is-lit:after{content:"●";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-family:var(--tone-symbol-font);font-weight:700;font-size:1.5rem;line-height:1;letter-spacing:0;text-align:center;color:var(--tone-symbol-ink);transform:translateY(var(--tone-symbol-offset-y));pointer-events:none;z-index:1}@keyframes popoff-wave{0%{filter:brightness(.7)}40%{filter:brightness(2.2) saturate(2)}to{filter:brightness(.7)}}@keyframes popoff-overlay-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.popoff-board{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:5px;width:100%;aspect-ratio:1;background:var(--board-bg);border-radius:.75rem;padding:10px;border:2px solid var(--stroke);box-shadow:var(--shadow);align-self:center}.popoff-cell{position:relative;aspect-ratio:1;border-radius:.15rem;background:var(--board-cell-bg);border:1px solid var(--board-cell-border);box-shadow:inset 0 2px 4px color-mix(in srgb,var(--board-cell-depth) 22%,transparent),inset 0 1px 2px color-mix(in srgb,var(--board-cell-depth) 12%,transparent);cursor:pointer;transition:transform 80ms ease,box-shadow 80ms ease}.popoff-cell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:28%;background:radial-gradient(circle at 35% 28%,color-mix(in srgb,var(--board-cell-depth) 5%,var(--board-cell-bg)),color-mix(in srgb,var(--board-cell-depth) 20%,var(--board-cell-bg)) 85%);box-shadow:inset 0 1px 3px #ffffff40,inset 0 -1px 2px #00000014;opacity:.6;pointer-events:none;transition:background .12s ease,opacity .12s ease,box-shadow .12s ease,transform 80ms ease}.popoff-cell.is-lit:before{background:radial-gradient(circle at 35% 28%,color-mix(in srgb,var(--accent) 45%,white),color-mix(in srgb,var(--accent) 88%,black) 85%);opacity:1;box-shadow:inset 0 2px 5px #ffffffa6,inset 0 -2px 4px #0000001f,0 2px 8px color-mix(in srgb,var(--accent) 30%,transparent)}@media(hover:hover)and (pointer:fine){.popoff-cell.is-lit:not(:disabled):hover:before{transform:scale(1.08)}}.popoff-cell:not(:disabled):active{transform:scale(.94)}.popoff-board.is-solved .popoff-cell:before{opacity:.35}.popoff-cell.is-celebrating:before{animation:popoff-wave .62s ease-in-out var(--wave-delay, 0ms) both;pointer-events:none}.popoff-board-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;pointer-events:none;animation:popoff-overlay-in .28s cubic-bezier(.34,1.56,.64,1) .32s both}.popoff-board-overlay-pill{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);background:color-mix(in srgb,var(--bg) 80%,transparent);border:1.5px solid color-mix(in srgb,var(--accent) 50%,transparent);border-radius:999px;padding:5px 16px;box-shadow:0 2px 12px color-mix(in srgb,var(--accent) 30%,transparent),0 0 0 4px color-mix(in srgb,var(--accent) 10%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);white-space:nowrap}.sidebar--popoff{justify-content:center;align-items:center}.popoff-nav{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 8px;width:100%}.popoff-nav-row{display:flex;align-items:center;gap:10px;width:100%;justify-content:center}.popoff-nav-arrow{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:2.2rem;height:2.2rem;padding:0;line-height:1;border-radius:.5rem;border:1px solid var(--stroke);background:var(--bg-interactive);color:var(--fg);cursor:pointer;transition:opacity .12s ease,transform 80ms ease}.popoff-nav-arrow:disabled{opacity:.3;cursor:default}.popoff-nav-arrow:not(:disabled):hover{transform:scale(1.08)}.popoff-nav-counter-wrap{display:flex;align-items:center;justify-content:center;flex:1;min-width:0}.popoff-nav-counter{font-size:1rem;font-weight:700;color:var(--fg);text-align:center;letter-spacing:.01em;white-space:nowrap}.popoff-nav-sep{color:var(--fg-secondary);font-weight:400;margin:0 2px}.popoff-nav-solved-badge{font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:999px;padding:2px 8px;white-space:nowrap}.popoff-nav-reset{font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-secondary);background:none;border:1px solid var(--stroke-muted);border-radius:.4rem;padding:5px 14px;cursor:pointer;transition:opacity .12s ease}.popoff-nav-reset:hover{opacity:.7}.game-title-stamp--popoff{background:color-mix(in srgb,var(--accent) 58%,var(--accent-secondary) 42%);color:#f8fdff;border-color:color-mix(in srgb,var(--accent) 40%,var(--accent-secondary) 60%);box-shadow:0 0 0 1px color-mix(in srgb,#fff 18%,transparent),2px 2px color-mix(in srgb,var(--accent) 40%,transparent)}.mode-card--popoff{background:color-mix(in srgb,var(--accent) 55%,var(--accent-secondary) 45%);box-shadow:5px 5px color-mix(in srgb,color-mix(in srgb,var(--accent) 55%,var(--accent-secondary) 45%) 35%,black)}@media(hover:hover)and (pointer:fine){.mode-card--popoff:hover{box-shadow:7px 7px color-mix(in srgb,color-mix(in srgb,var(--accent) 55%,var(--accent-secondary) 45%) 35%,black)}}.mode-card--popoff:focus-visible{box-shadow:7px 7px color-mix(in srgb,color-mix(in srgb,var(--accent) 55%,var(--accent-secondary) 45%) 35%,black)}.mode-card--popoff:active{box-shadow:3px 3px color-mix(in srgb,color-mix(in srgb,var(--accent) 55%,var(--accent-secondary) 45%) 35%,black)}.popoff-mini-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;width:3rem;flex-shrink:0}.popoff-mini-grid--3col{grid-template-columns:repeat(3,1fr);width:1.9rem}.popoff-mini-cell{aspect-ratio:1;border-radius:2px;background:var(--board-cell-bg);border:1px solid var(--board-cell-border)}.popoff-mini-cell.is-lit{background:var(--accent);border-color:color-mix(in srgb,var(--accent) 70%,black)}.popoff-mini-cell.is-tapped{box-shadow:0 0 0 1.5px var(--accent),0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.popoff-mini-pair{display:flex;align-items:center;gap:6px;flex-shrink:0}.how-to-play-arrow{color:var(--fg-secondary);font-size:1rem}.drag-dismiss-zone.is-hidden{display:none}
