@font-face{font-family:Sora;src:url(/assets/Sora-VF.subset-D9okSmd5.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:Figtree;src:url(/assets/Figtree-VF.subset-BdBx-VPL.woff2)format("woff2");font-display:swap;font-weight:300 900}:root{color:#f7f5ef;font-synthesis:none;background:#090f27;font-family:Figtree,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 70% -10%,#1a2d5f 0,#0c1535 42%,#090f27 82%);min-height:100vh;margin:0;overflow-x:hidden}.hub-back{z-index:4;color:#f7f5ef;letter-spacing:.04em;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#090f27c7;border:1px solid #e7f0ff40;border-radius:999px;padding:9px 13px;font-size:12px;font-weight:800;text-decoration:none;position:fixed;top:18px;left:22px}.hub-back:hover{color:#baff56;border-color:#baff56}.snake-shell{width:min(1120px,100% - 40px);margin:0 auto;padding:92px 0 56px}.snake-header{justify-content:space-between;align-items:end;gap:28px;margin-bottom:24px;display:flex}.eyebrow{color:#baff56;letter-spacing:.18em;text-transform:uppercase;margin:0 0 10px;font:800 12px/1 Sora,system-ui,sans-serif}.snake-header h1{color:#f7f5ef;letter-spacing:-.08em;margin:0;font:900 clamp(52px,8vw,92px)/.86 Sora,system-ui,sans-serif}.subtitle{color:#a8b8da;margin:15px 0 0;font-size:17px}.scoreboard{gap:10px;display:flex}.scoreboard>div{text-align:center;background:#131f45b3;border:1px solid #cadcff2b;border-radius:14px;min-width:92px;padding:13px 16px;box-shadow:0 14px 30px #00000029}.scoreboard span{color:#9eafd3;text-transform:uppercase;letter-spacing:.12em;font-size:11px;display:block}.scoreboard strong{color:#ffca73;margin-top:5px;font:800 25px/1 Sora,system-ui,sans-serif;display:block}.scoreboard small{color:#baff56;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;margin-top:4px;font-size:9px;font-weight:800;display:block}.game-panel{background:#09102bad;border:1px solid #cee2ff29;border-radius:24px;padding:16px;box-shadow:0 24px 80px #00000047}.canvas-wrap{background:#0b1330;border-radius:16px;position:relative;overflow:hidden}.canvas-wrap canvas{aspect-ratio:4/3;outline:none;width:100%;height:auto;display:block}.canvas-wrap canvas:focus-visible{box-shadow:inset 0 0 0 3px #baff56}.game-overlay{text-align:center;background:linear-gradient(#081028ab,#081028de);align-content:center;place-items:center;padding:30px;transition:opacity .2s;display:grid;position:absolute;inset:0}.game-overlay.hidden{opacity:0;pointer-events:none}.game-overlay h2{letter-spacing:-.06em;margin:4px 0 12px;font:800 clamp(30px,5vw,58px)/.95 Sora,system-ui,sans-serif}.game-overlay p:not(.overlay-kicker){color:#c3d0ea;max-width:470px;margin:0 auto 22px;line-height:1.6}.overlay-kicker{color:#baff56;letter-spacing:.16em;margin-bottom:8px;font:800 12px Sora,sans-serif}.snake-button{color:#f7f5ef;cursor:pointer;background:#172650;border:1px solid #deebff40;border-radius:10px;padding:11px 16px;font:800 13px Figtree,system-ui,sans-serif;transition:transform .15s,border-color .15s,background .15s}.snake-button:hover:not(:disabled){background:#223766;border-color:#baff56;transform:translateY(-2px)}.snake-button.primary{color:#10152b;background:#baff56;border-color:#baff56;box-shadow:0 10px 30px #baff562e}.snake-button:disabled{cursor:not-allowed;opacity:.45}.overlay-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.challenge-status{color:#ffca73;letter-spacing:.06em;text-transform:uppercase;border:1px solid #ffca7357;border-radius:999px;padding:5px 9px;font:800 10px Sora,system-ui,sans-serif}.snake-button kbd{color:#a8b8da;margin-left:6px;font:700 10px Sora,sans-serif}.game-toolbar{justify-content:space-between;align-items:center;gap:16px;padding:14px 3px 2px;display:flex}.status-stack{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.status{color:#9eafd3;font-size:14px}.power-status{color:#baff56;letter-spacing:.06em;text-transform:uppercase;border:1px solid #baff564d;border-radius:999px;padding:5px 9px;font:800 10px Sora,system-ui,sans-serif}.toolbar-actions{gap:8px;display:flex}.below-board{grid-template-columns:1fr 1fr;gap:16px;margin-top:20px;display:grid}.control-card,.tip-card{background:#111d418a;border:1px solid #cee2ff24;border-radius:18px;padding:22px}.control-layout{align-items:center;gap:22px;display:flex}.control-layout p,.tip-card p:not(.eyebrow){color:#a8b8da;margin:0;line-height:1.55}.control-layout strong{color:#f7f5ef}.dpad{grid-template-rows:repeat(2,36px);grid-template-columns:repeat(3,36px);gap:5px;display:grid}.control-key{color:#eaf2ff;cursor:pointer;background:#162653;border:1px solid #deebff38;border-radius:8px;font-size:18px}.control-key:hover{color:#baff56;border-color:#baff56}.control-key.up{grid-column:2}.tip-card h2{color:#ffca73;letter-spacing:-.04em;margin:4px 0 8px;font:800 25px/1.1 Sora,system-ui,sans-serif}.touch-dpad,html.embedded .hub-back{display:none}@media (pointer:coarse),(max-width:700px){.canvas-wrap:has(.game-overlay:not(.hidden)) .touch-dpad{display:none}.touch-dpad{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);touch-action:manipulation;z-index:2;background:#070f27bd;border:1px solid #e7f0ff33;border-radius:18px;grid-template-rows:repeat(2,48px);grid-template-columns:repeat(3,48px);gap:6px;padding:8px;display:grid;position:absolute;bottom:14px;right:14px}.touch-dpad .control-key{touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#162653eb;border-color:#deebff4d;width:48px;height:48px;font-size:23px}.touch-dpad .control-key:active{color:#baff56;border-color:#baff56;transform:scale(.94)}.touch-dpad .control-key.up{grid-column:2}.touch-dpad .control-key[data-dir=left]{grid-area:2/1}.touch-dpad .control-key[data-dir=down]{grid-area:2/2}.touch-dpad .control-key[data-dir=right]{grid-area:2/3}.canvas-wrap canvas{touch-action:none}.below-board .control-card{display:none}.snake-shell{padding-bottom:28px}}@media (max-width:700px){.snake-shell{width:min(100% - 24px,1120px);padding-top:82px}.snake-header{flex-direction:column;align-items:start}.scoreboard{width:100%}.scoreboard>div{flex:1;min-width:0}.below-board{grid-template-columns:1fr}.game-toolbar{flex-direction:column;align-items:start}.toolbar-actions{width:100%}.toolbar-actions button{flex:1}.hub-back{top:12px;left:12px}}
