@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&family=Space+Grotesk:wght@400;500;600;700&display=swap');

/* Budwee's original, pocket-sized adventure console. */
:root{--paper:#111421;--ink:#ecebf5;--muted:#9392aa;--line:#303044;--pink:#ee387d;--green:#d8ed85;--serif:'Press Start 2P','Courier New',monospace;--sans:'Space Grotesk',Arial,sans-serif;--shell:#cac6d7;--shell-light:#e2deea;--shell-shadow:#9390a9;--plastic-ink:#4a4265;--bezel:#242333;--screen-ink:#1d2835;color-scheme:dark}
html{background:#111421;scroll-padding-top:20px}
body{background:radial-gradient(ellipse at 50% 22%,#25253c 0,#141725 48%,#10131e 100%);color:var(--ink);font-family:var(--sans);min-height:100vh;overscroll-behavior:none}
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.3;background-image:radial-gradient(#76718b 1px,transparent 1px);background-size:22px 22px}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #f3d468;outline-offset:4px}
button{font-family:var(--sans)}
.page-shell{max-width:1212px;padding:0 52px}
.site-header{height:100px;border-color:#343345;gap:22px}
.brand{font-family:var(--sans);font-size:31px;font-weight:700;font-style:italic;letter-spacing:-1.5px;color:#efedf8;gap:12px}
.brand-sub{font-family:monospace;font-style:normal;font-size:8px;letter-spacing:3px;color:#aaa4bd;margin-top:8px}
.brand-flower{width:34px;height:34px;margin:0;transform:rotate(-7deg);background:#e84381;border:3px solid #ff81a7;border-radius:7px;box-shadow:3px 3px 0 #74294e}
.brand-flower i{display:none}
.brand-flower b{left:6px;top:4px;font:23px/1 monospace;color:#ffe4ac}
.header-nav{margin:0 auto 0 72px;gap:30px}
.header-nav a{font-size:12px;color:#9e9aaf;letter-spacing:.3px}
.header-nav .nav-active{color:#e8e7f2}
.nav-active span{border-radius:0;width:12px;height:3px;background:#d8ed85;bottom:22px;left:calc(50% - 6px)}
.header-actions{gap:22px}
.play-badge{font-size:10px;color:#a19ab1;font-family:monospace}
.play-badge>span{background:#d8ed85;border-radius:0;box-shadow:0 0 8px #d8ed8533}
.how-button{font-size:11px;letter-spacing:.3px;color:#ccc6db}
.question-mark{border-radius:4px;border-color:#79718d;color:#d9ed96}
.intro{padding:34px 0 28px}
.eyebrow{font-family:monospace;font-size:9px;color:#b3aac7;letter-spacing:2px}
.tiny-star{font-size:14px;color:#dfef9c}
h1{font-family:var(--serif);font-size:clamp(17px,2.2vw,27px);font-weight:400;line-height:1.6;letter-spacing:-1px;color:#f5f0ff}
h1 em{font-style:normal;font-weight:400;color:#d4e98c}
.hero-chip{padding:0;gap:12px}
.hero-chip img{border-radius:8px;border:3px solid #736e8c;transform:rotate(5deg);box-shadow:3px 3px 0 #080a12;width:49px;height:49px;image-rendering:pixelated}
.hero-chip div>span{font-family:monospace;font-size:8px;letter-spacing:1px;color:#9f97af}
.hero-chip strong{font-size:12px;color:#ddd6eb;font-weight:500}
.hero-chip strong span{color:#e9d786}

/* Molded outer case and the recessed screen assembly. */
.game-shell{position:relative;display:flex;flex-direction:column;background:linear-gradient(120deg,#ddd9e6 0,#c9c5d6 54%,#b9b4c9 100%);border:2px solid #e9e5ef;border-right-color:#a4a0b8;border-bottom:8px solid #858196;border-radius:24px 24px 58px 24px;padding:0 24px;box-shadow:0 3px 0 #545365,0 8px 0 #252737,0 24px 60px #05071180,inset 2px 2px 2px #ffffff88,inset -3px 0 4px #786f8a33;overflow:hidden;isolation:isolate;color:var(--plastic-ink)}
.game-shell::before,.game-shell::after{content:'';position:absolute;width:10px;height:10px;border:2px solid #9e96ad;border-radius:50%;background:linear-gradient(0deg,#ada5ba 0 40%,#716b82 43% 55%,#d8d0df 59%);box-shadow:1px 1px 1px #f3edf7;z-index:1;pointer-events:none;bottom:24px}
.game-shell::before{left:16px}.game-shell::after{right:18px}
.console-branding{height:62px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 4px;gap:15px}
.console-wordmark{font-family:var(--sans);font-size:27px;font-weight:700;font-style:italic;letter-spacing:-1.5px;line-height:.9;color:#443b62;text-shadow:0 1px #f6effa}
.console-wordmark span{font-family:monospace;font-size:7px;font-style:normal;letter-spacing:1.5px;display:inline-block;margin-left:12px;vertical-align:3px;font-weight:700}
.console-power{display:flex;align-items:center;gap:8px}
.console-power b{font:700 8px monospace;letter-spacing:1px;color:#635b76}
.power-led{width:7px;height:7px;background:#ef466b;border-radius:50%;border:1px solid #a6284e;box-shadow:0 0 6px #e73e7088,inset 0 1px 1px #ffafad}
.game-display{height:clamp(390px,43vw,530px);min-height:0;display:flex;flex-direction:column;flex-shrink:0;border:8px solid #292636;border-bottom-width:11px;border-radius:12px 12px 24px 12px;overflow:hidden;background:#181b2a;box-shadow:0 -2px 2px #6d657c,inset 0 0 0 1px #665f79,0 2px 0 #f0eaf6}
.game-hud{height:54px;min-height:54px;padding:0 17px;gap:15px;flex-shrink:0;background:#20272d;color:#dbe997;border:0;border-bottom:2px solid #101a1d;font-family:monospace}
.world-info{gap:10px;min-width:155px}
.world-icon{width:28px;height:28px;background:#313c36;color:#cbe386;border:1px solid #647652;border-radius:4px}
.world-icon svg{width:17px;height:17px}
.world-info div>span,.score-stat>span{font-family:monospace;font-size:7px;letter-spacing:1.3px;color:#a0b17e}
.world-info strong{font-size:10px;color:#e3edb2;font-weight:700;letter-spacing:.2px;margin-top:5px}
.game-stats{gap:20px;margin-left:auto}
.score-stat strong{font:12px monospace;letter-spacing:2px;color:#e2f3a7;margin-top:4px}
.burger-stat{font:700 14px monospace;gap:7px;color:#e9f3bb}
.burger-icon{width:24px;height:22px;image-rendering:pixelated;filter:drop-shadow(1px 2px #070f12)}
.size-stat{gap:6px;background:#343c32;border:1px solid #627046;border-radius:3px;padding:5px 7px;box-shadow:inset 1px 1px 0 #080f1233}
.size-stat>span{font:7px monospace;letter-spacing:.5px;color:#a6b482}
.size-stat strong{font:700 12px monospace;color:#e0ef9e}
.size-stat.max-size{background:#61434d;border-color:#ac6f78}.size-stat.max-size strong{color:#ffd5ae}
.lives{gap:4px;border:0;padding-left:2px;color:#f17b98;filter:drop-shadow(1px 1px #090f12)}
.lives svg{width:15px;height:15px}.lives svg.lost{color:#4e514c}
.game-tools{gap:6px;min-width:0;margin-left:4px}
.icon-button{width:30px;height:30px;min-width:30px;padding:6px;border:1px solid #4b5752;border-radius:4px;background:#2d3737;color:#b9c98e;box-shadow:0 2px 0 #10171a;transition:background .15s}
.icon-button svg{width:16px;height:16px}
.icon-button:hover{background:#424e40;border-color:#819568}.icon-button:active{transform:translateY(1px);box-shadow:none}
.fullscreen-button{display:grid}
.game-viewport,.game-shell.is-playing .game-viewport{position:relative;aspect-ratio:auto;min-height:0;max-height:none;flex:1;width:100%;background:#95b78d;overflow:hidden;isolation:isolate}
.game-viewport::after{content:'';position:absolute;inset:0;z-index:4;pointer-events:none;background:repeating-linear-gradient(0deg,#17202d0a 0px,#17202d0a 1px,transparent 1px,transparent 4px);box-shadow:inset 0 0 24px #1626251c;opacity:.65}
canvas{height:100%;width:100%;display:block;object-fit:fill;image-rendering:auto;touch-action:none}
.game-footer{height:34px;min-height:34px;flex-shrink:0;padding:0 13px;gap:14px;background:#20272d;border-top:2px solid #111b20;color:#a8b980}
.desktop-hint{display:flex;font:8px monospace;color:#a4b58a;gap:5px}
.key{background:#303c34;border:1px solid #5b7050;border-bottom:2px solid #111a1b;color:#d8e99d;border-radius:2px;height:18px;min-width:19px;font:9px monospace}
.space-key{font-size:7px;width:37px;margin-left:8px}.attack-key{margin-left:7px}
.footer-tip{font-family:monospace;font-size:8px;color:#a0b17e}.hint-spark{color:#c9df88;font-size:14px}
.level-progress{font:7px monospace;letter-spacing:.5px;color:#a8ba81;gap:8px;margin-left:auto;white-space:nowrap}
.level-progress>div{height:5px;border:1px solid #607451;border-radius:0;background:#111b1f;width:65px}.level-progress i{background:#d7e993;border-radius:0}
.mobile-hint{display:none;font-family:monospace;color:#a4b587}
.scene-label{font-family:monospace;bottom:14px;right:17px;color:#e9f1be;letter-spacing:1px;font-size:6px;opacity:.85;text-shadow:1px 1px #264336}.scene-label>span{color:#f4cf79}

/* Real thumb controls remain present in the title and pause states. */
.touch-controls.controller-deck,.game-shell.is-playing .touch-controls.controller-deck{position:relative;left:auto;right:auto;bottom:auto;display:grid;grid-template-columns:1fr 180px 1fr;align-items:center;gap:16px;min-height:192px;padding:17px 28px 23px;margin:0;background:transparent;border:0;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;z-index:3;flex-shrink:0}
.dpad-area{display:flex;flex-direction:column;align-items:center;gap:9px;justify-self:start}
.control-caption,.pad-hint{font:700 7px monospace;letter-spacing:1.3px;color:#6f647f}.pad-hint{font-size:6px;letter-spacing:1px;color:#7b7089}
.dpad{--pad-size:116px;width:var(--pad-size);height:var(--pad-size);display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);position:relative;filter:drop-shadow(0 4px 0 #8b849a);touch-action:none}
.dpad::before{content:'';position:absolute;inset:-7px;clip-path:polygon(33% 0,67% 0,67% 33%,100% 33%,100% 67%,67% 67%,67% 100%,33% 100%,33% 67%,0 67%,0 33%,33% 33%);background:#9e98af;box-shadow:inset 0 2px 4px #6a617b}
.touch-controls .dpad button,.touch-controls .pad-center{position:relative;background:linear-gradient(145deg,#494256,#282333);border:0;border-radius:0;box-shadow:none;padding:0;color:#9890a7;width:100%;height:100%;font:14px monospace;min-width:0;min-height:0;z-index:1;touch-action:none;text-shadow:0 -1px #171421;transition:none}
.dpad .pad-up{grid-area:1/2;border-radius:5px 5px 0 0;border-top:2px solid #645d71}
.dpad .pad-left{grid-area:2/1;border-radius:5px 0 0 5px;border-top:2px solid #645d71}
.dpad .pad-right{grid-area:2/3;border-radius:0 5px 5px 0;border-top:2px solid #645d71}
.dpad .pad-down{grid-area:3/2;border-radius:0 0 5px 5px}
.touch-controls .pad-center{grid-area:2/2;background:#373041;display:grid;place-items:center}
.pad-center::after{content:'';width:15px;height:15px;border:1px solid #2b2535;border-bottom-color:#5c536b;border-radius:50%;box-shadow:inset 1px 2px 3px #17122155}
.touch-controls .dpad button:active,.touch-controls .dpad button.pressed{transform:none;background:#262031;color:#d3cce0;border:0;box-shadow:inset 0 2px 4px #120f1f66}
.controller-center{display:flex;flex-direction:column;align-items:center;justify-self:center;align-self:center;gap:17px;min-width:0;padding-top:28px}
.mini-buttons{display:flex;gap:16px;align-items:center}
.touch-controls .mini-buttons button{border:0;box-shadow:none;background:none;border-radius:0;padding:0;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;width:60px;height:48px;transform:none;color:#5b506d;touch-action:manipulation}
.mini-buttons button>span{display:block;width:39px;height:12px;background:linear-gradient(#8b819c,#665b7b);border:1px solid #766a88;border-bottom:3px solid #4f445f;border-radius:20px;box-shadow:0 2px 0 #f0e7f3,0 0 0 4px #b6afc5;transform:rotate(-14deg)}
.mini-buttons button>small{font:700 8px monospace;letter-spacing:1px;transform:rotate(-14deg)}
.touch-controls .mini-buttons button:active>span,.touch-controls .mini-buttons button.pressed>span{transform:translateY(2px) rotate(-14deg);border-bottom-width:1px;background:#60566f}
.controller-model{font:7px monospace;color:#80758f;letter-spacing:1px;white-space:nowrap}
.speaker-grille{display:flex;gap:5px;transform:rotate(-18deg);opacity:.55;margin:4px 0 0 4px}
.speaker-grille i{display:block;width:5px;height:28px;border-radius:5px;background:#756c85;box-shadow:1px 1px 0 #f0e8f5,inset 1px 0 1px #5d526e}
.action-controls{display:block;position:relative;width:195px;height:142px;justify-self:end;transform:rotate(-7deg);background:linear-gradient(150deg,#b5aec5,#d6d0df);border-radius:72px 72px 72px 50px;box-shadow:inset 2px 2px 4px #7a6b8d33,1px 1px 1px #f9f2ff77}
.touch-controls .action-controls button,.touch-controls .action-controls .gas-control,.touch-controls .action-controls .jump-control{position:absolute;border:0;background:transparent;padding:0;box-shadow:none;width:65px;height:77px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:7px;border-radius:50%;transform:rotate(7deg);color:#5b4e70;transition:none;touch-action:none}
.action-controls .fart-control{left:10px;top:8px}.action-controls .burp-control{left:64px;top:65px}.action-controls .jump-control{right:4px;top:3px}
.touch-controls .action-controls .button-cap{display:grid;place-items:center;width:54px;height:54px;flex-shrink:0;border-radius:50%;background:radial-gradient(circle at 38% 30%,#837099 0,#6b537e 60%,#523e66 100%);border:2px solid #59436b;border-top-color:#a08cb3;border-bottom:5px solid #3d2c4e;box-shadow:0 3px 0 #8d829f,0 0 0 4px #aaa0bc,0 0 0 5px #dcd4e6;color:#e8deef;font:700 22px var(--sans);text-shadow:0 -1px #473150}
.touch-controls .action-controls .jump-control .button-cap{background:radial-gradient(circle at 35% 25%,#f36b9a,#d13370 62%,#a31b58);border-color:#a5275c;border-top-color:#ff9abd;border-bottom-color:#86133f;color:#ffe8f1;text-shadow:0 -1px #a32d57}
.touch-controls .action-controls button small{font:700 8px monospace;letter-spacing:1px;color:#625572}
.touch-controls .action-controls button:active,.touch-controls .action-controls button.pressed{transform:rotate(7deg);background:transparent;border:0}
.touch-controls .action-controls button:active .button-cap,.touch-controls .action-controls button.pressed .button-cap{transform:translateY(3px);border-bottom-width:2px;box-shadow:0 0 0 4px #aaa0bc,0 0 0 5px #dcd4e6}

/* Cartridge selection and the game's own overlays. */
.world-section{padding-top:34px}.section-heading{margin-bottom:17px}.section-heading h2{font:400 12px/1.7 var(--serif);letter-spacing:-.5px;color:#e8e3f4}.section-heading>span{font:8px monospace;color:#91879f;letter-spacing:1px}
.world-grid{gap:11px}.world-card{padding:16px 10px;border:1px solid #434052;border-bottom:4px solid #272633;background:#242332;border-radius:6px;gap:10px;color:#ded8ed;box-shadow:inset 0 1px #5c556b33;transition:transform .15s,background .15s}
.world-card:hover{background:#343044;transform:translateY(-3px)}.world-card.current{background:#323b32;border:1px solid #829361;border-bottom:4px solid #536b43;box-shadow:inset 0 1px #cbdc8555}.world-art{width:34px;height:44px;background:#829754;border:2px solid #a9bd77;border-radius:3px;color:#e6efb8;image-rendering:pixelated}.world-art::before{border-radius:0;background:#445e3844;transform:rotate(-25deg)}.world-art svg{width:22px;height:22px}.world-card:nth-child(2) .world-art{background:#385c54;border-color:#608c7a;color:#aace9f}.world-card:nth-child(3) .world-art{background:#946a5d;border-color:#c59574;color:#f9d299}.world-card:nth-child(4) .world-art{background:#51516f;border-color:#8282ac;color:#c4bfea}.world-card:nth-child(5) .world-art{background:#735576;border-color:#a07799;color:#e5bbd9}.world-copy>span{font:6px monospace;letter-spacing:1px;color:#9693aa}.world-copy strong{font:700 9px var(--sans);letter-spacing:0;white-space:normal;line-height:1.5;margin:5px 0}.world-copy small{font:7px monospace;color:#8a8499}.world-copy .ready{color:#c1d68b}.world-copy .ready::before{border-radius:0;background:#c5db88}.world-card>.card-arrow{color:#c9d891;top:11px;right:8px}
.site-footer{padding:27px 0 30px;color:#8d839e;font:9px monospace}.footer-flower{color:#c8dd87;font-size:13px}.pink-heart{color:#ea668d}
.start-overlay{inset:0;top:0;left:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:24px 5%;background:linear-gradient(90deg,#e2e9b09c 0,#dce6b56b 40%,transparent 65%);text-shadow:1px 1px #f5f7d355;z-index:2}
.adventure-tag{font:700 7px monospace;letter-spacing:1.5px;color:#253d36}.adventure-tag span{width:5px;height:5px;border-radius:0;background:#49683d}
.start-overlay h2{font:400 clamp(21px,3vw,36px)/1.5 var(--serif);letter-spacing:-1.8px;margin:15px 0 13px;color:#1d3938;text-shadow:2px 2px #e8efa9}
.start-overlay h2 em{font-style:normal;font-weight:400;color:#8d315c;text-shadow:2px 2px #ffe0b5}
.start-overlay p{font:700 11px/1.8 monospace;color:#3e5440;max-width:340px;margin:0 0 19px}
.primary-button{font:700 11px monospace;letter-spacing:.4px;padding:13px 20px;min-height:46px;gap:23px;color:#fff0f4;background:#c5346c;border:2px solid #f28fb1;border-right-color:#8b1d50;border-bottom:5px solid #8b1d50;border-radius:4px;box-shadow:3px 3px 0 #1e303c44;transition:transform .12s,background .12s;text-shadow:0 1px #811d4b}
.primary-button:hover{background:#e64b81;transform:translateY(-1px)}.primary-button:active{transform:translateY(2px)}.primary-button svg{width:15px;height:15px}
.start-overlay .primary-button{font-size:11px;padding:13px 20px;min-height:46px;border-radius:4px}
.start-note{font:8px monospace;color:#526143;letter-spacing:.4px;margin:12px 0 0 2px;text-shadow:0 1px #ecf2ca}
.game-screen{background:#171b2b99;backdrop-filter:blur(3px);padding:18px;z-index:6;min-height:0}
.screen-card{background:#e0dfc3;border:3px solid #f3f1d9;border-right-color:#77786d;border-bottom:6px solid #77786d;border-radius:5px;box-shadow:7px 7px 0 #15192366;color:#2b3b34;padding:23px 30px 17px;min-width:290px;max-width:440px;max-height:100%;overflow:auto;scrollbar-width:thin;scrollbar-color:#829664 #d2d7b2}
.screen-badge{font:7px/1.5 monospace;letter-spacing:2px;color:#687452}.screen-illustration{font-size:35px;color:#819756;margin:11px 0 8px}.screen-card h2{font:400 19px/1.6 var(--serif);letter-spacing:-1px;color:#2c3e37;margin:10px 0}.screen-card>p{font:10px/1.8 monospace;color:#62704f;margin:0 auto 17px}.screen-card .primary-button{font-size:10px;min-height:43px;padding:10px 17px}.text-button{font:9px monospace;color:#62704f;padding:12px}.screen-results{font:9px monospace;color:#69734f;gap:24px;padding-bottom:15px}.screen-results b{font:700 20px monospace;color:#2e463b}
.checkpoint-toast{background:#e9ecbf;color:#344931;border:2px solid #f5f4d6;border-bottom:4px solid #717e55;border-radius:3px;box-shadow:3px 3px 0 #18302b44;font:9px monospace;letter-spacing:.1px;padding:9px 13px;z-index:5}.growth-toast{background:#f1dbb0;color:#773956;border-color:#fff0cf;border-bottom-color:#ba7d72;top:60px}.growth-toast img{image-rendering:pixelated}
.modal{background:#dedbca;color:#343e39;border:3px solid #f6efdf;border-right-color:#827a86;border-bottom:7px solid #827a86;border-radius:6px;padding:31px;box-shadow:8px 8px 0 #080d1e77;max-height:90dvh}.modal::backdrop{background:#0e1222bf;backdrop-filter:blur(6px)}.modal .eyebrow{color:#767358;font-family:monospace;font-size:8px}.modal h2,.world-modal h2{font:400 21px/1.6 var(--serif);letter-spacing:-1px;color:#35433a;margin:18px 0}.modal>p,.world-modal p{font:11px/1.9 monospace;color:#68715c}.modal-close{background:#bab6ae;border-color:#8e8c81;color:#4c5645}.instruction-row{border-color:#bfbfa8;gap:14px;padding-top:13px}.instruction-row>span{font:9px monospace;color:#8d9073}.instruction-row strong{font:700 11px monospace;color:#43503a}.instruction-row p,.modal .instruction-row p{font:10px/1.8 monospace;color:#6c745c}.modal-note{background:#c8ceb0;color:#606d4e;border-radius:2px;border:1px solid #b1bd94;font:10px/1.8 monospace;padding:12px}.world-modal .world-art{border-radius:5px}.world-facts,.best-score{font:10px monospace;color:#687455}.modal .primary-button{width:100%}

/* Explicit expanded mode and native fullscreen use the whole available display. */
:is(body.console-mode,body.console-only){overflow:hidden;height:100dvh;width:100%;background:#c9c5d6}
:is(body.console-mode,body.console-only) .site-header,:is(body.console-mode,body.console-only) .intro,:is(body.console-mode,body.console-only) .world-section,:is(body.console-mode,body.console-only) .site-footer{display:none}
:is(body.console-mode,body.console-only) .page-shell{padding:0;max-width:none}
:is(body.console-mode,body.console-only) .game-shell,.game-shell:fullscreen{position:fixed;inset:0;z-index:20;display:flex;flex-direction:column;justify-content:flex-start;width:100%;height:100dvh;max-width:none;border-radius:0;border:0;border-bottom:5px solid #8b849e;padding:0 max(20px,env(safe-area-inset-left)) 0 max(20px,env(safe-area-inset-right));box-shadow:inset 0 0 0 2px #e2dce9;overflow:hidden;background:linear-gradient(120deg,#ddd9e6,#c9c5d6 54%,#b9b4c9)}
:is(body.console-mode,body.console-only) .console-branding,.game-shell:fullscreen .console-branding{height:52px;padding-top:env(safe-area-inset-top)}
:is(body.console-mode,body.console-only) .game-display,.game-shell:fullscreen .game-display{height:auto;flex:1;min-height:0;flex-shrink:1;width:100%}
:is(body.console-mode,body.console-only) .game-viewport,:is(body.console-mode,body.console-only) .game-shell.is-playing .game-viewport,.game-shell:fullscreen .game-viewport,.game-shell.is-playing:fullscreen .game-viewport,.game-shell:fullscreen:not(.is-playing) .game-viewport{aspect-ratio:auto;max-height:none;min-height:0;flex:1;width:100%}
:is(body.console-mode,body.console-only) .controller-deck,.game-shell:fullscreen .controller-deck{min-height:195px;padding-bottom:max(25px,env(safe-area-inset-bottom));height:195px;flex-shrink:0}
:is(body.console-mode,body.console-only) canvas,.game-shell:fullscreen canvas{object-fit:fill}

@media(max-width:1150px){
 .page-shell{padding:0 34px}.header-nav{margin-left:30px}.play-badge{display:none}.game-hud{padding:0 13px;gap:10px}.game-stats{gap:14px}.world-info{min-width:140px}.game-tools{min-width:0}.footer-tip{display:none}.touch-controls.controller-deck,.game-shell.is-playing .touch-controls.controller-deck{padding-left:24px;padding-right:24px}.world-card{gap:8px;padding:14px 8px}.world-copy strong{font-size:8px}.world-art{width:30px}.game-display{height:clamp(350px,43vw,500px)}
}

/* Phones open directly into the console, with no page chrome or browser scrolling. */
@media(max-width:760px),(pointer:coarse) and (max-width:1100px){
 html,body{width:100%;height:100%;height:100dvh;overflow:hidden;overscroll-behavior:none;background:#c9c5d6}
 .page-shell{padding:0;max-width:none;width:100%;height:100dvh}
 .site-header,.intro,.world-section,.site-footer{display:none!important}
 .page-shell>main{height:100%}
 .game-shell,:is(body.console-mode,body.console-only) .game-shell,.game-shell:fullscreen{position:fixed;inset:0;width:100%;height:100dvh;z-index:20;padding:0 max(11px,env(safe-area-inset-left)) 0 max(11px,env(safe-area-inset-right));display:flex;flex-direction:column;justify-content:flex-start;border:0;border-bottom:4px solid #8f879f;border-radius:0;box-shadow:inset 1px 0 #f2eaf8,inset -1px 0 #9890a8;background:linear-gradient(125deg,#ded9e6,#ccc6d9 55%,#bfb7cf);overflow:hidden}
 .game-shell::before,.game-shell::after{width:8px;height:8px;bottom:17px}.game-shell::before{left:10px}.game-shell::after{right:11px}
 .console-branding,:is(body.console-mode,body.console-only) .console-branding,.game-shell:fullscreen .console-branding{height:53px;min-height:53px;padding:env(safe-area-inset-top) 4px 0;gap:8px}
 .console-wordmark{font-size:25px;letter-spacing:-1.4px}.console-wordmark span{display:block;font-size:6px;letter-spacing:1.15px;margin:7px 0 0 1px;vertical-align:0}.console-power{gap:6px}.console-power b{font-size:6px;letter-spacing:.7px}.power-led{width:6px;height:6px}
 .game-display,:is(body.console-mode,body.console-only) .game-display,.game-shell:fullscreen .game-display{height:auto;flex:1;flex-shrink:1;min-height:0;width:100%;border-width:6px;border-bottom-width:8px;border-radius:8px 8px 21px 8px}
 .game-hud{height:46px;min-height:46px;padding:0 8px;gap:6px;overflow:hidden}
 .world-info{min-width:0;gap:0;flex-shrink:1}.world-icon{display:none}.world-info div>span{font-size:6px;letter-spacing:.6px;white-space:nowrap}.world-info strong{font-size:8px;letter-spacing:-.2px;margin-top:5px;max-width:102px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .game-stats{gap:8px;margin-left:auto;flex-shrink:0}.score-stat{display:none}.burger-stat{font-size:12px;gap:4px}.burger-icon{width:22px;height:20px}.size-stat{padding:4px 5px;gap:3px;border-radius:2px}.size-stat>span{display:none}.size-stat strong{font-size:10px}.lives{padding-left:0;gap:2px;filter:none}.lives svg{width:11px;height:11px}
 .game-tools{gap:4px;margin:0;min-width:0;flex-shrink:0}.icon-button{width:28px;height:29px;min-width:28px;padding:5px;border-radius:3px}.icon-button svg,.game-tools svg{width:15px;height:15px}.fullscreen-button{display:grid}
 .game-viewport,.game-shell.is-playing .game-viewport,:is(body.console-mode,body.console-only) .game-viewport,:is(body.console-mode,body.console-only) .game-shell.is-playing .game-viewport,.game-shell:fullscreen .game-viewport,.game-shell.is-playing:fullscreen .game-viewport,.game-shell:fullscreen:not(.is-playing) .game-viewport{aspect-ratio:auto;max-height:none;min-height:0;width:100%;flex:1;flex-shrink:1}
 .game-footer{height:29px;min-height:29px;padding:0 8px;gap:5px;justify-content:space-between}.desktop-hint{display:none}.footer-tip{display:none}.mobile-hint{display:block;font-size:6px;line-height:1.5;max-width:245px;color:#acbd88;letter-spacing:0}.mobile-hint>span{color:#d0e28f;margin-right:4px}.level-progress{font-size:5px;gap:4px}.level-progress>span{display:none}.level-progress>div{width:34px;height:5px}.scene-label{display:none}
 .touch-controls.controller-deck,.game-shell.is-playing .touch-controls.controller-deck,:is(body.console-mode,body.console-only) .controller-deck,.game-shell:fullscreen .controller-deck{height:211px;min-height:211px;flex-shrink:0;grid-template-columns:minmax(0,1fr) 78px minmax(0,1fr);gap:7px;padding:14px 8px max(23px,env(safe-area-inset-bottom));position:relative;left:auto;right:auto;bottom:auto;display:grid;align-items:center;background:transparent;border:0;margin:0;z-index:3}
 .dpad-area{gap:10px}.dpad{--pad-size:114px}.control-caption{font-size:6px;letter-spacing:.9px}.pad-hint{font-size:5px;letter-spacing:.8px}.touch-controls .dpad button{font-size:12px}
 .controller-center{gap:15px;padding-top:31px}.mini-buttons{gap:0}.touch-controls .mini-buttons button{width:42px;height:48px;gap:9px}.mini-buttons button>span{width:29px;height:10px;border-bottom-width:3px;box-shadow:0 2px 0 #eee5f1,0 0 0 3px #b3abc2}.mini-buttons button>small{font-size:6px;letter-spacing:.5px}.controller-model{font-size:5px;letter-spacing:.2px}.speaker-grille{gap:4px;margin:0 0 0 6px}.speaker-grille i{width:4px;height:23px}
 .action-controls{width:129px;height:137px;border-radius:60px 60px 55px 42px;transform:rotate(-7deg);margin-top:4px}
 .touch-controls .action-controls button,.touch-controls .action-controls .gas-control,.touch-controls .action-controls .jump-control{width:53px;height:65px;gap:6px;transform:rotate(7deg)}
 .action-controls .fart-control{left:0;top:10px}.action-controls .burp-control{left:35px;top:76px}.action-controls .jump-control{right:-1px;top:0}
 .touch-controls .action-controls .button-cap{width:46px;height:46px;font-size:19px;border-width:2px;border-bottom-width:5px;box-shadow:0 3px 0 #8d829f,0 0 0 3px #aaa0bc,0 0 0 4px #dcd4e6}.touch-controls .action-controls button small{font-size:7px;letter-spacing:.7px}
 .start-overlay{padding:24px 7%;justify-content:center;inset:0;top:0;left:0;background:linear-gradient(90deg,#e2e9b091,#dce6b53d 65%,transparent);align-items:flex-start}.adventure-tag{font-size:6px;letter-spacing:1px}.start-overlay h2,.game-shell:fullscreen .start-overlay h2{font:400 clamp(19px,5.3vw,29px)/1.6 var(--serif);letter-spacing:-1.7px;margin:17px 0}.start-overlay p{font:700 10px/1.8 monospace;max-width:245px;margin-bottom:22px}.start-overlay .primary-button{font-size:11px;min-height:46px;padding:12px 18px;gap:20px}.start-note{font-size:7px;margin:13px 0 0 2px;line-height:1.6;max-width:230px}
 .game-screen{padding:11px}.screen-card{min-width:0;width:min(100%,330px);max-width:330px;padding:20px 16px 14px;border-bottom-width:5px;align-self:center}.screen-card h2{font-size:17px;line-height:1.65;margin:10px 0}.screen-card>p{font-size:10px;line-height:1.8;margin-bottom:15px}.screen-illustration{font-size:32px;line-height:1;margin:10px 0}.screen-badge{font-size:6px;line-height:1.5}.screen-card .primary-button{font-size:10px;padding:10px 14px;min-height:43px}.text-button{font-size:9px;padding:12px 5px}.screen-results{font-size:9px;gap:18px;padding-bottom:13px}.screen-results b{font-size:19px}
 .checkpoint-toast{max-width:calc(100% - 20px);white-space:normal;font-size:8px;line-height:1.5;padding:8px 10px;top:13px;min-width:210px}.growth-toast{top:64px}.growth-toast img{width:21px;height:20px;flex-shrink:0}
 .modal{max-width:calc(100% - 28px);max-height:calc(100dvh - 34px);padding:27px 23px}.modal h2{font-size:19px}.modal-close{width:30px;height:30px}
}

@media(max-width:365px){
 .game-shell,:is(body.console-mode,body.console-only) .game-shell,.game-shell:fullscreen{padding-left:8px;padding-right:8px}.game-hud{padding-left:6px;padding-right:6px;gap:4px}.game-stats{gap:6px}.world-info strong{font-size:7px;max-width:77px}.world-info div>span{font-size:5px;letter-spacing:.3px}.burger-stat{font-size:11px;gap:3px}.burger-icon{width:20px;height:19px}.lives{gap:1px}.lives svg{width:10px;height:10px}.game-tools{gap:3px}.icon-button{width:27px;min-width:27px;height:28px}.size-stat{padding:3px 4px}.size-stat strong{font-size:9px}
 .touch-controls.controller-deck,.game-shell.is-playing .touch-controls.controller-deck,:is(body.console-mode,body.console-only) .controller-deck,.game-shell:fullscreen .controller-deck{grid-template-columns:minmax(0,1fr) 63px minmax(0,1fr);height:195px;min-height:195px;gap:5px;padding:12px 6px max(20px,env(safe-area-inset-bottom))}.dpad{--pad-size:101px}.control-caption{font-size:5px;letter-spacing:.7px}.pad-hint{font-size:5px}.action-controls{width:111px;height:123px}.touch-controls .action-controls button,.touch-controls .action-controls .gas-control,.touch-controls .action-controls .jump-control{width:47px;height:60px;gap:5px}.touch-controls .action-controls .button-cap{width:41px;height:41px;font-size:18px}.action-controls .fart-control{left:0;top:12px}.action-controls .burp-control{left:31px;top:69px}.action-controls .jump-control{right:-1px;top:0}.touch-controls .action-controls button small{font-size:6px}.touch-controls .mini-buttons button{width:35px;height:46px}.mini-buttons button>span{width:25px;height:9px}.mini-buttons button>small{font-size:5px}.controller-model{font-size:4px;letter-spacing:0}.speaker-grille{gap:3px}.speaker-grille i{height:20px;width:3px}.controller-center{gap:14px;padding-top:28px}.start-overlay{padding:18px 7%}.start-overlay h2,.game-shell:fullscreen .start-overlay h2{font-size:19px;margin:13px 0}.start-overlay p{font-size:9px;margin-bottom:17px}.adventure-tag{font-size:5px}.start-note{font-size:6px}.mobile-hint{font-size:5px;max-width:220px}
}

/* In landscape the controls become the console's left and right wings. */
@media(max-height:600px) and (orientation:landscape){
 :is(body.console-mode,body.console-only) .game-shell,.game-shell:fullscreen{display:grid;grid-template-columns:143px minmax(0,1fr) 157px;grid-template-rows:35px minmax(0,1fr) 40px;grid-template-areas:'branding branding branding' 'dpad display actions' 'center center center';column-gap:10px;row-gap:0;padding:0 max(14px,env(safe-area-inset-right)) max(2px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));border-bottom-width:3px}
 :is(body.console-mode,body.console-only) .console-branding,.game-shell:fullscreen .console-branding{grid-area:branding;height:35px;min-height:35px;padding:0 3px;align-items:center}.console-wordmark{font-size:22px}.console-wordmark span{display:inline-block;font-size:6px;letter-spacing:1px;margin:0 0 0 10px;vertical-align:2px}.console-power b{font-size:6px}
 :is(body.console-mode,body.console-only) .game-display,.game-shell:fullscreen .game-display{grid-area:display;height:100%;min-height:0;width:100%;border-width:5px;border-bottom-width:7px;border-radius:7px 7px 17px 7px}
 :is(body.console-mode,body.console-only) .touch-controls.controller-deck,:is(body.console-mode,body.console-only) .game-shell.is-playing .touch-controls.controller-deck,.game-shell:fullscreen .touch-controls.controller-deck,.game-shell.is-playing:fullscreen .touch-controls.controller-deck{display:contents}
 :is(body.console-mode,body.console-only) .dpad-area,.game-shell:fullscreen .dpad-area{grid-area:dpad;justify-self:center;align-self:center;gap:10px;padding-bottom:0}.dpad{--pad-size:110px}.control-caption{font-size:6px}.pad-hint{font-size:5px}
 :is(body.console-mode,body.console-only) .action-controls,.game-shell:fullscreen .action-controls{grid-area:actions;justify-self:center;align-self:center;width:142px;height:135px;margin:0}.touch-controls .action-controls button,.touch-controls .action-controls .gas-control,.touch-controls .action-controls .jump-control{width:55px;height:68px;gap:6px}.touch-controls .action-controls .button-cap{width:46px;height:46px;font-size:20px}.action-controls .fart-control{left:2px;top:8px}.action-controls .burp-control{left:45px;top:72px}.action-controls .jump-control{right:0;top:0}.touch-controls .action-controls button small{font-size:7px}
 :is(body.console-mode,body.console-only) .controller-center,.game-shell:fullscreen .controller-center{grid-area:center;display:flex;flex-direction:row;justify-self:center;align-self:center;gap:24px;padding:0;min-height:40px}.mini-buttons{gap:9px}.touch-controls .mini-buttons button{height:40px;width:50px;gap:6px}.mini-buttons button>span{width:32px;height:8px;transform:rotate(0)}.mini-buttons button>small{font-size:6px;transform:none}.touch-controls .mini-buttons button:active>span{transform:translateY(2px)}.controller-model{font-size:6px;letter-spacing:1px}.speaker-grille{position:absolute;right:33px;bottom:15px;gap:4px;transform:rotate(-14deg)}.speaker-grille i{height:21px;width:4px}.game-shell::before,.game-shell::after{bottom:15px}
 :is(body.console-mode,body.console-only) .game-hud,.game-shell:fullscreen .game-hud{height:37px;min-height:37px;padding:0 7px;gap:5px}.world-info{min-width:0;gap:0}.world-icon{display:none}.world-info div>span{font-size:5px;letter-spacing:.5px}.world-info strong{font-size:7px;max-width:90px;margin-top:3px}.score-stat{display:none}.game-stats{gap:6px}.burger-stat{font-size:11px;gap:4px}.burger-icon{width:20px;height:18px}.size-stat{padding:3px 5px;gap:3px}.size-stat>span{display:none}.size-stat strong{font-size:9px}.lives{padding-left:0;gap:2px}.lives svg{width:10px;height:10px}.game-tools{gap:3px;margin:0}.icon-button{width:25px;height:26px;min-width:25px;padding:5px}.icon-button svg{width:14px;height:14px}
 :is(body.console-mode,body.console-only) .game-footer,.game-shell:fullscreen .game-footer{height:23px;min-height:23px;padding:0 7px}.desktop-hint{display:none}.mobile-hint{display:block;font-size:5px;max-width:85%;line-height:1.2}.level-progress>span{display:none}.level-progress>div{width:30px}.footer-tip{display:none}
 :is(body.console-mode,body.console-only) .start-overlay,.game-shell:fullscreen .start-overlay{padding:10px 6%;justify-content:center;background:linear-gradient(90deg,#e2e9b09c,#dce6b536 70%,transparent)}.adventure-tag{font-size:5px;letter-spacing:.5px}.start-overlay h2,.game-shell:fullscreen .start-overlay h2{font-size:clamp(14px,2.1vw,21px);line-height:1.5;letter-spacing:-1px;margin:8px 0}.start-overlay p{font-size:8px;line-height:1.6;margin-bottom:11px;max-width:260px}.start-overlay .primary-button{font-size:9px;padding:8px 13px;min-height:36px;gap:20px}.start-note{display:none}.scene-label{display:none}
 .game-screen{padding:8px}.screen-card{padding:11px 20px 8px;min-width:0;max-width:340px;width:min(100%,340px);border-bottom-width:4px}.screen-illustration{display:none}.screen-card h2{font-size:14px;line-height:1.5;margin:7px 0}.screen-badge{font-size:5px;letter-spacing:1px}.screen-card>p{font-size:8px;line-height:1.6;margin-bottom:10px}.screen-results{font-size:7px;padding-bottom:8px;gap:24px}.screen-results b{font-size:15px;margin-bottom:2px}.screen-card .primary-button{min-height:33px;font-size:9px;padding:6px 13px}.text-button{font-size:8px;padding:9px 4px}.checkpoint-toast{font-size:7px;min-width:0;padding:6px 9px;max-width:90%;top:10px}.growth-toast{top:47px}.modal{max-height:calc(100dvh - 24px);padding:24px 28px;width:520px}.modal h2{font-size:18px}
}

@media(max-height:600px) and (orientation:landscape) and (max-width:1100px){
 .game-shell{display:grid;grid-template-columns:143px minmax(0,1fr) 157px;grid-template-rows:35px minmax(0,1fr) 40px;grid-template-areas:'branding branding branding' 'dpad display actions' 'center center center';column-gap:10px;row-gap:0;padding:0 max(14px,env(safe-area-inset-right)) max(2px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));border-bottom-width:3px}
 .console-branding{grid-area:branding;height:35px;min-height:35px;padding:0 3px;align-items:center}.game-display{grid-area:display;height:100%;min-height:0;width:100%;border-width:5px;border-bottom-width:7px;border-radius:7px 7px 17px 7px}
 .touch-controls.controller-deck,.game-shell.is-playing .touch-controls.controller-deck{display:contents}.dpad-area{grid-area:dpad;justify-self:center;align-self:center;gap:10px;padding-bottom:0}.action-controls{grid-area:actions;justify-self:center;align-self:center;width:142px;height:135px;margin:0}.controller-center{grid-area:center;display:flex;flex-direction:row;justify-self:center;align-self:center;gap:24px;padding:0;min-height:40px}
 .game-hud{height:37px;min-height:37px;padding:0 7px;gap:5px}.game-footer{height:23px;min-height:23px;padding:0 7px}.start-overlay{padding:10px 6%;justify-content:center}
}

@media(max-height:390px) and (orientation:landscape){
 :is(body.console-mode,body.console-only) .game-shell,.game-shell:fullscreen{grid-template-columns:120px minmax(0,1fr) 132px;grid-template-rows:28px minmax(0,1fr) 33px;column-gap:8px;padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}
 :is(body.console-mode,body.console-only) .console-branding,.game-shell:fullscreen .console-branding{height:28px;min-height:28px}.console-wordmark{font-size:20px}.console-wordmark span{font-size:5px}.console-power b{font-size:5px}.power-led{width:5px;height:5px}.dpad{--pad-size:94px}.dpad-area{gap:7px}.control-caption{font-size:5px}.pad-hint{font-size:4px}.touch-controls .dpad button{font-size:11px}.pad-center::after{width:12px;height:12px}
 :is(body.console-mode,body.console-only) .action-controls,.game-shell:fullscreen .action-controls{width:120px;height:119px}.touch-controls .action-controls button,.touch-controls .action-controls .gas-control,.touch-controls .action-controls .jump-control{width:49px;height:58px;gap:5px}.touch-controls .action-controls .button-cap{width:40px;height:40px;font-size:18px;border-bottom-width:4px}.action-controls .fart-control{left:0;top:9px}.action-controls .burp-control{left:35px;top:64px}.action-controls .jump-control{right:0;top:0}.touch-controls .action-controls button small{font-size:6px}
 :is(body.console-mode,body.console-only) .controller-center,.game-shell:fullscreen .controller-center{min-height:33px;gap:20px}.touch-controls .mini-buttons button{height:33px;gap:4px;width:46px}.mini-buttons button>span{width:28px;height:7px}.mini-buttons button>small{font-size:5px}.speaker-grille{bottom:12px;right:28px}.speaker-grille i{height:17px;width:3px}.game-shell::before,.game-shell::after{width:7px;height:7px;bottom:11px}
 :is(body.console-mode,body.console-only) .game-hud,.game-shell:fullscreen .game-hud{height:33px;min-height:33px}.icon-button{height:24px;width:24px;min-width:24px}.world-info strong{font-size:6px}.world-info div>span{font-size:5px}.game-stats{gap:5px}.burger-stat{font-size:10px}.lives svg{width:9px;height:9px}.game-tools{gap:3px}:is(body.console-mode,body.console-only) .game-footer,.game-shell:fullscreen .game-footer{height:21px;min-height:21px}.start-overlay h2,.game-shell:fullscreen .start-overlay h2{font-size:14px;line-height:1.4;margin:6px 0}.start-overlay p{font-size:7px;line-height:1.5;margin-bottom:8px}.start-overlay .primary-button{min-height:32px;font-size:8px;padding:6px 12px}.adventure-tag{font-size:4px}.screen-card h2{font-size:12px}.screen-card>p{font-size:7px;margin-bottom:8px}.screen-card{padding:8px 17px 6px}.screen-badge{font-size:5px}.screen-card .primary-button{min-height:30px;padding:5px 12px}.text-button{font-size:7px;padding:7px 4px}
}
@media(max-height:390px) and (orientation:landscape) and (max-width:1100px){
 .game-shell{grid-template-columns:120px minmax(0,1fr) 132px;grid-template-rows:28px minmax(0,1fr) 33px;column-gap:8px;padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}.console-branding{height:28px;min-height:28px}.action-controls{width:120px;height:119px}.controller-center{min-height:33px;gap:20px}.game-hud{height:33px;min-height:33px}.game-footer{height:21px;min-height:21px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Preserve full-size thumb targets on narrow portrait screens. */
@media(max-width:760px) and (orientation:portrait),(pointer:coarse) and (max-width:1100px) and (orientation:portrait){
 .dpad{--pad-size:132px}
}
@media(min-width:366px) and (max-width:400px) and (orientation:portrait){
 .touch-controls.controller-deck,.game-shell.is-playing .touch-controls.controller-deck,:is(body.console-mode,body.console-only) .controller-deck,.game-shell:fullscreen .controller-deck{grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);padding-left:5px;padding-right:5px;gap:5px}.touch-controls .mini-buttons button{width:36px}.mini-buttons button>span{width:26px}.mini-buttons button>small{font-size:5px}.controller-model{font-size:4.5px;letter-spacing:0}
}
@media(max-width:365px) and (orientation:portrait){
 .touch-controls.controller-deck,.game-shell.is-playing .touch-controls.controller-deck,:is(body.console-mode,body.console-only) .controller-deck,.game-shell:fullscreen .controller-deck{grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr) 38px;column-gap:10px;row-gap:7px;height:238px;min-height:238px;padding:10px 8px max(18px,env(safe-area-inset-bottom))}.dpad-area{grid-area:1/1;justify-self:start;gap:8px}.dpad{--pad-size:132px}.control-caption{font-size:6px}.pad-hint{font-size:5px}.action-controls{grid-area:1/2;justify-self:end;width:129px;height:137px}.touch-controls .action-controls button,.touch-controls .action-controls .gas-control,.touch-controls .action-controls .jump-control{width:53px;height:65px;gap:6px}.touch-controls .action-controls .button-cap{width:46px;height:46px;font-size:19px}.action-controls .fart-control{left:0;top:10px}.action-controls .burp-control{left:35px;top:76px}.action-controls .jump-control{right:-1px;top:0}.touch-controls .action-controls button small{font-size:7px}.controller-center{grid-area:2/1/3/3;flex-direction:row;padding:0;gap:20px;justify-self:center;align-self:center}.touch-controls .mini-buttons button{width:43px;height:38px;gap:6px}.mini-buttons button>span{width:29px;height:8px;transform:none}.mini-buttons button>small{font-size:6px;transform:none}.controller-model{font-size:5px;letter-spacing:.2px}.speaker-grille{position:absolute;right:21px;bottom:23px;transform:rotate(-18deg)}.speaker-grille i{width:3px;height:20px}
}

.level-picker{display:flex;flex-direction:column;gap:9px;margin-top:20px}
.level-pick{display:flex;align-items:center;gap:13px;min-height:65px;text-align:left;border:1px solid #a9b293;border-bottom:3px solid #90987d;border-radius:3px;background:#cbd0b4;color:#43533b;padding:10px 12px;box-shadow:inset 0 1px #f0efd4}
.level-pick:hover:enabled,.level-pick.current{background:#b9c697;border-color:#829760}
.level-pick:disabled{opacity:.53}
.level-pick-number{font:400 15px var(--serif);letter-spacing:-1px;color:#617244}
.level-pick>span:nth-child(2){flex:1}.level-pick strong{display:block;font:700 11px monospace;line-height:1.5}.level-pick small{display:block;font:7px monospace;letter-spacing:1px;color:#75815e;margin-top:5px}.level-pick svg{width:16px;height:16px;color:#687f4d}
@media(orientation:portrait){
 :is(body.console-mode,body.console-only) .console-branding,.game-shell:fullscreen .console-branding{height:calc(52px + env(safe-area-inset-top));min-height:calc(52px + env(safe-area-inset-top))}
}
@media(max-width:760px) and (orientation:portrait),(pointer:coarse) and (max-width:1100px) and (orientation:portrait){
 .console-branding,:is(body.console-mode,body.console-only) .console-branding,.game-shell:fullscreen .console-branding{height:calc(53px + env(safe-area-inset-top));min-height:calc(53px + env(safe-area-inset-top))}
}
@media(max-height:600px) and (orientation:landscape){
 .dpad{--pad-size:132px}
 .touch-controls .action-controls button,.touch-controls .action-controls .gas-control,.touch-controls .action-controls .jump-control{width:53px;height:65px}
 .touch-controls .action-controls .button-cap{width:46px;height:46px;font-size:19px}
}

/* Keep the sprite pixels clear beneath a very light CRT line texture. */
.game-viewport::after{opacity:.12;box-shadow:inset 0 0 0 1px #10203414}
.hero-chip img{image-rendering:pixelated}
/* WebGL uses the Phaser CRT pipeline; Canvas retains the light CSS fallback. */
body.phaser-webgl .game-viewport::after{background:none;box-shadow:none;opacity:0}
.hero-chip img{object-fit:contain;border:0;border-radius:0;background:none;box-shadow:none;transform:none;width:49px;height:58px}

/* The console is the entire app, independent of native fullscreen state. */
html:has(body.console-only){height:100%;overflow:hidden;overscroll-behavior:none}
body.console-only{margin:0;height:100dvh;overflow:hidden;overscroll-behavior:none;background:radial-gradient(ellipse at 50% 15%,#242338,#10131e 78%)}
body.console-only .page-shell,body.console-only main{height:100%;min-height:0;padding:0}
.burger-party{position:absolute;top:10px;left:14px;z-index:4;pointer-events:none;padding:10px 12px;border:2px solid #ffd76a;box-shadow:4px 4px 0 #692752;background:#251c3bea;color:#fff2b5;font-family:var(--serif);line-height:1.6;text-shadow:2px 2px #602957}
.burger-party>span{display:block;font:7px/1.6 monospace;letter-spacing:1px;color:#97efdb}
.burger-party>strong{display:block;font-size:clamp(9px,1.3vw,16px);color:#ff87bb;margin:3px 0}
.burger-party>small{display:flex;justify-content:space-between;gap:18px;font:9px/1.6 monospace}.burger-party b{color:#ffd76a}
@media(max-width:760px),(max-height:600px){.burger-party{top:7px;left:7px;padding:6px 8px;max-width:70%;box-shadow:2px 2px 0 #692752}.burger-party>span{font-size:5px;letter-spacing:.4px}.burger-party>strong{font-size:8px;margin:2px 0}.burger-party>small{font-size:7px}}
body.console-only>#announcer{position:fixed;top:0;left:0}
@media(min-width:761px) and (min-height:601px){
 body.console-only .game-shell:not(:fullscreen){--console-gutter:clamp(10px,1.8vmin,22px);inset:var(--console-gutter);width:calc(100% - var(--console-gutter)*2);height:calc(100dvh - var(--console-gutter)*2);border:2px solid #e9e5ef;border-right-color:#a4a0b8;border-bottom:8px solid #858196;border-radius:26px 26px 46px 26px;padding:0 clamp(16px,2vw,30px);box-shadow:0 3px 0 #545365,0 7px 0 #252737,0 18px 40px #05071180,inset 2px 2px 2px #ffffff88,inset -3px 0 4px #786f8a33}
 body.console-only .console-branding{height:62px;min-height:62px}
 body.console-only .controller-deck{height:clamp(178px,24dvh,230px);min-height:clamp(178px,24dvh,230px);padding-bottom:max(20px,env(safe-area-inset-bottom))}
}

/* Generous, separate thumb targets. A is the largest action button. */
#touchControls{--attack-cap:72px;--jump-cap:84px}
#touchControls.controller-deck{height:250px;min-height:250px}
#touchControls .action-controls{width:calc(var(--attack-cap)*2 + 42px);height:calc(var(--jump-cap) + var(--attack-cap) + 52px);transform:none;margin:0;border-radius:70px;background:linear-gradient(150deg,#b5aec5,#d6d0df)}
#touchControls .action-controls button{width:calc(var(--attack-cap) + 8px);height:calc(var(--attack-cap) + 24px);gap:7px;transform:none;border-radius:18px;touch-action:none}
#touchControls .action-controls .button-cap{width:var(--attack-cap);height:var(--attack-cap);font-size:30px;transition:transform 65ms,filter 65ms,box-shadow 65ms}
#touchControls .action-controls .jump-control{width:calc(var(--jump-cap) + 8px);height:calc(var(--jump-cap) + 24px);right:0;top:0}
#touchControls .action-controls .jump-control .button-cap{width:var(--jump-cap);height:var(--jump-cap);font-size:36px}
#touchControls .action-controls .fart-control{left:0;top:0}
#touchControls .action-controls .burp-control{left:calc(var(--attack-cap)*.68);top:calc(var(--jump-cap) + 26px)}
#touchControls .action-controls button small{font-size:9px;letter-spacing:1px}
#touchControls .action-controls button:is(:active,.pressed,.is-pressing,.tap-feedback){transform:none;background:transparent;border:0}
#touchControls .action-controls button:is(:active,.pressed,.is-pressing,.tap-feedback) .button-cap{transform:translateY(4px) scale(.96);filter:brightness(1.28);border-bottom-width:2px;box-shadow:inset 0 3px 8px #2b123b77,0 0 0 4px #ffe49b,0 0 15px #fff0bbaa}
#touchControls .dpad button:is(:active,.pressed,.is-pressing,.tap-feedback){background:#201a2d;color:#fff1ae;box-shadow:inset 0 4px 8px #09051399,inset 0 0 0 2px #f5d67d;text-shadow:0 0 8px #f5d67d}
#touchControls .mini-buttons button{min-width:52px;min-height:48px}
#touchControls .mini-buttons button:is(:active,.is-pressing,.tap-feedback)>span{transform:translateY(3px) rotate(-14deg);filter:brightness(1.3);border-bottom-width:1px;box-shadow:inset 0 2px 3px #29203588,0 0 0 3px #ffe49b}
button:not([data-control]):is(:active,.is-pressing,.tap-feedback){filter:brightness(1.2);outline:2px solid #ffe49b;outline-offset:2px;box-shadow:inset 0 3px 8px #100d2f66;translate:0 2px}
button:disabled{filter:none;translate:none}

@media(max-width:760px) and (orientation:portrait),(pointer:coarse) and (max-width:1100px) and (orientation:portrait){
 #touchControls{--attack-cap:clamp(60px,18vw,72px);--jump-cap:clamp(72px,21vw,84px)}
 #touchControls.controller-deck{grid-template-columns:132px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 44px;column-gap:12px;row-gap:8px;height:calc(var(--attack-cap) + var(--jump-cap) + 140px + env(safe-area-inset-bottom));min-height:calc(var(--attack-cap) + var(--jump-cap) + 140px + env(safe-area-inset-bottom));padding:12px 8px max(18px,env(safe-area-inset-bottom))}
 #touchControls .dpad-area{grid-area:1/1;justify-self:start;align-self:center;gap:10px}
 #touchControls .dpad{--pad-size:132px}
 #touchControls .action-controls{grid-area:1/2;justify-self:end;align-self:center}
 #touchControls .controller-center{grid-area:2/1/3/3;justify-self:center;align-self:center;flex-direction:row;padding:0;gap:0}
 #touchControls .mini-buttons{flex-direction:row;gap:28px}
 #touchControls .mini-buttons button{width:64px;height:44px;min-height:44px;gap:8px}
 #touchControls .mini-buttons button>span{width:36px;height:11px;transform:none}
 #touchControls .mini-buttons button>small{font-size:8px;transform:none}
 #touchControls .mini-buttons button:is(:active,.is-pressing,.tap-feedback)>span{transform:translateY(3px)}
 #touchControls .controller-model,#touchControls .speaker-grille{display:none}
}
@media(max-width:365px) and (orientation:portrait){
 #touchControls.controller-deck{grid-template-columns:132px minmax(0,1fr);column-gap:8px;padding-left:4px;padding-right:4px}
 #touchControls .dpad{--pad-size:132px}
 #touchControls .action-controls{width:calc(var(--attack-cap)*2 + 36px)}
}
@media(max-height:600px) and (orientation:landscape){
 body.console-only .game-shell,.game-shell:fullscreen{grid-template-columns:144px minmax(0,1fr) 190px;column-gap:8px}
 #touchControls{--attack-cap:64px;--jump-cap:76px}
 #touchControls.controller-deck{display:contents}
 #touchControls .action-controls{width:180px;justify-self:center;align-self:center}
 #touchControls .action-controls button small{font-size:8px}
 #touchControls .mini-buttons button{width:58px;height:38px;min-height:38px;gap:5px}
 #touchControls .mini-buttons button>span{transform:none}
 #touchControls .mini-buttons button:is(:active,.is-pressing,.tap-feedback)>span{transform:translateY(3px)}
}
@media(max-width:700px) and (orientation:landscape){
 body.console-only .game-shell,.game-shell:fullscreen{grid-template-columns:124px minmax(0,1fr) 176px;column-gap:6px}
 #touchControls{--attack-cap:60px;--jump-cap:72px}
 #touchControls .action-controls{width:166px}
 #touchControls .dpad{--pad-size:116px}
}

/* A fullscreen invitation appears once per page load, before play begins. */
/* Canvas keeps a lightweight color grade when WebGL post-processing is unavailable. */
body.console-only:not(.phaser-webgl) #gameCanvas{filter:saturate(1.12) contrast(1.035) brightness(1.03)}
#fullscreenDialog{width:400px;max-width:calc(100% - 32px);padding:30px 26px 20px;text-align:center}
#fullscreenDialog h2{font-size:19px;line-height:1.6;margin:17px 0 14px;letter-spacing:-1px}
#fullscreenDialog p{font:12px/1.8 monospace;margin:0 0 23px;color:#526143}
#fullscreenDialog .primary-button{width:100%;min-height:54px;justify-content:center;gap:16px;font-size:13px}
#fullscreenDialog .text-button{display:block;width:100%;min-height:48px;margin-top:10px;font-size:11px}
.fullscreen-prompt-icon{display:grid;place-items:center;margin:0 auto 18px;width:62px;height:62px;border:2px solid #799158;border-bottom:5px solid #4b6340;border-radius:8px;color:#ddeb9a;background:#2e3e35;box-shadow:3px 3px 0 #36463633}
.fullscreen-prompt-icon svg{width:32px;height:32px}
@media(max-height:440px) and (orientation:landscape){
 #fullscreenDialog{padding:18px 24px 12px}
 .fullscreen-prompt-icon{display:none}
 #fullscreenDialog h2{margin:9px 0}
 #fullscreenDialog p{margin-bottom:14px}
 #fullscreenDialog .text-button{margin-top:4px}
}
