/* Snacks Sumo: bold candy colors, clear hierarchy, playful motion. */
:root{--ink:#35206a;--muted:#6c5c92;--paper:#f8f4ff;--orange:#f53192;--blue:#19c8e5;--purple:#6636d7;--yellow:#ffdc38}
body{background:#87e4f4;background-image:radial-gradient(#fff5 2px,transparent 2px);background-size:28px 28px;font-family:ui-rounded,'Arial Rounded MT Bold',system-ui,sans-serif}
button,input,select{transition:transform .16s,box-shadow .16s,background .16s}button{font-weight:850}button:hover:not(:disabled){transform:translateY(-3px)}button:active:not(:disabled){transform:translateY(3px) scale(.98)}button:focus-visible,input:focus-visible,select:focus-visible{outline:4px solid #ffdc38;outline-offset:4px}button:disabled{opacity:.45}
.menu{padding:30px 4vw 25px;max-width:1440px}.header{position:relative;z-index:2}.brand{font-size:25px;letter-spacing:-1px;transform:rotate(-2deg);font-weight:1000}.brand small{display:block;margin:6px 0 0 38px;letter-spacing:3px;font-size:10px}
.quiet{background:#fff;color:#49317e;border:2px solid #49317e;border-radius:16px;box-shadow:0 3px 0 #49317e;padding:10px 14px;font-weight:850}.menu-copy{padding-top:55px;width:43%}.eyebrow{display:inline-block;background:#6636d7;color:#fff;border-radius:9px;padding:7px 12px;letter-spacing:2px;font-size:10px;font-weight:900;transform:rotate(-2deg)}h1{font-size:clamp(46px,5.5vw,80px);line-height:1.02;letter-spacing:-3px;font-weight:1000;margin:20px 0;color:#fff;text-shadow:0 5px #49317e,-2px -2px #49317e,2px -2px #49317e,-2px 2px #49317e,2px 2px #49317e}h1 em{color:#ffdc38}.intro{font-size:15px;line-height:1.7;color:#49317e;font-weight:700}.menu-controls{width:40%;max-width:470px;margin-top:25px}.choose-title{font-size:13px}.choose-title span{font-size:9px;letter-spacing:1px;color:#49317e}.choices{gap:12px}.snack{border:3px solid #49317e;border-radius:20px;background:#fff;box-shadow:0 5px 0 #49317e;padding:16px 6px}.snack.selected{border:3px solid #49317e;background:#ffdc38;padding:16px 6px;transform:translateY(-5px) rotate(-2deg);box-shadow:0 8px 0 #49317e}.snack strong{font-weight:900;font-size:12px}.snack small{color:#6c5c92;font-size:9px}.snack .icon{font-size:38px;filter:drop-shadow(0 3px 0 #35206a22);transition:transform .2s}.snack:hover .icon{transform:rotate(10deg) scale(1.12)}
.primary{background:#f53192;color:white;border:3px solid #49317e;border-radius:18px;padding:16px 22px;font-size:18px;box-shadow:0 6px 0 #49317e;letter-spacing:.2px}.primary:active{box-shadow:0 2px 0 #49317e}.secondary{background:#fff;border:2px solid #49317e;border-radius:14px;box-shadow:0 3px 0 #49317e;color:#49317e;font-weight:850}.online-actions{gap:12px;align-items:stretch;margin-top:16px}.online-actions .secondary{font-size:13px;padding:12px}.join-row{flex:1}.join-row input{border:2px solid #49317e;background:#e8fbff;border-radius:14px;color:#49317e;font-weight:800}.network-status{color:#49317e;font-weight:700}.hint,.key-guide{color:#49317e}.hint{font-weight:700}.key-guide{font-size:10px;line-height:2}kbd{border-color:#49317e;color:#49317e;background:#fff;font-weight:900}.menu-bottom{color:#49317e;letter-spacing:2px;font-weight:800;font-size:9px;margin-top:24px}
.stage{right:3vw;top:120px;width:53%;height:calc(100dvh - 160px);min-height:480px;border:4px solid #49317e;border-radius:40px;box-shadow:0 10px 0 #49317e;animation:stage-in .5s ease-out}.stage:before{content:'ONE PLATE. BIG MAIN CHARACTER ENERGY.';position:absolute;top:22px;left:50%;transform:translateX(-50%) rotate(-3deg);z-index:1;background:#ffdc38;border:2px solid #49317e;padding:10px 18px;border-radius:12px;font-size:10px;font-weight:1000;white-space:nowrap;box-shadow:0 4px #49317e}.stage:after{content:'2–4 PLAYERS  •  60 SECONDS';position:absolute;bottom:23px;left:50%;transform:translateX(-50%);background:#6636d7;color:white;padding:10px 18px;border:2px solid #fff;border-radius:30px;font-size:11px;font-weight:900;letter-spacing:1px}.in-game .stage{border:0;box-shadow:none;animation:none}.in-game .stage:before,.in-game .stage:after{display:none}
.result,.pause-panel{background:#35206a99;backdrop-filter:blur(9px)}.card{background:#faf7ff;border:4px solid #49317e;border-radius:30px;box-shadow:0 10px 0 #35206a,0 22px 60px #35206a55;animation:card-in .28s cubic-bezier(.2,1.4,.4,1);max-height:94dvh;overflow:auto}.card h2{font-size:32px;font-weight:1000;line-height:1.15;letter-spacing:-1px}.card p{color:#6c5c92;font-weight:600}.result-icon{width:92px;height:92px;border-radius:50%;background:#ffdc38;border:3px solid #49317e;display:grid;place-items:center;margin:0 auto;font-size:50px;transform:rotate(-8deg)}.result-stats{gap:10px}.result-stats div{border:2px solid #49317e;border-radius:16px;background:#e5faff;box-shadow:0 3px #49317e}.result-stats div:nth-child(2){background:#ffedf7}.result-stats div:nth-child(3){background:#fff4c7}.result-stats div:nth-child(4){background:#eee6ff}.result-stats strong{color:#49317e;font-weight:1000;font-size:34px}.result-stats span{color:#49317e;font-weight:800}.room-code{background:#ffdc38;color:#49317e;border:2px dashed #49317e;border-radius:14px;padding:12px;font-size:31px;letter-spacing:5px;margin:15px 0}.room-profile label{color:#49317e;font-weight:850}.room-profile input,.room-profile select{border:2px solid #b8a5e0;background:#fff;color:#35206a;border-radius:12px}#roomPlayers{background:#eee6ff;border-radius:14px;padding:12px;text-align:left;font-size:12px;line-height:1.9;color:#49317e}#lobbyHint{font-size:11px}#leaveRoom{background:transparent;box-shadow:none;border-color:#c5b8e1}
.topbar{top:20px;left:20px;right:20px;align-items:flex-start}.match-hud{flex-direction:column;gap:9px}.timer{background:#ffdc38;border:3px solid #49317e;border-radius:18px;padding:7px 22px;font-size:32px;box-shadow:0 4px #49317e;color:#49317e;transform:rotate(-2deg)}.timer small{color:#49317e;font-weight:900;letter-spacing:2px}.roster-hud{max-width:min(580px,58vw);gap:7px}.roster-card{border:2px solid #49317e;border-radius:12px;background:#fffcff;padding:8px 11px;box-shadow:0 3px #49317e;color:#49317e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-card.local{outline:3px solid #ffdc38;outline-offset:2px}.roster-card .meter{height:4px;background:#e4dbf7}.roster-card .meter i{background:#f53192}.roster-card small{color:#6636d7;font-weight:900}.player-label{border:2px solid #fff;box-shadow:0 3px #49317e55;font-size:11px;max-width:160px;overflow:hidden;text-overflow:ellipsis}.status{background:#6636d7;color:#fff;border:2px solid #fff;border-radius:15px;box-shadow:0 3px #49317e;font-weight:750;padding:9px 16px;bottom:220px;max-width:430px;font-size:11px}.camera-help{border:0;box-shadow:none;background:#ffffffbb;font-size:10px;right:18px;bottom:235px}.mini-wrap{color:#49317e;font-weight:900;bottom:22px;left:22px}.mini-wrap span{display:block;background:#fff;padding:5px 9px;border-radius:9px;border:2px solid #49317e;font-size:9px}.aim-mark{color:#6636d799}.jump-button{background:#6636d7;border:3px solid #fff;box-shadow:0 5px #35206a;width:98px}.bump-button{background:#f53192;border:4px solid #fff;box-shadow:0 6px #a31d6a,0 10px 24px #49317e33}.bump-button.active{background:#ec2787}.bump-button b{font-weight:1000}.mobile-stick{background:#ffffffb8;border:3px solid #49317e;box-shadow:0 5px #49317e55}.mobile-stick:before{border:2px dashed #ae8eee}.mobile-stick i{background:#19c8e5;border:4px solid #fff;box-shadow:0 4px #087eab}.countdown{color:#ffdc38;font-size:120px;-webkit-text-stroke:3px #49317e;text-shadow:0 8px #49317e}.final-bite{background:#f53192;border:4px solid #fff;box-shadow:0 8px #49317e;text-shadow:0 3px #a31d6a;border-radius:24px}.hit-popup{text-shadow:0 3px #49317e,2px 0 #49317e,-2px 0 #49317e}
@keyframes card-in{from{opacity:0;transform:translateY(25px) scale(.88) rotate(-3deg)}to{opacity:1;transform:none}}@keyframes stage-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@media(max-width:1000px) and (min-width:761px){.menu-copy{width:44%}h1{font-size:56px}.menu-controls{width:44%}.stage{width:48%;right:2vw}.brand{font-size:21px}.stage:before{font-size:8px;padding:9px}.top-buttons .quiet{padding:9px;font-size:10px}.roster-hud{max-width:50vw}}
@media(max-width:760px){.menu{padding:20px 20px 28px}.brand{font-size:21px}.header .quiet{font-size:10px;padding:9px}.menu-copy{padding-top:30px;width:100%}h1{font-size:49px;letter-spacing:-2px;margin:15px 0}.menu-copy h1 br{display:block}.intro{font-size:12px;margin-bottom:12px}.stage{position:relative;right:auto;top:auto;width:100%;height:255px;min-height:0;border-radius:28px;margin:16px 0 23px;border-width:3px;box-shadow:0 6px #49317e}.stage:before{top:13px;font-size:7px;padding:8px 10px}.stage:after{bottom:13px;font-size:8px;padding:7px 12px}.menu-controls{width:100%;margin-top:0}.snack,.snack.selected{padding:12px 5px;border-radius:16px}.snack .icon{font-size:31px}.snack strong{font-size:10px}.snack small{font-size:8px}.choices{gap:10px}.primary{font-size:16px;padding:14px}.online-actions .secondary{font-size:11px}.choose-title span{font-size:8px}.key-guide{justify-content:flex-start;gap:1px}.menu-bottom{font-size:8px}.topbar{top:12px;left:10px;right:10px}.topbar>.quiet,.top-buttons .quiet{padding:7px 9px;font-size:9px;border-radius:11px}.top-buttons{gap:5px}#viewBtn{display:none}.match-hud{position:absolute;top:42px;left:50%;width:96vw;transform:translateX(-50%);display:flex;gap:8px}.match-hud .timer{padding:4px 15px;font-size:24px;display:block}.match-hud .timer small{font-size:8px;display:inline;margin-left:6px}.roster-hud{position:static;transform:none;width:95vw;max-width:430px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.roster-card{font-size:9px;padding:6px 9px}.status{bottom:208px;font-size:9px;padding:8px 12px;max-width:78vw}.camera-help{display:none}.mini-wrap{left:12px;bottom:184px}.mini-wrap canvas{width:62px;height:62px}.mini-wrap span{display:none}.card{padding:24px;width:min(400px,91vw)}.card h2{font-size:27px}.card p{font-size:12px}.jump-button{width:90px}.player-label{font-size:9px;padding:4px 8px}.final-bite{top:27%;font-size:28px}.final-bite small{font-size:9px}.in-game .stage{margin:0;border-radius:0}}
@media(max-height:560px) and (min-width:761px){.menu-copy{padding-top:25px}h1{font-size:48px}.stage{top:95px;height:calc(100dvh - 130px);min-height:0}.menu-controls{margin-top:12px}.snack,.snack.selected{padding:8px 5px}.snack .icon{font-size:26px}.menu-bottom{display:none}}
@media(max-height:500px){.status{bottom:166px}.camera-help{display:none}.topbar{top:8px}.timer{font-size:24px;padding:4px 14px}.mini-wrap{bottom:15px}.roster-card{padding:5px 8px}.jump-button{height:58px}.bump-button{width:86px;height:86px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hit-popup{animation-duration:.8s!important}}
.stage:after{white-space:nowrap}
@media(max-width:760px){.menu-copy{padding-top:22px}h1{font-size:38px;letter-spacing:-1.5px;margin:12px 0}.intro{margin:10px 0;font-size:11px}.stage{height:185px;margin:13px 0 20px}.menu-controls .primary{margin-top:16px}.snack,.snack.selected{padding:10px 5px}.snack .icon{font-size:27px;margin-bottom:5px}.snack small{margin-top:4px}.online-actions{margin-top:13px}.menu-controls .key-guide{margin-top:16px}.stage:before{font-size:6px;top:10px}.stage:after{bottom:10px;font-size:7px}.snack.selected{transform:translateY(-3px) rotate(-2deg)}}
.timer.final-seconds{background:#f53192;color:#fff;animation:timer-pulse .5s ease-in-out infinite alternate}.timer.final-seconds small{color:#fff}.countdown{animation:count-pop .65s cubic-bezier(.2,1.5,.5,1) infinite}@keyframes count-pop{from{transform:scale(.82) rotate(-5deg)}to{transform:scale(1.06) rotate(2deg)}}@keyframes timer-pulse{to{transform:rotate(2deg) scale(1.06)}}
@media(min-width:761px){h1{font-size:clamp(40px,4.5vw,68px);line-height:1.08}.menu-copy{padding-top:42px}}
.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.snack{display:grid;grid-template-columns:44px 1fr;text-align:left;align-items:center;padding:10px 12px;column-gap:8px}.snack.selected{padding:10px 12px}.snack .icon{grid-row:span 2;margin:0;font-size:32px}.snack small{margin:0}.snack strong{font-size:12px}.snack[data-type=sushi]{background:#e1fae7}.snack[data-type=sushi].selected{background:#ffdc38}@media(max-width:760px){.snack,.snack.selected{padding:9px;grid-template-columns:32px 1fr;column-gap:4px}.snack .icon{font-size:27px}.snack strong{font-size:10px}.snack small{font-size:8px}}
.grade-badge{font-size:70px;line-height:1;font-weight:1000;color:#6636d7;text-shadow:0 4px #e0d1ff;transform:rotate(-5deg);margin:20px 0 8px}.grade-badge[data-grade=SS],.grade-badge[data-grade=SSS]{color:#e89900;text-shadow:0 3px #ffdc38}#gradeDetail,#challengeResult{font-size:11px}#challengeResult{font-weight:850;color:#6636d7}#challengeProgress{font-size:10px;margin:14px 0 10px}#start{width:100%;margin-top:3px}#result .card{max-height:92dvh}.result-stats{margin:12px 0}.result-stats div{padding:8px}.result-stats strong{font-size:25px}
#challengeSelect{width:100%;border:2px solid #49317e;border-radius:12px;background:#fff;color:#49317e;font:700 12px system-ui;padding:9px;margin-bottom:10px}.roster-hud:has(>:nth-child(5)){grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:760px){.roster-hud:has(>:nth-child(5)){grid-template-columns:repeat(3,minmax(0,1fr))}.grade-badge{font-size:52px;margin-top:12px}#result .card{padding:20px}#result .result-icon{width:60px;height:60px;font-size:33px}#result .card h2{font-size:23px;margin:10px 0}}

/* Food-call countdown and a distinct airborne hit. */
.countdown{font-size:clamp(30px,6vw,76px);padding:20px;text-align:center;line-height:1.15;letter-spacing:-1px;}
.countdown.go{color:#ffe849;font-size:clamp(30px,5.6vw,72px);animation:feast-go .8s ease-out both;}
.hit-popup.air{color:#9df7ff;text-shadow:0 4px #3453a3,2px 0 #3453a3,-2px 0 #3453a3;font-size:clamp(25px,4vw,42px);}
@keyframes feast-go{0%{opacity:0;transform:scale(.65) rotate(-3deg)}18%{opacity:1;transform:scale(1.08) rotate(1deg)}65%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.12)}}
@media(prefers-reduced-motion:reduce){.countdown.go{animation:none}.hit-popup{animation-timing-function:linear}}

/* Cleaner play HUD: keyboard players use keys; touch players keep their controls. */
@font-face{font-family:'Luckiest Guy';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/luckiest-guy.ttf') format('truetype');}
#msg{display:none;}
.countdown,.countdown.go{font-family:'Luckiest Guy','Arial Black',sans-serif;font-weight:400;letter-spacing:1px;line-height:1.15;}
.topbar .match-hud{position:absolute;left:50%;top:0;transform:translateX(-50%);width:auto;gap:14px;}
.topbar .match-hud .timer{font-size:54px;line-height:1;min-width:118px;padding:12px 24px;border-radius:22px;transform:none;}
.topbar .match-hud .timer small{display:block;font-size:10px;margin:6px 0 0;letter-spacing:2px;}
.timer.final-seconds{animation:timer-pulse .5s ease-in-out infinite alternate;}
@media(min-width:761px) and (pointer:fine){.game-ui .controls{display:none;}}
@media(max-width:760px){.topbar .match-hud{top:42px;width:96vw;gap:10px;}.topbar .match-hud .timer{font-size:40px;min-width:100px;padding:9px 20px;border-radius:18px;}.topbar .match-hud .timer small{font-size:8px;margin-top:4px;}.roster-hud{max-width:430px;}}
@media(max-height:500px){.topbar .match-hud .timer{font-size:36px;min-width:92px;padding:7px 18px;}.topbar .match-hud{gap:9px;}.topbar .match-hud .timer small{font-size:8px;margin-top:3px;}}

@media(min-width:761px){.roster-hud:not(:has(>:nth-child(3))){grid-template-columns:repeat(2,minmax(100px,1fr));}.roster-hud:has(>:nth-child(3)):not(:has(>:nth-child(4))){grid-template-columns:repeat(3,minmax(100px,1fr));}}

/* Big, chunky cartoon lettering like the supplied Luckiest Guy reference. */
.countdown{font-size:clamp(64px,10vw,144px);color:#ffdc38;-webkit-text-stroke:2px #49317e;text-shadow:0 7px #49317e;letter-spacing:1px;}
.countdown.go{font-size:clamp(46px,7.6vw,110px);-webkit-text-stroke:2px #49317e;text-shadow:0 7px #49317e;}
@media(max-width:760px){.countdown{font-size:clamp(44px,12vw,80px);-webkit-text-stroke:1px #49317e;text-shadow:0 5px #49317e;}.countdown.go{font-size:clamp(34px,9vw,66px);-webkit-text-stroke:1px #49317e;text-shadow:0 5px #49317e;}}

/* Progressive start screen: one decision at a time. */
.menu{min-height:100dvh;padding-top:30px;padding-bottom:40px;}
.menu-copy{padding-top:clamp(45px,9vh,90px);width:43%;}
.menu-copy h1{font-family:'Luckiest Guy','Arial Black',sans-serif;font-weight:400;font-size:clamp(38px,4.5vw,64px);line-height:1.04;letter-spacing:.2px;margin:0 0 22px;}
.menu-copy .intro{font-size:15px;margin:0;}
.menu-controls{width:40%;max-width:480px;margin-top:35px;}
.menu-step{animation:menu-reveal .22s ease-out;}
.mode-entry{display:flex;align-items:center;text-align:left;gap:15px;width:100%;border:3px solid #49317e;border-radius:22px;background:#fff;box-shadow:0 6px #49317e;padding:20px 22px;min-height:88px;color:#49317e;margin:0 0 18px;}
.mode-entry>span{font-size:34px;width:42px;text-align:center;flex-shrink:0;}
.mode-entry strong{font-family:'Luckiest Guy','Arial Black',sans-serif;font-size:26px;font-weight:400;line-height:1.1;letter-spacing:.3px;}
.mode-entry strong small{display:block;font:650 11px system-ui;margin-top:8px;letter-spacing:0;}
.mode-entry>b{margin-left:auto;font-size:28px;}
.single-entry{background:#ffdc38;}.multi-entry{background:#f53192;color:#fff;}.challenge-entry{background:#ffdc38;}.quick-entry{background:#fff;}
.menu-step h2{font-family:'Luckiest Guy','Arial Black',sans-serif;font-weight:400;font-size:32px;line-height:1.1;margin:18px 0 24px;letter-spacing:.5px;}
.text-back{border:0;background:transparent;padding:6px 0;color:#49317e;font-size:12px;font-weight:800;box-shadow:none;}
.menu-controls .choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.menu-controls .snack,.menu-controls .snack.selected{display:flex;flex-direction:column;justify-content:center;gap:9px;aspect-ratio:1;min-width:0;padding:10px 4px;text-align:center;border-radius:20px;}
.menu-controls .snack .icon{font-size:clamp(30px,3.3vw,43px);margin:0;}
.menu-controls .snack strong{font-size:11px;}
.menu-controls .snack:nth-child(2){background:#ffe2ef;}.menu-controls .snack:nth-child(3){background:#fff2cf;}
.menu-controls .snack.selected{background:#ffdc38;}
.stage-options,.play-help{font-size:11px;margin-top:16px;color:#49317e;}
.stage-options summary,.play-help summary{cursor:pointer;font-weight:750;padding:5px 0;}
.stage-options #challengeSelect{margin:12px 0 0;}.stage-options p,.play-help p{font-size:11px;line-height:1.8;}
#multiplayerOptions .primary{margin:0 0 22px;}
#multiplayerOptions .join-row{display:flex;gap:10px;}
#multiplayerOptions .join-row input{border:2px solid #49317e;border-radius:14px;font:750 14px system-ui;padding:14px;background:#fff;}
.invite-hint{font-size:11px;color:#6c5c92;margin:16px 0;}
.stage:before,.stage:after{display:none;}
@keyframes menu-reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(min-width:761px){.stage{top:105px;right:3vw;width:53%;height:calc(100dvh - 150px);min-height:430px;}}
@media(max-width:1000px) and (min-width:761px){.menu-copy{width:45%}.menu-controls{width:44%}.stage{width:48%;right:2vw}.mode-entry{padding:17px 15px}.mode-entry strong{font-size:23px}.menu-controls .choices{gap:8px;}}
@media(max-width:760px){.menu{padding:20px 20px 32px;}.menu-copy{width:100%;padding-top:30px;}.menu-copy h1{font-size:38px;margin-bottom:13px;}.menu-copy .intro{font-size:12px;}.stage{height:230px;margin:22px 0 28px;}.menu-controls{width:100%;margin-top:0;}.mode-entry{min-height:76px;padding:16px 18px;margin-bottom:16px;}.mode-entry strong{font-size:24px;}.menu-step h2{font-size:28px;margin:13px 0 23px;}.menu-controls .choices{gap:9px;}.menu-controls .snack,.menu-controls .snack.selected{border-radius:17px;gap:5px;padding:8px 2px;}.menu-controls .snack .icon{font-size:31px;}.menu-controls .snack strong{font-size:10px;}}
@media(max-height:620px) and (min-width:761px){.menu-copy{padding-top:35px}.menu-copy h1{font-size:42px}.menu-controls{margin-top:25px}.mode-entry{min-height:72px;padding:14px 18px}.stage{min-height:0;}}

/* Larger 2 x 2 character cards, with a little personality. */
body[data-menu-step=snacks] .menu-copy{display:none;}
body[data-menu-step=snacks] .menu-controls{margin-top:35px;}
.menu-controls .choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.menu-controls .snack,.menu-controls .snack.selected{padding:20px 12px;gap:13px;border-radius:26px;}
.menu-controls .snack .icon{font-size:clamp(58px,6vw,78px);}
.menu-controls .snack strong{font-family:'Luckiest Guy','Arial Black',sans-serif;font-size:25px;font-weight:400;letter-spacing:.5px;}
.menu-controls .snack small{font-size:11px;line-height:1.4;font-weight:650;color:#6c5c92;max-width:100%;}
@media(max-width:760px){body[data-menu-step=snacks] .menu-controls{margin-top:0;}.menu-controls .choices{gap:14px;}.menu-controls .snack,.menu-controls .snack.selected{border-radius:22px;padding:16px 9px;gap:10px;}.menu-controls .snack .icon{font-size:52px;}.menu-controls .snack strong{font-size:22px;}.menu-controls .snack small{font-size:10px;}}
@media(max-height:620px) and (min-width:761px){body[data-menu-step=snacks] .menu-controls{max-width:380px;margin-top:20px;}.menu-controls .snack .icon{font-size:54px;}.menu-controls .snack strong{font-size:23px;}.menu-controls .snack,.menu-controls .snack.selected{gap:9px;}}
.menu-controls .snack .icon,.menu-controls .snack strong{line-height:1;}

/* Character stats describe the shared balanced kit. */
.menu-controls .snack,.menu-controls .snack.selected{display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto auto auto;align-items:center;justify-items:center;gap:7px;padding:14px 16px;aspect-ratio:1;}
.menu-controls .snack .icon{grid-row:auto;font-size:clamp(42px,4.8vw,64px);line-height:1;}
.menu-controls .snack strong{font-size:23px;line-height:1;}
.menu-controls .snack small{font-size:10px;white-space:nowrap;}
.snack-stats{display:grid;gap:5px;width:100%;margin-top:5px;}
.snack-stat{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:8px;text-align:left;font:750 9px system-ui;color:#49317e;}
.stat-track{height:6px;border-radius:6px;background:#49317e20;overflow:hidden;}
.stat-track i{display:block;width:60%;height:100%;border-radius:6px;background:#6636d7;}
.snack-stat:nth-child(2) .stat-track i{background:#f53192;}.snack-stat:nth-child(3) .stat-track i{background:#079ab8;}
.stats-note{font-size:10px;color:#6c5c92;text-align:center;margin:17px 0 0;font-weight:700;}
@media(max-width:1000px){.menu-controls .snack,.menu-controls .snack.selected{gap:5px;padding:11px 12px;}.menu-controls .snack .icon{font-size:42px;}.menu-controls .snack strong{font-size:21px;}.menu-controls .snack small{font-size:9px;}.snack-stat{grid-template-columns:32px 1fr;gap:6px;font-size:8px;}.snack-stats{gap:4px;margin-top:2px;}}
@media(max-width:360px){.menu-controls .snack,.menu-controls .snack.selected{padding:9px;gap:4px;}.menu-controls .snack .icon{font-size:34px;}.menu-controls .snack strong{font-size:19px;}.menu-controls .snack small{font-size:8px;}}

.analytics-privacy{margin-top:16px;font:12px/1.5 system-ui,sans-serif;color:#5b4775;max-width:440px}.analytics-privacy summary{cursor:pointer}.analytics-privacy label{display:block;margin-top:8px}.analytics-privacy p{font-size:11px;margin:8px 0}.analytics-privacy input{accent-color:#e82c96}.analytics-privacy a{color:inherit}
