@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--ink:#111e24;--yellow:#ffe351;--pink:#fc587a;--cream:#faf5df;--muted:#99acae;font-family:'DM Sans',Arial,sans-serif;background:#111b20;color:var(--cream)}
*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(ellipse at 50% 45%,#20343a 0,#111b20 70%);min-height:100svh}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.65}button:focus-visible,a:focus-visible{outline:3px solid var(--yellow);outline-offset:5px}button{touch-action:manipulation}button svg{width:21px;height:21px}.arcade{width:min(1280px,calc(100% - 64px));margin:auto;padding:24px 0 20px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:20px}.wordmark{font:900 28px/.85 'Barlow Condensed','Arial Narrow',Impact,sans-serif;letter-spacing:-.5px;text-decoration:none;color:var(--cream);transform:skew(-6deg);display:flex;flex-direction:column;gap:7px}.wordmark span{font:600 10px/1 'DM Sans',sans-serif;letter-spacing:3px}.edition{color:var(--cream);font-size:12px;font-weight:600;letter-spacing:2px;text-align:center;display:grid;gap:7px}.edition span{font-size:10px;color:var(--muted);letter-spacing:1.3px}.top-actions{display:flex;gap:10px}.icon-button{background:#213036;color:#d6e0dd;border:1px solid #385055;width:43px;height:43px;display:grid;place-items:center;border-radius:50%}.icon-button:hover{background:#34444a}.icon-button[aria-pressed=true] .sound-waves{display:none}.cabinet{border:1px solid #456167;border-radius:16px;overflow:hidden;box-shadow:0 30px 70px #0005;background:#0e282d}.hud{height:92px;display:flex;align-items:center;justify-content:space-between;padding:14px 32px;background:#0e252a;border-bottom:1px solid #426067;gap:18px}.label{font-size:10px;letter-spacing:1.8px;color:#a4bec0;display:block;font-weight:600;margin-bottom:4px}.hud strong{font:700 33px/1 'Barlow Condensed',Impact,sans-serif;letter-spacing:2px}.score-group{display:flex;gap:46px;min-width:270px}#score{color:var(--yellow)}.best strong{color:#bdcdcb;font-size:27px}.wave{text-align:center}.wave strong{font-size:33px}.health{text-align:right;min-width:270px}#lives{display:flex;justify-content:flex-end;gap:6px;margin-top:7px}#lives i{display:block;width:20px;height:8px;border-radius:3px;background:var(--pink);box-shadow:0 0 12px #ff648337}#lives i.empty{background:#364950;box-shadow:none}.playfield{position:relative;isolation:isolate;aspect-ratio:1200/590;overflow:hidden;background:#122e33 url('./assets/diner.webp') center center/cover}.playfield canvas{position:absolute;width:100%;height:100%;inset:0;touch-action:none;outline:none;z-index:1}.vignette{position:absolute;inset:0;background:linear-gradient(90deg,#0b252a40,transparent 50%),linear-gradient(0deg,#0a20275c,transparent 25%);pointer-events:none;z-index:2}.screen{position:absolute;inset:0;z-index:5;display:flex}.screen[hidden],[hidden]{display:none!important}.start-screen{background:linear-gradient(90deg,#102d32ed 0%,#102d32d9 36%,#102d3225 68%);align-items:center;padding:32px 5%;justify-content:space-between}.start-copy{position:relative;width:48%;z-index:2}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.4px;color:var(--yellow);display:flex;align-items:center;gap:9px}.eyebrow>span{height:6px;width:6px;border-radius:50%;background:var(--yellow)}h1{font:900 clamp(70px,8vw,120px)/.73 'Barlow Condensed',Impact,'Arial Narrow',sans-serif;letter-spacing:-3px;font-style:italic;margin:26px 0 14px;color:var(--cream);position:relative;width:max-content;text-shadow:4px 5px 0 #071c24}h1 span{color:var(--yellow);display:inline-block;margin-top:10px}h1 sup{font:600 18px 'DM Sans',sans-serif;position:absolute;right:-20px;top:-8px;letter-spacing:0}.afterhours{display:inline-block;transform:rotate(-5deg);background:var(--pink);color:#18252a;padding:5px 12px;font:800 19px 'Barlow Condensed',Impact,sans-serif;letter-spacing:5px;margin-left:100px;box-shadow:3px 3px 0 #111e24}p{font-size:16px;line-height:1.5;color:#d3dfd9;margin:23px 0}.primary{color:#14252a;background:var(--yellow);border:0;border-bottom:4px solid #bc992c;border-radius:7px;min-height:54px;padding:14px 30px;font-size:14px;letter-spacing:1px;font-weight:800;box-shadow:0 5px 22px #030f2640;transition:transform .15s,filter .15s}.primary:hover{filter:brightness(1.08);transform:translateY(-2px)}.primary:active{transform:translateY(2px)}.start-hint{display:block;color:#8ea8a9;font-size:10px;letter-spacing:2px;margin-top:13px;margin-left:26px}.how-to{align-self:flex-end;width:43%;padding:18px 22px;background:#0c252bc9;border:1px solid #61828655;backdrop-filter:blur(12px);border-radius:10px;margin-bottom:4px}.rule{display:flex;align-items:center;gap:12px;margin-bottom:12px}.food-thumb{width:52px;height:52px;flex-shrink:0;background-position:center;background-size:contain;background-repeat:no-repeat}.rule b{font-size:11px;letter-spacing:1px;color:var(--cream);display:block;margin-bottom:4px}.rule small{font-size:12px;line-height:1.4;color:#a9c0bc;display:block}.input-hint{border-top:1px solid #78959233;padding-top:13px;display:flex;gap:4px;align-items:center}.input-hint>span{margin-left:7px;font-size:11px;color:#a9c0bc}kbd{font:600 10px/1.5 'DM Sans',sans-serif;border:1px solid #607a7f;border-bottom-width:2px;border-radius:4px;min-width:18px;display:inline-block;text-align:center;padding:1px 3px}.game-footer{background:#10292e;min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 26px;font-size:11px;color:#92adaf;border-top:1px solid #45616766}.game-footer b{color:#d2ddd6;font-size:11px;letter-spacing:1px;margin-right:6px}#status{color:#8fa9a8;letter-spacing:1.5px;font-size:10px}.pause-help{white-space:nowrap}.pause-help kbd{margin-right:5px}.bottomline{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px;color:#71878d;font-size:10px;letter-spacing:1.5px}.bottomline span:last-child{letter-spacing:0}.bottomline i{margin:0 10px;font-style:normal}.centered{align-items:center;justify-content:center;text-align:center;backdrop-filter:blur(7px);background:#09252bcc}.dialog{padding:20px;max-width:590px;width:100%}.dialog .eyebrow{justify-content:center}h2{font:900 clamp(48px,7vw,86px)/.83 'Barlow Condensed',Impact,sans-serif;letter-spacing:-1px;margin:24px 0;color:var(--cream)}h2 em{color:var(--yellow);font-style:italic}.dialog p{margin:18px 0;color:#b9ccc4}.dialog .primary{min-width:220px}.text-button{display:block;margin:15px auto 0;background:transparent;border:0;color:#9bb3b2;font-size:12px;padding:7px}.text-button:hover{color:var(--cream)}.results{display:flex;justify-content:center;gap:35px;margin:25px auto}.results span{display:block;font-size:10px;letter-spacing:1px;color:#afc5c2;margin-bottom:6px}.results b{font:700 32px 'Barlow Condensed',Impact,sans-serif}.record{color:var(--yellow)!important}.combo{position:absolute;z-index:3;top:20px;left:26px;width:110px;pointer-events:none}.combo b{font:800 50px/.9 'Barlow Condensed',Impact,sans-serif;color:var(--yellow);font-style:italic}.combo span{display:block;font-size:10px;letter-spacing:3px;margin:4px 0 8px}.combo i{display:block;width:100%;height:3px;background:var(--yellow);transform-origin:left}.power{position:absolute;top:22px;right:24px;z-index:3;border:1px solid currentColor;border-radius:30px;padding:9px 14px;font-size:11px;font-weight:700;letter-spacing:1px;color:#8ce9ff;background:#102d32c9}.banner{position:absolute;top:37%;width:100%;text-align:center;font:900 56px/.95 'Barlow Condensed',Impact,sans-serif;letter-spacing:2px;color:var(--yellow);pointer-events:none;z-index:4;text-shadow:3px 4px #09252b;opacity:0;transition:opacity .2s,transform .2s;transform:scale(.94)}.banner.show{opacity:1;transform:scale(1)}.asset-error{position:absolute;z-index:9;bottom:15px;width:90%;left:5%;padding:14px;background:#6c2037;font-size:14px;border-radius:7px;text-align:center}.asset-error button{background:transparent;border:0;color:white;text-decoration:underline}.touch-control{display:none}
@media(min-width:1500px){.arcade{padding-top:36px}.topbar{margin-bottom:30px}}
@media(max-width:900px){.arcade{width:calc(100% - 32px);padding:18px 0}.hud{padding:14px 22px;height:78px}.score-group{min-width:0;gap:24px}.health{min-width:0}.start-screen{padding:20px 5%}h1{font-size:88px}.start-copy{width:50%}.eyebrow{font-size:10px;letter-spacing:1.3px}.afterhours{font-size:15px;letter-spacing:3px;margin-left:72px}.start-copy p{margin:16px 0;font-size:14px}.how-to{width:44%;padding:12px}.rule{gap:8px}.rule small{font-size:11px}.rule b{font-size:10px}.food-thumb{width:40px;height:40px}.input-hint{flex-wrap:wrap}.primary{font-size:12px;min-height:46px;padding:12px 20px}#status{display:none}.playfield{aspect-ratio:1200/690}.start-hint{font-size:9px}.best strong{font-size:23px}.bottomline{font-size:9px}.edition{font-size:10px}.edition span{font-size:9px}}
@media(max-width:600px){.arcade{width:calc(100% - 20px);padding:16px 0 10px}.topbar{margin:0 6px 20px}.wordmark{font-size:25px}.wordmark span{font-size:8px;letter-spacing:2px}.edition{display:none}.icon-button{width:38px;height:38px}.hud{height:74px;padding:13px 16px;gap:12px}.hud strong{font-size:27px}.label{font-size:8px;letter-spacing:1px}.best strong{font-size:21px}.score-group{gap:19px}.health #lives{gap:3px}#lives i{width:11px;height:7px}.wave strong{font-size:26px}.cabinet{border-radius:12px}.playfield{aspect-ratio:0.81;max-height:calc(100svh - 210px);min-height:460px}.start-screen{display:block;padding:26px 24px;background:linear-gradient(90deg,#0c252ad9,#0c252a50)}.start-copy{width:100%}h1{font-size:98px;margin-top:24px}.afterhours{font-size:15px;margin-left:100px}.start-copy p{font-size:14px;line-height:1.35;margin:20px 0 16px}.primary{min-height:48px;padding:13px 24px;font-size:13px}.start-hint{font-size:9px;margin-left:20px;margin-top:10px}.how-to{position:absolute;right:16px;bottom:17px;left:16px;width:auto;padding:9px 14px}.rule{margin-bottom:3px}.rule small{font-size:10px}.food-thumb{width:35px;height:35px}.input-hint{display:none}.game-footer{padding:11px 15px;min-height:40px;font-size:10px}.game-footer b{font-size:9px}.game-footer kbd{font-size:9px}.bottomline{margin:14px 6px 0;font-size:8px;letter-spacing:.7px;align-items:flex-start;gap:10px}.bottomline span:last-child{text-align:right;max-width:142px;line-height:1.5}.bottomline i{margin:0 3px}.dialog{padding:20px}h2{font-size:68px}.results{gap:25px}.results b{font-size:29px}.results span{font-size:9px}.combo{left:15px;top:17px;width:80px}.combo b{font-size:42px}.power{font-size:9px;top:17px;right:12px;padding:8px 10px}.banner{font-size:43px}}
@media(pointer:coarse){.desktop-control{display:none}.touch-control{display:inline}.pause-help{display:none}}
@media(max-height:650px) and (min-width:600px){.arcade{width:min(1000px,calc(100% - 30px));padding:10px 0}.topbar{margin-bottom:10px}.hud{height:60px}.playfield{aspect-ratio:1200/520;max-height:calc(100svh - 190px)}.start-screen{padding:15px 5%}h1{font-size:70px;margin:18px 0 8px}.start-copy p{margin:10px 0;font-size:13px}.start-hint{display:none}.afterhours{font-size:13px}.game-footer{min-height:38px;padding:10px 20px}.bottomline{margin-top:10px}h2{font-size:56px;margin:18px 0}.dialog p{margin:10px 0}.results{margin:15px auto}.text-button{margin-top:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}

/* Readable game instructions and compact portrait layout. */
.rule b{font-size:12px}.rule small{font-size:13px}.input-hint>span{font-size:12px}.game-footer{font-size:12px}.game-footer b{font-size:12px}
@media(max-width:900px){.rule b{font-size:11px}.rule small{font-size:12px}}
@media(max-width:600px){.playfield{min-height:540px}.rule b{font-size:11px}.rule small{font-size:12px}.game-footer b{font-size:11px}.how-to{padding:9px 12px}.start-copy p{margin:16px 0}h1{font-size:90px}}

/* Hot & Fast update */
.wave{position:relative}.wave small{display:block;font-size:12px;color:var(--yellow);margin-top:3px;font-weight:600;letter-spacing:.8px}
#lives{gap:9px;margin-top:5px}#lives i{width:26px;height:10px;background:#ba73ed;border:1px solid #df9aff;box-shadow:0 0 10px #ba73ed44}#lives i.empty{background:#34414a;border-color:#50606a;box-shadow:none}
.pepper-rule{display:flex;align-items:center;gap:10px;border-top:1px solid #78959233;padding-top:7px;margin-top:7px}.pepper-rule .food-thumb{width:38px;height:38px}.pepper-rule b{display:block;font-size:12px;letter-spacing:1px;color:#ffad76}.pepper-rule small{display:block;font-size:13px;color:#bad0c9;margin-top:3px}.input-hint{margin-top:10px}.power.hot{color:#ffab76;border-color:#ff754c;background:#351d15df}.how-to{padding-top:12px;padding-bottom:12px}
@media(max-width:600px){.playfield{min-height:595px}.how-to{bottom:13px}.wave small{font-size:10px}#lives i{width:17px;height:9px}#lives{gap:5px}.pepper-rule b{font-size:11px}.pepper-rule small{font-size:12px}.how-to .rule small{font-size:12px}.power{max-width:calc(100% - 120px);text-align:right;font-size:10px}.start-copy p{margin:14px 0}.start-screen{padding-top:23px}}
@media(max-height:650px) and (min-width:600px){.how-to{padding:9px 12px}.how-to .rule{margin-bottom:5px}.rule small,.pepper-rule small{font-size:11px}.rule .food-thumb{width:32px;height:32px}.pepper-rule .food-thumb{width:30px;height:30px}.input-hint{margin-top:5px;padding-top:8px}.wave .label{display:none}.wave small{font-size:10px;margin-top:0}}

/* The Big Feast: a compact house record and an arcade-native score board. */
.scores-button{border:1px solid #65705a;color:var(--yellow);background:#273731;border-radius:22px;padding:0 17px;font-size:11px;font-weight:800;letter-spacing:1px}
.scores-button:hover{background:#3a4935}.record-strip{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:8px 32px;background:#192e2d;color:#9db5ad;font-size:10px;letter-spacing:1px;border-bottom:1px solid #426067}.record-strip strong{color:var(--yellow);font-size:14px;letter-spacing:1.5px;margin-left:12px}#topPlayer{max-width:55%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}
.score-form{max-width:350px;margin:0 auto 17px;text-align:left}.score-form label{display:block;font-size:10px;letter-spacing:1.5px;color:#c4d4c5;margin-bottom:7px}.score-form>div{display:flex;gap:7px}.score-form input{min-width:0;width:100%;background:#0d2528;color:var(--cream);border:1px solid #62746b;border-radius:5px;padding:10px;font:700 14px 'DM Sans',sans-serif}.score-form button{flex-shrink:0;border:0;border-radius:5px;background:#ddc76b;color:#14252a;font-size:10px;font-weight:800;padding:0 12px}.score-form small{display:block;color:#b5c8bf;font-size:11px;margin-top:7px;line-height:1.4;min-height:16px}.score-form input:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}
#over{overflow:auto}#over .dialog{margin:auto}#over h2{font-size:clamp(40px,5vw,62px);margin:16px 0}#over .results{margin:16px auto}#over p{margin:12px 0}#over .text-button{margin-top:7px}
.score-board{width:min(480px,calc(100% - 30px));max-height:85svh;padding:32px;border:1px solid #5d7568;border-radius:15px;color:var(--cream);background:#132c30;box-shadow:0 30px 100px #0008}.score-board::backdrop{background:#071a21c9;backdrop-filter:blur(7px)}.score-board .eyebrow{font-size:10px}.score-board h2{font-size:56px;margin:20px 0 12px}.score-board p{font-size:12px;margin:0 0 18px;color:#a6bbb1;line-height:1.5}.close-board{position:absolute;right:15px;top:10px;color:#d2dcca;border:0;background:transparent;font-size:28px;padding:5px 10px}#scoreList{list-style:none;padding:0;margin:0}#scoreList li{display:flex;align-items:center;gap:16px;padding:12px 0;border-top:1px solid #58726750;font-size:14px}#scoreList li span{font:700 20px 'Barlow Condensed',Impact,sans-serif;color:#839c96;width:24px}#scoreList li b{font-size:13px;flex:1;overflow-wrap:anywhere}#scoreList li strong{font:700 24px 'Barlow Condensed',Impact,sans-serif;letter-spacing:1px}#scoreList li:first-child{color:var(--yellow)}
@media(max-width:600px){.record-strip{padding:8px 16px;font-size:9px}.record-strip strong{font-size:12px}.scores-button{padding:0 12px;font-size:10px}.top-actions{gap:7px}.score-board{padding:28px 22px}#over h2{font-size:62px}.score-form{margin-bottom:20px}.score-form input{font-size:16px}}
@media(max-height:650px) and (min-width:600px){#over .dialog{padding:12px}#over h2{font-size:40px;margin:8px 0}#over h2 br{display:none}#over .results{margin:10px auto}#over .results b{font-size:24px}#over .score-form{margin-bottom:9px}.score-form small{margin-top:4px}#over .primary{min-height:42px;padding:10px 20px}}

/* Balance the Bite: diet and personal movement speed stay visible while playing. */
.nutrition-hud{display:flex;align-items:center;gap:32px;padding:14px 32px;background:#0e252a;border-bottom:1px solid #476669;color:#a0f4ba}.diet-panel{flex:1;min-width:0}.diet-heading,.diet-feedback{display:flex;justify-content:space-between;align-items:center;gap:12px}.diet-heading{font-size:12px;letter-spacing:1.3px;font-weight:700}.diet-heading b{font-size:13px;letter-spacing:1px}.diet-track{height:10px;background:#334541;border-radius:4px;margin:8px 0;position:relative;overflow:visible}.diet-track i{display:block;height:100%;width:100%;border-radius:4px;background:linear-gradient(90deg,#de765e,#e9c665 52%,#83e6ad 65%);transform:scaleX(.8);transform-origin:left;transition:transform .2s}.diet-threshold{position:absolute;left:55%;top:-3px;height:16px;border-left:2px solid #f4f8e2}.diet-feedback{font-size:11px;letter-spacing:.3px}.diet-feedback b{white-space:nowrap;font-size:12px}.menu-progress{min-width:155px;padding-left:26px;border-left:1px solid #56786a66;color:#c7dacc;display:grid;grid-template-columns:1fr auto;gap:3px 15px;align-items:center}.menu-progress>span{font-size:11px;letter-spacing:1px}.menu-progress strong{font:700 25px 'Barlow Condensed',Impact,sans-serif;color:var(--yellow)}.menu-progress small{grid-column:1/-1;font-size:10px;color:#8da99e;letter-spacing:.5px}.nutrition-hud.sluggish{color:#ffb87f}.nutrition-hud.sluggish .diet-track i{background:linear-gradient(90deg,#e56c6c,#f8aa69)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.blast-rule{display:flex;align-items:center;gap:10px;border-top:1px solid #78959233;padding-top:7px;margin-top:7px}.blast-rule .food-thumb{width:38px;height:38px}.blast-rule b{display:block;font-size:12px;letter-spacing:1px;color:#80fff1}.blast-rule small{display:block;font-size:13px;color:#bad0c9;margin-top:3px}.how-to .input-hint{margin-top:8px;padding-top:9px}.how-to{width:46%}
@media(max-width:900px){.nutrition-hud{padding:12px 22px;gap:20px}.menu-progress{padding-left:18px}.diet-feedback{font-size:10px}.how-to{width:46%}.how-to .rule small,.blast-rule small,.pepper-rule small{font-size:12px}}
@media(max-width:600px){.nutrition-hud{padding:12px 14px;gap:13px}.diet-heading{font-size:11px;letter-spacing:.7px}.diet-feedback{align-items:flex-start;gap:8px}.diet-feedback>span{font-size:10px;max-width:110px;line-height:1.3}.diet-feedback b{font-size:11px}.menu-progress{min-width:80px;padding-left:12px;display:flex;flex-direction:column;align-items:flex-start;gap:3px}.menu-progress>span{font-size:9px}.menu-progress strong{font-size:23px}.menu-progress small{font-size:9px;max-width:85px;line-height:1.4}.playfield{min-height:690px}.how-to{width:auto}.blast-rule small{font-size:12px}.blast-rule b{font-size:11px}.how-to .rule{margin-bottom:5px}.blast-rule{gap:10px}.start-screen{padding-top:24px}}
@media(max-height:650px) and (min-width:600px){.nutrition-hud{padding:8px 22px}.diet-track{margin:5px 0}.playfield{max-height:none;min-height:410px}.blast-rule .food-thumb{width:30px;height:30px}.blast-rule small{font-size:11px}.how-to .rule small{font-size:11px}.start-copy h1{font-size:78px}}

/* Mobile viewport and a separate thumb surface: no obscured play area. */
.touch-pad{display:none}
@media (pointer:coarse), (max-width:600px){
 html,body{height:100%;min-height:0;overflow:hidden;overscroll-behavior:none}
 body{touch-action:manipulation}
 .arcade{width:100%;height:100dvh;height:var(--app-height,100dvh);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);display:flex;flex-direction:column;overflow:hidden}
 .topbar{flex:none;height:52px;margin:0;padding:4px 12px;gap:8px}.wordmark{font-size:21px}.wordmark span{font-size:7px}.top-actions{gap:6px}.top-actions button{min-width:44px;min-height:44px}.edition,.bottomline{display:none}
 .cabinet{flex:1;min-height:0;border-radius:0;border:0;display:flex;flex-direction:column}
 .hud{height:55px;flex:none;padding:5px 14px;gap:10px}.hud strong,.wave strong{font-size:24px}.label{font-size:8px;margin-bottom:2px}.best{display:none}.score-group{gap:12px;min-width:0}.health{min-width:0}.wave small{font-size:10px;margin:0}.record-strip{display:none}
 .nutrition-hud{padding:6px 14px;flex:none;gap:0}.menu-progress,.diet-feedback>span{display:none}.diet-heading,.diet-heading b,.diet-feedback b{font-size:10px}.diet-track{height:6px;margin:4px 0}.diet-threshold{height:10px;top:-2px}.diet-feedback{position:absolute;right:90px;margin-top:-30px;pointer-events:none}
 .playfield{flex:1;min-height:0;max-height:none;aspect-ratio:auto;width:100%}
 .game-footer{display:none}
 .touch-pad{display:flex;position:relative;flex:none;height:96px;align-items:center;justify-content:center;flex-direction:column;gap:7px;border-top:1px solid #547176;background:radial-gradient(ellipse,#28454b,#142b31);touch-action:none;user-select:none;-webkit-user-select:none;overflow:hidden;color:#e2eadc}
 .touch-pad>span{font-size:11px;font-weight:800;letter-spacing:2px;pointer-events:none}.touch-pad small{font-size:11px;color:#a6bcba;pointer-events:none}.touch-pad i{display:none;position:absolute;width:42px;height:42px;border-radius:50%;border:2px solid #ffe351;background:#ffe35133;pointer-events:none;transform:translate(-50%,-50%)}.touch-pad.active i{display:block}.touch-pad.active>span,.touch-pad.active small{opacity:.25}
 .start-screen{display:block;overflow:auto;padding:20px;background:#102d32c9;overscroll-behavior:contain}.start-copy{width:100%}.start-copy h1{font-size:64px;margin:12px 0}.start-copy h1 br{display:none}.start-copy h1 span{margin:0 0 0 10px}.afterhours{margin-left:55px;font-size:12px}.start-copy p{margin:12px 0;font-size:13px}.start-hint{margin:8px 0;font-size:9px}.how-to{position:static;width:100%;margin:16px 0 0;padding:10px}.eyebrow{font-size:9px}.screen.centered{overflow:auto;display:block}.dialog{margin:auto;padding:16px}.dialog h2{font-size:44px;margin:12px 0}.dialog p{margin:10px 0}.results{margin:12px 0}.primary{min-height:48px}.banner{font-size:30px}.combo{top:10px;left:12px}.combo b{font-size:32px}.power{top:10px;font-size:9px}.score-board{max-height:85dvh;overflow:auto}
}
@media (pointer:coarse) and (orientation:landscape){
 .topbar{height:46px}.hud{height:43px}.nutrition-hud{padding:3px 14px}.touch-pad{height:64px}.touch-pad small{display:none}.start-screen{padding:12px 24px}.start-copy{width:48%}.start-copy h1{font-size:44px}.start-copy p,.start-hint,.start-copy .eyebrow{display:none}.afterhours{margin-bottom:8px}.how-to{position:absolute;left:53%;right:14px;top:12px;margin:0;width:auto;bottom:auto}.how-to .food-thumb{width:24px;height:24px}.how-to small{font-size:10px}.how-to b{font-size:10px}
}
/* Safari: stable proportions, no automatic text enlargement. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media (pointer:coarse), (max-width:600px){
 .nutrition-hud{position:relative}.diet-feedback{position:static;margin:0;justify-content:flex-end}.diet-panel{position:relative}.diet-feedback b{font-size:9px}.diet-heading{padding-right:0}
 .playfield canvas{display:block;object-fit:contain}
 .score-form input{font-size:16px}
 .start-copy h1{font-size:clamp(36px,12vw,64px);white-space:nowrap;letter-spacing:-1px}
}
@media (pointer:coarse) and (orientation:landscape){
 .cabinet{display:grid;grid-template-columns:minmax(0,1fr) 112px;grid-template-rows:42px minmax(0,1fr)}
 .hud{grid-column:1;grid-row:1;height:42px;padding:3px 14px}
 .nutrition-hud{grid-column:2;grid-row:1;padding:3px 7px}.diet-heading{font-size:8px;letter-spacing:0}.diet-heading b{font-size:8px}.diet-feedback{display:none}
 .playfield{grid-column:1;grid-row:2;height:100%;min-width:0}
 .touch-pad{grid-column:2;grid-row:2;height:100%;width:112px;border-top:0;border-left:1px solid #547176;text-align:center;padding:10px}
 .touch-pad>span{font-size:10px;line-height:1.6;letter-spacing:1px}
 .topbar{height:46px}.start-copy{width:100%}.start-copy h1{font-size:38px;margin:8px 0}.start-screen{padding:10px 20px}.start-copy .afterhours{display:none}.how-to{display:none}.start-copy .primary{margin-top:8px}.screen .dialog h2{font-size:34px}.dialog .results{margin:8px 0}
}

/* Approved wall signage sits behind every moving game object. */
.diner-wall-sign{position:absolute;z-index:0;left:50%;top:46%;transform:translate(-50%,-50%);width:46%;height:54%;object-fit:contain;pointer-events:none;user-select:none;opacity:.8;filter:brightness(.8) drop-shadow(0 6px 4px #0008) drop-shadow(0 0 13px #fc587a30)}
@media(max-width:600px){.diner-wall-sign{width:76%;height:42%}}
