.play-page{color:#f5f2e9;background:#14212b}.play-page .site-header{border-color:#526454}.play-page .brand-mark span,.play-page .brand-dot{color:#a7f0e6}.play-page .locale-nav a[aria-current]{border-color:#a7f0e6}.play-layout{max-width:1200px!important;padding-top:20px!important;display:block!important}.play-page button,.play-page select{color:#f5f2e9;background:#26404d;border-color:#718175}.play-page button:hover:not(:disabled){color:#17211d}.player-top{flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:20px;display:flex}.player-top h1{margin:0;font-size:25px}.exit-link{align-items:center;min-height:48px;font-size:13px;display:flex}.scoreboard{gap:24px;min-width:0;max-width:100%;margin-left:auto;font-size:12px;display:flex}.scoreboard strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:25px;display:block}.play-area{background:radial-gradient(at top,#263d4a,#14212b 75%);border:1px solid #3e5867;border-radius:20px;min-height:400px;position:relative;overflow:hidden}#game-host{max-width:620px;min-height:400px;margin:0 auto;padding:22px}.game-overlay{z-index:2;text-align:center;background:#14212bef;justify-content:center;align-items:center;padding:28px;display:flex;position:absolute;inset:0}.overlay-content{width:100%;max-width:460px}.overlay-content h2{margin:20px 0;font-size:clamp(30px,5vw,48px)}.overlay-content p{font-size:14px;line-height:1.8}.overlay-content .button{color:#17211d;background:#a7f0e6;min-width:180px;margin:10px}.overlay-content textarea{color:#17211d;width:100%;min-height:90px;padding:12px;font-size:13px}.player-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:20px;display:flex}.player-controls button{min-height:48px;padding:10px 15px;font-size:13px}.player-controls label{align-items:center;gap:8px;font-size:12px;display:flex}.player-controls select{min-width:65px;min-height:48px;padding:10px}.low-effects{margin-left:8px}.player-instructions{text-align:center;color:#c2d5c6;margin-top:20px;font-size:12px}.player-instructions span{color:#93aa99;margin-top:8px;display:block}.game-message{text-align:center;color:#d9ed68;min-height:22px;margin:12px 0;font-size:13px}.circuit-board{grid-template-columns:repeat(var(--size), minmax(0, 1fr));background:#0d1b25;border-radius:18px;gap:7px;max-width:530px;margin:0 auto;padding:12px;display:grid;box-shadow:0 12px 28px #07111950,inset 0 1px #ffffff14}.circuit-cell{aspect-ratio:1;position:relative;box-shadow:inset 0 1px #ffffff16,0 3px #0b1d28;opacity:1!important;background:linear-gradient(145deg,#2a4655,#213a48)!important;border:1px solid #4b6572!important;border-radius:12px!important;min-height:0!important;padding:0!important}.circuit-cell svg{fill:#91acb8;width:100%;height:100%;display:block}.circuit-cell path{stroke:#91acb8;stroke-width:10px;stroke-linecap:round;fill:none}.circuit-cell.connected path{stroke:#a7f0e6}.circuit-cell.connected{background:linear-gradient(145deg,#305a60,#23434e)!important;border-color:#72cbbd!important}.circuit-cell.connected circle{fill:#a7f0e6}.circuit-cell text{fill:#17211d;font-size:17px}.circuit-cell.selected{outline-offset:1px;z-index:1;outline:3px solid #d9ed68}.circuit-cell:focus-visible{outline-offset:2px;outline:3px solid #a7f0e6}.game-hint{min-height:48px;margin:18px auto 0;font-size:13px;display:block;background:#294956!important}.board-note{text-align:center;color:#b5cbbd;margin:16px 0 0;font-size:12px}.merge-board{touch-action:none;user-select:none;background:#223947;border:1px solid #516875;border-radius:20px;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:450px;margin:0 auto;padding:14px;display:grid;box-shadow:0 14px 30px #08121c50,inset 0 1px #ffffff20}.merge-cell{aspect-ratio:1;color:#17211d;font-variant-numeric:tabular-nums;background:#162c39;border-radius:12px;justify-content:center;align-items:center;font-size:clamp(25px,5vw,48px);font-weight:800;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #fff5,0 3px #0a172440}.merge-cell:not([data-power="0"]):after{content:"";pointer-events:none;background:linear-gradient(145deg,#ffffff26,#0000 65%);position:absolute;inset:0}.merge-cell[data-power="0"]{box-shadow:inset 0 2px 4px #08162250}.merge-cell[data-changed=true]{animation:.14s ease-out tile-arrive}@keyframes tile-arrive{0%{transform:scale(.94)}to{transform:scale(1)}}#player.low-effects .merge-cell{animation:none}@media (prefers-reduced-motion:reduce){.merge-cell{animation:none!important}}.merge-cell[data-power="1"]{background:#e8eedc}.merge-cell[data-power="2"]{background:#dae8c2}.merge-cell[data-power="3"]{background:#a7f0e6}.merge-cell[data-power="4"]{background:#85d8c9}.merge-cell[data-power="5"]{background:#d9ed68}.merge-cell[data-power="6"]{background:#e7d868}.merge-cell[data-power="7"]{background:#efb778}.merge-cell[data-power="8"]{background:#ef896b}.merge-cell[data-power="9"],.merge-cell[data-power="10"],.merge-cell[data-power="11"]{background:#ed6d6d;font-size:clamp(21px,4vw,38px)}.direction-controls{justify-content:center;gap:12px;margin-top:18px;display:flex}.direction-controls button{min-width:56px;font-size:23px;background:#294956!important}.orbit-canvas{aspect-ratio:640/680;object-fit:contain;touch-action:none;border:1px solid #415c6b;border-radius:16px;width:min(100%,58.3529vh);height:auto;max-height:none;margin:0 auto;display:block}.launch-button{min-width:180px;margin:14px auto 0;display:block}#player.low-effects .circuit-cell{box-shadow:none}.play-page a:focus-visible,.play-page button:focus-visible,.play-page select:focus-visible,.play-page canvas:focus-visible{box-shadow:none;outline-color:#a7f0e6}@media (width<=560px){.play-layout{padding:14px 4% 28px!important}.player-top{gap:12px;margin-bottom:12px}.player-top h1{font-size:20px}.scoreboard{gap:16px}.scoreboard span{font-size:10px}.scoreboard strong{font-size:20px}.exit-link{font-size:11px}.play-area{min-height:350px}#game-host{min-height:350px;padding:16px 10px}.circuit-board{gap:6px;padding:0}.game-overlay{padding:20px}.overlay-content .button{width:100%;margin:8px 0;display:flex}.player-controls{gap:8px;margin-top:14px}.player-controls button{padding:9px 12px;font-size:11px}.player-instructions{font-size:11px;line-height:1.8}.merge-board{gap:7px;padding:7px}.merge-cell{font-size:30px}.direction-controls{gap:10px}.direction-controls button{min-width:52px}.orbit-canvas{width:min(100%,54.5882vh);max-height:none}.low-effects{margin-left:0}.scoreboard{margin-left:auto}.game-message{font-size:11px}}.crisp-frame{aspect-ratio:1;background:#e0e0e0;border:0;width:min(100%,600px);height:auto;min-height:100px;max-height:min(60vh,560px);margin:auto;display:block}.crisp-digits{flex-wrap:wrap;justify-content:center;gap:8px;padding:12px;display:flex}.crisp-digits button{min-width:48px;min-height:48px}.player-controls .sound-volume{gap:4px;min-width:120px;min-height:48px;font-size:11px;display:grid}.sound-volume input{accent-color:#9fe6d3;width:120px;min-height:32px}.player-immersive{overflow:hidden}.player-immersive>.site-header{display:none}.player-settings{position:relative}.player-settings summary{cursor:pointer;border:1px solid #718175;border-radius:8px;min-height:48px;padding:12px 16px;font-size:13px}.settings-panel{z-index:4;background:#203744;border:1px solid #718175;border-radius:16px;gap:16px;width:min(300px,100vw - 32px);max-height:65dvh;padding:20px;display:grid;position:absolute;bottom:calc(100% + 10px);right:0;overflow:auto;box-shadow:0 16px 40px #0008}.settings-panel .player-instructions{text-align:left;margin:0}#player[data-immersive=true]{z-index:20;height:100dvh;padding:max(8px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));background:#14212b;flex-direction:column;gap:8px;display:flex;position:fixed;inset:0;overflow:hidden}#player[data-immersive=true] .player-top{flex-shrink:0;gap:12px;margin:0}.player-top .locale-nav{margin-left:auto}.player-top>button{min-height:48px;padding:8px 12px;font-size:12px}#player[data-immersive=true] .play-area{flex:1;min-height:0;overflow:auto}#player[data-immersive=true] #game-host{max-width:760px;height:100%;min-height:0;padding:12px;container-type:size}#player[data-immersive=true] .player-controls{flex-shrink:0;gap:8px;margin:0}#player[data-immersive=true] .game-message{flex-shrink:0;margin:0}#player[data-immersive=true] .game-message:empty{display:none}#player[data-immersive=true] .game-overlay{overflow:auto}#player[data-immersive=true] .circuit-board{touch-action:manipulation;width:min(100%,max(200px,100cqh - 120px))}#player[data-immersive=true] .merge-board{width:min(100%,max(200px,100cqh - 80px))}#player[data-immersive=true] .orbit-canvas{width:min(100%,max(200px,94.1176cqh - 112.941px))}#player[data-immersive=true] .crisp-frame{width:min(100%, max(120px, calc((100cqh - 80px) * var(--frame-ratio,1))));max-height:none}@media (width<=560px){#player[data-immersive=true] .player-top{gap:6px 10px}#player[data-immersive=true] .player-top h1{font-size:17px}#player[data-immersive=true] .scoreboard{gap:8px}#player[data-immersive=true] .scoreboard strong{font-size:17px}#player[data-immersive=true] .player-top .locale-nav a,#player[data-immersive=true] #game-host{padding:8px}#player[data-immersive=true] .scoreboard{flex-basis:100%;order:5;justify-content:center;gap:24px;margin:0}#player[data-immersive=true] .scoreboard span{align-items:baseline;gap:6px;display:flex}}#player[data-immersive=true] .play-area{overscroll-behavior:contain}#game-settings:empty{display:none}.player-settings summary:focus-visible{outline-offset:2px;outline:3px solid #a7f0e6}@media (width<=560px){#player[data-immersive=true] .player-controls{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}#player[data-immersive=true] .player-controls>button,#player[data-immersive=true] .player-settings summary{text-align:center;white-space:nowrap;width:100%;min-width:0;min-height:48px;padding:8px 2px;font-size:11px}#player[data-immersive=true] .player-top .locale-nav a{justify-content:center;align-items:center;min-width:44px;min-height:48px;padding:8px 4px;display:flex}#player[data-immersive=true] .player-top{gap:6px}#player[data-immersive=true] .player-top h1{font-size:16px}#player[data-immersive=true] .player-top>button{padding-inline:8px}.player-controls select{font-size:16px}.game-overlay{padding:16px}.overlay-content h2{margin:8px 0;font-size:26px}.overlay-content p{line-height:1.6}}
