@font-face{font-family:Bungee;src:url(./bungee-subset-DtSByrA9.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--sand: #d9c49c;--sand-deep: #c9b083;--ink: #1a1512;--ink-soft: #241d16;--ink-line: #3a2f24;--gold: #f2c14e;--coral: #e8553f;--cream: #f5ead6;--muted: #9c8b72;--sky: #efe0c0;--display: "Bungee", ui-rounded, "SF Pro Rounded", system-ui, sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--shell-max: 1100px;--cab-w: 1080px}#site-bar,#hero,#controls-hint,#board,#challenge,#footer,#cab-status{display:none}#site{min-height:100dvh}@media(min-width:900px){#site{background-color:var(--sand);background-image:radial-gradient(var(--sand-deep) 1.2px,transparent 1.3px);background-size:14px 14px;padding-bottom:0}#site-bar{display:flex;justify-content:center;align-items:baseline;gap:14px;background:var(--ink);border-bottom:3px solid var(--gold);padding:9px 20px 11px}.cd-label{font-family:var(--mono);font-size:14px;letter-spacing:.5px;color:var(--cream)}.cd-value{font-family:var(--display);font-size:28px;line-height:1;color:var(--gold);font-variant-numeric:tabular-nums;animation:cd-breathe 3.4s ease-in-out infinite}@keyframes cd-breathe{50%{opacity:.72}}@media(prefers-reduced-motion:reduce){.cd-value{animation:none}}#hero{display:block;text-align:center;padding:30px 20px 0;max-width:var(--shell-max);margin:0 auto}.wordmark{font-family:var(--display);line-height:.92;letter-spacing:1px;font-size:clamp(46px,6.2vw,78px);font-weight:400}.wordmark span{display:block}.wordmark-1{color:var(--coral)}.wordmark-2{color:var(--gold)}.wordmark span{-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:0 6px 0 var(--ink),0 7px 0 rgba(0,0,0,.25)}#cabinet{display:block;width:fit-content;margin:24px auto 0;background:var(--ink);padding:10px;border-radius:6px;box-shadow:0 0 0 3px var(--ink-line),0 18px 40px #1a151259}#cab-status{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:26px;font-family:var(--mono);font-size:12px;letter-spacing:1.6px;color:var(--gold);padding:4px 6px 10px}#cab-status span{font-variant-numeric:tabular-nums}#cab-status span:last-child{text-align:right}#cabinet #app{height:min(700px,calc(100dvh - 200px));width:var(--cab-w);max-width:var(--cab-w);margin:0;border-radius:2px;overflow:hidden}#hud #hud-day,#hud #timer{display:none}#controls-hint{display:block;text-align:center;margin-top:14px;font-family:var(--mono);font-size:11px;letter-spacing:2px;color:var(--ink);opacity:.5}#footer{display:block;margin-top:70px}.footer-main{background:var(--ink);padding:54px 34px 48px}.footer-main,.footer-bar{margin:0 calc(50% - 50vw);padding-left:max(34px,calc(50vw - var(--shell-max) / 2));padding-right:max(34px,calc(50vw - var(--shell-max) / 2))}.footer-main{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:start}.footer-pitch h2{font-family:var(--display);font-size:clamp(24px,2.9vw,34px);line-height:1.18;color:var(--cream);margin-bottom:16px}.footer-pitch p{font-family:var(--mono);font-size:13px;line-height:1.85;color:var(--cream);opacity:.7;max-width:46ch}.footer-signup{align-self:center}.footer-signup .field-row{display:flex;gap:12px}#relay-email{flex:1;min-width:0;font-family:var(--mono);font-size:15px;color:var(--cream);background:#f5ead61f;border:2px solid transparent;border-radius:0;padding:15px 16px}#relay-email::placeholder{color:var(--cream);opacity:.45}#relay-email:focus{outline:none;border-color:var(--gold)}#relay-email[aria-invalid=true]{border-color:var(--coral)}#footer .btn-solid{flex:0 0 auto;padding:15px 24px}#footer .field-note,#footer .field-msg{color:var(--cream);opacity:.6;text-align:left}#footer .field-msg{opacity:1}.footer-bar a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(26,21,18,.35);transition:color .15s ease}.footer-bar a:hover,.footer-bar a:focus-visible{color:var(--coral);border-bottom-color:var(--coral)}.footer-bar{display:flex;justify-content:space-between;gap:20px;background:var(--sand-deep);padding-top:18px;padding-bottom:18px;font-family:var(--mono);font-size:11px;letter-spacing:1.5px;color:var(--ink)}#board{display:grid;grid-template-columns:1fr 1fr;gap:46px;max-width:var(--shell-max);margin:52px auto 0;background:var(--ink);padding:30px 34px 34px}#board h2{font-family:var(--display);font-size:21px;color:var(--gold);margin-bottom:16px}#score-list{list-style:none;font-family:var(--mono);font-size:13px;color:var(--cream)}#score-list li{display:flex;justify-content:space-between;gap:16px;padding:7px 0;border-bottom:1px solid var(--ink-line)}#score-list li .rank{color:var(--gold);margin-right:10px}#score-list li time{font-variant-numeric:tabular-nums}#score-list li.you{color:var(--muted);border-bottom:none}#score-list li.you .rank{color:var(--muted)}.board-copy{font-family:var(--mono);font-size:13px;line-height:1.7;color:var(--cream)}#challenge{display:block;max-width:var(--shell-max);margin:64px auto 0;padding:8px 34px 24px;text-align:center}#challenge h2{font-family:var(--display);font-size:clamp(21px,2.6vw,31px);color:var(--ink);margin-bottom:16px}.challenge-copy{font-family:var(--mono);font-size:14px;line-height:1.8;color:var(--ink);opacity:.75}#challenge-form{max-width:540px;margin:30px auto 0}#challenge-form .field-row{display:flex;gap:10px}#challenge .field-msg,#challenge .field-note{text-align:center}#challenge-phone{flex:1;min-width:0;font-family:var(--mono);font-size:15px;letter-spacing:1px;color:var(--cream);background:transparent;border:2px solid var(--muted);border-radius:0;padding:13px 14px}#challenge-phone::placeholder{color:var(--muted)}#challenge-phone:focus{outline:none;border-color:var(--gold)}#challenge-phone[aria-invalid=true]{border-color:var(--coral)}#challenge .btn-solid{flex:0 0 auto;background:var(--ink);border-color:var(--ink);color:var(--gold);padding:15px 26px}.field-msg:empty{display:none}.field-msg{font-family:var(--mono);font-size:12px;line-height:1.5;margin-top:9px}.field-msg.error{color:var(--coral)}.field-msg.info{color:var(--gold)}.field-note{font-family:var(--mono);font-size:12px;line-height:1.7;color:var(--ink);opacity:.65;margin-top:14px}.link-btn{background:none;border:none;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}#challenge .field-msg{margin-top:14px}#challenge .field-msg.info{color:#7a5a12}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.board-btns{display:flex;gap:14px;margin-top:22px}.btn-solid,.btn-ghost{font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:1.5px;padding:14px 22px;cursor:pointer;border-radius:0}.btn-solid{background:var(--gold);color:var(--ink);border:2px solid var(--gold);flex:1}.btn-ghost{background:transparent;color:var(--cream);border:2px solid var(--cream)}.btn-solid:hover,.btn-ghost:hover{filter:brightness(1.08)}.btn-solid:focus-visible,.btn-ghost:focus-visible{outline:3px solid var(--coral);outline-offset:2px}}#sms-preview{position:fixed;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:20px;background:#1a1512c7}#sms-preview[hidden]{display:none}#sms-preview .sms-card{background:var(--ink);border:3px solid var(--gold);padding:22px;width:min(100%,400px);text-align:center}#sms-preview h3{font-family:var(--display);font-weight:400;font-size:17px;letter-spacing:1px;color:var(--gold);margin-bottom:16px}.sms-thread{background:var(--ink-soft);border:1px solid var(--ink-line);padding:14px;text-align:left}.sms-meta{font-family:var(--mono);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);text-align:center;margin-bottom:12px}.sms-bubble{position:relative;display:inline-block;max-width:88%;background:#3b3b3d;color:#fff;font-family:var(--mono);font-size:13px;line-height:1.5;padding:11px 14px;border-radius:18px 18px 18px 4px}#sms-preview .btn-ghost{margin-top:18px;width:100%}*{margin:0;padding:0;box-sizing:border-box}html,body{min-height:100%;overscroll-behavior:none;background:var(--sky, #efe0c0);font-family:ui-rounded,SF Pro Rounded,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}@media(max-width:899px){html,body{height:100%;overflow:hidden}}#app{position:relative;height:100dvh;max-width:560px;margin:0 auto;touch-action:none}@media(max-width:899px)and (orientation:landscape){#app{max-width:min(560px,146dvh)}}#game,#game canvas{position:absolute;inset:0;width:100%;height:100%;display:block}#ui{position:absolute;inset:0;pointer-events:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.screen{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:14px;pointer-events:auto}.screen.show{display:flex}.hero-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.hero-stat b{font-family:var(--display, inherit);font-weight:400;font-size:clamp(46px,13vw,68px);line-height:1;color:var(--gold, #f2c14e);font-variant-numeric:tabular-nums}.hero-stat i{font-style:normal;font-family:var(--mono, monospace);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--muted, #9c8b72)}.best-badge:empty{display:none}.best-badge{font-family:var(--mono, monospace);font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--cream, #f5ead6);border:2px solid var(--ink-line, #3a2f24);padding:6px 12px;align-self:center}.best-badge.is-best{color:var(--ink, #1a1512);background:var(--gold, #f2c14e);border-color:var(--gold, #f2c14e);font-weight:700}.meta{font-family:var(--mono, monospace);font-size:12px;color:var(--muted, #9c8b72)}#death,#delivered,#about,#howto{background:#1a1512b8;overflow-y:auto;padding:12px 0;justify-content:safe center}#menu{justify-content:center;text-align:center;gap:14px;background:radial-gradient(ellipse at 50% 42%,#1a15129e,#1a1512d1)}.title{font-family:var(--display, inherit);font-size:clamp(34px,10vw,50px);font-weight:400;line-height:.94;letter-spacing:1px;color:var(--coral, #e8553f);-webkit-text-stroke:3px var(--ink, #1a1512);paint-order:stroke fill;text-shadow:0 5px 0 var(--ink, #1a1512)}.title .line-2{display:block;color:var(--gold, #f2c14e)}.tagline{font-family:var(--mono, monospace);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;background:var(--ink, #1a1512);color:var(--cream, #f5ead6);padding:7px 12px;margin-top:6px}.menu-countdown{font-family:var(--mono, monospace);font-size:12px;letter-spacing:1.5px;color:var(--cream, #f5ead6);background:var(--ink, #1a1512);border:2px solid var(--gold, #f2c14e);padding:8px 14px;text-transform:uppercase}.menu-countdown b{font-family:var(--display, inherit);font-weight:400;font-size:20px;color:var(--gold, #f2c14e);display:block;margin-bottom:2px;font-variant-numeric:tabular-nums}@media(min-width:900px){.menu-countdown{display:none}}.play-cta{margin-top:12px;font-family:var(--display, inherit);font-size:clamp(22px,5.5vw,30px);font-weight:400;letter-spacing:2px;text-transform:none;color:var(--ink, #1a1512);background:var(--gold, #f2c14e);border:4px solid var(--ink, #1a1512);border-radius:0;padding:18px 34px;box-shadow:0 8px 0 var(--ink, #1a1512);animation:cta-pulse 1.5s ease-out infinite}@keyframes cta-pulse{0%,to{box-shadow:0 8px 0 var(--ink, #1a1512),0 0 #f2c14e80}70%{box-shadow:0 8px 0 var(--ink, #1a1512),0 0 0 20px #f2c14e00}}.play-cta:hover{filter:brightness(1.06)}.play-cta:active{transform:translateY(5px);box-shadow:0 3px 0 var(--ink, #1a1512)}.play-cta:focus-visible{outline:4px solid var(--coral, #e8553f);outline-offset:4px}@media(prefers-reduced-motion:reduce){.play-cta{animation:none}}.menu-footer{position:absolute;bottom:calc(14px + env(safe-area-inset-bottom));display:flex;gap:10px;align-items:center}.menu-footer button.ghost{background:#1a1512cc;color:var(--cream, #f5ead6);text-decoration:none;padding:7px 14px;letter-spacing:1px;text-transform:uppercase}@media(max-height:520px){#menu{gap:7px;padding:10px 12px}.title{font-size:clamp(24px,7.2vh,38px);-webkit-text-stroke-width:2px;text-shadow:0 4px 0 var(--ink, #1a1512)}.tagline{margin-top:0;padding:5px 10px}.menu-countdown{padding:5px 12px}.menu-countdown b{font-size:16px;margin-top:1px}.play-cta{margin-top:2px;padding:12px 28px;font-size:clamp(20px,5.6vh,28px)}.menu-footer{position:static;bottom:auto;margin-top:10px}}#hud{position:absolute;top:calc(10px + env(safe-area-inset-top));left:12px;right:12px;display:none;justify-content:space-between;font-weight:900;color:#2b1d0e;pointer-events:none}#hud.show{display:flex}#hud .chip{background:var(--ink, #1a1512);color:var(--gold, #f2c14e);font-family:var(--mono, monospace);font-weight:700;letter-spacing:1px;border-radius:2px;padding:5px 10px;font-size:12px;text-transform:uppercase}#hud #timer{font-variant-numeric:tabular-nums;font-size:14px}#hud .hud-left{display:flex;flex-direction:column;align-items:flex-start;gap:6px}#lane-count{font-family:var(--display, inherit);font-size:clamp(30px,6vw,44px);line-height:1;color:var(--cream, #f5ead6);-webkit-text-stroke:4px var(--ink, #1a1512);paint-order:stroke fill;font-variant-numeric:tabular-nums;transform-origin:left center}#lane-count.bump{animation:lane-bump .22s ease-out}@keyframes lane-bump{40%{transform:scale(1.22)}}@media(prefers-reduced-motion:reduce){#lane-count.bump{animation:none}}#hud .hud-right{display:flex;align-items:stretch;gap:8px}#hud .settings-btn:after{content:"";position:absolute;top:50%;left:50%;width:max(100%,60px);height:max(100%,46px);transform:translate(-50%,-50%)}#hud .settings-btn:focus-visible{outline:3px solid #f5c542;outline-offset:2px}#hud .settings-btn{pointer-events:auto;position:relative;border:none;cursor:pointer;display:flex;align-items:center;font-size:18px;line-height:1;padding:0 10px;box-shadow:none}.panel[hidden]{display:none}.panel{position:absolute;top:calc(48px + env(safe-area-inset-top));right:12px;z-index:5;pointer-events:auto;min-width:210px;background:var(--ink, #1a1512);border:2px solid var(--gold, #f2c14e);padding:8px}.panel-title{font-family:var(--mono, monospace);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--muted, #9c8b72);padding:4px 8px 8px}.panel-row{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:44px;background:none;border:none;border-radius:0;box-shadow:none;padding:10px 8px;font-family:var(--mono, monospace);font-size:13px;font-weight:400;letter-spacing:.5px;text-transform:none;color:var(--cream, #f5ead6);cursor:pointer}.panel-row:hover{background:#f5ead614}.panel-row b{font-weight:700;color:var(--gold, #f2c14e)}.panel-row[aria-pressed=false] b{color:var(--muted, #9c8b72)}#dpad,#touch-hint{display:none}@media(max-width:899px){#dpad:not([hidden]){display:grid;position:absolute;left:50%;transform:translate(-50%);bottom:calc(18px + env(safe-area-inset-bottom));grid-template-columns:repeat(3,62px);grid-auto-rows:62px;gap:8px;pointer-events:auto}.dpad-key{display:flex;align-items:center;justify-content:center;font-family:var(--mono, monospace);font-size:24px;padding:0;border-radius:0;border:2px solid rgba(26,21,18,.55);background:#f2c14ed1;color:var(--ink, #1a1512);box-shadow:none;touch-action:none}.dpad-key:active{background:var(--gold, #f2c14e);transform:translateY(2px)}.dpad-up{grid-area:1 / 2}.dpad-left{grid-area:2 / 1}.dpad-down{grid-area:2 / 2}.dpad-right{grid-area:2 / 3}#ui.dpad-off #hud.show~#touch-hint{display:block;position:absolute;left:0;right:0;bottom:calc(22px + env(safe-area-inset-bottom));text-align:center;font-family:var(--mono, monospace);font-size:12px;letter-spacing:1px;color:var(--cream, #f5ead6);text-shadow:0 2px 0 rgba(26,21,18,.9);opacity:.85}}.card{background:var(--ink, #1a1512);border:3px solid var(--gold, #f2c14e);border-radius:2px;box-shadow:0 10px 30px #00000073;width:min(88%,420px);padding:24px 20px;text-align:center;display:flex;flex-direction:column;gap:12px}.card h1{font-family:var(--display, inherit);font-size:26px;font-weight:400;line-height:1.15;letter-spacing:1px;color:var(--gold, #f2c14e);text-transform:uppercase}.card .sub{font-family:var(--mono, monospace);font-size:13px;letter-spacing:1px;color:var(--cream, #f5ead6);text-transform:uppercase}.stats{display:flex;justify-content:center;gap:18px;font-family:var(--mono, monospace);color:var(--cream, #f5ead6);font-variant-numeric:tabular-nums}.stats span b{display:block;font-size:22px;color:var(--gold, #f2c14e)}.stats span i{font-style:normal;font-size:10px;color:var(--muted, #9c8b72);text-transform:uppercase;letter-spacing:1.5px}.shelf{display:grid;grid-template-columns:repeat(10,1fr);gap:5px;padding:4px 10px}.shelf i{width:100%;aspect-ratio:1;border-radius:50%;background:var(--ink-line, #3a2f24)}.shelf i.done{background:var(--gold, #f2c14e)}.shelf i.missed{background:var(--coral, #e8553f);opacity:.5}button{pointer-events:auto;font-family:var(--mono, monospace);font-weight:700;font-size:14px;letter-spacing:1.5px;text-transform:uppercase;padding:13px 20px;border-radius:0;border:2px solid var(--coral, #e8553f);background:var(--coral, #e8553f);color:var(--cream, #f5ead6);cursor:pointer}button:active{transform:translateY(2px)}button.secondary{background:transparent;border-color:var(--gold, #f2c14e);color:var(--gold, #f2c14e)}button.ghost{background:none;border:none;font-size:12px;font-weight:400;color:var(--muted, #9c8b72);text-decoration:underline;padding:6px}button.ghost,.bridge a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}.bridge a{padding:4px 8px}button:focus-visible{outline:3px solid var(--gold, #f2c14e);outline-offset:2px}button:disabled{opacity:.45}.btn-row{display:flex;gap:10px;justify-content:center}.bridge{font-family:var(--mono, monospace);font-size:12px}.bridge a{color:var(--gold, #f2c14e)}#about{background:#1a1512db}#about .card{text-align:left;position:relative;padding-top:30px}.card-close{position:absolute;top:6px;right:6px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:none;border:none;color:var(--muted, #9c8b72);font-family:var(--mono, monospace);font-size:24px;line-height:1;cursor:pointer}.card-close:hover{color:var(--cream, #f5ead6)}.btn-cta{display:block;text-align:center;font-family:var(--mono, monospace);font-weight:700;font-size:14px;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;padding:15px 20px;background:var(--coral, #e8553f);color:var(--cream, #f5ead6);border:2px solid var(--coral, #e8553f)}.btn-cta:hover{filter:brightness(1.07)}.btn-cta:focus-visible{outline:3px solid var(--gold, #f2c14e);outline-offset:2px}#about h2{font-family:var(--display, inherit);font-weight:400;color:var(--gold, #f2c14e)}#about p{font-family:var(--mono, monospace);color:var(--cream, #f5ead6);font-size:13px;line-height:1.65}#about .powered{color:var(--gold, #f2c14e)}#howto{background:#1a1512cc}#howto .card{gap:16px;padding:26px 22px 22px}.tut-steps{display:grid}.tut-step{grid-area:1 / 1;display:flex;flex-direction:column;gap:16px;visibility:hidden}.tut-step.on{visibility:visible}.tut-body{font-family:var(--mono, monospace);font-size:13px;line-height:1.7;color:var(--cream, #f5ead6)}.tut-keys{display:grid;grid-template-columns:repeat(3,42px);gap:6px;justify-content:center}.tut-keys kbd:nth-child(1){grid-area:1 / 2}.tut-keys kbd:nth-child(2){grid-area:2 / 1}.tut-keys kbd:nth-child(3){grid-area:2 / 2}.tut-keys kbd:nth-child(4){grid-area:2 / 3}@media(pointer:coarse){.tut-keys{display:none}}.tut-keys kbd{font-family:var(--mono, monospace);font-size:17px;line-height:1;color:var(--ink, #1a1512);background:var(--gold, #f2c14e);border:2px solid var(--ink, #1a1512);box-shadow:0 3px #0006;padding:9px 12px 11px}.tut-dots{display:flex;justify-content:center;gap:7px}.tut-dots i{width:9px;height:9px;background:var(--ink-line, #3a2f24);border:1px solid var(--muted, #9c8b72)}.tut-dots i.on{background:var(--gold, #f2c14e);border-color:var(--gold, #f2c14e)}#toast{position:absolute;left:50%;bottom:calc(70px + env(safe-area-inset-bottom));transform:translate(-50%);background:var(--gold, #f2c14e);color:var(--ink, #1a1512);font-family:var(--mono, monospace);font-weight:700;font-size:12px;letter-spacing:1px;text-transform:uppercase;padding:10px 16px;border-radius:0;opacity:0;transition:opacity .25s;pointer-events:none;white-space:nowrap}#toast.show{opacity:1}#debug{position:absolute;bottom:4px;left:4px;font:11px/1.5 monospace;background:#0009;color:#9f9;padding:4px 6px;border-radius:4px;pointer-events:none;white-space:pre}
