:root{font-family:Inter,Helvetica,Arial,system-ui,sans-serif;color:#272333;background:#292126;font-synthesis:none;--pink:#f5d0d8;--ink:#272333;--cream:#fff9ee;--green:#32654b;--lime:#e7f48b;--mono:'Courier New',monospace}
*{box-sizing:border-box}body{margin:0;min-height:100svh}button,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #3578a0;outline-offset:4px}button:active:not(:disabled){transform:translateY(2px)}[hidden]{display:none!important}
.kitchen-backdrop{position:fixed;inset:0;z-index:-1;background:linear-gradient(#201a2518,#201a2538),url('assets/kitchen.png') center/cover no-repeat}
.game-shell{max-width:1490px;min-height:100svh;margin:auto;padding:22px 30px 10px;display:flex;flex-direction:column;gap:24px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{border:1px solid var(--ink);background:var(--pink);color:var(--ink);border-radius:13px;display:flex;align-items:center;gap:10px;padding:7px 17px 7px 7px;box-shadow:0 4px 0 var(--ink)}
.brand-text{font-family:'Arial Black',Arial,sans-serif;font-weight:950;font-size:1.8rem;line-height:.85;text-align:left;letter-spacing:-.075em}.brand-text span{display:block;font-size:1.4rem;font-weight:950;font-style:normal;margin-top:5px}
.scoreboard{display:flex;gap:8px;margin-left:auto}.stat{background:#fffaf2;border:1px solid var(--ink);box-shadow:0 3px 0 var(--ink);border-radius:11px;min-width:102px;padding:9px 18px;display:grid;gap:2px;text-align:center}.stat>span{font-family:var(--mono);font-size:.72rem;letter-spacing:.09em;font-weight:700}.stat strong{font-size:1.8rem;line-height:1.15;font-variant-numeric:tabular-nums;letter-spacing:-.05em}.time-stat{background:var(--pink);min-width:130px}.time-stat.low{background:#ffb6a3;color:#6e2014;animation:clock-pulse 1s ease-in-out infinite}.round-button{width:44px;height:44px;flex-shrink:0;border:1px solid var(--ink);border-radius:50%;background:var(--cream);font-size:1.5rem;font-weight:700}.round-button[aria-pressed=true]{background:var(--pink)}
.workstation{display:grid;grid-template-columns:244px minmax(420px,1fr) 286px;gap:24px;align-items:start;flex:1;margin-top:14px}
.order-column{min-width:0;display:grid;gap:24px}.ticket{position:relative;background:#fff;color:#272729;padding:22px 20px 20px;filter:drop-shadow(0 7px 7px #24131644);font-family:var(--mono);transform:rotate(-1deg);isolation:isolate}
.ticket::before{content:'';position:absolute;height:13px;left:-8px;right:-8px;top:-7px;background:linear-gradient(#4c4b4c,#151517 65%,#636367);border:2px solid #25252a;border-radius:7px;z-index:-1}
.ticket::after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:9px;background:linear-gradient(135deg,#fff 50%,transparent 51%) 0 0/12px 12px repeat-x,linear-gradient(225deg,#fff 50%,transparent 51%) 0 0/12px 12px repeat-x}
.receipt-brand{display:grid;justify-items:center;font-size:1.7rem;font-weight:900;letter-spacing:.13em;line-height:1}.receipt-brand span{font-size:.64rem;letter-spacing:.24em;margin:6px 0 22px;font-weight:400}.ticket-meta{display:flex;justify-content:space-between;gap:8px;font-size:.7rem;letter-spacing:.015em}.ticket-divider{border-top:1px dashed #59575b;margin:14px 0}.receipt-item{display:flex;align-items:baseline;gap:10px}.receipt-quantity{flex-shrink:0;font-size:1rem;font-weight:700}.ticket h1{font-size:1.2rem;line-height:1.27;letter-spacing:-.04em;margin:2px 0 9px;font-weight:700}.order-extra{margin:0 0 10px 35px;font-size:.84rem;font-weight:700;line-height:1.4}.receipt-end{display:flex;justify-content:space-between;font-size:.67rem;letter-spacing:.08em}.receipt-barcode{height:19px;width:112px;margin:18px auto 0;background:repeating-linear-gradient(90deg,#272729 0 1px,transparent 1px 3px,#272729 3px 6px,transparent 6px 8px,#272729 8px 10px,transparent 10px 14px);opacity:.7}
.recipe-card{background:#fffaf1ed;padding:16px;border:1px solid #efdbbf;border-radius:12px;box-shadow:0 4px 14px #24131620}summary{cursor:pointer;font-weight:750;font-size:.875rem;line-height:1.5}summary>span{float:right;color:#74645c;font-family:var(--mono);font-size:.8rem}.recipe-list{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:8px;counter-reset:step}.recipe-step{display:flex;gap:8px;align-items:flex-start;font-size:.8rem;line-height:1.4;color:#766758;counter-increment:step}.recipe-step::before{content:counter(step);flex-shrink:0;width:19px;height:19px;display:grid;place-items:center;border-radius:50%;font-size:.66rem;background:#eee4d6;color:#706254;font-weight:700}.any-order-note{display:block;font-size:.69rem;font-weight:400;margin-top:3px;color:#7b6c5b}
.prep-area{min-width:0}.step-card{background:#fffaf2;border:1px solid #3a302c;border-radius:12px;padding:15px 18px 14px;box-shadow:0 3px 0 #3a302c;margin-bottom:22px}.step-top{display:flex;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:.7rem;color:#796459;font-weight:700}.step-card h2{font-size:1.18rem;line-height:1.25;margin:9px 0 5px;letter-spacing:-.03em}.step-card p{font-size:.81rem;color:#706354;margin:0 0 13px}.progress-track{height:5px;background:#e8ddce;overflow:hidden;border-radius:8px}#progress-fill{height:100%;width:0;background:#477747;transition:width .22s}
.display-case{position:relative;border:4px solid #3d4345;border-bottom-width:8px;border-radius:12px 12px 8px 8px;background:#b5bec0;box-shadow:0 3px 0 #171d20,0 14px 0 #c99768,0 20px 20px #2b1c3144;overflow:hidden}
.case-glass{height:44px;position:relative;border-bottom:5px solid #272d2f;background:linear-gradient(120deg,#d9edef91 0 18%,#ffffffc9 18% 20%,#d9edef45 20% 48%,#ffffff90 48% 50%,#a8c6c94d 50% 100%),linear-gradient(#b9d0ce80,#effcffbf);box-shadow:inset 0 3px #f4ffffaa,inset 0 -6px 8px #48585b33}.case-glass::before,.case-glass::after{content:'';position:absolute;width:5px;top:0;bottom:0;background:linear-gradient(90deg,#303b3c,#606d6e,#303b3c)}.case-glass::before{left:20px}.case-glass::after{right:20px}.case-light{position:absolute;left:35px;right:35px;top:7px;height:3px;background:#ecffff;box-shadow:0 0 8px #d0ffff}.case-temperature{position:absolute;right:35px;bottom:7px;font:700 9px var(--mono);letter-spacing:.1em;color:#3b6055}
.ingredient-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;padding:12px;min-height:260px;align-content:start;background:repeating-linear-gradient(0deg,#fff0 0 2px,#ffffff17 2px 3px),linear-gradient(115deg,#919da0,#e4e9e8 27%,#b3bdbf 48%,#e6ecea 76%,#8e9a9c);box-shadow:inset 0 8px 10px #253a4144,inset 0 -2px 2px #fff}
.ingredient{position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;min-width:0;padding:0 0 6px;border:0;border-radius:12px;background:transparent;color:#26302f}.ingredient-well{position:relative;display:grid;place-items:center;aspect-ratio:1/1.07;overflow:hidden;padding:2px;border:4px solid #e1e6e4;border-bottom-color:#8d989c;border-right-color:#b7c0c0;border-radius:13px;box-shadow:0 1px 2px #22383e99,inset 0 5px 7px #354a50aa,inset 0 -3px 3px #f3fafbbb;background:linear-gradient(135deg,#667a7d,#bdc9c7 26%,#a0b2b0 62%,#d1dcd9)}
.ingredient-well::after{content:'';position:absolute;inset:0;border-radius:8px;box-shadow:inset 2px 0 3px #2c434533,inset -2px 0 3px #fff6;pointer-events:none}.ingredient:hover:not(:disabled) .ingredient-well{border-color:#fff;filter:brightness(1.08)}
.food-sprite{display:block;background-image:url('assets/ingredients.png');background-size:600% 500%;background-repeat:no-repeat}.ingredient .food-sprite{width:112%;aspect-ratio:1;visibility:hidden;filter:drop-shadow(0 3px 2px #233c3a33);clip-path:inset(3% 3% 2%)}.ingredient[data-id=pineapple] .food-sprite{clip-path:inset(14% 3% 2%)}.art-ready .ingredient .food-sprite{visibility:visible}.ingredient.shake{animation:shake .2s ease-in-out}.game-shell[data-mode=rush] .ingredient{padding-bottom:0}.game-shell[data-mode=rush] .ingredient-grid{align-content:start;min-height:234px}
.case-footer{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(#e8eceb,#b9c1c2 48%,#d6dada 52%,#9da8aa);border-top:2px solid #eef4f3;color:#354145;font-family:var(--mono);font-size:.62rem;font-weight:700;letter-spacing:.09em;padding:10px 12px;box-shadow:inset 0 -2px #677679}.feedback{font-size:.85rem;line-height:1.35;min-height:42px;color:#fffdf5;background:#272b27ed;border-radius:8px;margin:27px 0 0;padding:11px 13px}.feedback.error{background:#6e2e29}.feedback.success{background:#345640}
.plating{border-radius:14px;background:linear-gradient(110deg,#f4d0a0,#deb180);box-shadow:0 7px 0 #8e5c35,0 12px 24px #2c1a3d35;border:2px solid #805a3a;padding:16px 14px;min-width:0}.plate-header{display:flex;justify-content:space-between;gap:8px;font-size:.75rem;font-weight:850;letter-spacing:.07em;color:#573e2a}#combo{color:#2d5b34;background:var(--lime);padding:4px 7px;border-radius:4px;letter-spacing:0}.bowl-stage{position:relative;aspect-ratio:1;isolation:isolate;width:100%;margin:18px auto}.bowl-canvas{display:block;width:100%;height:100%}.plate-actions{display:grid;gap:14px}.undo-button{justify-self:center;border:0;background:transparent;color:#583c28;font-size:.81rem;text-decoration:underline;text-underline-offset:3px;padding:7px}.undo-button:disabled{opacity:.5}.serve-button,.primary-action{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--ink);background:var(--lime);color:var(--ink);border-radius:9px;padding:15px 18px;font-weight:850;box-shadow:0 4px 0 var(--ink);min-height:54px}.serve-button{font-size:1.15rem;letter-spacing:-.03em;width:100%}.serve-button:disabled{background:#e5d1ac;box-shadow:0 3px #8b7355;border-color:#8b7355;color:#816f56}.serve-button:not(:disabled){animation:serve-glow 1.2s ease-in-out infinite}.game-footer{display:flex;justify-content:flex-end;color:#fff9ef;text-shadow:0 1px 4px #000;padding:9px 2px}.game-footer button{background:none;color:inherit;border:0;font-size:.8rem;text-decoration:underline;padding:0}
.game-dialog{width:min(460px,calc(100% - 28px));max-height:calc(100svh - 32px);padding:0;border:1px solid var(--ink);border-radius:18px;background:#fff8ef;color:var(--ink);box-shadow:0 9px 0 #272333,0 25px 90px #160f1755;overflow:auto}.game-dialog::backdrop{background:#2217258c;backdrop-filter:blur(6px)}.dialog-inner{padding:28px;text-align:center}.eyebrow{font-family:var(--mono);font-size:.72rem;font-weight:700;letter-spacing:.12em;margin:10px 0}.dialog-inner h2{font-size:2.3rem;line-height:1.05;margin:12px 0;letter-spacing:-.05em}.dialog-description{font-size:1rem;line-height:1.45;color:#67574c;margin:10px 0 20px}.primary-action{width:100%;font-size:1rem}.primary-action span{font-size:1.5rem;font-weight:400}.secondary-action{border:1px solid #27233388;border-radius:7px;background:transparent;color:var(--ink);padding:12px 14px;font-weight:750;font-size:.85rem;width:100%;margin-top:10px}.secondary-action:hover{background:#ffffff44}
.result-score{display:grid;gap:2px;margin:24px 0 18px}.result-score strong{font-size:4rem;letter-spacing:-.05em;color:#325d3b;font-variant-numeric:tabular-nums}.result-score span{font-family:var(--mono);font-size:.8rem;font-weight:750;letter-spacing:.12em}.result-dialog .primary-action{margin-top:24px}.help-dialog p{text-align:left;line-height:1.5;font-size:.94rem;color:#5f5044}.help-dialog .primary-action{margin-top:20px}
@keyframes shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}@keyframes serve-glow{50%{filter:brightness(1.09)}}@keyframes clock-pulse{50%{filter:brightness(1.12)}}
@media(min-width:1500px){.game-shell{padding-top:30px}.workstation{margin-top:40px}}
@media(max-width:1180px){.game-shell{padding:18px;gap:22px}.workstation{grid-template-columns:225px minmax(320px,1fr);gap:20px}.plating{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:0 16px;padding:10px 16px}.plate-header{grid-column:1/-1}.bowl-stage{max-width:180px;margin:0 auto}.plate-actions{align-content:center}.order-column{grid-row:1/3}.ingredient-grid{min-height:260px}.ingredient .food-sprite{max-width:118px}.step-card{margin-bottom:16px}}
@media(max-width:760px){.game-shell{padding:12px;gap:19px}.topbar{gap:8px}.brand{padding:5px 9px 5px 5px;border-radius:10px;gap:5px}.brand-text{font-size:1.2rem}.brand-text span{font-size:1rem;margin-top:4px}.scoreboard{gap:5px}.stat{padding:7px 9px;min-width:65px;border-radius:8px}.stat>span{font-size:.63rem}.stat strong{font-size:1.4rem}.time-stat{min-width:85px}.served-stat{display:none}.round-button{width:34px;height:34px;font-size:1.2rem}.workstation{display:flex;flex-direction:column;gap:16px;margin:0}.order-column{width:100%;gap:17px}.ticket{width:100%;padding:13px 16px 10px;transform:none}.receipt-brand{display:flex;gap:7px;align-items:baseline;justify-content:center;font-size:1.2rem;letter-spacing:.06em;margin-bottom:11px}.receipt-brand span{font-size:.59rem;letter-spacing:.1em;margin:0}.ticket-meta{font-size:.68rem}.ticket h1{font-size:1.16rem;margin:1px 0 3px}.ticket-divider{margin:9px 0}.receipt-end{font-size:.61rem}.receipt-barcode{display:none}.order-extra{margin:0 0 3px 35px;font-size:.78rem}.recipe-card{padding:10px 13px;border-radius:8px}.recipe-list{grid-template-columns:1fr 1fr;gap:8px 14px}.prep-area{width:100%}.step-card{padding:11px 13px;margin-bottom:15px}.step-card h2{font-size:1.05rem;margin:6px 0}.step-card p{font-size:.8rem;margin-bottom:10px}.step-top{font-size:.65rem}.ingredient-grid{gap:5px;padding:9px;min-height:222px}.ingredient-well{border-width:3px;border-radius:11px}.game-shell[data-mode=rush] .ingredient-grid{min-height:204px}.case-glass{height:30px;border-bottom-width:4px}.case-temperature{font-size:8px;bottom:4px}.case-light{top:4px}.display-case{border-width:3px;border-bottom-width:6px;box-shadow:0 2px 0 #171d20,0 9px 0 #c99768,0 13px 15px #2b1c3133}.case-footer{padding:7px 10px;font-size:.6rem}.feedback{font-size:.81rem;margin:18px 0 0;min-height:37px;padding:9px 11px}.plating{width:100%;grid-template-columns:1fr 1.15fr;display:grid;padding:9px 12px;gap:0 12px;box-shadow:0 5px 0 #8e5c35}.plate-header{font-size:.75rem}.bowl-stage{max-width:145px;margin:0 auto}.serve-button{font-size:1rem;padding:11px 12px;min-height:48px}.plate-actions{gap:6px}.undo-button{padding:5px;font-size:.8rem}.game-footer{padding-top:6px}.dialog-inner{padding:22px}.dialog-inner h2{font-size:2rem}}
@media(max-width:420px){.game-shell{padding:10px}.ingredient-grid{grid-template-columns:repeat(4,minmax(0,1fr));min-height:219px}.game-shell[data-mode=rush] .ingredient-grid{min-height:186px}.brand-text{display:none}.brand{padding:5px}.scoreboard{margin-left:auto}.round-button{width:32px;height:32px}.recipe-list{grid-template-columns:1fr 1fr}}
@media(max-height:730px){}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* One continuous kitchen: rice cooker, refrigerated pans, then the finishing counter. */
.workstation{grid-template-columns:220px minmax(0,1fr);gap:22px;margin-top:10px}
.order-column{display:flex;flex-direction:column;gap:20px;grid-row:auto}
.order-base{font-size:.875rem;line-height:1.35;margin:2px 0 10px 35px;font-weight:700}
.ticket{padding:18px 17px 16px}.receipt-brand span{margin-bottom:17px}.receipt-barcode{margin-top:14px;height:15px}
.plating{display:flex;flex-direction:column;grid-column:auto;gap:0;padding:10px 12px}
.bowl-stage{max-width:185px;margin:3px auto 0}.plate-actions{display:grid;grid-template-columns:1fr;gap:5px}.plate-header:has([hidden]){display:none}
.serve-button{font-size:1rem;min-height:45px;padding:11px 14px}.undo-button{font-size:.875rem}
.recipe-card{padding:12px}.recipe-step{font-size:.875rem}.any-order-note{font-size:.75rem}
.prep-area{width:100%}.step-card{padding:13px 16px;margin-bottom:18px}.step-card h2{font-size:1.125rem}.step-card p{font-size:.875rem}.step-top{font-size:.75rem}
.prep-counter{display:grid;grid-template-columns:minmax(84px,.8fr) minmax(0,3.4fr) minmax(0,2.2fr);gap:12px;align-items:start;padding:14px 10px 18px;border:2px solid #8d6543;border-radius:15px;background:linear-gradient(105deg,#e7bd8a,#f3d4a9 28%,#dfb583 75%,#eac695);box-shadow:0 7px 0 #8e5c35,0 13px 22px #2b1c3140}
.rice-station{padding-top:64px;min-width:0}.ingredient-cooker{width:100%;min-height:90px;padding:6px 2px 8px;border:2px solid transparent;border-radius:12px;filter:drop-shadow(0 5px 3px #654a3540)}.ingredient-cooker:hover:not(:disabled){background:#fff2}.cooker-image{display:block;width:100%;aspect-ratio:1;object-fit:contain;pointer-events:none}
.display-case{min-width:0;border-width:3px;border-bottom-width:5px;border-radius:11px 11px 7px 7px;box-shadow:0 4px 0 #4d5b5f,0 7px 8px #30404544;overflow:hidden}.case-glass{height:42px;border-bottom-width:5px}.case-footer{padding:0;height:16px;border-top-width:2px}
.ingredient-grid,.game-shell[data-mode=rush] .ingredient-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:9px;min-height:0;align-content:start}
.ingredient{min-height:0;padding:0;align-self:start}.ingredient-well{aspect-ratio:1;border-width:3px;border-radius:12px;padding:0}.ingredient .food-sprite{width:110%;max-width:none;aspect-ratio:1}
.finishing-station{min-width:0;margin-top:42px;padding:9px 6px 12px;border:1px solid #9b734e;border-radius:9px;background:linear-gradient(110deg,#f8dcafaa,#e9c493);box-shadow:inset 0 2px #fff4,0 4px 0 #a97a51}
.finishing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.ingredient-sauce .ingredient-well{border-color:transparent;background:none;box-shadow:none}.ingredient-sauce .ingredient-well::after{display:none}.ingredient-sauce:hover:not(:disabled) .ingredient-well{border-color:#fff8;background:#fff2}.ingredient-sauce .food-sprite{width:108%;filter:drop-shadow(0 4px 2px #67452b40)}
.feedback{margin-top:19px;font-size:.875rem;min-height:42px}
.game-shell[data-mode=rush] .recipe-step{color:#5f554b}.game-shell[data-mode=rush] .recipe-item{text-decoration:none;opacity:1}
@media(min-width:1500px){.workstation{margin-top:22px}.prep-counter{grid-template-columns:minmax(100px,.8fr) minmax(0,3.4fr) minmax(0,2.2fr)}}
@media(max-width:1180px) and (min-width:761px){.game-shell{padding:16px}.workstation{grid-template-columns:195px minmax(0,1fr);gap:16px}.prep-counter{grid-template-columns:72px minmax(0,3.4fr) minmax(0,2.2fr);gap:7px;padding:11px 7px 16px}.ingredient-grid,.game-shell[data-mode=rush] .ingredient-grid{gap:5px;padding:7px}.finishing-grid{gap:5px}.finishing-station{padding:7px 4px}.bowl-stage{max-width:165px}.ticket h1{font-size:1.1rem}.receipt-quantity{font-size:.875rem}.order-base{margin-left:29px}.step-card h2{font-size:1.05rem}}
@media(max-width:950px) and (min-width:761px){.prep-counter{grid-template-columns:64px minmax(0,3fr) minmax(0,2fr);gap:6px;padding:10px 6px 15px}.ingredient-grid,.game-shell[data-mode=rush] .ingredient-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:6px}.finishing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ingredient-well{border-width:2px;border-radius:9px}.rice-station{padding-top:54px}}
@media(max-width:760px){
  .game-shell{padding:10px 10px 138px;gap:18px}.workstation{display:flex;flex-direction:column;gap:12px;margin:0}.order-column{display:contents}.ticket{order:0;width:100%;padding:11px 14px 8px}.receipt-brand{margin-bottom:8px}.receipt-brand span{margin:0}.ticket-divider{margin:7px 0}.ticket h1{font-size:1.125rem}.order-base{font-size:.875rem;margin:2px 0 5px 35px}.receipt-barcode{display:none}.receipt-end{font-size:.75rem}.ticket-meta{font-size:.75rem}.recipe-card{order:1;width:100%;padding:9px 12px}.prep-area{order:2}.step-card{padding:10px 12px;margin-bottom:12px}.step-card h2{font-size:1rem;margin:6px 0 9px}.step-top{font-size:.75rem;gap:5px}.step-card p{display:none}.step-card .progress-track{height:4px}
  .prep-counter{grid-template-columns:60px minmax(0,3fr) minmax(0,2fr);gap:5px;padding:8px 5px 12px;border-radius:10px}.rice-station{padding-top:43px}.ingredient-cooker{padding:2px 0 6px;border-width:1px;min-height:70px}.display-case{border-width:2px;border-bottom-width:4px;border-radius:8px}.case-glass{height:27px;border-bottom-width:4px}.case-footer{height:10px}.case-glass::before{left:9px}.case-glass::after{right:9px}.case-light{left:15px;right:15px;top:5px}
  .ingredient-grid,.game-shell[data-mode=rush] .ingredient-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:5px;min-height:0}.ingredient-well{border-width:2px;border-radius:8px;min-height:44px}.finishing-station{margin-top:27px;padding:5px 3px 7px;border-radius:7px}.finishing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.feedback{font-size:.875rem;margin-top:16px;min-height:39px;padding:9px 10px}
  .plating{position:fixed;z-index:10;left:10px;right:10px;bottom:10px;width:auto;display:grid;grid-template-columns:99px minmax(0,1fr);grid-template-rows:auto;gap:0 12px;padding:4px 12px 5px 4px;border-radius:12px;box-shadow:0 3px 0 #8e5c35,0 -4px 24px #29212635}.bowl-stage{grid-column:1;grid-row:1;max-width:99px;margin:0}.plate-header{position:absolute;left:8px;top:-13px;font-size:.75rem}.plate-actions{grid-column:2;grid-row:1;display:flex;flex-direction:column;justify-content:center;gap:5px}.undo-button{font-size:.875rem;padding:4px}.serve-button{font-size:1rem;padding:10px 12px;min-height:43px}.game-footer{padding:2px 0}.game-dialog{max-height:calc(100svh - 22px)}
}
@media(max-width:370px){.game-shell{padding-left:6px;padding-right:6px}.prep-counter{grid-template-columns:48px minmax(0,3fr) minmax(0,2fr);padding:7px 3px 10px;gap:3px}.ingredient-grid,.game-shell[data-mode=rush] .ingredient-grid{padding:3px;gap:3px}.finishing-grid{gap:3px}.finishing-station{padding:3px 2px 5px}.ingredient-well{min-height:44px}.step-top{font-size:.7rem}}
/* The atlas is drawn into individual canvases, retaining the original food art. */
.ingredient .food-sprite,.ingredient-sauce .food-sprite,.ingredient[data-id=pineapple] .food-sprite{position:absolute;inset:4%;width:92%;height:92%;max-width:none;aspect-ratio:1;object-fit:contain;background:none;clip-path:none;filter:drop-shadow(0 3px 2px #233c3a33)}
@media(min-width:761px){.game-shell[data-mode=rush] .step-card h2{display:none}.game-shell[data-mode=rush] .step-card p{margin:8px 0 10px}.game-shell[data-mode=rush] .ingredient-well{height:clamp(58px,calc((100svh - 360px)/4),105px);aspect-ratio:auto}}
@media(max-width:760px){.game-shell[data-mode=rush] .step-card h2{display:none}.game-shell[data-mode=rush] .step-card .progress-track{margin-top:9px}}
@media(max-width:760px){.topbar{position:sticky;top:0;z-index:15;padding:5px;border:1px solid var(--ink);border-radius:12px;background:#f5d0d8ee;backdrop-filter:blur(8px)}}

/* Supplied TINK logo: preserve the complete artwork without sticker cropping. */
.brand-mark{display:block;flex:0 0 auto;width:58px;height:58px;overflow:hidden;border-radius:50%;background:white}
.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}
.brand-mark.large{width:82px;height:82px;margin:0 auto 14px}
/* A clean, aligned opening card with one clear entry into the shift. */
.start-dialog{width:min(500px,calc(100% - 28px));background:var(--pink);border:1px solid #243344;border-radius:22px;box-shadow:0 24px 80px #17152055;color:#203242}
.start-dialog .dialog-inner{padding:28px 32px 32px;text-align:center}
.start-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:18px;border-bottom:1px solid #20324226;font-size:.65rem;font-weight:750;letter-spacing:.13em}
.shift-badge{background:#fff9f0;border:1px solid #20324226;border-radius:6px;padding:8px 10px;font-size:.62rem;letter-spacing:.08em}
.start-hero{display:flex;flex-direction:column;align-items:center;gap:20px;margin:26px 0 23px}
.start-hero .brand-mark.large{width:94px;height:94px;margin:0}
.start-hero h2{font-family:'Arial Black',Arial,sans-serif;font-weight:950;font-size:clamp(58px,13vw,80px);line-height:.89;letter-spacing:-.065em;margin:0}
.start-hero h2>span{display:block}
.start-hero h2>span+span{margin-top:5px;font-style:normal}
.start-dialog .eyebrow{font-family:inherit;font-size:.75rem;font-weight:750;letter-spacing:.12em;margin:0 0 9px}
.start-dialog .dialog-description{font-size:.97rem;line-height:1.5;color:#43505b;margin:0}
.howto{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:25px 0 24px;padding-top:18px;border-top:1px solid #20324226;text-align:left}
.howto>span{font-size:.75rem;line-height:1.45}
.howto b{display:block;font-family:var(--mono);font-weight:400;font-size:.67rem;opacity:.65;margin-bottom:7px}
.start-dialog .primary-action{min-height:55px;border:0;border-radius:9px;padding:15px 18px;background:#203242;color:white;box-shadow:none;font-size:1rem}
.start-dialog .primary-action:hover{background:#30485a}
@media(max-width:760px){.brand-mark{width:43px;height:43px}}
@media(max-width:420px){.start-dialog .dialog-inner{padding:23px 24px 25px}.start-topline{font-size:.6rem}.start-hero{margin:23px 0 21px;gap:18px}.start-hero .brand-mark.large{width:84px;height:84px}.start-dialog .eyebrow{font-size:.68rem}.start-dialog .dialog-description{font-size:.9rem}.howto{gap:8px;margin:22px 0}.howto>span{font-size:.69rem}}
@media(max-height:680px){.start-dialog .dialog-inner{padding-top:19px;padding-bottom:22px}.start-topline{padding-bottom:13px}.start-hero{margin:17px 0;gap:13px}.start-hero .brand-mark.large{width:70px;height:70px}.start-hero h2{font-size:62px}.howto{margin:18px 0;padding-top:13px}}

/* The recipe always reads straight down, in preparation order. */
.recipe-list{grid-template-columns:1fr;gap:9px}
/* Move the cooker above the fridge; give the cold ingredients the full counter. */
.prep-heading{display:grid;grid-template-columns:82px minmax(0,1fr);gap:14px;align-items:center;margin-bottom:14px}
.prep-heading .rice-station{padding:0}
.prep-heading .ingredient-cooker{min-height:0;padding:0;border:0;width:82px}
.prep-heading .step-card{margin:0}
.prep-counter{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
.noodle-sprite{display:block;position:absolute;inset:3%;width:94%;height:94%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 3px 2px #233c3a33)}
#sound-button[aria-pressed=false]{opacity:.7;text-decoration:line-through}
@media(min-width:761px){
  .ingredient-grid,.game-shell[data-mode=rush] .ingredient-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .finishing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .game-shell[data-mode=rush] .ingredient-well{height:clamp(54px,calc((100svh - 355px)/5),98px)}
}
@media(max-width:760px){
  .game-shell{padding:8px 10px 126px;gap:13px}
  .topbar{padding:4px}.brand-mark{width:36px;height:36px}.stat{padding:5px 9px}.stat strong{font-size:1.3rem}
  .workstation{gap:10px}
  .ticket{padding:10px 14px 9px}
  .ticket .receipt-brand,.ticket .receipt-end,.ticket .receipt-barcode,.ticket .ticket-divider:last-of-type{display:none}
  .ticket .ticket-divider{margin:6px 0}.ticket-meta{font-size:.75rem}
  .ticket h1{font-size:1.125rem;line-height:1.2;margin:1px 0 2px}
  .ticket .order-base{margin-bottom:1px}
  .recipe-card{padding:7px 12px}.recipe-list{grid-template-columns:1fr;gap:10px}
  .prep-heading{grid-template-columns:61px minmax(0,1fr);gap:10px;margin-bottom:9px}
  .prep-heading .ingredient-cooker{width:61px}
  .prep-heading .step-card{padding:9px 10px}
  .step-top{font-size:.75rem;flex-wrap:wrap;gap:3px 8px}
  .game-shell[data-mode=rush] .step-card .progress-track{margin-top:6px}
  .prep-counter{display:flex;flex-direction:column;gap:9px;padding:7px 7px 10px}
  .display-case{width:100%;border-radius:8px;box-shadow:0 3px 0 #4d5b5f}
  .case-glass{height:20px;border-bottom-width:3px}.case-footer{height:7px}
  .ingredient-grid,.game-shell[data-mode=rush] .ingredient-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;padding:5px}
  .ingredient-well{height:clamp(44px,calc((100vw - 72px)/6),60px);aspect-ratio:auto;min-height:44px;border-width:2px;border-radius:8px}
  .finishing-station{width:100%;margin:0;padding:5px;border-radius:7px}
  .finishing-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
  .feedback{margin-top:10px;padding:7px 10px;min-height:34px;font-size:.875rem}
  .plating{bottom:8px;grid-template-columns:90px minmax(0,1fr);padding:3px 10px 4px 4px}
  .bowl-stage{max-width:90px}.game-footer{padding:0}
}
@media(max-width:370px){
  .game-shell{padding-left:6px;padding-right:6px}
  .prep-counter{padding:5px 4px 8px}
  .ingredient-grid,.game-shell[data-mode=rush] .ingredient-grid{gap:3px;padding:4px;grid-template-columns:repeat(5,minmax(0,1fr))}
  .finishing-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:3px}
  .finishing-station{padding:3px}.finishing-grid .ingredient-well{min-height:44px}
}
@media(max-width:760px){.ticket .receipt-item~.ticket-divider{display:none}}
/* Keep the complete counter above the bowl on shorter phone screens too. */
@media(max-width:760px) and (max-height:740px){
  .game-shell{padding-top:5px;padding-bottom:108px;gap:9px}
  .topbar{padding:3px}.brand-mark{width:30px;height:30px}.stat strong{font-size:1.2rem}.stat{padding:4px 9px}
  .workstation{gap:7px}.ticket{padding:8px 12px 7px}.ticket .ticket-divider{margin:4px 0}
  .recipe-card{padding:5px 12px}
  .prep-heading{grid-template-columns:48px minmax(0,1fr);gap:8px;margin-bottom:6px}
  .prep-heading .ingredient-cooker{width:48px}.prep-heading .step-card{padding:7px 9px}
  .prep-counter{gap:7px;padding:5px 5px 7px}.case-glass{height:15px}.case-footer{height:5px}
  .ingredient-grid,.game-shell[data-mode=rush] .ingredient-grid{gap:4px;padding:4px}
  .ingredient-well{height:44px;aspect-ratio:auto;min-height:44px}
  .finishing-station{padding:4px}.finishing-grid{gap:4px}
  .feedback{margin-top:7px;padding:6px 9px;min-height:31px}
  .plating{grid-template-columns:76px minmax(0,1fr);bottom:6px}.bowl-stage{max-width:76px}
  .plate-actions{gap:2px}.undo-button{padding:3px}.serve-button{min-height:40px;padding:7px 12px}
}
@media(max-width:760px) and (max-height:740px){
  .workstation{gap:5px}.recipe-card{padding-top:3px;padding-bottom:3px}
  .prep-heading{grid-template-columns:44px minmax(0,1fr);margin-bottom:5px}
  .prep-heading .ingredient-cooker{width:44px}.case-glass{height:10px}
  .feedback{padding:4px 8px;min-height:27px;margin-top:5px}
}
/* Mixed receipts and an explicit container choice, shared by both stations. */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.workstation{grid-template-columns:270px minmax(0,1fr)}
.order-list{list-style:none;margin:0;padding:0;display:grid;gap:13px}
.receipt-product{padding-bottom:11px;border-bottom:1px dashed #8c8785}
.receipt-product:last-child{padding:0;border-bottom:0}
.receipt-product-title{display:flex;align-items:baseline;gap:7px;font-size:1rem;line-height:1.25;letter-spacing:-.04em}
.receipt-index{font-size:.875rem;flex-shrink:0}.receipt-product-title strong{flex:1}
.receipt-check{font-size:1rem;flex-shrink:0}.receipt-product.ready .receipt-check{color:#376043;font-weight:900}
.receipt-product p{font-size:.875rem;line-height:1.3;margin:4px 0 0 20px;font-weight:700}
.receipt-product .receipt-changes{font-weight:400;color:#69402c}
.receipt-product.selected .receipt-index{background:var(--pink);border-radius:3px;box-shadow:0 0 0 3px var(--pink)}
.prep-heading .step-card{position:relative;padding-right:88px}
.recipe-button{position:absolute;right:10px;top:50%;transform:translateY(-50%);min-height:36px;border:1px solid #af9986;border-radius:6px;background:#fff9ee;color:#382c26;font-size:.875rem;padding:7px 10px;font-weight:700}
.recipe-button:active:not(:disabled){transform:translateY(calc(-50% + 2px))}.recipe-button:disabled{opacity:.45}
.drink-heading{grid-template-columns:1fr}
.matcha-station{padding:20px;border:3px solid #4b6250;border-radius:14px;background:linear-gradient(135deg,#ecf1d6,#c2d3a6);box-shadow:0 6px 0 #40503b,0 12px 24px #1d322733}
.matcha-station-header{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid #61765755;color:#354a35;font-size:.75rem;font-weight:800;letter-spacing:.08em}
.matcha-station-header span:last-child{font-weight:500;letter-spacing:.03em}
.matcha-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.drink-ingredient{min-width:0;padding:4px;border:1px solid #81916b;border-radius:12px;background:#f9ffe355;box-shadow:0 3px 0 #81916b;color:#354a35;min-height:44px}
.drink-ingredient:hover:not(:disabled){background:#ffffffa8;border-color:#405539}
.drink-ingredient canvas{display:block;width:100%;aspect-ratio:1;max-height:160px;object-fit:contain;filter:drop-shadow(0 4px 3px #30402226)}
.plating{display:flex;flex-direction:column;gap:9px;padding:9px}
.item-tray{display:flex;gap:7px;min-width:0;align-items:stretch}
.container-slot{position:relative;flex:1;min-width:0;min-height:44px;border:2px solid transparent;border-radius:10px;background:#ffffff28;padding:3px 3px 7px;color:#533b29}
.container-slot[aria-pressed=true]{border-color:#253c2b;background:#f3f8d6;box-shadow:0 0 0 1px #253c2b}
.container-slot.ready{background:#e5f0b5}.container-slot.not-ordered{opacity:.4}
.container-canvas{display:block;width:100%;height:100px;object-fit:contain}
.slot-label{display:block;font-size:.875rem;font-weight:750;line-height:1.1}
.slot-status{position:absolute;right:4px;top:4px;background:#31563e;color:white;border-radius:4px;font-size:.6rem;padding:3px;font-weight:700;line-height:1}
.slot-status:empty{display:none}.not-ordered .slot-status{display:none}
.plate-actions{display:flex;flex-direction:column;gap:4px}.serve-button{font-size:.9rem}
#ready-count{font-family:var(--mono);font-size:.8rem;font-weight:700;white-space:nowrap}
.recipe-dialog .dialog-inner{text-align:left}.recipe-dialog h2{font-size:1.45rem;line-height:1.2}
.recipe-dialog .recipe-list{grid-template-columns:1fr;margin:18px 0 24px;gap:11px}
.recipe-dialog .recipe-step{font-size:.94rem;color:#443d36;line-height:1.45}
#recipe-detail{font-size:.875rem;line-height:1.4;color:#655345}
@media(min-width:761px){
  .prep-heading{grid-template-columns:65px minmax(0,1fr);gap:12px;margin-bottom:12px}.prep-heading .ingredient-cooker{width:65px}
  .prep-heading.drink-heading{grid-template-columns:1fr}
  .order-column{gap:18px}.ticket{padding:16px}.receipt-brand span{margin-bottom:13px}
  .prep-counter{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
  .game-shell[data-mode=rush] .ingredient-well{height:clamp(50px,calc((100svh - 320px)/5),87px)}
}
@media(min-width:761px) and (max-width:1000px){.workstation{grid-template-columns:235px minmax(0,1fr);gap:14px}.prep-counter{gap:7px;padding:8px}.ingredient-grid,.game-shell[data-mode=rush] .ingredient-grid{gap:4px;padding:5px}.finishing-grid{gap:4px}.matcha-station{padding:12px}.matcha-grid{gap:8px}}
@media(max-width:760px){
  .game-shell{padding:7px 10px 132px;gap:10px}.workstation{gap:8px}
  .ticket{padding:10px 12px 9px}.ticket>.ticket-divider:last-of-type{display:none}
  .order-list{gap:8px}.receipt-product{padding-bottom:7px}
  .receipt-product-title{font-size:.875rem;line-height:1.2;gap:6px;letter-spacing:-.035em}.receipt-index{font-size:.75rem}
  .receipt-product p{font-size:.8125rem;margin:3px 0 0 18px;line-height:1.2}.receipt-product .receipt-changes{font-size:.8125rem}
  .prep-heading{grid-template-columns:48px minmax(0,1fr);gap:8px;margin-bottom:7px}
  .prep-heading .ingredient-cooker{width:48px}.prep-heading .step-card{padding:8px 72px 8px 9px}
  .prep-heading.drink-heading{grid-template-columns:1fr}
  .step-top{font-size:.75rem;gap:3px}.recipe-button{min-height:34px;right:7px;padding:6px 8px;font-size:.8125rem}
  .prep-counter{gap:7px;padding:6px 6px 9px}.case-glass{height:15px}.case-footer{height:6px}
  .feedback{margin-top:8px;padding:6px 8px;font-size:.8125rem;min-height:30px}
  .plating{position:fixed;left:8px;right:8px;bottom:8px;display:grid;grid-template-columns:minmax(0,1fr) 110px;grid-template-rows:1fr;gap:8px;padding:5px 7px;width:auto}
  .item-tray{grid-column:1;grid-row:1;gap:4px}.plate-actions{grid-column:2;grid-row:1;gap:4px;justify-content:center}
  .container-canvas{height:70px}.container-slot{padding:2px 1px 5px;border-radius:8px}.slot-label{font-size:.8125rem}
  .slot-status{font-size:.56rem;padding:2px;right:2px;top:2px}.container-slot.not-ordered{flex:.65}
  .serve-button{font-size:.875rem;min-height:42px;padding:9px 7px;gap:4px}.undo-button{font-size:.8125rem;padding:5px 0}
  .plate-header{top:-15px;left:9px}
  .matcha-station{padding:13px;border-width:2px;border-radius:10px}.matcha-grid{gap:10px}
  .matcha-station-header{margin-bottom:14px;padding-bottom:11px;font-size:.75rem}
  .drink-ingredient{padding:3px;border-radius:9px}.drink-ingredient canvas{max-height:130px}
}
@media(max-width:760px) and (max-height:740px){
  .game-shell{padding:5px 8px 116px;gap:8px}.workstation{gap:6px}
  .ticket{padding:8px 10px 7px}.ticket .ticket-divider{margin:4px 0}.order-list{gap:5px}.receipt-product{padding-bottom:5px}
  .receipt-product p{font-size:.75rem;margin-top:2px}.receipt-product .receipt-changes{font-size:.75rem}
  .prep-heading{grid-template-columns:44px minmax(0,1fr);gap:7px;margin-bottom:5px}.prep-heading .ingredient-cooker{width:44px}
  .prep-heading .step-card{padding-top:7px;padding-bottom:7px}.case-glass{height:10px}.case-footer{height:5px}
  .prep-counter{padding:5px 4px 7px;gap:6px}.finishing-station{padding:4px}
  .ingredient-grid,.game-shell[data-mode=rush] .ingredient-grid{padding:4px;gap:4px}.ingredient-well{height:44px}
  .feedback{min-height:25px;padding:4px 7px;margin-top:6px;line-height:1.3}
  .plating{bottom:6px;padding:4px 5px;gap:6px;grid-template-columns:minmax(0,1fr) 106px}
  .container-canvas{height:63px}.container-slot{padding-bottom:4px}.serve-button{min-height:40px}.undo-button{padding:4px 0}
  .matcha-station-header span:last-child{display:none}
}
@media(max-width:760px){
  .ticket>.order-list+.ticket-divider{display:none}
  .plating .plate-header{position:absolute;inset:0;pointer-events:none}
  .plating #combo{position:absolute;right:10px;bottom:-5px;font-size:.65rem;padding:2px 5px}
}
@media(max-width:760px) and (max-height:740px){
  .game-shell{gap:4px}.workstation{gap:3px}.ticket{padding-top:6px;padding-bottom:5px}
  .prep-heading{margin-bottom:3px}.prep-counter{padding-bottom:5px}.feedback{margin-top:4px}
  .order-list{gap:4px}.container-canvas{height:58px}
}
/* The receipt and selected recipe share a readable, always-open workspace. */
.order-notes{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,5fr);gap:12px;align-items:start;min-width:0}
.order-notes .ticket{transform:none;padding:13px 11px}
.order-notes .receipt-brand{font-size:1.25rem}.order-notes .receipt-brand span{font-size:.56rem;margin-bottom:13px}
.order-notes .ticket-meta{flex-wrap:wrap;font-size:.75rem;gap:3px}
.order-notes .ticket-meta>span:last-child{display:none}
.order-notes .receipt-product-title{font-size:.875rem;letter-spacing:-.025em;gap:4px}
.order-notes .receipt-product p{font-size:.875rem;margin-left:0;line-height:1.3}
.recipe-panel{min-width:0;overflow:hidden;background:#fffaf1;border:1px solid #b4a18a;border-radius:10px;box-shadow:0 3px 0 #77645244;color:#3b322b}
.recipe-heading{display:flex;justify-content:space-between;gap:5px;padding:10px 11px;background:#f5d0d8;border-bottom:1px solid #dec2bd;font:700 .75rem var(--mono)}
.recipe-scroll{padding:11px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9d8775 #f4e7d5;scroll-padding:10px}
.recipe-scroll:focus-visible{outline:2px solid #3578a0;outline-offset:-3px}
.recipe-panel h2{font-size:1rem;line-height:1.25;margin:0 0 7px;letter-spacing:-.025em}
.recipe-panel #recipe-detail{font-size:.875rem;line-height:1.35;margin:0 0 10px;color:#685344}
.recipe-panel .recipe-list{grid-template-columns:1fr;margin:0;gap:8px}
.recipe-panel .recipe-step{font-size:.8125rem;line-height:1.3;color:#443b32;gap:6px}
.recipe-panel .recipe-step::before{width:18px;height:18px;font-size:.75rem;background:#eadbc8;color:#594835}
.recipe-panel .any-order-note{font-size:.75rem;line-height:1.3;margin-top:2px}
.prep-heading .step-card{padding-right:12px}
.step-card #step-note{display:none}
.game-shell .step-card #feedback{display:block;margin:4px 0 6px;min-height:0;padding:0;background:none;border-radius:0;font-size:.8125rem;line-height:1.25;color:#685344}
.game-shell .step-card #feedback.error{color:#9e3024}.game-shell .step-card #feedback.success{color:#32654b}
@media(min-width:1001px){
  .workstation{grid-template-columns:minmax(390px,4fr) minmax(0,7fr);gap:20px}
  .recipe-scroll{max-height:calc(100svh - 340px);min-height:160px}
  .order-column{gap:15px}.order-notes .receipt-barcode{width:85px;margin-top:13px}
  .plating{display:grid;grid-template-columns:minmax(0,1fr) 120px;align-items:center;gap:8px}
  .plate-header{grid-column:1/-1}.container-canvas{height:90px}
}
@media(min-width:761px) and (max-width:1000px){
  .workstation{grid-template-columns:minmax(320px,1fr) minmax(0,1fr);gap:15px}
  .order-notes{grid-template-columns:minmax(0,4fr) minmax(0,5fr);gap:9px}
  .recipe-scroll{max-height:330px}.order-notes .ticket{padding:11px 9px}
  .game-shell{padding:14px}.prep-counter{display:flex;flex-direction:column}
  .finishing-station{margin-top:0}.finishing-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .ingredient-grid,.game-shell[data-mode=rush] .ingredient-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
  .game-shell[data-mode=rush] .ingredient-well{height:52px}
}
@media(max-width:760px){
  .order-notes{grid-template-columns:minmax(0,46fr) minmax(0,54fr);gap:8px;height:194px;align-items:stretch}
  .order-notes .ticket{padding:9px 8px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#aaa #fff}
  .order-notes .ticket::before,.order-notes .ticket::after{display:none}
  .order-notes .ticket{border-radius:3px;border-top:4px solid #343638;background:repeating-linear-gradient(0deg,#fff 0 3px,#f9f8f6 3px 4px)}
  .order-notes .ticket-meta{font-size:.75rem;letter-spacing:-.03em}
  .order-notes .receipt-product-title{font-size:.8125rem;line-height:1.2;gap:3px}
  .order-notes .receipt-index{font-size:.75rem}.order-notes .receipt-check{font-size:.75rem}
  .order-notes .receipt-product p{font-size:.75rem;line-height:1.25;margin-top:4px}
  .order-notes .receipt-product{padding-bottom:7px}.order-notes .order-list{gap:7px}
  .recipe-panel{display:flex;flex-direction:column;min-height:0;border-radius:7px}
  .recipe-heading{padding:7px 8px;font-size:.75rem;flex-shrink:0}
  .recipe-scroll{padding:8px;min-height:0;flex:1}
  .recipe-panel h2{font-size:.875rem;line-height:1.2;margin-bottom:5px}
  .recipe-panel #recipe-detail{font-size:.8125rem;line-height:1.2;margin-bottom:8px}
  .recipe-panel .recipe-list{gap:4px}.recipe-panel .recipe-step{gap:5px;font-size:.8125rem;line-height:1.3}
  .recipe-panel .recipe-step::before{width:16px;height:17px;border-radius:4px}
  .recipe-panel[data-kind=bowl] .recipe-list{display:block;font-size:.8125rem;line-height:1.3}
  .recipe-panel[data-kind=bowl] .recipe-step{display:inline;line-height:1.3}
  .recipe-panel[data-kind=bowl] .recipe-step::before{display:none}
  .recipe-panel[data-kind=bowl] .recipe-step:not(:last-child)::after{content:' → ';color:#887562;font-weight:700}
  .recipe-panel .any-order-note{display:inline;font-size:.6875rem;margin-left:3px}
  .prep-heading .step-card{padding-right:9px}
}
@media(max-width:760px) and (max-height:740px){
  .order-notes{height:176px;gap:7px}
  .order-notes .ticket{padding:6px 7px}
  .recipe-heading{padding:5px 7px}.recipe-scroll{padding:7px}
  .game-shell .step-card #feedback{margin:2px 0 3px}
  .game-shell[data-mode=rush] .step-card .progress-track{margin-top:3px}
  .prep-counter{gap:4px}.case-glass{height:8px}.finishing-station{padding:3px}
}
/* Keep the cooker conspicuous in its own light station at the counter's left. */
.prep-heading,.prep-heading.drink-heading{grid-template-columns:minmax(0,1fr)}
.cold-grid .rice-station{display:flex;padding:0;min-width:0}
.cold-grid .ingredient-cooker{position:relative;display:grid;place-items:center;width:100%;height:100%;min-height:44px;padding:0;border:2px solid #f8e4bd;border-right-color:#c4a77a;border-bottom-color:#b69466;border-radius:9px;background:linear-gradient(135deg,#fffaf0,#edd8b4);box-shadow:0 1px 2px #6c543455,inset 0 0 0 1px #fff8;filter:none}
.cold-grid .ingredient-cooker:hover:not(:disabled){background:#fff5d6;border-color:#fff}
.cold-grid .cooker-image{position:absolute;inset:1%;width:98%;height:98%;aspect-ratio:auto;object-fit:contain;filter:drop-shadow(0 2px 1px #654a3533)}
.order-notes .receipt-product-title{font-size:.9375rem;line-height:1.25}
.order-notes .receipt-product p{font-size:.875rem;line-height:1.3}
.container-slot .slot-status{top:auto;bottom:22px;right:5px}
@media(max-width:760px){
  .order-notes{grid-template-columns:minmax(0,49fr) minmax(0,51fr)}
  .order-notes .receipt-product-title{font-size:.875rem;line-height:1.2;letter-spacing:-.035em}
  .order-notes .receipt-product p{font-size:.8125rem;line-height:1.2;margin-top:3px}
  .order-notes .receipt-product{padding-bottom:5px}.order-notes .order-list{gap:5px}
  .container-slot .slot-status{bottom:18px;right:3px}
}

.site-return{color:inherit;text-decoration:underline;text-underline-offset:4px;font-size:14px;line-height:1.5;padding:10px;display:inline-block}.site-return:focus-visible{outline:3px solid #172c40;outline-offset:3px}.start-return{display:block;text-align:center;margin-top:13px}.game-footer{display:flex;justify-content:space-between;align-items:center;gap:15px}
/* Touch targets and safe-area space for the integrated mobile game. */
@media(max-width:760px){
  .game-shell{padding-bottom:calc(152px + env(safe-area-inset-bottom,0px))}
  .round-button{width:44px;height:44px}
  .serve-button,.undo-button,.game-footer button,.site-return{min-height:44px}
  .plating{bottom:calc(8px + env(safe-area-inset-bottom,0px))}
  .order-notes .receipt-product p,.recipe-panel .recipe-step,.recipe-panel[data-kind=bowl] .recipe-list{font-size:14px;line-height:1.35}
  .recipe-panel h2{font-size:16px}
}
@media(max-width:370px){
  .finishing-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
  .game-shell[data-mode=rush] .ingredient-well{height:48px;min-height:48px}
}
/* Public top-20 board and optional end-of-game submission. */
.game-dialog[open]{max-height:calc(100dvh - 28px);overflow-y:auto;overscroll-behavior:contain}
.game-dialog button:disabled{opacity:.6;cursor:wait}
.ranking-status{font-size:15px;line-height:1.5;margin:10px 0}
.ranking-status:empty{display:none}
.result-ranking{margin:18px 0;padding:16px 0;border-block:1px solid #172c4026}
#ranking-form{text-align:left;margin:14px 0}
#ranking-form[hidden],#retry-leaderboard[hidden]{display:none}
#ranking-form label{display:block;font-size:16px;font-weight:700;margin:12px 0 6px}
#ranking-form label span{font-size:13px;font-weight:400}
#ranking-form input,#ranking-form textarea{box-sizing:border-box;display:block;width:100%;padding:12px;border:1px solid #172c4066;background:#fff;color:#172c40;border-radius:8px;font:inherit;font-size:16px}
#ranking-form textarea{resize:vertical}
#ranking-public-note,.leaderboard-privacy{font-size:13px;line-height:1.6}
.leaderboard-dialog{width:min(580px,calc(100vw - 24px))}
.leaderboard-dialog .dialog-inner{padding:24px}
.leaderboard-dialog h2{font-size:34px}
.leaderboard-list{padding:0;margin:22px 0;list-style:none;text-align:left}
.leaderboard-list li{border-bottom:1px solid #172c4030;padding:14px 0}
.leaderboard-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:baseline}
.leaderboard-row strong,.leaderboard-list p{overflow-wrap:anywhere}
.leaderboard-rank{font-weight:800;color:#805069}
.leaderboard-points{font-weight:800;font-size:15px;white-space:nowrap}
.leaderboard-list p{margin:6px 0 4px 42px;font-size:15px;line-height:1.5}
.leaderboard-list small{display:block;margin-left:42px;color:#596772;font-size:11px}
.leaderboard-privacy{text-align:left;margin:18px 0}
.leaderboard-privacy summary{cursor:pointer;padding:10px 0;font-weight:700}
.leaderboard-privacy a{color:inherit}
@media(max-width:400px){.leaderboard-dialog .dialog-inner{padding:18px}.leaderboard-row{gap:6px;grid-template-columns:25px minmax(0,1fr) auto}.leaderboard-points{font-size:13px}.leaderboard-list p,.leaderboard-list small{margin-left:31px}}
