:root{color-scheme:dark;--bg:#0b1018;--cream:#fae8bd;--gold:#e8b86b;--muted:#8997a8;--teal:#68e4d4;--pink:#ed759f;--line:#29333e;font-family:'Avenir Next','Segoe UI',Arial,sans-serif;color:#f4eee0;background:var(--bg)}
*{box-sizing:border-box}body{margin:0;min-width:300px;overflow:hidden;background:radial-gradient(ellipse at 49% 45%,#202c36 0,#101720 43%,#0b1018 75%)}button,a,input,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button{cursor:pointer;border:0;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--teal);outline-offset:4px}button:disabled{cursor:default;opacity:.4}button{touch-action:manipulation}button:active:not(:disabled){filter:brightness(1.18)}[hidden]{display:none!important}.topbar{height:76px;max-width:1600px;margin:auto;padding:0 34px;display:flex;align-items:center;gap:24px;border-bottom:1px solid #ffffff0d}.brand{display:flex;align-items:center;gap:10px;color:var(--cream);text-decoration:none;font-size:16px;font-weight:800;letter-spacing:1px;white-space:nowrap}.brand b{font-weight:400}.brand img{width:38px;height:38px}.edition{font-size:10px;letter-spacing:2.8px;margin-left:auto;color:var(--muted)}.edition em{font-style:normal;color:#c9b99b}nav{display:flex;gap:3px;margin-left:auto}.icon-button{background:transparent;width:44px;height:44px;font-size:22px;color:#c6cec9;border-radius:50%}.icon-button:hover{background:#ffffff0c;color:var(--gold)}.icon-button[aria-pressed=false]{color:#7e8791;text-decoration:line-through}.arcade{height:calc(100dvh - 76px);max-width:1400px;margin:0 auto;padding:18px 40px 20px;display:grid;grid-template-columns:minmax(180px,260px) minmax(300px,590px) minmax(180px,260px);gap:34px;align-items:center;justify-content:center}.eyebrow{font-size:9px;font-weight:700;letter-spacing:2.6px;line-height:1.8;color:var(--gold)}.left-rail>.eyebrow{font-size:8px;letter-spacing:1.8px;display:flex;align-items:center;gap:8px}.eyebrow>span,.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--teal);box-shadow:0 0 10px #63edcb88}.left-rail h1{font-family:'Arial Black','Avenir Next',sans-serif;font-size:clamp(46px,5vw,78px);font-weight:950;line-height:.9;letter-spacing:-4px;margin:27px 0 24px;color:var(--cream);text-shadow:0 5px 0 #71553c,0 8px 34px #f6be4310;transform:skewY(-5deg)}.left-rail h1>span{font-size:.68em;letter-spacing:-2px}.left-rail h1 i{display:block;font-size:.17em;letter-spacing:8px;font-style:normal;font-weight:600;color:var(--pink);margin:17px 0 0 4px;text-shadow:none}.tagline{font-family:Georgia,serif;font-size:25px;line-height:1.3;color:#bcbda9;font-style:italic}.ornament{font-size:12px;letter-spacing:5px;color:#75614a;margin:24px 0}.highscore{display:flex;flex-direction:column;gap:9px}.highscore>span{font-size:9px;letter-spacing:1.9px;color:var(--muted)}.highscore strong{font-size:29px;letter-spacing:3px;color:var(--gold);font-variant-numeric:tabular-nums}.highscore small{font-size:10px;color:#677785}.flavour{max-width:210px;font-size:12px;line-height:1.8;color:#7a8997;margin:25px 0}.desktop-keys{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:18px}.desktop-keys>div{display:flex;align-items:center;gap:5px;color:#7c8b99;font-size:10px}.desktop-keys span{margin-left:5px}kbd{font-family:inherit;font-size:10px;letter-spacing:1px;padding:4px 6px;background:#17212a;border:1px solid #36424b;border-bottom-width:3px;border-radius:4px;color:#b5c4ce}.machine{height:100%;min-height:0;width:100%;display:grid;grid-template-rows:63px minmax(0,1fr)77px;position:relative}.scoreboard{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 18px 12px;border-bottom:1px solid #cfba8e25;z-index:2}.scoreboard>div{display:flex;flex-direction:column;gap:4px}.scoreboard span{font-size:9px;letter-spacing:2px;color:#93a2ac;font-weight:700}.score-main{flex:1}.score-main output{font-family:'Courier New',monospace;font-size:30px;letter-spacing:2px;color:#ffd89a;font-weight:700;text-shadow:0 0 24px #eda22a38;font-variant-numeric:tabular-nums}.scoreboard strong{font-family:'Courier New',monospace;font-size:23px;font-weight:400;color:#f1e1c5}.scoreboard strong small{font-size:12px;color:#6f8291}.arena{min-height:0;position:relative;isolation:isolate;overflow:hidden;border-radius:9px;touch-action:none}.arena canvas{width:100%;height:100%;display:block;outline:none}.corner-label{position:absolute;top:13px;left:12px;display:flex;gap:6px;align-items:center;font-size:7px;letter-spacing:1.7px;color:#bbced1;pointer-events:none}.toast{position:absolute;top:42%;left:50%;transform:translate(-50%,10px);opacity:0;transition:opacity .15s,transform .15s;background:#08121bea;border:1px solid #b89b5d;padding:12px 22px;text-align:center;pointer-events:none;box-shadow:0 5px 35px #0008;color:#ffe7b3;border-radius:4px;font-size:15px;font-weight:800;letter-spacing:1px;white-space:nowrap;max-width:94%}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.small{top:70%;font-size:12px;padding:8px 15px}.save-indicator{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:2px;color:var(--teal);background:#0b171cbb;border:1px solid #70ffe732;padding:7px 10px;border-radius:4px;pointer-events:none}.save-indicator span{display:inline-block;margin-left:5px;color:white}.controls{display:flex;gap:9px;padding:8px 0 0;z-index:4}.flipper-button{flex:1;display:flex;align-items:center;justify-content:center;gap:14px;border:1px solid #355452;border-bottom:4px solid #203a39;background:linear-gradient(145deg,#1c3438,#121d28);border-radius:10px;color:#a7eee0;user-select:none;touch-action:none;-webkit-user-select:none}.flipper-button.right{border-color:#654253;border-bottom-color:#3c2d3c;background:linear-gradient(145deg,#352535,#191b29);color:#f9b9cf}.flipper-button>span{font-size:32px;font-family:Arial,sans-serif}.flipper-button b{font-size:10px;letter-spacing:1px}.flipper-button.pressed{border-bottom-width:1px;transform:translateY(3px);box-shadow:inset 0 0 24px #65f7d033;background:#214d48}.flipper-button.right.pressed{box-shadow:inset 0 0 24px #f765af33;background:#50233d}.center-controls{width:101px;display:flex;flex-direction:column;gap:4px}.launch-button{height:42px;border-radius:7px;overflow:hidden;position:relative;background:#dcb173;color:#2b211a;border:1px solid #ffd39d;border-bottom:3px solid #836744;touch-action:none;user-select:none}.launch-button b{position:relative;font-size:11px;letter-spacing:1px;pointer-events:none}.launch-button>span{position:absolute;background:#fff1c9;inset:0 100% 0 0;transition:none}.launch-button:disabled{opacity:.44}.nudge-button{height:23px;background:#18232c;border:1px solid #35414b;border-radius:4px;font-size:8px;letter-spacing:2px;color:#b0c0ca}.nudge-button>span{font-size:14px}.right-rail{max-width:235px}.mission-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.mission-heading .eyebrow{font-size:8px;letter-spacing:1.4px}.mission-number{font-size:9px;color:#697a86}.right-rail h2{font-family:Georgia,serif;font-style:italic;font-size:32px;font-weight:400;margin:17px 0 12px;color:var(--cream)}.right-rail>p{font-size:12px;line-height:1.8;color:#91a2af;margin:0}.bart-lamps{display:flex;gap:9px;margin:22px 0 30px}.bart-lamps>span{width:43px;height:46px;display:grid;place-items:center;border-radius:7px;border:1px solid #3c4145;color:#657482;font:700 22px Georgia,serif;background:#101923;transition:background .2s}.bart-lamps>span.lit{background:#614c2a;border-color:#e9bf76;color:#ffe3a1;box-shadow:0 0 15px #efb96525}.feature-list{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;display:flex;flex-direction:column;gap:23px}.feature-list>div{display:flex;gap:12px;align-items:center}.feature-icon{font-size:24px;width:30px;text-align:center}.teal{color:var(--teal)}.pink{color:var(--pink)}.gold{color:var(--gold)}.feature-list h3{font-size:9px;letter-spacing:1.3px;margin:0 0 5px;font-weight:700}.feature-list p{font-size:10px;color:#788b9c;margin:0;line-height:1.5}.combo-meter{margin-top:27px}.combo-meter>span{font-size:8px;letter-spacing:2px;color:var(--gold)}.combo-meter>div{height:3px;background:#283641;margin:13px 0 8px;overflow:hidden}.combo-meter i{display:block;height:100%;width:0;background:var(--teal);transition:width .15s}.combo-meter small{font-size:10px;color:#697c8d}.right-rail .table-signature{font-size:7px;letter-spacing:2px;margin-top:36px;color:#687984}.table-signature span{color:#9e8764;margin:0 7px}.mobile-mission{display:none}.loading,.game-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:3}.loading{background:#0d1620;flex-direction:column;gap:10px;color:var(--gold)}.loading-moustache{font-size:70px}.loading strong{font-size:12px;letter-spacing:2px}.game-overlay{background:linear-gradient(180deg,#070c1700 0%,#070c172b 12%,#070c17a3 32%,#070c17e8 76%,#070c17d0 100%);align-items:flex-end;padding:0 20px 22px}.overlay-content{text-align:center;width:100%;max-width:340px}.overlay-content>.eyebrow{font-size:8px;letter-spacing:2.3px}.overlay-content h2{font-family:Georgia,serif;font-size:clamp(30px,4vw,52px);font-weight:400;line-height:1.04;margin:15px 0;color:#fff0cf;letter-spacing:-1.8px;text-shadow:0 4px 30px #000}.overlay-content h2 em{font-weight:400;color:var(--gold)}.overlay-content p{font-size:12px;color:#acbdc6;line-height:1.7}.gold-button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;margin:17px 0 0;padding:14px 21px;border:1px solid #ffdb9b;border-bottom:3px solid #a3713d;border-radius:6px;background:linear-gradient(110deg,#e6b86b,#f4d6a0);color:#302417;font-size:11px;font-weight:900;letter-spacing:2px;box-shadow:0 5px 35px #a7682c1a}.gold-button>span{font-size:20px}#end-stats{display:flex;gap:20px;justify-content:center;margin:16px auto;font-size:11px;color:#a7b4c0}#end-stats strong{display:block;font-size:19px;color:var(--gold);margin-bottom:4px}dialog{background:linear-gradient(145deg,#1b2936,#101821);border:1px solid #65543e;border-radius:14px;color:#d4dedf;padding:34px;width:min(90vw,510px);max-height:86dvh;box-shadow:0 20px 100px #000a}dialog::backdrop{background:#03080dcf;backdrop-filter:blur(6px)}dialog h2{font-family:Georgia,serif;font-size:30px;color:var(--cream);font-weight:400;margin:14px 0 24px}dialog p,dialog li{font-size:13px;line-height:1.7;color:#a8b7c2}dialog ol{padding-left:20px}dialog li{padding-left:7px;margin-bottom:13px}dialog b{color:#e3d7bd}.dialog-close{position:absolute;right:10px;top:8px;width:44px;height:44px;font-size:28px;background:transparent;color:#b2bec5}.key-line{font-size:11px;line-height:2.8;color:#9ba9b3}.setting-row{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:18px 0;border-bottom:1px solid #ffffff12}.setting-row span{display:flex;flex-direction:column;gap:6px}.setting-row b{font-size:13px}.setting-row small{font-size:11px;color:#7f929e}.setting-row input{width:26px;height:26px;accent-color:var(--gold)}.setting-row select{max-width:158px;background:#0e1b25;color:var(--cream);border:1px solid #596060;border-radius:5px;padding:10px;font-size:11px}.muted{font-size:11px!important}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body.reduced *,body.reduced *::before,body.reduced *::after{animation:none!important;transition:none!important}
@media(min-width:1550px){.arcade{gap:70px}.left-rail h1{font-size:83px}}
@media(max-width:1100px){.arcade{grid-template-columns:170px minmax(300px,530px);gap:26px;padding:16px 24px}.right-rail{display:none}.left-rail h1{font-size:60px}.edition{display:none}}
@media(max-width:720px){.topbar{height:54px;padding:0 12px;gap:8px}.brand{font-size:11px;letter-spacing:.6px;gap:6px}.brand img{width:29px;height:29px}.icon-button{width:36px;height:40px;font-size:19px}nav{gap:0}.arcade{height:calc(100dvh - 54px);display:block;padding:0 8px max(7px,env(safe-area-inset-bottom));}.left-rail,.right-rail{display:none}.machine{grid-template-rows:54px 23px minmax(0,1fr)74px;max-width:560px;margin:0 auto}.scoreboard{padding:7px 8px 6px;gap:20px;border:0}.scoreboard span{font-size:7px;letter-spacing:1.8px}.score-main output{font-size:25px;letter-spacing:2px}.scoreboard strong{font-size:20px}.mobile-mission{display:flex;justify-content:center;align-items:center;color:#b8b09a;font-size:9px;letter-spacing:.5px;border-block:1px solid #b8ae7e1c;background:#c39d5910}.corner-label{left:6px;top:8px;font-size:6px;letter-spacing:1.1px}.controls{gap:7px;padding-top:5px}.flipper-button{gap:10px}.flipper-button b{font-size:9px}.flipper-button>span{font-size:29px}.center-controls{width:85px}.game-overlay{padding:0 24px 14px}.overlay-content h2{font-size:39px;line-height:1.05;margin:12px 0}.overlay-content p{font-size:11px}.overlay-content>.eyebrow{font-size:7px}.gold-button{margin-top:12px;min-height:48px}.toast{font-size:13px;padding:10px 18px}.save-indicator{font-size:7px;bottom:6px}.setting-row{gap:8px}}
@media(max-width:370px){.brand>span{font-size:10px}.topbar{padding:0 7px}.icon-button{width:33px}.overlay-content h2{font-size:32px}.machine{grid-template-rows:49px 22px minmax(0,1fr)70px}.overlay-content p{font-size:10px}.game-overlay{padding-bottom:12px}.flipper-button b{font-size:8px}.flipper-button>span{font-size:25px}}
@media(max-height:650px) and (min-width:721px){.left-rail .flavour,.ornament,.desktop-keys{display:none}.right-rail .feature-list{gap:12px;padding:14px 0}.right-rail .table-signature{display:none}.right-rail h2{font-size:25px}.bart-lamps{margin:15px 0}.game-overlay h2{font-size:32px}.game-overlay p{font-size:10px}.topbar{height:56px}.arcade{height:calc(100dvh - 56px);padding-top:8px;padding-bottom:8px}.machine{grid-template-rows:45px minmax(0,1fr)65px}.score-main output{font-size:24px}}
@media(orientation:landscape) and (max-height:520px){.topbar{height:44px}.arcade{height:calc(100dvh - 44px);padding:4px 12px;display:block}.left-rail{display:none}.machine{max-width:740px;grid-template-columns:110px minmax(0,1fr)110px;grid-template-rows:minmax(0,1fr);gap:10px}.scoreboard{grid-column:1;grid-row:1;flex-direction:column;justify-content:center;border:0;padding:0;gap:15px}.score-main{flex:0}.scoreboard>div{text-align:center}.score-main output{font-size:22px}.arena{grid-column:2;grid-row:1}.mobile-mission{display:none}.controls{grid-column:3;grid-row:1;flex-direction:column;padding:0;gap:6px}.flipper-button{min-height:52px}.center-controls{width:100%;display:contents}.launch-button{min-height:35px}.nudge-button{min-height:24px}.game-overlay{padding:4px 14px}.overlay-content h2{font-size:26px;margin:5px 0}.overlay-content p{font-size:9px;margin:5px 0}.overlay-content .eyebrow{font-size:6px}.gold-button{min-height:38px;padding:9px 13px;margin-top:8px}.corner-label{font-size:5px}.save-indicator{font-size:5px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
/* Portrait touch targets: the second centre button is a real game control. */
@media(max-width:720px) and (orientation:portrait){
 .topbar{height:56px;padding-inline:max(8px,env(safe-area-inset-left)) max(8px,env(safe-area-inset-right))}
 .icon-button{width:44px;height:44px;flex-shrink:0}
 .brand{font-size:10px;gap:5px}.brand img{width:28px;height:28px}
 .arcade{height:calc(100dvh - 56px)}
 .machine{grid-template-rows:52px 23px minmax(0,1fr)98px}
 .controls{padding-top:5px;gap:8px}
 .center-controls{width:85px;gap:4px}
 .launch-button,.nudge-button{height:44px;min-height:44px}
 .nudge-button{font-size:9px;letter-spacing:1.4px}
 .flipper-button{flex-direction:column;gap:2px;border-radius:11px}
 .flipper-button>span{font-size:32px}.flipper-button b{font-size:9px;letter-spacing:1.4px}
 .flipper-button.right{flex-direction:column-reverse}
}
@media(max-width:375px) and (orientation:portrait){.brand>span{display:none}.brand img{width:30px;height:30px}.topbar nav{gap:4px}.overlay-content h2{font-size:30px}.overlay-content>.eyebrow{font-size:6px}}
.sweet-zone{position:absolute;left:65%;width:20%;bottom:0;height:5px;background:#388564;pointer-events:none;border-inline:1px solid #a0ffcb}.launch-button.sweet{background:#80e1b0;color:#102e29;border-color:#c4ffe2}.launch-button:disabled .sweet-zone{display:none}.nudge-button.hot{color:#ffd5a0;border-color:#a5643e;background:#392b23}.mobile-best{font-size:8px;letter-spacing:1.5px;color:#8ba2ae;margin:12px 0}.mobile-best strong{color:var(--gold);font-size:12px;margin-left:8px;font-variant-numeric:tabular-nums}@media(min-width:721px){.mobile-best{display:none}}@media(max-height:650px){.mobile-best{margin:7px 0}}
.launch-button:not(.skill-available) .sweet-zone{display:none}
/* One contextual centre action gives the playfield more of a portrait screen. */
@media(max-width:720px) and (orientation:portrait){
 .machine{grid-template-rows:52px 23px minmax(0,1fr)72px}
 .center-controls{gap:0}.launch-button,.nudge-button{height:100%;min-height:64px}
 .machine.has-plunger .nudge-button,.machine:not(.has-plunger) .launch-button{display:none}
 .nudge-button{font-size:10px;line-height:1.6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
 .nudge-button>span{font-size:22px}.launch-button b{font-size:11px}
}
@media(max-height:650px) and (orientation:portrait){
 .topbar{height:48px}.arcade{height:calc(100dvh - 48px)}
 .machine{grid-template-rows:43px 21px minmax(0,1fr)68px}
 .scoreboard{padding-block:3px}.score-main output{font-size:23px}
 .launch-button,.nudge-button{min-height:60px}
 .corner-label{font-size:5px}.overlay-content h2{font-size:28px}
}

/* Mobile cabinet view: the playfield owns the screen; controls float above it. */
.touch-zones{display:none}
.menu-actions{display:flex;gap:8px;margin-bottom:10px}.menu-actions button{flex:1;min-height:46px;border:1px solid #76613d;border-radius:7px;background:#23303a;color:var(--cream);font-size:12px}
@media(max-width:720px) and (orientation:portrait){
 html,body{height:100%;overscroll-behavior:none;user-select:none;-webkit-user-select:none}
 .topbar{position:absolute;right:0;top:env(safe-area-inset-top);height:52px;width:96px;padding:0 4px;z-index:8;border:0;background:none}
 .topbar .brand,.topbar .edition,.topbar #sound,.topbar #help,.topbar #fullscreen{display:none}
 .topbar nav{gap:0}.topbar #settings{order:2}.topbar #pause{order:1}
 .topbar .icon-button{border-radius:8px;font-size:20px;color:#cfba93}
 .arcade{height:100dvh;padding:env(safe-area-inset-top) 0 0;width:100%;max-width:none}
 .machine{max-width:none;grid-template-rows:51px 21px minmax(0,1fr);height:100%;gap:0}
 .scoreboard{padding:3px 101px 3px 13px;gap:14px;background:linear-gradient(180deg,#101c26,#101c2670);border:0;pointer-events:none}
 .scoreboard>div{gap:2px}.score-main output{font-size:23px;letter-spacing:1px}.scoreboard strong{font-size:17px}.scoreboard span{font-size:6px;letter-spacing:1.5px}.scoreboard strong small{font-size:9px}.score-main{flex:1}
 .mobile-mission{font-size:8px;letter-spacing:.6px;background:#142129;border-color:#af935222;color:#c4bc9f}
 .arena{border-radius:0;grid-row:3;overflow:hidden}
 .corner-label{display:none}
 .touch-zones{display:flex;position:absolute;inset:0;z-index:1;pointer-events:none}
 .touch-zone{position:relative;width:50%;height:100%;padding:0;border:0;background:transparent;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;outline-offset:-4px}
 .touch-zone>span{position:absolute;bottom:max(17px,env(safe-area-inset-bottom));left:19px;font-size:8px;letter-spacing:1.8px;color:#9fc9cb;opacity:.8}
 .touch-zone.right>span{left:auto;right:19px;color:#d4a3ba}
 .touch-zone.pressed{background:linear-gradient(0deg,#55e4d30e,transparent 28%)}
 .touch-zone.right.pressed{background:linear-gradient(0deg,#ed75a20e,transparent 28%)}
 .touch-zone.pressed>span{color:#effffe;opacity:1;text-shadow:0 0 12px #6fffe0}
 .touch-zone:active:not(:disabled){filter:none}
 .touch-zone:disabled{opacity:1;pointer-events:none}
 .controls{position:absolute;left:50%;bottom:max(6px,env(safe-area-inset-bottom));transform:translateX(-50%);padding:0;gap:0;z-index:4;width:86px;height:46px;pointer-events:none}
 .controls>.flipper-button{display:none}.center-controls{width:100%;height:100%;pointer-events:auto}
 .launch-button,.nudge-button{min-height:46px;height:46px;width:100%;border-radius:23px;box-shadow:0 3px 16px #0009}
 .launch-button b{font-size:10px}.nudge-button{font-size:8px;flex-direction:row;gap:5px;background:#142630db;border-color:#72969c55;color:#a9c5ca;letter-spacing:1.2px}.nudge-button>span{font-size:18px}
 body:not(.playing) .controls,body:not(.playing) .touch-zone>span{display:none}
 .save-indicator{bottom:62px;font-size:6px;padding:5px 8px;background:#0b171c99}
 .toast,.toast.small{top:12px;padding:7px 13px;font-size:10px;letter-spacing:.7px;white-space:normal;width:max-content;max-width:92%;z-index:2}
 .game-overlay{padding:0 28px max(35px,env(safe-area-inset-bottom));background:linear-gradient(180deg,#070c1700 15%,#070c172b 30%,#070c17cf 64%,#070c17e8 100%);z-index:5}
 .overlay-content h2{font-size:45px}.overlay-content>.eyebrow{font-size:8px}
 .overlay-content p{font-size:12px}.mobile-best{margin:14px 0}
}
@media(max-width:350px) and (orientation:portrait){.scoreboard{padding-right:96px;gap:10px}.score-main output{font-size:20px}.scoreboard strong{font-size:15px}.scoreboard>div:last-child{display:none}.mobile-mission{font-size:7px}.overlay-content h2{font-size:36px}.overlay-content p{font-size:11px}.game-overlay{padding:0 24px 25px}.touch-zone>span{font-size:7px;letter-spacing:1px;left:12px}.touch-zone.right>span{right:12px}}
@media(max-height:650px) and (orientation:portrait){.machine{grid-template-rows:47px 19px minmax(0,1fr)}.topbar{height:47px}.overlay-content h2{font-size:32px;margin:9px 0}.overlay-content p{font-size:10px}.mobile-best{margin:8px 0}.overlay-content>.eyebrow{font-size:6px}.game-overlay{padding-bottom:22px}.gold-button{min-height:46px}.toast,.toast.small{top:8px}}

/* The factory's special shot uses the same thumb position as the launcher. */
.cannon-fire{min-height:44px;height:100%;border:1px solid #fff1ba;border-bottom:3px solid #ab572d;border-radius:9px;background:linear-gradient(135deg,#ffdf85,#f48d56);color:#332015;font-size:15px;font-weight:900;letter-spacing:2px;box-shadow:0 0 24px #ef9b4e44;touch-action:manipulation}
.cannon-fire span{font-size:19px}.has-cannon .center-controls>.launch-button,.has-cannon .center-controls>.nudge-button{display:none}
.cannon-instruction{position:absolute;bottom:66px;left:50%;transform:translateX(-50%);z-index:2;pointer-events:none;background:#102936e8;border:1px solid #cbaa65;padding:9px 14px;border-radius:7px;text-align:center;white-space:nowrap;box-shadow:0 5px 24px #0007}
.cannon-instruction b{display:block;color:#ffdc93;font-size:10px;letter-spacing:1px}.cannon-instruction span{display:block;margin-top:4px;font-size:9px;color:#d4dfdf}.cannon-instruction strong{color:#fff}
.mobile-mission{position:relative;isolation:isolate}.mobile-mission::before{content:'';position:absolute;inset:0 auto 0 0;width:var(--wax-progress,0);background:#62e8db18;z-index:-1;transition:width .15s linear}
body.wax-rush .mobile-mission{color:#ffde9e;border-color:#ffb65c55}body.wax-rush .mobile-mission::before{background:#f09b5630}
@media(max-width:720px) and (orientation:portrait){.has-cannon .cannon-fire{width:100%;height:46px;min-height:46px;border-radius:23px;font-size:14px}.has-cannon .touch-zone>span{font-size:10px;color:#ffe1a3;opacity:1}.cannon-instruction{bottom:62px}.overlay-content h2{font-size:43px}.overlay-content p{max-width:290px;margin-inline:auto}.game-overlay{background:linear-gradient(180deg,#070c1700 28%,#070c1738 43%,#070c17e5 78%,#070c17e8 100%)}body.wax-rush .score-main output{color:#ffd17c;text-shadow:0 0 18px #ff98534d}}
@media(max-width:350px) and (orientation:portrait){.cannon-instruction{padding:8px 10px}.cannon-instruction b{font-size:9px}.cannon-instruction span{font-size:8px}.overlay-content h2{font-size:34px}}

/* A single readable objective supports tracking the ball on a small screen. */
@media(max-width:720px) and (orientation:portrait){
 .mobile-mission{font-size:10px;letter-spacing:.2px;white-space:nowrap;padding-inline:5px;color:#c9c6b4}
 body.wax-rush .score-main output{color:#ffd89a;text-shadow:none}
 .touch-zone.right>span{color:#9fc9cb}
}
@media(max-width:350px) and (orientation:portrait){.mobile-mission{font-size:9px;letter-spacing:0}}
