@import url('https://fonts.googleapis.com/css2?family=Bangers&family=Barlow:wght@400;500;600;700;800;900&display=swap');
:root{--ink:#152038;--cream:#fff5dc;--paper:#fffdf4;--gold:#ffdb35;--pink:#f23d80;--cyan:#48d5e6;--muted:#586176;--font:'Barlow',Arial,sans-serif;--serif:'Bangers',Impact,'Arial Black',sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--ink);font:500 16px/1.5 var(--font)}button,input{font:inherit}button{cursor:pointer;color:inherit;min-height:44px;border:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #c70c60;outline-offset:4px}a{color:#852044;font-weight:700;text-underline-offset:4px}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:.035em;line-height:1.08;margin:0 0 16px}h1{font-size:clamp(32px,4vw,54px)}h2{font-size:clamp(28px,3vw,42px)}p{margin:0 0 20px}small{font-size:.78em}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.shell{max-width:1440px;min-height:100vh;margin:auto;background:var(--cream);overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 30px;border-bottom:4px solid var(--ink);background:var(--paper)}.brand{display:flex;gap:12px;align-items:center;background:none;text-align:left;padding:0}.brand-mark{display:grid;place-items:center;background:var(--pink);color:var(--cream);border:3px solid var(--ink);width:40px;height:44px;border-radius:6px;box-shadow:3px 3px var(--ink);transform:rotate(-7deg);font-size:26px}.brand b{font-size:14px;text-transform:uppercase;font-weight:900;letter-spacing:.04em}.brand small{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.topbar nav{display:flex;align-items:center;gap:10px}.review-chip{font-size:10px;letter-spacing:.15em;font-weight:800;padding:6px 10px;background:var(--cyan);border:2px solid var(--ink);border-radius:2px}.utility{padding:9px 14px;border:2px solid var(--ink);background:var(--paper);box-shadow:2px 2px var(--ink);border-radius:4px;font-weight:700;font-size:13px}.utility:hover{background:var(--cyan)}.btn{padding:13px 24px;border:3px solid var(--ink);box-shadow:5px 5px var(--ink);background:var(--gold);border-radius:5px;font:400 24px/1.15 var(--serif);letter-spacing:.05em;min-height:52px}.btn:hover{transform:translate(-1px,-1px);background:#ffe76a}.btn:active{transform:translate(3px,3px);box-shadow:2px 2px var(--ink)}.btn.pink{background:var(--pink)}.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:900;margin-bottom:13px;text-transform:uppercase}.actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;align-items:center;margin-top:26px}footer{border-top:3px solid var(--ink);padding:22px 30px;display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.04em;background:var(--paper)}
.cover{height:660px;position:relative;background:linear-gradient(90deg,#fff5dc 0%,#fff5dceb 26%,#fff5dc22 65%),url('assets/kitchen-comic.png') center/cover;overflow:hidden;border-bottom:4px solid var(--ink)}.cover-copy{position:relative;padding:53px 50px;z-index:3;max-width:570px}.cover h1{font-size:96px;line-height:.88;text-transform:uppercase;letter-spacing:.025em;margin:20px 0 23px;transform:rotate(-3deg);text-shadow:4px 4px var(--ink);-webkit-text-stroke:2px var(--ink)}.cover h1 span,.cover h1 strong,.cover h1 em{display:block;font-weight:400}.cover h1 span{color:var(--gold)}.cover h1 strong{color:var(--pink);font-size:1.22em}.cover h1 em{color:var(--cyan);font-style:normal}.cover-copy p{font-size:18px;font-weight:600;line-height:1.45}.cover-copy .cover-spec{font-size:12px;margin:23px 0 0;font-weight:800}.enter{font-size:28px}.enter span{margin-left:22px}.chef-atlas,.kitchen-chef{background-image:url('assets/chefs-comic.png');background-size:300% 200%;background-repeat:no-repeat;width:220px;aspect-ratio:1;filter:drop-shadow(2px 6px 0 #15203825)}.chef-0,.bob-chef{background-position:0 0}.chef-1{background-position:50% 0}.chef-2{background-position:100% 0}.chef-3{background-position:0 100%}.chef-4{background-position:50% 100%}.chef-5,.hero-chef{background-position:100% 100%}.cover-hero{position:absolute;width:420px;bottom:3px;right:23%;z-index:2;transform:rotate(-5deg)}.cover-bob{position:absolute;width:370px;bottom:4px;right:-1%;transform:rotate(5deg)}.comic-bubble{position:absolute;right:15%;top:80px;background:var(--paper);border:4px solid var(--ink);border-radius:50%;font:32px/.95 var(--serif);padding:27px 38px;transform:rotate(9deg);box-shadow:6px 6px var(--ink);z-index:2}.plant-seal{position:absolute;right:25px;top:25px;width:88px;height:88px;border:4px solid var(--ink);border-radius:50%;background:var(--gold);font:22px/.9 var(--serif);display:grid;place-content:center;text-align:center;transform:rotate(12deg)}.review-ribbon{position:absolute;bottom:0;right:0;background:var(--pink);border:3px solid var(--ink);border-bottom:0;border-right:0;padding:10px 28px;font-size:11px;font-weight:900;letter-spacing:.1em;z-index:3}.review-intro{display:grid;grid-template-columns:1fr 1.1fr;gap:30px 65px;padding:42px 50px;background:var(--cyan);border-bottom:3px solid var(--ink)}.review-intro h2{margin:0}.review-intro p{align-self:center;margin:0;font-size:17px;line-height:1.6}.review-intro a{grid-column:2}.rivals-section{padding:38px 40px 42px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.section-heading h2{margin:0}.section-heading>span{font-size:11px;font-weight:900;letter-spacing:.12em}.rivals{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.rival{position:relative;border:3px solid var(--ink);box-shadow:4px 4px var(--ink);background:var(--paper);text-align:center;padding:15px 8px 20px}.rival.available{background:var(--gold)}.rival .chef-atlas{width:100%;max-width:190px;margin:0 auto 14px}.rival-num{position:absolute;left:9px;top:6px;font:24px var(--serif)}.rival h3{font-size:25px;margin:0 0 8px}.rival small{display:block;font-size:10px;font-weight:700}.review-tools{margin:0 40px 40px;padding:20px;border-top:2px solid var(--ink);font-size:13px}.review-tools summary{cursor:pointer;font-weight:800;min-height:44px}.review-tools p{max-width:800px}.fixture-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}
/* The table and cast are one persistent scene, never a portrait list. */
.show-stage{height:440px;position:relative;border-bottom:4px solid var(--ink);background:url('assets/kitchen-comic.png') center 39%/cover;overflow:hidden;isolation:isolate;transition:height .3s}.set-light{position:absolute;inset:0;background:linear-gradient(#fff5dc11,#fff5dc44)}.show-sign{position:absolute;top:14px;left:50%;transform:translateX(-50%) rotate(-1deg);font:23px var(--serif);padding:6px 16px;background:var(--gold);border:3px solid var(--ink);box-shadow:3px 3px var(--ink);white-space:nowrap;z-index:3}.kitchen-chef{position:absolute;bottom:-30px;width:220px;z-index:1}.hero-chef{left:-25px;transform:rotate(-4deg)}.bob-chef{right:-20px;transform:rotate(4deg)}.host{position:absolute;z-index:5;left:8%;bottom:25px;width:140px;aspect-ratio:3/4;transform:rotate(-3deg)}.actor-art{display:block;width:100%;height:100%;background-size:400% 200%;background-repeat:no-repeat;image-rendering:auto}.jimmy-art{background-image:url('assets/review/jimmy.png');background-size:400% 100%;background-position:0 0}.host-name{position:absolute;bottom:-2px;left:50%;transform:translateX(-50%) rotate(3deg);font:14px/.9 var(--serif);text-align:center;padding:5px 11px;background:var(--pink);border:2px solid var(--ink);white-space:nowrap}.judges-floor{position:absolute;left:12%;right:5%;height:295px;bottom:41px;z-index:2}.cast-member{position:absolute;left:-18%;top:13%;width:18%;aspect-ratio:3/4;background:none;padding:0;z-index:4;transform:translateX(-50%) translateY(var(--sway,0px));border-radius:0;min-height:0}.cast-member.seated{z-index:3}.cast-member:hover{filter:drop-shadow(0 0 3px var(--gold))}.cast-member:focus-visible{outline-offset:-10px}.stool{position:absolute;left:calc(33% + var(--seat)*17%);transform:translateX(-50%);bottom:31px;width:9%;height:50px;border-bottom:5px solid var(--ink);background:linear-gradient(90deg,transparent 43%,var(--ink) 44%,var(--ink) 55%,transparent 56%);z-index:1}.stool:before{content:'';position:absolute;top:0;left:0;right:0;border:3px solid var(--ink);background:var(--pink);height:17px;border-radius:45%}.table-mask{position:absolute;left:22%;right:0;bottom:35px;height:77px;background:repeating-linear-gradient(95deg,#48d5e6 0 90px,#36c5d7 92px 94px);border:4px solid var(--ink);border-top:12px solid var(--cream);box-shadow:0 8px 0 var(--pink),0 -4px 0 var(--ink);z-index:5;pointer-events:none;transform:skewX(-1deg)}.table-heart{position:absolute;left:47%;top:8px;color:var(--pink);font-size:35px;text-shadow:2px 2px var(--ink)}.nameplates{position:absolute;left:24.5%;right:-2%;bottom:65px;display:grid;grid-template-columns:repeat(4,1fr);gap:7%;z-index:6}.nameplates button{min-height:37px;padding:4px 5px;font-size:10px;line-height:1.15;font-weight:900;background:var(--paper);border:2px solid var(--ink);box-shadow:2px 2px var(--ink);transform:rotate(-2deg)}.paddle{position:absolute;top:-8%;right:-8%;width:46px;height:49px;background:var(--gold);border:3px solid var(--ink);box-shadow:3px 3px var(--ink);border-radius:45%;font:34px var(--serif);z-index:7}.paddle:after{content:'';position:absolute;top:100%;left:40%;width:8px;height:17px;background:var(--cream);border:2px solid var(--ink)}.parked-props{display:none}.judge-bubble{position:absolute;z-index:9;right:10%;bottom:135px;background:var(--paper);padding:16px 40px 16px 20px;border:3px solid var(--ink);box-shadow:4px 4px var(--ink);max-width:340px;font-size:14px}.judge-bubble:after{content:'';position:absolute;bottom:-15px;left:25%;width:20px;height:20px;background:var(--paper);border-bottom:3px solid var(--ink);border-right:3px solid var(--ink);transform:rotate(45deg)}.judge-bubble button{position:absolute;right:0;top:0;background:none;font-size:23px;width:40px}.show-stage.compact{height:235px;background-position:center 36%}.compact .judges-floor{height:230px;bottom:-5px;left:23%;right:13%}.compact .host{left:9%;width:100px;bottom:12px}.compact .show-sign{left:10%;top:12px;transform:none;font-size:15px;padding:4px 9px}.compact .kitchen-chef{width:145px;bottom:-24px}.compact .cast-member{width:20%}.compact .table-mask{height:63px;bottom:25px}.compact .nameplates{bottom:50px}.compact .nameplates button{font-size:9px}.compact .stool{bottom:20px}.compact .host-name{font-size:11px}.compact .judge-bubble{bottom:99px}.host-caption{display:flex;align-items:center;gap:24px;background:var(--ink);color:var(--paper);padding:16px 34px;min-height:78px}.host-caption>span{color:var(--gold);font:23px/.95 var(--serif);min-width:110px}.host-caption p{margin:0;font-size:17px;line-height:1.4}.intro-copy{text-align:center;max-width:760px;padding:38px 24px 44px;margin:auto}.intro-copy p{font-size:17px}.boss-intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;max-width:900px;gap:40px;margin:auto;padding:30px}.boss-intro #boss-media{aspect-ratio:1;background:radial-gradient(var(--pink),var(--gold));border:4px solid var(--ink);overflow:hidden;border-radius:3px}.boss-still{width:100%;animation:bossSwagger 1.7s infinite alternate ease-in-out}.boss-intro .btn{display:block;margin-top:22px}.production-note{font-size:12px;color:#586176;display:block}.boss-intro video{width:100%;height:100%;object-fit:cover}@keyframes bossSwagger{from{transform:rotate(-2deg) translateY(0)}to{transform:rotate(2deg) translateY(3px)}}
.menu-review,.cook-review,.tasting-review,.result-review{max-width:1160px;padding:32px 38px 45px;margin:auto}.menu-review h1{margin-bottom:0}.vegan-stamp{padding:9px 13px;border:2px solid var(--ink);border-radius:50%;transform:rotate(8deg);background:var(--gold);white-space:nowrap}.course-tabs{display:flex;gap:10px;margin:25px 0 22px}.course-tabs button{flex:1;text-align:left;background:var(--paper);border:3px solid var(--ink);box-shadow:3px 3px var(--ink);padding:12px 18px}.course-tabs button.active{background:var(--cyan)}.course-tabs b{display:block;font:26px var(--serif)}.course-tabs small{font-weight:800}.recipe-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:27px}.recipe-paper{background:var(--paper);border:3px solid var(--ink);box-shadow:5px 5px var(--ink);padding:24px;overflow:hidden}.recipe-formula{display:flex;align-items:center;gap:20px;border-bottom:2px solid var(--ink);padding-bottom:15px}.recipe-formula>div{flex:1}.recipe-formula small,.finished-dish>small{font-size:9px;font-weight:900;letter-spacing:.08em}.recipe-formula h2{font-size:26px;margin:8px 0}.plus{font:30px var(--serif);color:var(--pink)}.finished-dish{position:relative;padding:20px 0 8px;min-height:180px}.finished-dish h2{font-size:35px;margin:10px 0 12px}.finished-dish:has(.jerky-bag){padding-right:110px}.jerky-bag{position:absolute;right:-16px;bottom:0;width:128px}.finished-dish p{font-size:14px;margin:15px 0}.flavor-tags{display:flex;gap:6px;flex-wrap:wrap}.flavor-tags span{padding:3px 9px;background:var(--pink);border:1.5px solid var(--ink);font-size:11px;font-weight:800}.recipe-paper summary{font-size:13px;font-weight:800;cursor:pointer;min-height:44px;padding-top:12px}.ingredients{font-size:13px;line-height:1.65;margin:0}.route-preview{padding:20px 7px}.route-preview .eyebrow{font-size:10px;display:block}.route-preview h2{font-size:33px}.route-preview ol{padding-left:23px}.route-preview li{padding:5px 0 8px 6px}.route-preview li::marker{font-family:var(--serif);font-size:25px;color:#b7275d}.route-preview li span{display:block;font-weight:800}.route-preview li small{display:block;color:var(--muted);line-height:1.35;font-size:12px;margin-top:3px}.route-preview>p{font-size:12px;margin-top:22px;max-width:350px}.menu-actions{display:flex;gap:20px;align-items:center;margin-top:30px}.menu-actions p{margin:0 auto 0 0;font-size:13px}.cook-review{max-width:960px}.course-progress{display:flex;gap:20px;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:25px}.course-progress b{display:inline-grid;place-items:center;border:2px solid var(--ink);border-radius:50%;width:30px;height:30px;background:var(--paper);margin-right:5px}.course-progress .active{color:var(--ink)}.course-progress .active b{background:var(--pink)}.cook-top{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-bottom:18px}.cook-top h1{font-size:34px;margin:0;max-width:640px}.cook-top .eyebrow{font-size:10px;margin-bottom:7px}.technique-count{font:38px var(--serif);color:#9e2859}.technique-count small{font-size:18px;color:var(--muted)}.input-note{text-align:center;font-size:11px;margin:18px 0 0}.tasting-review,.result-review{text-align:center;max-width:1000px}.tasting-review>p,.result-review>p{font-size:16px}.tasting-dish{margin:30px auto 35px;width:210px;height:85px;border-radius:50%;background:var(--paper);border:4px solid var(--ink);box-shadow:0 6px var(--cyan);display:flex;align-items:center;justify-content:center;gap:7px}.tasting-dish span{font-size:46px;color:#bd6426;text-shadow:2px 2px var(--ink);transform:rotate(20deg)}.score-total{display:flex;justify-content:center;gap:50px;align-items:center;padding:22px 25px;margin:28px 0;background:var(--cyan);border:3px solid var(--ink);box-shadow:5px 5px var(--ink)}.score-total>span{font-size:11px;font-weight:900;letter-spacing:.09em}.score-total b{font:65px/1 var(--serif);display:block;margin-top:10px}.score-total b small{font:15px var(--font);margin-left:4px}.score-total i{font:32px var(--serif)}.judge-verdicts,.score-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px;margin:25px 0}.judge-verdicts caption{text-align:left;font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding-bottom:12px}.judge-verdicts td,.judge-verdicts th,.score-table td,.score-table th{border-bottom:1px solid #15203844;padding:12px 10px}.judge-verdicts thead,.score-table thead{background:var(--ink);color:var(--paper);font-size:11px}.judge-verdicts tbody th{max-width:140px}.review-boundary{max-width:620px;margin:30px auto 18px!important;font-size:13px!important}.fixture-label{display:inline-block;background:var(--pink);border:2px solid var(--ink);padding:7px 15px;margin-bottom:18px;font-size:11px;font-weight:800}.modal-backdrop{position:fixed;inset:0;background:#152038dd;z-index:50;display:grid;place-items:center;padding:20px}.modal{width:min(100%,540px);max-height:90vh;overflow:auto;background:var(--cream);border:4px solid var(--ink);box-shadow:8px 8px var(--pink);padding:30px}.modal p{font-size:14px}.settings-list{display:grid;gap:8px;margin:20px 0}.settings-list label{display:flex;align-items:center;gap:12px;font-size:14px;min-height:44px}.settings-list input{width:23px;height:23px;accent-color:#d6296c}.paused *, .reduced-motion *{animation-play-state:paused!important}.reduced-motion *{transition:none!important}.error-page{background:var(--cream);padding:40px;min-height:100vh}
@media(min-width:1250px){.show-stage .judges-floor{right:10%;left:15%}.show-stage:not(.compact) .cast-member{width:17%}.show-stage.compact .judges-floor{left:20%;right:20%}.show-stage.compact .cast-member{width:18%}}
@media(max-width:850px){.topbar{padding:12px 18px}.review-chip{display:none}.cover{height:590px}.cover-copy{padding:40px 30px;max-width:420px}.cover h1{font-size:78px}.cover-copy p{font-size:16px}.cover-hero{width:310px;right:17%;bottom:-6px}.cover-bob{width:285px;right:-5%;bottom:8px}.comic-bubble{font-size:25px;right:9%;top:115px;padding:20px 23px}.cover-copy .eyebrow{font-size:9px}.cover-copy .cover-spec{font-size:10px}.review-intro{padding:30px;gap:20px 30px}.review-intro p{font-size:15px}.rivals-section{padding:30px 24px}.rivals{display:flex;overflow-x:auto;padding:0 8px 8px 0;gap:14px}.rival{min-width:170px;max-width:170px}.rival .chef-atlas{width:145px}.section-heading>span{font-size:9px}.review-tools{margin:0 24px 30px}.show-stage{height:360px}.judges-floor{left:1%;right:1%;height:270px;bottom:24px}.cast-member{width:19%}.host{left:3%;width:125px;bottom:25px}.kitchen-chef{width:145px;bottom:-18px}.hero-chef{left:-20px}.bob-chef{right:-22px}.show-stage.compact{height:210px}.compact .judges-floor{left:8%;right:3%;height:210px;bottom:0}.compact .cast-member{width:19%}.compact .host{left:0%;width:90px;bottom:8px}.compact .kitchen-chef{width:110px;opacity:.75}.compact .show-sign{font-size:12px;left:3%;top:7px}.host-caption{padding:13px 22px;gap:18px;min-height:75px}.host-caption>span{font-size:20px;min-width:90px}.host-caption p{font-size:15px}.menu-review,.cook-review,.tasting-review,.result-review{padding:27px 24px 36px}.recipe-layout{gap:20px;grid-template-columns:1.2fr 1fr}.recipe-paper{padding:18px}.recipe-formula{gap:10px}.recipe-formula h2{font-size:24px}.finished-dish h2{font-size:31px}.route-preview h2{font-size:29px}.route-preview li small{font-size:11px}.menu-actions{flex-wrap:wrap}.menu-actions p{flex:1;min-width:190px}.nameplates button{font-size:9px}}
@media(max-width:540px){body{font-size:15px}.topbar{gap:9px;padding:10px 12px;align-items:center}.brand{gap:8px}.brand-mark{width:30px;height:35px;font-size:22px;border-width:2px}.brand b{font-size:10px}.brand small{font-size:7px;letter-spacing:.06em}.topbar nav{gap:6px}.topbar .utility{font-size:10px;padding:5px 8px;box-shadow:1px 1px var(--ink);min-height:40px}.topbar .pause-button{position:fixed;right:11px;bottom:14px;z-index:20;background:var(--gold);font-size:13px;min-height:44px;padding:7px 14px;box-shadow:3px 3px var(--ink)}.cover{height:640px;background:linear-gradient(110deg,#fff5dcee,#fff5dc99 60%,#fff5dc00),url('assets/kitchen-comic.png') 58% center/auto 100%}.cover-copy{padding:27px 22px;max-width:100%}.cover-copy .eyebrow{font-size:8px;letter-spacing:.12em}.cover h1{font-size:67px;max-width:320px;margin:19px 0 18px;line-height:.87;text-shadow:3px 3px var(--ink);-webkit-text-stroke:1.5px var(--ink)}.cover-copy p{font-size:14px;max-width:250px}.cover-copy .enter{font-size:23px;min-height:48px;padding:10px 17px}.cover-copy .cover-spec{font-size:9px;max-width:280px;margin-top:17px}.cover-hero{width:245px;bottom:1px;right:26%;transform:rotate(-5deg)}.cover-bob{width:225px;bottom:10px;right:-6%}.comic-bubble{font-size:19px;top:auto;bottom:197px;right:14px;padding:14px 20px;border-width:3px;box-shadow:3px 3px var(--ink);z-index:2}.plant-seal{width:61px;height:61px;font-size:15px;top:75px;right:13px;border-width:3px}.review-ribbon{font-size:8px;padding:7px 12px;letter-spacing:.05em}.review-intro{display:block;padding:28px 23px}.review-intro h2{font-size:33px}.review-intro p{font-size:14px;margin:20px 0}.review-intro a{font-size:12px}.rivals-section{padding:26px 20px}.section-heading h2{font-size:28px;max-width:240px}.section-heading>span{font-size:8px;max-width:60px;text-align:right}.rival{min-width:148px;max-width:148px}.rival h3{font-size:23px}.rival .chef-atlas{width:125px}.rival small{font-size:9px}.review-tools{margin:0 20px 25px;padding:15px 0}.review-tools p{font-size:12px}.fixture-actions .utility{font-size:11px}footer{padding:18px 20px;flex-direction:column;gap:8px;font-size:10px}.show-stage{height:290px;background-size:auto 100%;background-position:center center}.show-sign{top:10px;font-size:18px;padding:4px 10px;border-width:2px;box-shadow:2px 2px var(--ink)}.judges-floor{left:-7%;right:0;height:205px;bottom:29px}.host{left:-4%;width:100px;bottom:19px}.host-name{font-size:10px;bottom:4px;padding:4px 8px}.cast-member{width:20%;aspect-ratio:3/4}.kitchen-chef{width:100px;bottom:-15px}.hero-chef{left:-12px}.bob-chef{right:-8px}.table-mask{bottom:27px;height:58px;border-width:3px;border-top-width:8px}.table-heart{font-size:24px;top:7px}.stool{bottom:19px;height:38px}.stool:before{height:13px;border-width:2px}.nameplates{bottom:46px;gap:4%;left:24%;right:0}.nameplates button{font-size:7px;min-height:32px;padding:3px 2px;border-width:1.5px}.paddle{width:31px;height:35px;font-size:24px;border-width:2px;top:-8%;right:-1%}.paddle:after{height:10px;width:6px}.host-caption{gap:12px;padding:12px 15px;min-height:86px;align-items:flex-start}.host-caption>span{font-size:16px;min-width:65px;max-width:65px;margin-top:3px}.host-caption p{font-size:13px;line-height:1.45}.show-stage.compact{height:160px}.compact .judges-floor{height:165px;left:-6%;right:0;bottom:0}.compact .cast-member{width:19%}.compact .host{width:68px;left:-2%;bottom:8px}.compact .host-name{font-size:8px;padding:2px 5px}.compact .kitchen-chef{width:72px;bottom:-15px}.compact .table-mask{height:46px;bottom:16px;border-top-width:7px}.compact .nameplates{bottom:27px}.compact .nameplates button{font-size:6.5px;min-height:28px}.compact .show-sign{font-size:10px;left:2%;top:6px;padding:2px 5px}.compact .stool{bottom:8px}.judge-bubble{font-size:12px;bottom:105px;right:6%;max-width:260px;padding:12px 35px 12px 14px}.compact .judge-bubble{bottom:69px;font-size:11px;max-width:230px}.intro-copy{padding:28px 20px 34px}.intro-copy h1{font-size:34px}.intro-copy p{font-size:14px}.intro-copy .eyebrow{font-size:9px}.actions{gap:12px}.btn{font-size:22px;padding:12px 18px}.boss-intro{padding:24px 20px;gap:22px;grid-template-columns:120px 1fr}.boss-intro h1{font-size:31px}.boss-intro p{font-size:12px}.boss-intro .eyebrow{font-size:8px}.production-note{font-size:10px}.boss-intro .btn{font-size:18px;padding:9px 12px}.menu-review,.cook-review,.tasting-review,.result-review{padding:23px 16px 32px}.menu-review .section-heading{gap:10px}.menu-review h1{font-size:32px}.menu-review .eyebrow{font-size:8px}.vegan-stamp{font-size:8px!important;padding:7px 9px}.course-tabs{gap:8px;margin:20px 0}.course-tabs button{padding:8px 10px;border-width:2px}.course-tabs b{font-size:24px}.course-tabs small{font-size:10px}.recipe-layout{display:block}.recipe-paper{padding:18px}.recipe-formula small,.finished-dish>small{font-size:8px}.recipe-formula h2{font-size:26px}.finished-dish h2{font-size:31px}.finished-dish:has(.jerky-bag){padding-right:100px}.ingredients{font-size:12px}.route-preview{padding:27px 6px 0}.route-preview h2{font-size:31px}.route-preview li small{font-size:12px}.route-preview p{margin:18px 0 0}.menu-actions{gap:16px;margin-top:23px}.menu-actions p{font-size:12px;width:100%;flex-basis:100%}.menu-actions .btn{font-size:21px}.course-progress{gap:12px;font-size:10px;margin-bottom:22px;justify-content:space-between}.course-progress b{width:24px;height:24px;margin-right:3px;border-width:1.5px}.cook-top h1{font-size:27px}.cook-top .eyebrow{font-size:8px}.technique-count{font-size:32px}.input-note{font-size:10px;max-width:290px;margin:17px auto 0}.score-total{gap:26px;padding:18px 13px;margin:24px 0}.score-total>span{font-size:9px;letter-spacing:.05em}.score-total b{font-size:51px}.score-total i{font-size:24px}.score-total b small{font-size:12px}.tasting-review h1,.result-review h1{font-size:34px}.tasting-review>p,.result-review>p{font-size:13px}.judge-verdicts{font-size:11px}.judge-verdicts th,.judge-verdicts td{padding:10px 5px}.judge-verdicts thead{font-size:9px}.judge-verdicts tbody th{max-width:75px;overflow-wrap:anywhere}.judge-verdicts td:last-child{font-size:10px}.score-table{font-size:11px}.score-table th,.score-table td{padding:10px 5px}.score-table thead{font-size:9px}.modal{padding:25px 20px}.modal h2{font-size:33px}.modal p{font-size:13px}.settings-list label{font-size:13px}.fixture-label{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.cover-hero,.cover-bob{transform:none}}

/* Lift seated faces above the tabletop at compact sizes. */
.compact .cast-member.seated{margin-top:-17px}.nameplates button{min-height:44px}.compact .nameplates{bottom:42px}.compact .nameplates button{font-size:10px}
@media(max-width:540px){.nameplates{bottom:38px}.nameplates button{font-size:8px}.compact .nameplates{bottom:19px}.compact .nameplates button{font-size:8px}.compact .cast-member.seated{margin-top:-11px}}
@media(max-width:540px){.topbar .utility{min-height:44px}}

.show-stage:not(.compact) .cast-member.seated{margin-top:-20px}

/* Full-width, readable boss cinema; the same judges remain mounted behind it. */
.boss-intro{display:flex;flex-direction:column;gap:16px;padding:24px;max-width:1040px}.boss-heading{display:flex;width:100%;justify-content:space-between;align-items:center;gap:16px}.boss-heading h1{font-size:43px;margin:5px 0 0}.cinema-mark{font:12px var(--serif);padding:8px 13px;border:2px solid var(--ink);background:var(--pink);transform:rotate(2deg)}.boss-intro #boss-media{width:100%;aspect-ratio:16/9;max-height:60svh;background:var(--ink);border:4px solid var(--ink);box-shadow:5px 5px var(--ink)}.boss-poster{width:100%;height:100%;object-fit:contain}.boss-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%}.boss-controls p{margin:0;max-width:500px}.boss-intro .btn{margin:0;flex-shrink:0;font-size:23px}.boss-intro .cutscene-still{animation:none}.boss-intro video{object-fit:contain}@media(max-width:540px){.boss-intro{padding:20px 15px 65px;gap:13px}.boss-heading h1{font-size:33px}.cinema-mark{display:none}.boss-controls{align-items:flex-start;gap:12px}.boss-controls p{font-size:12px;line-height:1.5}.boss-intro .btn{font-size:17px;padding:11px 13px}.boss-intro #boss-media{border-width:3px;max-height:48svh}}
.ceremony-dishes{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px auto;max-width:900px}.ceremony-dishes>div{display:flex;flex-direction:column;gap:10px;padding:18px;border:3px solid #172039;background:#fff9e8;box-shadow:5px 5px #172039}.ceremony-dishes span{font-size:64px}.ceremony-dishes small{font-weight:900}.crowd{min-height:36px;color:#172039;font-weight:900}#ceremony-score{font-size:clamp(18px,3vw,30px);font-weight:900;min-height:48px}.paddle{white-space:nowrap;font-size:22px!important;min-width:66px}.tasting-review .utility{margin:20px}.paused *{animation-play-state:paused!important}@media(max-width:600px){.ceremony-dishes{gap:10px}.ceremony-dishes>div{padding:10px}.ceremony-dishes span{font-size:40px}.paddle{font-size:15px!important;min-width:44px}}
.recipe-selectors{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin:24px 0}.recipe-selectors label{display:flex;flex-direction:column;gap:8px;font-weight:800}.recipe-selectors select{font:inherit;background:#fffdf4;color:#172039;padding:14px;border:3px solid #172039;min-height:48px;width:100%;border-radius:6px}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:4px solid #172039;outline-offset:4px;box-shadow:0 0 0 7px #ffda44}p,li,select{line-height:1.5}.utility,.course-tabs button{min-height:44px}.mg-food{filter:drop-shadow(3px 4px 0 #172039)}.mg-instruction,.mg-status,.input-note{font-size:16px;color:#172039}.recipe-paper small,.route-preview small{font-size:14px;color:#172039}.mg-kicker{max-width:60ch}.mg-keys{font-size:14px!important}@media(max-width:600px){.recipe-selectors{grid-template-columns:1fr}.recipe-paper h2{overflow-wrap:anywhere}}
/* Keep the challenger visible in front of the desk, including narrow screens. */
.show-stage .bob-chef{z-index:3;right:0;bottom:0;transform:none}.table-tagline{position:absolute;left:50%;bottom:3px;transform:translateX(-50%);font:20px/1 var(--serif);color:var(--ink);white-space:nowrap;text-align:center}.compact .table-tagline{font-size:15px;bottom:2px}@media(max-width:540px){.show-stage .bob-chef{width:94px;right:0;bottom:0}.show-stage.compact .bob-chef{width:70px;right:0;bottom:0}.table-tagline{font-size:14px;bottom:3px}.compact .table-tagline{font-size:11px;bottom:2px}}
.recipe-selectors{gap:22px;padding:20px;background:var(--gold);border:3px solid var(--ink);box-shadow:5px 5px var(--ink);border-radius:10px 3px 12px 4px}.recipe-selectors label{font:22px/1.2 var(--serif);text-transform:uppercase;letter-spacing:.025em}.recipe-selectors select{appearance:none;font:18px/1.4 var(--sans, sans-serif);font-weight:800;background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='m5 8 7 8 7-8Z' fill='%23172039'/%3E%3C/svg%3E") right 12px center/24px no-repeat;padding:14px 46px 14px 14px;border-radius:4px 10px 3px 8px;box-shadow:3px 3px var(--ink);text-transform:none;letter-spacing:normal}.recipe-selectors label:last-child select{background-color:#c1f5f7}@media(max-width:540px){.recipe-selectors{padding:15px;gap:16px}.recipe-selectors select{font-size:16px}}
/* Broadcast opening: slow sweeps, never strobing. */
.broadcast-opening{position:relative;min-height:680px;height:calc(100svh - 90px);overflow:hidden;isolation:isolate;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 80%,#384d82,#152038 65%);color:var(--gold)}
.show-beams{position:absolute;inset:0;overflow:hidden;z-index:-1}.show-beams i{position:absolute;left:5%;top:-10%;width:45%;height:140%;background:linear-gradient(180deg,#48d5e680,transparent);clip-path:polygon(48% 0,52% 0,100% 100%,0 100%);transform-origin:50% 0;animation:light-sweep 4s ease-in-out infinite alternate}.show-beams i:nth-child(2){left:50%;background:linear-gradient(#f23d8080,transparent);animation-delay:-2s}.show-beams i:nth-child(3){left:28%;background:linear-gradient(#fff5dc70,transparent);animation-delay:-1s}
.broadcast-title{text-align:center;font:clamp(65px,12vw,160px)/.9 var(--serif);letter-spacing:.025em;transform:rotate(-4deg);text-shadow:5px 7px 0 #090f20;animation:title-arrive .85s cubic-bezier(.2,.8,.3,1) both}.broadcast-title span,.broadcast-title strong{display:block}.broadcast-title strong{color:var(--pink);font-weight:400;font-size:1.2em}.broadcast-title span:last-child{color:var(--cyan)}
.opening-skip{position:absolute;right:24px;bottom:24px;z-index:5}.tomato-wipe{position:absolute;inset:0;pointer-events:none;z-index:3}.tomato-wipe i{position:absolute;left:var(--x);top:var(--y);width:65vmax;height:65vmax;background:#ec392f;border:9px solid #952522;border-radius:48% 42% 55% 35%;clip-path:polygon(50% 0,59% 22%,79% 8%,77% 30%,100% 35%,82% 50%,98% 73%,74% 70%,69% 98%,50% 80%,31% 100%,29% 76%,3% 78%,20% 54%,0 33%,27% 31%,25% 5%,43% 24%);transform:translate(-50%,-50%) scale(0);animation:tomato-hit .35s calc(3.6s + var(--i)*.13s) cubic-bezier(.2,.8,.2,1) forwards}
@keyframes light-sweep{from{transform:rotate(-24deg)}to{transform:rotate(24deg)}}@keyframes title-arrive{from{transform:scale(.5) rotate(-8deg);opacity:0}to{transform:scale(1) rotate(-4deg);opacity:1}}@keyframes tomato-hit{to{transform:translate(-50%,-50%) scale(1)}}
.hero-entrance{position:relative;isolation:isolate;overflow:hidden;min-height:400px;background:var(--gold);display:flex;align-items:center;justify-content:center;gap:40px;padding:35px}.hero-rays{position:absolute;inset:-100%;z-index:-1;background:repeating-conic-gradient(from 0deg,#fff5dc80 0deg 12deg,transparent 12deg 28deg);animation:hero-rays 24s linear infinite}.hero-entrance .hero-spotlight{position:relative;width:260px;height:345px;flex-shrink:0;animation:hero-arrive .8s ease-out both}.hero-billing h1{font-size:clamp(46px,6vw,80px)}.hero-billing p{font-size:22px;font-weight:800}@keyframes hero-rays{to{transform:rotate(360deg)}}@keyframes hero-arrive{from{transform:translateX(-100%) rotate(-12deg);opacity:0}to{transform:translateX(0) rotate(0);opacity:1}}
body[data-screen=intro] .show-stage .bob-chef,body[data-screen=intro] .show-stage .hero-chef{visibility:hidden}
/* One foreground judges desk hides knees and chair bases at every viewport. */
.show-stage .cast-member,.show-stage .cast-member.seated{top:auto!important;bottom:20%;margin-top:0;z-index:3}.show-stage .stool{display:none}.show-stage .table-mask{bottom:0;height:43%;left:22%;right:0;transform:none;border-top-width:12px;box-shadow:0 7px 0 var(--pink),0 -4px 0 var(--ink)}.show-stage .nameplates{bottom:10%;left:24%;right:1%;gap:3%}.show-stage .parked-props{display:none}
.show-paused .broadcast-opening *, .show-paused .hero-entrance *{animation-play-state:paused!important}
.reduced-motion .show-beams i,.reduced-motion .broadcast-title,.reduced-motion .tomato-wipe i,.reduced-motion .hero-entrance *{animation:none!important}.reduced-motion .tomato-wipe{display:none}
@media(max-width:600px){.broadcast-opening{min-height:520px}.hero-entrance{gap:12px;min-height:330px;padding:22px 14px}.hero-entrance .hero-spotlight{width:42%;height:270px}.hero-billing h1{font-size:36px}.hero-billing p{font-size:18px}.opening-skip{right:16px;bottom:16px}.show-stage .table-mask{border-top-width:8px}}
.hero-entrance .hero-spotlight{width:320px;height:auto;aspect-ratio:1;margin:0}@media(max-width:600px){.hero-entrance .hero-spotlight{width:46%;height:auto;aspect-ratio:1}}
.menu-review .recipe-formula{display:none}.menu-review .finished-dish{padding-top:18px}.menu-review .recipe-selectors{margin-bottom:24px}.menu-review .route-preview h2{font-size:28px}.cook-review .cook-top h1{font-size:clamp(26px,4vw,38px)}
@media(max-width:600px){body[data-screen=cooking] .pause-button{position:static!important;inset:auto!important;box-shadow:none;min-width:64px}.cook-review{padding-bottom:25px}}
/* Two raised cooking stations; judging remains in the foreground. */
.show-stage{height:620px;background-position:center top}.show-stage.compact{height:420px;background-position:center top}
.cook-stations{position:absolute;top:65px;left:18%;right:5%;height:290px;display:grid;grid-template-columns:1fr 1fr;gap:7%;z-index:1;background:linear-gradient(transparent 43%,#fff5dc 44% 48%,#f4a7bf 49% 97%,#152038 98%);border-radius:8px}
.cook-station{position:relative;min-width:0;--station-color:#48d5e6}.bob-station{--station-color:#f23d80}.show-stage .cook-station .kitchen-chef{position:absolute;top:-18px;bottom:auto;left:50%;right:auto;width:205px;max-width:100%;transform:translateX(-50%);opacity:1;z-index:1}
.station-worktop{position:absolute;top:130px;left:-3%;right:-3%;height:75px;z-index:3}.station-worktop svg{display:block;width:100%;height:100%}.station-front{position:absolute;top:188px;left:0;right:0;bottom:0;z-index:2;border:4px solid var(--ink);border-radius:3px 3px 12px 12px;background:var(--station-color);box-shadow:5px 5px 0 var(--ink);padding:6px 10px}.station-front>span{display:block;font:clamp(14px,1.7vw,24px)/1 var(--serif);text-align:center;color:var(--ink)}.oven-controls{display:flex;gap:9px;justify-content:center;margin:6px}.oven-controls i{width:10px;height:10px;border:2px solid var(--ink);border-radius:50%;background:var(--cream)}.oven-window{height:35px;width:70%;margin:auto;border:3px solid var(--ink);border-radius:6px;background:linear-gradient(140deg,#263952 45%,#56667c 46% 52%,#263952 53%)}
.show-stage .judges-floor{left:7%;right:5%;height:230px;bottom:18px}.show-stage .cast-member,.show-stage:not(.compact) .cast-member{width:17%;max-width:150px}.show-stage .table-mask{height:40%}.show-stage .nameplates{bottom:7%}.show-stage .host{left:1%;bottom:20px;width:130px}
.show-stage.compact .cook-stations{top:42px;height:215px;left:18%;right:5%}.show-stage.compact .cook-station .kitchen-chef{width:145px;top:-8px}.compact .station-worktop{top:91px;height:55px}.compact .station-front{top:135px}.compact .station-front>span{font-size:16px}.compact .oven-window{height:24px}.show-stage.compact .judges-floor{left:7%;right:5%;height:150px;bottom:8px}.show-stage.compact .cast-member{width:15%;max-width:110px}.show-stage.compact .host{width:85px;left:1%;bottom:10px}.show-stage.compact .show-sign{left:50%;top:6px;transform:translateX(-50%);font-size:16px}
.show-stage .paddle{display:flex;align-items:center;justify-content:center;text-align:center;line-height:1;padding:0 5px;width:70px;min-width:0;height:54px;box-sizing:border-box;font-size:24px!important;font-variant-numeric:tabular-nums;letter-spacing:0;right:-10%;top:-8%;border-radius:45%}.show-stage .paddle:after{left:50%;transform:translateX(-50%)}
@media(max-width:600px){.show-stage{height:460px}.show-stage.compact{height:340px}.cook-stations{left:7%;right:5%;top:58px;height:220px;gap:8%}.show-stage .cook-station .kitchen-chef{width:150px;top:0}.station-worktop{top:99px;height:53px}.station-front{top:141px;padding:5px 4px;border-width:3px}.station-front>span{font-size:15px}.oven-window{height:24px}.oven-controls{margin:4px}.show-stage .judges-floor{left:-5%;right:3%;height:170px;bottom:12px}.show-stage .cast-member,.show-stage:not(.compact) .cast-member{width:20%}.show-stage .host{width:90px;left:-3%;bottom:12px}.show-stage .paddle{width:49px;height:40px;font-size:17px!important;right:-6%;border-width:2px}.show-stage.compact .cook-stations{top:40px;left:7%;right:5%;height:170px}.show-stage.compact .cook-station .kitchen-chef{width:115px;top:0}.compact .station-worktop{top:75px;height:42px}.compact .station-front{top:107px}.compact .station-front>span{font-size:12px}.compact .oven-window{height:17px}.compact .oven-controls i{width:7px;height:7px}.show-stage.compact .judges-floor{left:-5%;right:3%;height:125px;bottom:8px}.show-stage.compact .cast-member{width:19%}.show-stage.compact .host{width:65px;left:-3%;bottom:8px}.show-stage.compact .show-sign{font-size:13px}}
/* Raised platform covers the old background bar stools beneath the stations. */
.cook-stations:after{content:'';position:absolute;left:-1%;right:-1%;top:100%;height:80px;z-index:-1;border:4px solid var(--ink);border-top:10px solid #ffe09b;background:repeating-linear-gradient(0deg,#a94770 0 22px,#843b60 23px 26px);box-shadow:0 5px 0 var(--ink)}.compact .cook-stations:after{height:48px}@media(max-width:600px){.cook-stations:after{height:48px;border-top-width:7px}.compact .cook-stations:after{height:34px}}
.menu-review .section-heading>div{min-width:0}.menu-review .vegan-stamp{display:flex;flex:0 0 76px;align-items:center;justify-content:center;flex-direction:column;width:76px;height:76px;aspect-ratio:1;box-sizing:border-box;padding:9px;border:3px solid var(--ink);border-radius:50%;font:16px/1.05 var(--serif)!important;white-space:normal;text-align:center;gap:2px;transform:rotate(6deg)}.vegan-stamp b{font:24px/1 var(--serif)}@media(max-width:540px){.menu-review .section-heading{gap:12px}.menu-review .vegan-stamp{flex-basis:64px;width:64px;height:64px;font-size:14px!important;padding:6px}.vegan-stamp b{font-size:21px}}

/* Stage arrivals own chef visibility, including during introductions. */
body[data-screen=intro] .show-stage .cook-station .kitchen-chef{visibility:visible}.show-stage .cook-station .kitchen-chef[hidden]{display:none}.cook-station{overflow:visible}.hero-entrance{min-height:0;padding:25px;text-align:center}.hero-entrance .hero-billing{position:relative;margin:auto}.hero-entrance h1{font-size:clamp(32px,5vw,55px)}
.commercial-break{position:relative;overflow:hidden;padding:40px 24px;text-align:center;min-height:540px;background:repeating-conic-gradient(from 15deg at 50% 40%,#ffdc42 0deg 14deg,#ffe97d 14deg 28deg);border-bottom:5px solid #152038}.commercial-label{display:inline-block;padding:8px 16px;background:#152038;color:#fff7df;transform:rotate(-2deg);font-weight:900;letter-spacing:.06em}.commercial-break h1{font:clamp(34px,6vw,66px)/.98 var(--serif);max-width:800px;margin:28px auto 15px;text-shadow:2px 2px #fff7df}.commercial-break h2{font-size:32px;margin:10px 0}.commercial-break p{font-size:18px}.commercial-bags{display:flex;justify-content:center;align-items:center;min-height:180px;margin:20px auto;max-width:740px}.commercial-bags img{width:17%;max-height:220px;object-fit:contain;filter:drop-shadow(5px 8px 0 #15203855);transform:rotate(calc((var(--i) - 2)*5deg));animation:ad-bounce 2s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-.3s)}.commercial-break .actions{justify-content:center}.commercial-break a small{display:block;font:12px/1.4 var(--sans, sans-serif);margin-top:5px}.commercial-next{font-weight:900;font-size:14px!important;margin-top:30px}.show-paused .commercial-bags img{animation-play-state:paused}@keyframes ad-bounce{to{translate:0 -12px}}@media(prefers-reduced-motion:reduce){.commercial-bags img{animation:none}}.reduced-motion .commercial-bags img{animation:none}@media(max-width:540px){.commercial-break{padding:28px 18px;min-height:520px}.commercial-bags{min-height:130px}.commercial-bags img{width:18%;max-height:155px}.commercial-break p{font-size:16px}.commercial-break h2{font-size:28px}.commercial-break .actions{flex-direction:column}.commercial-break .btn{width:100%}}
/* Menu selection uses one compact recipe preview and a pinned confirmation. */
.menu-review{position:relative}.menu-tastes{position:relative;flex:none}.menu-tastes summary{cursor:pointer;min-height:44px;padding:12px 10px;border:2px solid var(--ink);border-radius:9px;font-size:14px;font-weight:800;background:var(--paper)}.menu-tastes>div{position:absolute;right:0;top:100%;width:min(310px,80vw);max-height:50vh;overflow:auto;z-index:35;background:var(--paper);border:3px solid var(--ink);padding:10px 14px;box-shadow:4px 4px var(--ink);font-size:15px}.menu-tastes p{margin:10px 0}.menu-review .recipe-layout{display:block}.menu-review .finished-dish{min-height:0;padding:0}.menu-review .finished-dish h2{margin:8px 0 10px}.recipe-details ol{font-size:15px;line-height:1.4;padding-left:22px}.menu-actions .btn{min-height:48px}.menu-review .recipe-selectors select{font-size:16px;min-height:46px}
@media(max-width:700px),(max-width:1000px) and (max-height:500px){
 body:is([data-screen=cooking],[data-screen=menu]){height:var(--game-height,100dvh);overflow:hidden}
 body:is([data-screen=cooking],[data-screen=menu]) .shell{height:var(--game-height,100dvh);min-height:0;display:flex;flex-direction:column;overflow:hidden}
 body:is([data-screen=cooking],[data-screen=menu]) .topbar{flex:none;height:58px;min-height:58px;padding:6px 10px;gap:6px;border-bottom-width:2px}
 body:is([data-screen=cooking],[data-screen=menu]) .topbar .brand small,body:is([data-screen=cooking],[data-screen=menu]) .review-chip{display:none}
 body:is([data-screen=cooking],[data-screen=menu]) .topbar .brand b{font-size:10px;max-width:100px}
 body:is([data-screen=cooking],[data-screen=menu]) .topbar .brand-mark{width:25px;height:30px}
 body:is([data-screen=cooking],[data-screen=menu]) .topbar nav{gap:4px}
 body:is([data-screen=cooking],[data-screen=menu]) .topbar .utility{padding:5px 7px;font-size:12px;min-height:44px}
 body:is([data-screen=cooking],[data-screen=menu]) .topbar .pause-button{position:static;min-height:44px;font-size:12px;padding:5px 7px;box-shadow:1px 1px var(--ink)}
 body:is([data-screen=cooking],[data-screen=menu]) #stage,body:is([data-screen=cooking],[data-screen=menu]) #host-caption,body:is([data-screen=cooking],[data-screen=menu]) footer{display:none}
 body:is([data-screen=cooking],[data-screen=menu]) #content{flex:1;min-height:0;overflow:hidden}
 body[data-screen=cooking] .cook-review{height:100%;padding:8px 10px max(10px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:6px;max-width:100%;margin:0}
 body[data-screen=cooking] .course-progress,body[data-screen=cooking] .technique-count{display:none}
 body[data-screen=cooking] .cook-top{margin:0;flex:none;min-width:0}
 body[data-screen=cooking] .cook-top .eyebrow{font-size:11px;letter-spacing:.02em;margin:0 0 3px}
 body[data-screen=cooking] .cook-top h1{font-size:23px;line-height:1.05;margin:0}
 body[data-screen=cooking] #activity{flex:1;min-height:0}
 body[data-screen=cooking] .mg-panel{height:100%;padding:0}
 body[data-screen=cooking] .mg-tv{height:100%;min-height:0;margin:0;padding:24px 7px 15px;border-width:3px;border-radius:24px 20px 26px 20px;box-shadow:3px 3px var(--ink)}
 body[data-screen=cooking] .mg-tv-trim{top:3px;left:13px;right:13px;font-size:11px}
 body[data-screen=cooking] .mg-screen{height:100%;min-height:0;display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:14px;border-width:2px}
 body[data-screen=cooking] .mg-heading{margin:0;flex:none;gap:5px;align-items:center}
 body[data-screen=cooking] .mg-heading h3{font-size:21px;line-height:1.05;overflow-wrap:anywhere}
 body[data-screen=cooking] .mg-step-clock{font-size:13px;min-width:72px;min-height:40px;height:auto;padding:8px 5px;box-shadow:2px 2px var(--ink)}
 body[data-screen=cooking] .mg-tutorial-toggle{width:44px;height:44px;font-size:23px}
 body[data-screen=cooking] .mg-board{flex:1;min-height:130px;aspect-ratio:auto;border-radius:12px;border-width:2px}
 body[data-screen=cooking] .mg-meter{flex:none;font-size:12px;line-height:1.2;gap:3px;margin:0}
 body[data-screen=cooking] :is(.mg-timing,.mg-heat-meter,.mg-fill-meter,.mg-progress){height:18px;border-radius:5px}
 body[data-screen=cooking] .mg-status{flex:none;font-size:13px;line-height:1.2;padding:4px 7px;margin:0}
 body[data-screen=cooking] .mg-controls{flex:none;gap:5px}
 body[data-screen=cooking] .mg-button{min-height:44px;padding:8px 7px;font-size:14px;line-height:1.15}
 body[data-screen=cooking] .mg-slider-label{font-size:13px;gap:5px}
 body[data-screen=cooking] .mg-alternates summary{font-size:12px;padding:8px 6px}
 body[data-screen=cooking] .mg-gesture{font-size:40px}
 body[data-screen=cooking] .mg-tutorial{padding:10px;gap:7px;inset:5px}
 body[data-screen=cooking] .mg-tutorial .mg-instruction{font-size:16px;line-height:1.25}
 body[data-screen=cooking] .mg-tutorial-key{font-size:12px}
 body[data-screen=cooking] .mg-feedback{inset:5px;padding:9px;gap:5px}
 body[data-screen=cooking] .mg-feedback strong{font-size:18px}
 body[data-screen=cooking] .mg-feedback span:last-child{font-size:13px;line-height:1.2}
 body[data-screen=cooking] .mg-quality{font-size:30px}
 body[data-screen=menu] .menu-review{height:100%;max-width:none;margin:0;padding:14px 14px max(12px,env(safe-area-inset-bottom));border:3px solid var(--ink);border-bottom:0;border-radius:22px 22px 0 0;background:var(--cream);display:flex;flex-direction:column;gap:10px;animation:menu-rise .2s ease-out;overflow:hidden}
 body[data-screen=menu] .section-heading{flex:none;gap:8px;margin:0}
 body[data-screen=menu] .section-heading h1{font-size:29px;line-height:1.05;margin:0}
 body[data-screen=menu] .section-heading .eyebrow{font-size:10px;margin-bottom:3px}
 body[data-screen=menu] .menu-tastes summary{font-size:12px;padding:10px 7px}
 body[data-screen=menu] .course-tabs{margin:0;gap:7px;flex:none}
 body[data-screen=menu] .course-tabs button{min-height:50px;padding:5px 8px;box-shadow:2px 2px var(--ink);border-width:2px}
 body[data-screen=menu] .course-tabs b{font-size:23px;line-height:1}
 body[data-screen=menu] .course-tabs small{font-size:10px}
 body[data-screen=menu] .recipe-selectors{flex:none;display:grid;grid-template-columns:1fr;gap:7px;margin:0}
 body[data-screen=menu] .recipe-selectors label{font-size:12px;gap:3px}
 body[data-screen=menu] .recipe-selectors select{font-size:16px;padding:7px;min-height:44px;border-width:2px;box-shadow:2px 2px var(--ink)}
 body[data-screen=menu] .recipe-layout{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 3px 3px 0}
 body[data-screen=menu] .recipe-paper{padding:12px;border-width:2px;box-shadow:2px 2px var(--ink)}
 body[data-screen=menu] .finished-dish h2{font-size:25px;line-height:1.05;margin:5px 0 8px}
 body[data-screen=menu] .recipe-details summary{font-size:13px;padding-top:8px;min-height:40px}
 body[data-screen=menu] .menu-actions{flex:none;gap:10px;margin:0;padding-top:8px;border-top:2px solid var(--ink);flex-wrap:nowrap}
 body[data-screen=menu] .menu-actions p{flex:none;min-width:0;width:auto;font-size:13px;margin:0}
 body[data-screen=menu] .menu-actions .btn{flex:1;font-size:23px;line-height:1;min-height:48px;padding:8px}
}
@keyframes menu-rise{from{transform:translateY(30px);opacity:.5}to{transform:translateY(0);opacity:1}}
@media(min-width:700px) and (max-width:1000px) and (max-height:500px){
 body[data-screen=cooking] .cook-top h1{display:none}
 body[data-screen=cooking] .mg-screen{display:grid;grid-template-columns:minmax(0,1fr) 230px;grid-template-rows:auto auto 1fr;gap:8px}
 body[data-screen=cooking] .mg-board{grid-column:1;grid-row:1/4;height:100%;min-height:110px}
 body[data-screen=cooking] .mg-heading{grid-column:2;grid-row:1}
 body[data-screen=cooking] .mg-meter{grid-column:2;grid-row:2}
 body[data-screen=cooking] .mg-controls{grid-column:2;grid-row:3;align-content:end}
 body[data-screen=cooking] .mg-status{display:none}
}
@media(max-width:700px),(max-width:1000px) and (max-height:500px){.mg-controls>button{min-width:64px}.mg-controls>.mg-secondary{min-height:44px}}
@media(min-width:700px) and (max-width:1000px) and (max-height:500px){.mg-screen{grid-template-rows:auto auto auto 1fr}.mg-board{grid-row:1/5}.mg-status{display:block;grid-column:2;grid-row:3}.mg-controls{grid-row:4}.mg-tutorial-key{display:none}}/* Recipe selection remains a single column at every viewport height. */
.menu-review{container-type:inline-size;max-width:800px;margin-inline:auto}
.menu-body{min-width:0;display:flex;flex-direction:column;gap:12px}
.menu-review :is(.section-heading,.course-tabs,.recipe-selectors,.recipe-layout,.recipe-paper,.menu-actions){min-width:0;max-width:100%}
.menu-review .section-heading{position:relative;display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px}
.menu-review .section-heading>div{flex:1 1 230px}
.menu-review .section-heading h1{overflow-wrap:normal}
.menu-review .course-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.menu-review .course-tabs button{min-width:0;white-space:normal}
.menu-review .recipe-selectors{grid-template-columns:minmax(0,1fr);margin:0}
.menu-review .recipe-selectors label{min-width:0}
.menu-review .recipe-selectors select{min-width:0;max-width:100%;width:100%;padding-right:38px;text-overflow:ellipsis;background-position:right 8px center;background-size:20px}
.menu-review .flavor-tags{display:flex;flex-wrap:wrap;gap:6px}
.menu-review .finished-dish h2{overflow-wrap:break-word}
.menu-review .menu-tastes{position:static}
.menu-review .menu-tastes>div{left:0;right:0;top:100%;width:auto;max-width:100%;max-height:220px}
@media(max-width:700px),(max-width:1000px) and (max-height:500px){
 body[data-screen=menu] .menu-review{display:flex;flex-direction:column;gap:8px;padding:10px 12px max(10px,env(safe-area-inset-bottom));width:100%;min-width:0;container-type:inline-size}
 body[data-screen=menu] .section-heading>div{flex-basis:100%}
 body[data-screen=menu] .section-heading h1{font-size:26px;line-height:1.1}
 body[data-screen=menu] .section-heading .eyebrow{font-size:11px;letter-spacing:.06em;white-space:normal}
 body[data-screen=menu] .menu-tastes summary{min-height:44px;padding:10px 12px;font-size:13px}
 body[data-screen=menu] .course-tabs{gap:6px;width:100%}
 body[data-screen=menu] .course-tabs button{min-height:48px;padding:6px 3px;display:flex;flex-direction:column;justify-content:center;gap:2px}
 body[data-screen=menu] .course-tabs b{font-size:20px;line-height:1.1}
 body[data-screen=menu] .course-tabs small{font-size:10px}
 body[data-screen=menu] .menu-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 4px 5px 0;scrollbar-gutter:stable}
 body[data-screen=menu] .recipe-selectors{padding:10px;gap:8px;flex:none}
 body[data-screen=menu] .recipe-selectors label{font-family:inherit;font-size:12px;font-weight:800;letter-spacing:.04em}
 body[data-screen=menu] .recipe-selectors select{padding:8px 34px 8px 10px;font-size:16px;line-height:1.3;min-height:44px}
 body[data-screen=menu] .recipe-layout{flex:none;overflow:visible;padding:0}
 body[data-screen=menu] .recipe-paper{padding:10px}
 body[data-screen=menu] .finished-dish h2{font-size:24px;line-height:1.1}
 body[data-screen=menu] .finished-dish>small{font-size:11px}
 body[data-screen=menu] .menu-actions{flex:none;display:flex;align-items:center;gap:8px;background:var(--cream);padding-top:8px}
 body[data-screen=menu] .menu-actions p{flex:0 0 60px;font-size:12px;line-height:1.25}
 body[data-screen=menu] .menu-actions .btn{min-width:0;min-height:48px;font-size:21px;white-space:normal;overflow-wrap:normal}
 body:is([data-screen=cooking],[data-screen=menu]) .topbar .brand{min-width:0;gap:5px}
 body:is([data-screen=cooking],[data-screen=menu]) .topbar .brand b{font-size:9px;line-height:1.2}
 body:is([data-screen=cooking],[data-screen=menu]) .topbar nav{flex:none}
 body[data-screen=cooking] #content{overflow-y:auto;overscroll-behavior:contain}
 body[data-screen=cooking] .cook-review{min-height:430px}
 body[data-screen=cooking] .mg-feedback{overflow:auto}
}
@container(max-width:440px){.menu-review .section-heading h1{font-size:26px}.menu-review .course-tabs b{font-size:20px}.menu-review .recipe-selectors{grid-template-columns:minmax(0,1fr)}}
@media(min-width:700px) and (max-width:1000px) and (max-height:500px){body[data-screen=cooking] .cook-review{min-height:290px}}
@media(prefers-reduced-motion:reduce){.menu-review{animation:none!important}}
.reduced-motion .menu-review{animation:none!important}
/* The title grows with saved-game controls; artwork has its own space on phones. */
body[data-screen=title] .cover{height:auto;min-height:580px;max-height:none}
body[data-screen=title] .cover-art{position:absolute;inset:0;pointer-events:none}
body[data-screen=title] .cover-hero{bottom:28px;width:370px;right:25%}
body[data-screen=title] .cover-bob{bottom:28px;width:330px;right:2%}
@media(max-width:700px){
 body[data-screen=title] .topbar{min-height:64px;padding:8px 10px;gap:8px}
 body[data-screen=title] .topbar .brand{min-width:0;gap:7px}
 body[data-screen=title] .topbar .brand b{font-size:11px}
 body[data-screen=title] .topbar .brand small{font-size:9px}
 body[data-screen=title] .topbar .brand-mark{width:28px;height:34px}
 body[data-screen=title] .topbar nav{flex:none;gap:5px}
 body[data-screen=title] .topbar .utility{min-height:44px;padding:6px 9px;font-size:12px}
 body[data-screen=title] .cover{display:flex;flex-direction:column;height:auto;min-height:calc(var(--game-height,100dvh) - var(--title-header,74px));max-height:none;container-type:normal;background-position:center top}
 body[data-screen=title] .cover-art{position:relative;inset:auto;flex:1 0 auto;height:clamp(220px,calc(52vw + 82px),380px);min-height:clamp(220px,calc(52vw + 82px),380px)}
 body[data-screen=title] .cover-copy{flex:none;padding:16px 20px 12px;max-width:100%}
 body[data-screen=title] .cover-copy .eyebrow{font-size:8px;line-height:1.3;letter-spacing:.08em}
 body[data-screen=title] .cover h1{font-size:clamp(38px,min(16vw,10.5dvh),67px);line-height:.88;margin:12px 0 14px;max-width:100%}
 body[data-screen=title] .cover-copy p{font-size:clamp(12px,2.4dvh,15px);line-height:1.35;margin:8px 0 12px;max-width:100%}
 body[data-screen=title] .cover-copy .enter{font-size:22px;min-height:44px;padding:9px 16px}
 body[data-screen=title] .cover-hero{width:min(52vw,300px);bottom:16px;right:auto;left:5%;transform:rotate(-3deg)}
 body[data-screen=title] .cover-bob{width:min(48vw,280px);bottom:18px;right:4%;transform:rotate(3deg)}
 body[data-screen=title] .comic-bubble{top:auto;bottom:calc(min(48vw,280px) + 28px);right:6%;font-size:clamp(13px,2.5dvh,18px);padding:8px 12px;max-width:145px;border-width:2px;box-shadow:2px 2px var(--ink)}
}
@media(max-width:700px) and (max-height:540px){
 body[data-screen=title] .topbar{height:64px;min-height:64px}
 body[data-screen=title] .topbar .brand small{display:none}
 body[data-screen=title] .topbar .brand b{font-size:9px;line-height:1.2}
 body[data-screen=title] .cover-copy{padding:12px 16px}
 body[data-screen=title] .cover h1{font-size:clamp(30px,8.5dvh,42px);margin:8px 0 10px}
 body[data-screen=title] .cover-copy p{font-size:12px;margin:7px 0 9px}
 body[data-screen=title] .cover-copy .enter{font-size:20px;padding:8px 12px}
 body[data-screen=title] .comic-bubble{font-size:12px;padding:6px 8px;right:4%;max-width:90px}
}

/* Keep pause in navigation on every screen, including judging and results. */
.topbar .pause-button{position:static!important;inset:auto!important;background:var(--gold);flex-shrink:0}
.winner-announcement{position:absolute;inset:19% 3% 23%;z-index:15;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;text-align:center;isolation:isolate}
.winner-announcement>span,.winner-announcement>strong{position:relative;z-index:2;font-family:var(--serif);font-weight:900;line-height:1.05;-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;text-shadow:4px 5px var(--ink);color:var(--gold);font-size:clamp(32px,7vw,90px);animation:winner-slam .55s cubic-bezier(.2,.8,.3,1) both;max-width:100%}
.winner-announcement>strong{color:#fff7db;font-size:clamp(36px,8vw,100px);animation-delay:1.1s;margin-top:12px;padding:8px 20px;background:#e92d79;box-shadow:6px 7px var(--ink);border:4px solid var(--ink);transform:rotate(-3deg)}
.winner-burst{position:absolute;inset:-12% -3%;z-index:0;background:repeating-conic-gradient(from 10deg,#ffdf37dd 0deg 12deg,#39d3e9bb 12deg 24deg);clip-path:polygon(50% 0,60% 20%,78% 3%,78% 27%,100% 24%,86% 45%,100% 63%,78% 67%,80% 95%,59% 82%,47% 100%,38% 80%,12% 96%,22% 68%,0 62%,15% 44%,0 22%,26% 27%,24% 2%,42% 20%);animation:winner-slam .6s both}
.winner-confetti{position:absolute;inset:-30% 0;overflow:hidden;z-index:3}
.winner-confetti i{position:absolute;left:calc(var(--i)*5.5%);top:-20%;width:10px;height:20px;background:var(--gold);border:2px solid var(--ink);animation:winner-confetti 3s calc(1.1s + var(--i)*.06s) 3 both}
.winner-confetti i:nth-child(3n){background:var(--pink)}.winner-confetti i:nth-child(3n + 1){background:var(--cyan)}
@keyframes winner-slam{from{opacity:0;scale:1.8;translate:0 -20px}to{opacity:1;scale:1;translate:0 0}}
@keyframes winner-confetti{from{transform:translateY(0) rotate(0)}to{transform:translateY(650px) rotate(540deg)}}
@media(max-width:540px){.topbar .brand small{display:none}.topbar .brand b{font-size:10px}.topbar nav{flex-shrink:0}.topbar .utility{min-width:44px;padding:6px;font-size:11px}.topbar .pause-button{font-size:11px;padding:6px;min-width:48px}.winner-announcement>strong{font-size:clamp(32px,9vw,58px);padding:6px 10px}.winner-announcement>span{font-size:clamp(29px,8vw,52px)}}
@media(prefers-reduced-motion:reduce){.winner-announcement *{animation:none!important}}
.reduced-motion .winner-announcement *{animation:none!important}
/* Dishes arrive at the judging ledge, never as emoji placeholders. */
.plated-dish{position:relative;width:100%;aspect-ratio:1;isolation:isolate}
.dish-sprite{position:absolute;inset:0;background:url('assets/dish-atlas.png') var(--dish-x) var(--dish-y)/500% 800% no-repeat}
.dish-steam{position:absolute;inset:0 25% 45%;display:flex;justify-content:space-around;pointer-events:none}
.dish-steam i{width:9%;height:55%;border-left:3px solid #fffdf0;border-radius:50%;filter:drop-shadow(0 0 2px #715a43);animation:plate-steam 2.7s infinite ease-out;opacity:0}
.dish-steam i:nth-child(2){animation-delay:.8s}.dish-steam i:nth-child(3){animation-delay:1.6s}
.dish-drips{position:absolute;left:28%;right:25%;top:76%;display:flex;justify-content:space-around}
.dish-drips i{width:5px;height:12px;border-radius:0 0 60% 60%;background:var(--sauce);border:1px solid #4b3023;transform-origin:top;animation:sauce-drip 3.4s ease-in infinite}.dish-drips i+ i{animation-delay:1.7s}
@keyframes plate-steam{0%{opacity:0;transform:translateY(15px) scale(.8)}30%{opacity:.85}100%{opacity:0;transform:translateY(-18px) scale(1.15)}}
@keyframes sauce-drip{0%,100%{transform:scaleY(.3);opacity:0}25%{opacity:1}65%{transform:scaleY(1.1);opacity:1}90%{transform:translateY(6px) scaleY(.5);opacity:0}}
.judges-serving{position:absolute;z-index:7;left:22%;right:4%;bottom:5%;height:125px;display:flex;justify-content:center;gap:8%;background:linear-gradient(transparent 42%,#fff3cf 43% 61%,#172039 62% 66%,#f3bd62 67%);border-radius:20%;pointer-events:none}
.judges-serving figure{margin:0;position:relative;width:40%;max-width:190px;text-align:center}.judges-serving .plated-dish{width:110px;margin:-20px auto 0}.judges-serving figcaption{font-size:11px;font-weight:900;background:var(--paper);border:2px solid var(--ink);padding:3px}.judges-serving figcaption span{display:block;font-size:10px;font-weight:700;line-height:1.15}.serving-course{position:absolute;top:-24px;left:0;font:17px var(--serif);background:var(--gold);padding:2px 7px;border:2px solid var(--ink)}
.ceremony-dishes .plated-dish{max-width:220px;margin:auto}
body[data-screen=tasting] .show-stage .nameplates{bottom:39%}body[data-screen=tasting] .show-stage .cast-member{bottom:49%}
@media(max-width:700px){
 body:is([data-screen=intro],[data-screen=tasting],[data-screen=result],[data-screen=boss],[data-screen=hero]) .show-stage:not(.compact){height:clamp(240px,calc(var(--game-height,100svh) - var(--title-header,70px) - 155px),420px)}
 .show-stage:not(.compact) .cook-stations{top:43px;height:48%;left:10%;right:5%}
 .show-stage:not(.compact) .cook-station .kitchen-chef{width:clamp(95px,24vw,140px);top:-6px}
 .show-stage:not(.compact) .station-worktop{top:75px;height:44px}.show-stage:not(.compact) .station-front{top:108px;bottom:0}.show-stage:not(.compact) .station-front>span{font-size:12px}.show-stage:not(.compact) .oven-window{height:17px}.show-stage:not(.compact) .oven-controls{margin:2px}
 .show-stage:not(.compact) .judges-floor{height:150px;bottom:8px}.show-stage:not(.compact) .host{width:80px;bottom:8px}
 .host-caption{padding:12px 14px 16px;min-height:104px;align-items:flex-start;border-top:4px solid var(--gold);gap:12px}
 .host-caption>span{font-size:19px;min-width:72px;max-width:72px}.host-caption p{font-size:16px;line-height:1.35;margin:0;overflow-wrap:break-word}
 .judges-serving{left:22%;right:3%;height:90px;bottom:4px;gap:3%}.judges-serving figure{width:48%}.judges-serving .plated-dish{width:72px;margin:-15px auto 0}.judges-serving figcaption{font-size:8px;padding:2px}.judges-serving figcaption span{font-size:9px}.serving-course{font-size:12px;top:-22px;left:-10px}
 body[data-screen=tasting] .show-stage .cast-member{bottom:53%}body[data-screen=tasting] .show-stage .nameplates{bottom:41%}
 body:is([data-screen=intro],[data-screen=tasting],[data-screen=result]) #content{padding-bottom:env(safe-area-inset-bottom,0px)}
}
@media(prefers-reduced-motion:reduce){.dish-steam i,.dish-drips i{animation:none;opacity:.7}}
.reduced-motion .dish-steam i,.reduced-motion .dish-drips i{animation:none;opacity:.7}

/* Illustrated recipe dropdown: small plates beside every recipe. */
.recipe-picker{min-width:0}.recipe-picker-label{display:block;font:inherit;font-weight:800;margin-bottom:6px}
.recipe-image-menu{background:var(--paper);border:3px solid var(--ink);border-radius:14px;overflow:hidden;color:var(--ink)}
.recipe-image-menu summary{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 10px;min-height:56px;list-style:none;font:700 16px/1.2 var(--font)}
.recipe-image-menu summary::-webkit-details-marker{display:none}.recipe-image-menu summary>span{flex:1;min-width:0;overflow-wrap:break-word}.recipe-image-menu summary>b{font-size:20px}
.recipe-image-menu .plated-dish{width:52px;min-width:52px;flex:0 0 52px}
.recipe-image-options{max-height:240px;overflow:auto;overscroll-behavior:contain;border-top:2px solid var(--ink)}
.recipe-image-options button{width:100%;display:flex;align-items:center;gap:10px;text-align:left;border:0;border-bottom:1px solid #15203833;background:var(--paper);padding:5px 10px;font:700 15px/1.25 var(--font);min-height:60px;color:var(--ink)}
.recipe-image-options button>span{flex:1;min-width:0;overflow-wrap:break-word}.recipe-image-options button[aria-pressed=true]{background:#bdf1ee}.recipe-image-options button:hover{background:#ffe675}
.recipe-image-menu :focus-visible{outline:3px solid #bc1f61;outline-offset:-3px}
.recipe-image-menu .dish-steam,.recipe-image-menu .dish-drips{display:none}
.recipe-with-image>.plated-dish{float:right;width:90px;margin:0 0 8px 12px}.recipe-with-image:after{content:'';display:block;clear:both}
@media(max-width:700px){.recipe-picker-label{font-family:var(--font);font-size:12px;letter-spacing:.04em}.recipe-image-menu summary{font-size:16px}.recipe-with-image>.plated-dish{width:76px}.recipe-image-options{max-height:200px}}

/* Fruit impact opening, sized to the actual visible iPhone viewport. */
.broadcast-opening{min-height:0;height:calc(var(--game-height,100dvh) - var(--title-header,74px));background-image:radial-gradient(#ffffff12 .8px,transparent 1px),radial-gradient(ellipse at 50% 80%,#384d82,#152038 65%);background-size:4px 4px,100% 100%}
.broadcast-title{position:relative;z-index:1;font-size:clamp(55px,11vw,150px)}
.broadcast-title span,.broadcast-title strong{background-image:repeating-linear-gradient(105deg,transparent 0 5px,#15203833 6px 7px);background-clip:text}
.produce-effects{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}
.broadcast-opening.revealing{position:fixed;left:0;right:0;top:calc(var(--game-top,0px) + var(--title-header,74px));z-index:30;background:none;pointer-events:none}
.broadcast-opening.revealing .broadcast-title,.broadcast-opening.revealing .show-beams,.broadcast-opening.revealing .opening-skip{visibility:hidden}
@media(max-width:700px){
 .topbar{padding:8px 10px;gap:8px;min-height:60px}.topbar .brand{min-width:0;gap:7px}.topbar .brand-mark{width:28px;height:36px;font-size:25px}.topbar .brand b{font-size:10px;line-height:1.2}.topbar nav{gap:6px}.topbar .utility{min-height:44px}
 .show-stage .judges-floor,.show-stage.compact .judges-floor{left:4%;right:4%}
 .show-stage .nameplates,.show-stage.compact .nameplates{left:23%;right:1%;bottom:20px;gap:4px;grid-template-columns:repeat(4,minmax(0,1fr))}
 .show-stage .nameplates button,.show-stage.compact .nameplates button{font-size:clamp(9px,2.5vw,12px);padding:4px 2px;min-width:0;min-height:48px;line-height:1.1;overflow-wrap:normal;hyphens:auto;transform:none;box-shadow:2px 2px var(--ink)}
 .show-stage .table-mask,.show-stage.compact .table-mask{left:21%;right:0;bottom:9px;height:70px}
 body[data-screen=intro] .shell{height:var(--game-height,100dvh);min-height:0;display:flex;flex-direction:column;overflow:hidden}
 body[data-screen=intro] .topbar{flex-shrink:0}
 body[data-screen=intro] .show-stage:not(.compact){height:auto;min-height:220px;flex:1}
 body[data-screen=intro] .host-caption{flex-shrink:0;min-height:0;padding:10px 12px;gap:10px}
 body[data-screen=intro] .host-caption>span{font-size:18px;min-width:66px;max-width:66px}
 body[data-screen=intro] .host-caption p{font-size:15px;line-height:1.3}
 body[data-screen=intro] #content{flex-shrink:0;padding:0 0 env(safe-area-inset-bottom,0px)}
 body[data-screen=intro] .intro-copy{padding:4px 12px 8px;min-height:0;text-align:right}
 body[data-screen=intro] .intro-copy>:not(.actions):not(button){display:none}
 body[data-screen=intro] .intro-copy .actions{margin:0;justify-content:flex-end}
 body[data-screen=intro] .intro-copy .utility{min-height:44px;padding:6px 12px;font-size:12px}
 body[data-screen=intro] footer,body[data-screen=title] footer,body[data-screen=title] .review-intro,body[data-screen=title] .rivals-section{display:none}
 .opening-skip{bottom: max(16px,env(safe-area-inset-bottom,0px));right:14px;min-height:44px}
 body[data-screen=tasting] .show-stage .nameplates{bottom:41%}
}
@media(max-width:700px){body[data-screen=intro]{height:var(--game-height,100dvh);overflow:hidden}.broadcast-opening .opening-skip{color:var(--ink)}.show-stage:not(.compact) .judges-floor{height:190px}.show-stage:not(.compact) .host{width:96px}}
/* Bob trades his secret recipe; the chef makes it plant-based. */
.recipe-reveal{padding:25px 24px 35px;text-align:center;background:radial-gradient(#15203818 1px,transparent 1px),var(--cyan);background-size:7px 7px;min-height:calc(var(--game-height,100dvh) - var(--title-header,74px))}
.recipe-reveal h1{font:clamp(32px,5vw,64px)/1 var(--serif);margin:12px 0;color:var(--gold);text-shadow:3px 3px var(--ink);-webkit-text-stroke:1px var(--ink)}
.recipe-theater{display:flex;align-items:center;justify-content:center;gap:12px;min-height:310px;max-width:960px;margin:auto;position:relative}
.recipe-theater .chef-atlas{width:26%;flex-shrink:0}.recipe-bob{transform:rotate(-9deg);filter:drop-shadow(4px 6px 0 #15203844)}.recipe-hero{transform:rotate(5deg)}
.recipe-trophy{width:40%;max-width:350px;padding:20px;background:var(--paper);border:4px solid var(--ink);box-shadow:7px 7px var(--ink);z-index:2;animation:recipe-handoff 1.2s ease-out both}
.recipe-trophy h2{font:30px/1 var(--serif);margin:12px 0}.recipe-trophy>span{font-size:11px;letter-spacing:.06em;font-weight:900}.recipe-seal{background:var(--pink);border-radius:50%;font:48px var(--serif);width:65px;margin:18px auto 0;border:3px solid var(--ink)}
.recipe-trophy p{margin:12px 0;border-bottom:2px dashed #15203844;padding-bottom:8px;font-size:15px}.recipe-trophy s{display:block;color:#a24c41}.recipe-trophy b{display:block;margin-top:4px}.recipe-trophy svg{width:100%;max-height:190px;filter:drop-shadow(3px 5px 1px #15203833)}
.recipe-dialogue{max-width:700px;margin:15px auto;padding:15px 20px;background:var(--ink);color:var(--paper);border-radius:16px;font-size:18px;line-height:1.4}.recipe-unlocked{max-width:600px;margin:14px auto;text-align:left;background:var(--paper);padding:14px;border:3px solid var(--ink)}.recipe-unlocked summary{font-weight:900;cursor:pointer}.recipe-unlocked p{line-height:1.5}
.recipe-beat-1 .recipe-trophy{animation:recipe-transform .65s ease-out both}.recipe-beat-2 .recipe-trophy{background:var(--gold);animation:winner-slam .6s both}
@keyframes recipe-handoff{from{transform:translateX(-80px) rotate(-12deg)}to{transform:translateX(0) rotate(2deg)}}@keyframes recipe-transform{from{transform:scale(.85) rotate(4deg)}to{transform:scale(1) rotate(-2deg)}}
.show-paused .recipe-reveal *{animation-play-state:paused!important}.reduced-motion .recipe-reveal *{animation:none!important}
@media(max-width:700px){body[data-screen=recipe] footer{display:none}.recipe-reveal{padding:15px 10px 24px}.recipe-theater{min-height:250px;gap:0}.recipe-theater .chef-atlas{width:24%;margin:0 -6%}.recipe-trophy{width:64%;padding:14px 10px}.recipe-trophy h2{font-size:25px}.recipe-trophy p{font-size:13px}.recipe-dialogue{font-size:15px;padding:12px}.recipe-trophy svg{max-height:145px}.recipe-reveal h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){.recipe-reveal *{animation:none!important}}
.recipe-trophy svg{display:block;width:190px;height:190px;max-width:100%;margin:auto;overflow:hidden}
@media(max-width:700px){.recipe-trophy svg{width:145px;height:145px}}
.saved-recipe-button{display:block;margin-top:12px;min-height:44px}
/* Official brand mark, stable commentary sizing, and comfortable touch controls. */
.topbar .brand{padding:0;min-width:0;flex-shrink:1}.topbar .brand-logo{display:block;width:100px;height:66px;object-fit:contain}
body[data-screen=intro] .host-caption{min-height:112px;align-items:center;box-sizing:border-box}
body[data-screen=intro] .host-caption p{max-width:850px}
@media(max-width:700px){
 .topbar .brand-logo{width:76px;height:51px}.topbar nav{margin-left:auto;gap:6px}.topbar{min-height:67px}
 body[data-screen=intro] .host-caption{min-height:112px;padding:14px 12px;align-items:center}
 body[data-screen=intro] .host-caption p{font-size:16px;line-height:1.35}
 body[data-screen=intro] .intro-copy{min-height:56px;padding:5px 12px 7px}
}
@media(max-width:360px){.topbar .brand-logo{width:68px;height:46px}}
/* Gabriella's final-round sabotage stays readable without flashing. */
.grinder-attack{padding:clamp(18px,4vw,42px);border:5px solid #172039;border-radius:24px;background:radial-gradient(ellipse at top,#ffcf58,#f1879d);box-shadow:8px 8px 0 #172039;text-align:center;overflow:hidden}.grinder-attack h1{font-size:clamp(36px,7vw,76px);line-height:1;margin:16px 0;text-shadow:3px 3px #fff4da}.attack-stage{display:flex;justify-content:center;align-items:center;gap:20px;min-height:220px}.attack-stage>.chef-atlas{width:180px;height:230px;flex-shrink:0}.mystery-cards{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.mystery-cards span{display:grid;place-items:center;background:#fff4da;border:4px solid #172039;box-shadow:6px 7px 0 #172039;width:100px;height:140px;font-size:38px;font-weight:900;animation:recipe-scramble 1.3s ease-in-out infinite alternate}.mystery-cards span:nth-child(2){animation-delay:-.4s}.mystery-cards span:nth-child(3){animation-delay:-.8s}.grinder-attack p{max-width:680px;margin:18px auto;line-height:1.5}.mystery-warning{font-size:14px;font-weight:800;color:#ac2557}.reduced-motion .mystery-cards span,.show-paused .mystery-cards span{animation:none}@keyframes recipe-scramble{from{transform:translateY(-8px) rotate(-7deg)}to{transform:translateY(8px) rotate(7deg)}}@media(max-width:600px){.attack-stage{gap:8px}.attack-stage>.chef-atlas{width:110px;height:170px}.mystery-cards{gap:7px}.mystery-cards span{width:57px;height:85px;font-size:25px}}@media(prefers-reduced-motion:reduce){.mystery-cards span{animation:none}}
/* Compact chef introduction beneath the stage on phones. */
@media(max-width:700px){
 body[data-screen=intro] .hero-entrance{padding:10px 14px 12px;gap:8px;min-height:0}
 body[data-screen=intro] .hero-billing{width:100%;min-width:0}
 body[data-screen=intro] .hero-billing .eyebrow{font-size:9px;line-height:1.2;margin:0 0 5px;letter-spacing:.09em}
 body[data-screen=intro] .hero-billing h1{font-size:clamp(25px,7vw,34px);line-height:.98;letter-spacing:.01em;margin:0 0 6px}
 body[data-screen=intro] .hero-billing p{font-size:14px;line-height:1.2;margin:0 0 8px}
 body[data-screen=intro] .hero-billing .utility{font-size:12px;line-height:1.2;min-height:44px;padding:6px 12px}
}
.commercial-bundle{width:min(100%,460px);margin:18px auto}.commercial-bundle img{display:block;width:100%;height:auto;max-height:42dvh;object-fit:contain;border-radius:16px;filter:drop-shadow(5px 7px 0 #17203944)}
.more-below{position:fixed;right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:35;display:flex;align-items:center;gap:7px;background:var(--paper);border:3px solid var(--ink);border-radius:16px;box-shadow:3px 4px var(--ink);padding:5px 9px;min-height:48px;max-width:150px}.more-below[hidden]{display:none}.more-below span{font-size:11px;font-weight:900;line-height:1.1}.more-below svg{width:30px;height:36px;animation:more-bounce 1.2s ease-in-out infinite}.reduced-motion .more-below svg{animation:none}@keyframes more-bounce{50%{transform:translateY(4px)}}
.cover-copy .resume-note{font-size:12px;line-height:1.3;margin:8px 0}.cover-copy .enter,.cover-copy [data-action=resume-campaign]{display:block;margin-bottom:12px;font-size:clamp(18px,3vw,24px)}.reward-dish-svg{width:100%;height:100%;display:block}.recipe-image-options button:has(.reward-dish-svg){background:#fff1ba}
@media(max-width:700px){.commercial-bundle{max-width:320px;margin:14px auto}.more-below{right:10px;bottom:calc(12px + env(safe-area-inset-bottom,0px))}.result-review,.tasting-review{padding-bottom:80px}.cover-copy .saved-recipe-button{font-size:12px;margin-top:4px}}
