@font-face{font-family:Pixel;src:url('assets/pixel.woff') format('woff');font-display:swap}
:root{--cream:#f3ebd6;--paper:#faf4e4;--ink:#293d35;--green:#356c52;--red:#a93742;--line:#d6c9ad;--pixel:Pixel,'Courier New',monospace}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;overscroll-behavior-y:none}button,a{-webkit-tap-highlight-color:transparent}button{font-family:inherit;cursor:pointer}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #c18b32;outline-offset:4px}button:disabled{cursor:default;opacity:.58}.arcade{max-width:1060px;margin:auto;padding:0 42px}.masthead{display:flex;justify-content:space-between;align-items:center;height:88px;border-bottom:1px solid var(--line);gap:15px}.brand{font-family:var(--pixel);font-size:10px;letter-spacing:1px;text-decoration:none;color:var(--ink);display:flex;gap:13px;align-items:center}.brand-mark{font-family:serif;font-size:31px;color:var(--red)}.edition{font-family:var(--pixel);font-size:8px;color:#746e5f;letter-spacing:.4px}.layout{display:grid;grid-template-columns:1fr 432px;gap:64px;align-items:center;padding:39px 0 36px}.story{padding:8px 0}.eyebrow,.tiny-label,.overline{font-family:var(--pixel);font-size:8px;letter-spacing:.7px}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--green)}.green-dot{width:7px;height:7px;background:var(--green);box-shadow:2px 2px 0 #c0c7a9}h1{font-family:var(--pixel);font-weight:400;font-size:44px;line-height:1.33;letter-spacing:-1px;margin:23px 0 22px;display:flex;flex-direction:column}.bowie{color:var(--red);position:relative;display:flex;gap:14px;align-items:center}.title-star{font-family:serif;font-size:37px}.tagline{font-family:Georgia,serif;font-size:33px;line-height:1.18;margin:0 0 20px}.intro{font-size:15px;line-height:1.7;color:#626c5f;max-width:318px;margin-bottom:26px}.driver-card{display:flex;gap:17px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0}.driver-card canvas{image-rendering:pixelated;width:78px;height:78px;background:#e4e4c6;border:3px solid var(--ink);box-shadow:4px 4px 0 #d4c7a6}.driver-card .tiny-label{display:block;color:#757e66;font-size:7px}.driver-card strong{display:block;font-size:21px;margin:5px 0}.driver-note{display:block;font-size:12px;line-height:1.55;color:#626c5f}.mission{padding:21px 0 22px}.mission .tiny-label{color:var(--green)}.mission p{font-size:13px;line-height:1.7;margin:9px 0}.text-button{background:none;border:0;border-bottom:1px solid #b89d70;padding:4px 0;font-size:12px;color:var(--ink);display:flex;gap:18px}.campaign-mini{display:flex;gap:12px;align-items:center;color:#6a705e;font-size:11px;line-height:1.6}.campaign-mini img{width:89px;height:51px;object-fit:contain;image-rendering:pixelated;border:1px solid #c9baa1}.campaign-mini strong{font-weight:650}.machine{background:#2d4339;border:3px solid #293d35;box-shadow:8px 8px 0 #d0c3a0;border-radius:9px 9px 4px 4px;overflow:hidden}.machine-top{height:34px;padding:0 13px;display:flex;justify-content:space-between;align-items:center;font-family:var(--pixel);font-size:7px;letter-spacing:.5px;color:#d7e3ba}.led{height:5px;width:5px;background:#bae08b;box-shadow:0 0 7px #91c877}.dash{background:#f8efd9;padding:12px 13px;display:grid;grid-template-columns:1fr auto auto;gap:22px;border-bottom:3px solid var(--ink);min-height:66px}.dash .tiny-label{font-size:6px;display:block;color:#72775f;white-space:nowrap}.health{color:#c45a56;display:block;letter-spacing:3px;font-size:22px;line-height:1.4}.health .empty{color:#d7cdb7}.scorebox strong,.livesbox strong{font-family:var(--pixel);display:block;font-size:13px;letter-spacing:1px;margin-top:10px}.screen{position:relative;background:#89b674;overflow:hidden;width:100%;aspect-ratio:1;touch-action:none}#game{display:block;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;outline:none}.screen-corner{position:absolute;top:9px;left:9px;right:9px;display:flex;justify-content:space-between;pointer-events:none;font-family:var(--pixel);font-size:6px;color:#fcf1cc;text-shadow:1px 1px #365344}.screen-corner span{padding:5px;background:#283e35ba;border:1px solid #e9e3bd55}.toast{position:absolute;top:17%;left:50%;transform:translateX(-50%);text-align:center;background:#fbefcb;color:var(--ink);border:2px solid var(--ink);box-shadow:3px 3px 0 #283e3555;font-family:var(--pixel);font-size:7px;line-height:1.7;max-width:94%;width:max-content;padding:9px 11px;pointer-events:none;opacity:0;transition:opacity .15s}.toast.show{opacity:1}.toast.hurt{background:#f5cbb0}.toast.cover{background:#e8edaf}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:17px;background:#28423730}.overlay[hidden]{display:none}.overlay-card{width:100%;max-width:336px;background:#faf2dcf5;border:3px solid var(--ink);box-shadow:6px 6px 0 #20392e50;text-align:center;padding:29px 23px 24px}.overline{font-size:6px;color:var(--green);letter-spacing:.4px}h2{font-family:var(--pixel);font-size:19px;font-weight:400;line-height:1.7;margin:18px 0}.overlay-copy{font-size:13px;line-height:1.65;color:#586757}.overlay-copy p{margin:0 0 14px}.quick-hint{font-size:12px;padding-top:13px;border-top:1px solid #d8cbae}.primary-button{border:2px solid #203d30;background:var(--green);color:#fff6d8;box-shadow:0 4px 0 #203d30;width:100%;min-height:49px;font-family:var(--pixel);font-size:10px;letter-spacing:.2px;display:flex;align-items:center;justify-content:center;gap:20px;margin:21px 0 14px}.primary-button:hover{background:#438061}.primary-button:active{transform:translateY(3px);box-shadow:0 1px 0 #203d30}.primary-button span{font-family:system-ui;font-size:20px}.start-note{font-size:10px;color:#7b806c}.road-progress{height:5px;background:#142c21}#progress{width:0;height:100%;background:#d7df92}.control-area{padding:13px;background:#f5e9cd}.control-topline{display:flex;justify-content:space-between;gap:8px;font-family:var(--pixel);font-size:6px;line-height:1.5;color:#707763;padding:2px 0 13px}#aim.ready{color:#8e6224}.controls{display:flex;gap:9px;touch-action:none}.steer-button,.toss-button{background:#efe0bf;border:2px solid var(--ink);box-shadow:0 4px 0 #bfae8e;border-radius:3px;user-select:none;-webkit-user-select:none;touch-action:none;height:64px;color:var(--ink)}.steer-button{width:72px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.steer-button span{font-size:21px}.steer-button small,.toss-button small{font-family:var(--pixel);font-size:6px;letter-spacing:.6px}.toss-button{display:flex;align-items:center;justify-content:center;gap:15px;flex:1;background:var(--red);color:#f9ecd3;box-shadow:0 4px 0 #7c2a32;font-family:var(--pixel);font-size:9px}.toss-button small{display:block;margin-top:8px;color:#ebbfba}.sign-mini{background:#f4e8d0;color:var(--red);font-size:7px;line-height:1;padding:9px 4px;border:2px solid #7c2a32;transform:rotate(-9deg)}.steer-button.active,.toss-button.active,.steer-button:active,.toss-button:active{transform:translateY(3px);box-shadow:0 1px 0 #bfae8e}.toss-button.armed{background:#b64344;outline:2px solid #d9b45e;outline-offset:2px}.machine-bottom{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:16px;color:#6b705f;font-size:9px}.utility{display:flex;gap:12px}.utility button{background:none;border:0;padding:5px 0;font-size:8px;font-weight:700;color:#5b6b57}.key-hint{font-size:9px}footer{display:flex;justify-content:space-between;gap:20px;padding:20px 0 28px;border-top:1px solid var(--line);color:#777762;font-size:10px}footer>span:first-child{font-family:var(--pixel);font-size:6px;line-height:1.8}dialog{border:3px solid var(--ink);border-radius:0;max-width:460px;width:calc(100% - 30px);padding:26px;background:var(--paper);color:var(--ink);box-shadow:7px 7px 0 #20392e60;max-height:90dvh}dialog::backdrop{background:#20392eaa}.help-head{display:flex;justify-content:space-between;align-items:center}.close-button{border:0;background:none;font-size:29px;color:var(--ink);padding:0 7px;line-height:1}.help-head .tiny-label{color:var(--green)}dialog h2{font-size:17px;line-height:1.6}.help-row{display:flex;gap:16px;align-items:flex-start;margin:17px 0}.help-icon{font-family:var(--pixel);font-size:9px;min-width:46px;min-height:37px;border:2px solid var(--ink);background:#e7e9c4;display:flex;align-items:center;justify-content:center}.help-icon.red{background:var(--red);color:var(--cream)}.help-row p{font-size:12px;line-height:1.65;margin:0}.help-row strong{display:block;font-size:13px;margin-bottom:4px}.help-note{font-size:11px;color:#73775f;line-height:1.6;border-top:1px solid var(--line);padding-top:14px}.result-grid{display:grid;grid-template-columns:1fr 1fr;margin:14px 0;gap:10px}.result-grid>div{border:1px solid var(--line);padding:10px}.result-grid strong{font-family:var(--pixel);font-size:13px;display:block;margin-bottom:6px}.result-grid span{font-size:10px}.result-score{font-family:var(--pixel);font-size:25px;color:var(--red);margin:16px 0!important}.new-best{color:var(--green);font-family:var(--pixel);font-size:7px}
@media(min-width:900px) and (max-height:950px){.layout{grid-template-columns:1fr 370px;gap:80px;padding-top:29px}.machine-top{height:29px}.dash{padding:10px 12px;min-height:59px}.machine{max-width:370px}.controls{gap:8px}.steer-button{width:62px;height:58px}.toss-button{height:58px;font-size:8px}.control-area{padding:11px}.machine-bottom{margin-top:11px}.layout{align-items:center}.masthead{height:72px}}
@media(max-width:860px){.arcade{padding:0 25px;max-width:770px}.layout{grid-template-columns:1fr 360px;gap:28px}h1{font-size:32px}.tagline{font-size:29px}.intro{font-size:13px}.edition{display:none}.machine{width:100%}.key-hint{display:none}.steer-button{width:61px}.machine-bottom{justify-content:flex-end}.campaign-mini{gap:8px}.campaign-mini img{width:72px}.driver-note{font-size:11px}}
@media(max-width:650px){.arcade{padding:0 14px;max-width:434px}.masthead{height:43px;justify-content:center;border:0}.brand{font-size:7px;gap:8px}.brand-mark{font-size:21px}.layout{display:block;padding:0 0 17px}.story{padding:0}.eyebrow,.tagline,.intro,.driver-card,.mission,.campaign-mini{display:none}h1{font-size:22px;flex-direction:row;justify-content:center;gap:10px;margin:2px 0 15px;letter-spacing:-.5px}.bowie{gap:7px}.title-star{font-size:21px}.machine{box-shadow:4px 4px 0 #d0c3a0;border-width:2px}.machine-top{height:24px;font-size:6px;padding:0 10px}.dash{min-height:54px;padding:8px 11px;gap:22px}.dash .tiny-label{font-size:5px}.health{font-size:19px}.scorebox strong,.livesbox strong{font-size:11px;margin-top:8px}.screen{max-height:calc(100svh - 285px);min-height:0;width:100%;aspect-ratio:1}.screen canvas{object-fit:contain;object-position:center;background:#89b674}.overlay-card{padding:21px 19px;max-width:306px}.overlay-card h2{font-size:17px;margin:13px 0}.overlay-copy{font-size:12px}.overlay-copy p{margin-bottom:10px}.quick-hint{padding-top:9px}.primary-button{margin-top:16px;min-height:45px}.start-note{font-size:9px}.control-area{padding:10px 10px 8px}.control-topline{font-size:5px;padding:1px 0 10px}.steer-button{height:57px;width:62px}.toss-button{height:57px;font-size:8px;gap:12px}.toss-button small{display:none}.machine-bottom{margin-top:8px;min-height:22px;justify-content:space-between}.machine-bottom::before{content:'90 SECONDS TO MAKE IT HOME';font-family:var(--pixel);font-size:5px}.utility{gap:15px}.utility button{font-size:8px}footer{padding:13px 0 20px;display:block;text-align:center;font-size:9px;border:0}footer>span{display:block}footer>span:first-child{font-size:5px;margin-bottom:8px}.screen-corner{top:6px;left:6px;right:6px;font-size:5px}}
@media(max-width:650px) and (max-height:730px){.screen{min-height:0}.overlay-card{padding:16px}.overlay-card h2{font-size:15px}.overlay-copy{font-size:11px}.start-note{font-size:8px}.screen-corner{font-size:5px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Campaign art and ten-level scorecards */
.campaign-promo{max-width:318px;padding-top:4px}.campaign-sign-link{display:block;text-decoration:none;transition:transform .15s}.campaign-sign-link:hover{transform:rotate(-1deg) translateY(-2px)}.campaign-sign-link img{display:block;width:100%;height:auto;image-rendering:pixelated;box-shadow:4px 4px 0 #ccbda0;border:2px solid var(--ink)}.campaign-credit{display:block;margin-top:15px;font-size:12px;line-height:1.65;color:#5c6c5d;text-decoration:none}.campaign-credit:hover{text-decoration:underline}.campaign-credit strong{color:var(--ink)}.mobile-campaign{display:none}.overlay-card{max-height:calc(100% - 16px);overflow:auto;scrollbar-width:thin}.checkpoint h2{font-size:18px;line-height:1.4;margin:12px 0}.checkpoint .result-grid{gap:7px;margin:10px 0}.checkpoint .result-grid>div{padding:8px 4px}.checkpoint .result-grid strong{font-size:12px}.checkpoint-note{font-size:10px;line-height:1.6}.next-preview{border-top:1px solid var(--line);padding-top:10px;font-size:10px;line-height:1.7}.next-preview strong{color:var(--green)}.checkpoint .primary-button{font-size:9px;gap:12px;margin-top:14px}.victory{border-color:#8f6236;box-shadow:6px 6px 0 #a87c4455}.victory .overline{color:#946127;line-height:1.8;display:block}.victory-link{font-size:11px;color:var(--green);text-underline-offset:3px}.utility button{white-space:nowrap}
@media(max-width:650px){.story .campaign-promo{display:none}.mobile-campaign{display:block;max-width:280px;margin:8px auto 23px;text-align:center}.campaign-credit{font-size:11px}.checkpoint .result-grid>div{padding:6px 4px}.checkpoint .result-grid strong{font-size:11px;margin-bottom:4px}.checkpoint .result-grid span{font-size:9px}.checkpoint .overlay-copy p{margin-bottom:7px}.checkpoint h2{font-size:16px;margin:10px 0}.checkpoint .primary-button{font-size:8px}.machine-bottom::before{content:'10 LEVELS TO FREE BOWIE';font-size:5px}}
.checkpoint{padding:19px 17px 17px}.checkpoint .result-grid{grid-template-columns:repeat(3,1fr)}.checkpoint h2{font-size:16px;line-height:1.5}.checkpoint .result-grid span{font-size:9px}.checkpoint .primary-button{min-height:44px;margin-bottom:10px}
/* Two routes, one Corolla. Compact choices keep the start button within the square screen. */
.mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px}.mode-choice{border:2px solid #b9b299;background:#eee5cc;color:var(--ink);padding:10px 5px;min-height:60px;text-align:center;box-shadow:0 3px 0 #d4c7a6}.mode-choice strong{display:block;font-family:var(--pixel);font-size:7px;line-height:1.6}.mode-choice span{display:block;font-size:10px;margin-top:5px;color:#65715d}.mode-choice.selected{border-color:var(--green);background:#e3edc8;box-shadow:0 3px 0 #89a36b}.mode-choice:hover{border-color:var(--green)}.welcome{padding:15px 15px 13px}.welcome h2{font-size:16px;line-height:1.5;margin:10px 0 13px}.welcome .overlay-copy{font-size:11px;line-height:1.5}.welcome .overlay-copy p{margin-bottom:9px}.welcome .quick-hint{font-size:10px;padding-top:8px}.welcome .primary-button{margin:12px 0 10px;min-height:44px;font-size:9px}.welcome .start-note{font-size:9px}.secondary-button{display:block;background:none;border:1px solid #b9b299;color:var(--green);width:100%;padding:10px;margin:0 0 12px;font-family:var(--pixel);font-size:7px}.secondary-button:hover{background:#e7edce}.mode-picker[hidden],.secondary-button[hidden]{display:none}.toast.rush{background:#e3edc8}.mobile-mode-hint{display:none}
@media(max-width:650px){.machine-bottom::before{display:none}.mobile-mode-hint{display:block;font-family:var(--pixel);font-size:5px;line-height:1.6}.welcome{padding:12px}.welcome h2{font-size:15px;margin:8px 0 11px}.mode-choice{min-height:56px;padding:8px 4px}.mode-choice strong{font-size:6px}.mode-picker{margin-bottom:10px}.welcome .primary-button{margin-top:10px}.welcome .start-note{font-size:8px}}
