@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(../assets/ui/fonts/press-start-2p-latin-400-normal.woff2)format("woff2")}@font-face{font-family:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(../assets/ui/fonts/vt323-latin-400-normal.woff2)format("woff2")}:root{color:#ffe9bc;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;--cream:#ffe9bc;--pumpkin:#ed913e;background:#201810;font-family:VT323,monospace;font-weight:400}*{box-sizing:border-box}body{min-width:320px;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline-offset:5px;outline:3px solid #ffe29b}[hidden]{display:none!important}.arcade{width:min(1160px,100% - 48px);margin:24px auto}.masthead{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.wordmark{color:var(--pumpkin);letter-spacing:-1px;font:19px "Press Start 2P",monospace;text-decoration:none}.wordmark span{color:var(--cream)}.masthead-right{align-items:center;gap:16px;display:flex}.season{color:#ae9470;letter-spacing:1px;font-size:19px}.cabinet,.hud,.overlay-card,.shift-strip,.small-button,.move-controls .control-button{image-rendering:pixelated;background:#251b13 url(../assets/ui/panel.webp) 50%/100% 100%;border:0}.small-button{padding:9px 12px;font-size:17px}.cabinet{padding:6px;box-shadow:0 9px #100c09}.hud{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;height:98px;padding:17px 24px;display:grid}.stat{flex-direction:column;align-items:center;gap:5px;display:flex}.stat-label{letter-spacing:3px;color:#d4ad73;font-size:18px}.stat strong{color:var(--cream);font:23px "Press Start 2P",monospace}.stat:first-child strong{color:#ffb759}.life-icons{align-items:center;gap:7px;height:31px;display:flex}.life-icons img{object-fit:contain;width:23px;height:30px;image-rendering:pixelated}.life-icons img.lost{opacity:.2;filter:grayscale()}.game-surface{background:#2a382b;height:min(60vw,570px);min-height:370px;position:relative;overflow:hidden}#game{position:absolute;inset:0}#game canvas{image-rendering:pixelated;display:block}.overlay{z-index:5;background:#160e08aa;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.overlay-card{text-align:center;width:min(500px,85%);color:var(--cream);padding:34px 28px 40px}.eyebrow{letter-spacing:2px;color:#d4af72;margin:0 0 17px;font-size:17px}h1,h2{letter-spacing:-2px;margin:0 0 12px;font:40px/1.4 "Press Start 2P",monospace}h1{font-size:45px;line-height:1.5}h1 span,h2 span{color:#f8a340}.tagline{margin:7px 0 26px;font-size:25px}.primary-button,.control-button{color:#26170d;image-rendering:pixelated;background:url(../assets/ui/button.webp) 50%/100% 100%;border:0}.primary-button{min-height:65px;padding:19px 25px;font:17px "Press Start 2P",monospace;transition:filter .12s,transform .1s;box-shadow:0 4px #281408}.primary-button:hover{filter:brightness(1.12)}.primary-button:active{transform:translateY(3px);box-shadow:0 1px #281408}.how-to{margin:20px 0 12px;font-size:22px}.how-to em{color:#e2b772;font-style:normal}.keyboard-guide{color:#bda582;margin:12px 0 0;font-size:16px}kbd{font:inherit;color:#fae5bb;background:#4c3b26;margin:0 2px;padding:1px 5px}.keyboard-guide>span{margin:0 9px}.touch-guide{display:none}.start-overlay{background:#150f08a1;justify-content:flex-end;padding-right:6%}.start-overlay .overlay-card{z-index:2;width:48%}.start-overlay .eyebrow{letter-spacing:1.5px;font-size:16px}.start-portrait{object-fit:contain;width:36%;max-height:92%;image-rendering:pixelated;filter:drop-shadow(5px 6px #0c09087a);position:absolute;bottom:0;left:6%}.end-overlay{background:#160e0833;justify-content:flex-end;padding-right:5%}.end-card{width:46%;padding:30px 25px 40px}.end-card h2{font-size:38px}.end-actions{align-items:stretch;gap:8px;display:flex}.end-actions .primary-button{flex:1.35;min-width:0;padding-inline:10px;font-size:12px;line-height:1.4}.end-actions .small-button{flex:1;min-width:0;min-height:44px;font-size:21px}.share-dialog{width:min(480px,100% - 24px);max-height:calc(100dvh - 24px);padding:25px;overflow-y:auto}.share-dialog:not([open]){display:none}.share-dialog::backdrop{background:#160e08d9}.share-dialog .eyebrow{margin-bottom:15px}.share-preview{width:100%;height:auto;image-rendering:pixelated;display:block}#share-status{font-size:22px;line-height:1.1}#share-copy-text{width:100%;height:118px;color:var(--cream);resize:none;background:#201810;border:1px solid #ae9470;padding:10px;font:17px/1.1 VT323,monospace}.share-actions{justify-content:center;gap:12px;display:flex}.share-actions>*{min-height:48px;color:inherit;flex:1;place-content:center;text-decoration:none;display:grid}.share-actions .primary-button{color:#26170d;font-size:12px}.joke{max-width:360px;margin:18px auto;font-size:25px;line-height:1.1}.final-scores{justify-content:center;gap:42px;margin:23px 0;display:flex}.final-scores>div{flex-direction:column;gap:12px;display:flex}.final-scores span{letter-spacing:2px;color:#bda582;font-size:18px}.final-scores strong{color:#ffbe63;font:22px "Press Start 2P",monospace}.run-stats{color:#bda582;font-size:18px}.shift-strip{letter-spacing:1px;color:#cbb080;justify-content:space-between;align-items:center;gap:10px;height:43px;padding:7px 23px;font-size:19px;display:flex}#shift-message{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}#timer{flex:none}.touch-controls{display:none}footer{color:#a08763;letter-spacing:.5px;justify-content:space-between;gap:20px;margin-top:25px;font-size:16px;display:flex}.mobile-footer{display:none}.loading{z-index:10;background:#201810;place-content:center;font-size:22px;display:grid;position:absolute;inset:0}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.fatal-error{z-index:50;text-align:center;background:#21180fee;place-content:center;padding:24px;font-size:24px;display:grid;position:fixed;inset:0}.fatal-error p{max-width:600px}@media (width<=700px),(pointer:coarse){.arcade{height:calc(100dvh - 48px - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin-top:calc(24px + env(safe-area-inset-top));margin-bottom:calc(24px + env(safe-area-inset-bottom));flex-direction:column;display:flex}.masthead,.hud,.shift-strip{flex-shrink:0}.cabinet{flex-direction:column;flex:1;min-height:0;display:flex}.game-surface{flex:1;height:auto;min-height:235px}.touch-controls{flex-shrink:0;grid-template-rows:134px;grid-template-columns:1.15fr 1fr 1.15fr;align-self:center;gap:10px;width:min(100%,480px);margin-top:14px;display:grid}.move-controls{flex-direction:column;grid-area:1/2;gap:7px;display:flex}.control-button{touch-action:none;-webkit-user-select:none;user-select:none;flex:1;min-width:60px;min-height:82px;font-size:31px}.move-controls .control-button{color:#e9cf98;min-height:60px}.control-button span{font-size:18px}.serve-button{flex-direction:column;grid-area:1/3;justify-content:center;align-items:center;gap:6px;padding:4px;display:flex}.swap-controls{flex-direction:column;grid-area:1/1;justify-content:center;place-self:center start;width:60px;height:60px;min-height:44px;padding:4px;font-size:16px;display:flex}.controls-left .serve-button{grid-column:1}.controls-left .swap-controls{grid-column:3;justify-self:end}.serve-button span{font:13px "Press Start 2P",monospace}.serve-button small{letter-spacing:.5px;color:#4f2a13;max-width:100%;padding:0 4px;font-size:10px}.control-button:active{filter:brightness(1.15);transform:translateY(3px)}.keyboard-guide,.desktop-footer,footer{display:none}.touch-guide{color:#bda582;max-width:270px;margin:10px auto 0;font-size:18px;display:block}}@media (width<=700px){.arcade{width:calc(100% - 20px - env(safe-area-inset-left) - env(safe-area-inset-right));height:calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:calc(10px + env(safe-area-inset-top)) auto calc(10px + env(safe-area-inset-bottom))}.masthead{gap:10px;margin-bottom:10px}.wordmark{font-size:12px}.season{display:none}.masthead-right{gap:4px}.small-button{padding:8px 9px;font-size:15px}.cabinet{padding:4px}.hud{gap:3px;height:75px;padding:12px 5px}.stat-label{letter-spacing:1px;font-size:15px}.stat strong{font-size:clamp(10px,3.2vw,15px)}.life-icons{gap:2px;height:24px}.life-icons img{width:17px;height:23px}.game-surface{min-height:235px}.overlay-card{width:92%;padding:25px 14px 36px}.start-overlay{justify-content:center;padding:0}.start-overlay .overlay-card{width:92%}.start-portrait{display:none}h1{font-size:35px;line-height:1.45}.start-overlay .eyebrow{letter-spacing:1px;margin-bottom:13px;font-size:14px}.tagline{margin-bottom:18px;font-size:22px}.primary-button{min-height:61px;padding:16px 18px;font-size:13px}.how-to{margin:18px 0 8px;font-size:20px}.shift-strip{letter-spacing:0;height:35px;padding:6px 10px;font-size:14px}.end-overlay{padding-right:3%}.end-card{width:60%;padding:23px 13px 32px}.end-card h2{letter-spacing:-1px;font-size:21px;line-height:1.5}.end-card .eyebrow{letter-spacing:1px;margin-bottom:12px;font-size:11px;line-height:1.1}.end-card .joke{margin:16px 0;font-size:18px;line-height:1.05}.end-card .primary-button{min-height:51px;padding:12px 8px;font-size:9px}.end-actions{gap:5px}.end-actions .small-button{padding:8px 5px;font-size:17px}.share-dialog{padding:20px 16px}.final-scores{gap:15px;margin:18px 0}.final-scores span{letter-spacing:1px;font-size:13px}.final-scores strong{font-size:12px}.run-stats{font-size:13px;line-height:1.2}.pause-overlay h2{font-size:25px}footer{justify-content:center;margin-top:10px;font-size:12px}#storage-note{text-align:center}}@media (width<=700px) and (height<=730px){.start-overlay .overlay-card{padding:16px 12px 23px}.start-overlay .eyebrow{margin-bottom:7px;font-size:12px}h1{margin-bottom:7px;font-size:25px;line-height:1.3}.tagline{margin:5px 0 12px;font-size:18px}.primary-button{min-height:52px;font-size:11px}.how-to{margin:11px 0 5px;font-size:18px}.touch-guide{margin-top:6px;font-size:16px}.end-card{padding:12px 11px 18px}.end-card h2{margin-bottom:6px;font-size:15px;line-height:1.25}.end-card .eyebrow{margin-bottom:6px;font-size:8px}.end-card .joke{margin:8px 0;font-size:14px}.final-scores{gap:10px;margin:10px 0}.final-scores>div{gap:5px}.final-scores strong{font-size:10px}.run-stats{margin:8px 0;font-size:10px;line-height:1.1}.end-card .primary-button{min-height:44px;font-size:8px}}@media (pointer:coarse) and (width>=701px) and (height<=550px){.arcade{width:calc(100% - 24px - env(safe-area-inset-left) - env(safe-area-inset-right));height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:calc(8px + env(safe-area-inset-top)) auto calc(8px + env(safe-area-inset-bottom));padding-right:266px;position:relative}.arcade.controls-left{padding-left:266px;padding-right:0}.masthead{margin-bottom:8px}.wordmark{font-size:14px}.season{display:none}.masthead-right{gap:5px}.small-button{padding:5px 8px;font-size:14px}.hud{height:58px;padding:9px}.stat-label{letter-spacing:1px;font-size:13px}.stat strong{font-size:13px}.life-icons{height:19px}.life-icons img{width:15px;height:19px}.game-surface{min-height:215px}.shift-strip{height:27px;font-size:14px}.touch-controls{gap:7px;width:252px;margin:0;position:absolute;bottom:0;right:0}.controls-left .touch-controls{left:0;right:auto}.control-button{min-height:60px;font-size:24px}.control-button span{font-size:16px}.serve-button span{font-size:12px}.swap-controls{width:44px}.serve-button small{display:none}.start-overlay .overlay-card{width:58%;padding:14px 18px 20px}.start-overlay .eyebrow{margin-bottom:6px;font-size:11px}h1{margin-bottom:5px;font-size:22px;line-height:1.25}.tagline{margin:5px 0 10px;font-size:18px}.primary-button{min-height:48px;padding:12px 17px;font-size:11px}.how-to{margin:9px 0 5px;font-size:17px}.touch-guide{margin-top:5px;font-size:15px}.start-portrait{width:28%;left:4%}.end-card{width:55%;padding:12px 18px 15px}.end-card h2{margin-bottom:5px;font-size:21px;line-height:1.25}.end-card h2 br{display:none}.end-card h2 span{margin-left:.6em}.end-card .eyebrow{margin-bottom:6px;font-size:10px}.end-card .joke{margin:8px auto;font-size:17px}.final-scores{gap:25px;margin:8px 0}.final-scores>div{gap:5px}.final-scores span,.run-stats{font-size:13px}.final-scores strong{font-size:14px}.run-stats{margin:6px 0 9px}footer{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
