@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/barlow-condensed-600.0d85af813fc3ed87.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/barlow-condensed-800.73bc9e17231e9073.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/assets/barlow-condensed-900.0ec6b3cca2df54f1.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/dm-sans-400.b0ae3e89a7d3ef2b.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/dm-sans-700.2a8e7f713ee79fbc.ttf) format('truetype');
}

:root{--ink:#132d32;--deep:#092129;--cream:#fff2cf;--yellow:#ffcc67;--red:#ec794f;--green:#badc89;--muted:#a5b9aa;--line:#4d675d;font-family:'DM Sans',sans-serif;color-scheme:dark;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:#0b1c24;color:var(--cream);min-height:100dvh;background-image:radial-gradient(ellipse at 50% 20%,#32635355,transparent 70%)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid var(--green);outline-offset:3px}[hidden]{display:none!important}.app{width:min(100%,520px);margin:18px auto;background:var(--ink);border:1px solid #69857444;box-shadow:0 15px 80px #0008;overflow:hidden}.topbar{height:66px;padding:12px 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #66807844}.wordmark{font:800 26px/.85 'Barlow Condensed',Impact,sans-serif;letter-spacing:.5px}.wordmark span{color:var(--red)}.wordmark small{display:block;font-size:8px;color:var(--muted);letter-spacing:2px;margin-top:8px}.utilities{display:flex;gap:5px}.icon-button{height:38px;width:38px;border:1px solid #68837266;border-radius:5px;color:var(--cream);background:transparent;font-size:22px;display:flex;align-items:center;justify-content:center}.icon-button span{font-size:7px;align-self:flex-end;margin-bottom:7px}.icon-button:hover{background:#54776833}.cover-scene{height:285px;background:linear-gradient(0deg,#0b2026aa,transparent 65%),url('/assets/market.dc68e32b370fabbd.webp') center/cover;position:relative;display:flex;align-items:center;justify-content:center}.cover-sign{text-align:center;filter:drop-shadow(0 5px 0 #132126);margin-top:-20px}.cover-sign>span{font-size:9px;font-weight:700;letter-spacing:3px;background:var(--deep);padding:5px 10px}.cover-sign h1{font:900 84px/.78 'Barlow Condensed',Impact,sans-serif;letter-spacing:2px;margin:17px 0 12px;transform:rotate(-4deg)}.cover-sign em{font-style:normal;color:var(--yellow)}.cover-sign p{font-size:13px;background:var(--deep);padding:5px 10px}.cover-dishes{display:flex;gap:8px;position:absolute;bottom:-14px}.cover-dishes .sprite{width:72px;height:72px;mix-blend-mode:lighten}.home-content{padding:29px 24px 16px}.intro-heading{display:flex;align-items:center;justify-content:space-between;height:21px}.eyebrow{font-size:9px;letter-spacing:1.4px;color:var(--yellow);font-weight:700}.stamp{height:58px;width:58px;border:1px solid #8a9c7980;border-radius:50%;display:flex;align-items:center;justify-content:center;transform:rotate(10deg);font-size:8px;text-align:center;color:var(--muted);line-height:1.4}.home h2{font:800 29px/1.1 'Barlow Condensed',sans-serif;margin:15px 0 10px}.home-content>p{color:#c3d3be;font-size:14px;line-height:1.5;margin:0 0 20px}.primary{width:100%;min-height:48px;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;background:var(--yellow);color:var(--ink);border:1px solid #ffe09b;border-radius:5px;box-shadow:0 4px 0 #a86f35;font-size:15px;font-weight:700}.primary:active{transform:translateY(2px);box-shadow:0 2px 0 #a86f35}.primary.jumbo{font-size:16px;min-height:52px}.primary span{font-size:23px}.secondary{width:100%;min-height:44px;background:#284c49;border:1px solid #739181;color:var(--cream);border-radius:4px;margin-top:12px;padding:9px;font-size:14px}.route-heading{display:flex;justify-content:space-between;margin:27px 0 10px;font-size:9px;letter-spacing:.9px;color:var(--muted);font-weight:700}.route-heading span+span{color:var(--yellow)}.shift-map{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.shift-tile{background:#254242;border:1px solid #54725f;border-radius:3px;padding:8px 2px;color:var(--cream);min-height:57px}.shift-tile strong{display:block;font:600 24px/1 'Barlow Condensed',sans-serif}.shift-tile span{font-size:10px;color:var(--yellow)}.shift-tile:disabled{opacity:.3}.shift-tile.current{border-color:var(--yellow)}.home-foot{text-align:center;display:flex;flex-direction:column;gap:5px;color:#9bb4a4;font-size:10px;margin-top:18px}.home-foot #saveNote{font-size:9px}.font-credits{font-size:9px;color:#87a693;text-decoration:underline;min-height:22px;padding-top:4px}.sprite{display:inline-block;background-image:url('/assets/sprites.46c8dda9828e088d.webp');background-size:400% 400%;background-repeat:no-repeat;image-rendering:pixelated;flex-shrink:0}.s0{background-position:0 0}.s1{background-position:33.333333% 0}.s2{background-position:66.666667% 0}.s12{background-position:0 100%}.s13{background-position:33.333333% 100%}.s14{background-position:66.666667% 100%}.s15{background-position:100% 100%}
body.playing .topbar{height:50px;padding-block:6px}body.playing .wordmark{font-size:24px}body.playing .wordmark small{display:none}.shiftbar{height:26px;padding:4px 13px;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.6px;color:var(--muted)}.shiftbar b{color:var(--yellow);font-size:12px;margin-left:7px}.shiftbar #shiftNumber{font-size:9px;font-weight:700;letter-spacing:.9px}.customer{position:relative;height:86px;display:flex;align-items:center;gap:7px;padding:8px 12px;background:linear-gradient(#0b2026b0,#0b2026dc),url('/assets/market.dc68e32b370fabbd.webp') center 38%/cover;border-top:2px solid #c48242;border-bottom:4px solid #b16842;transition:box-shadow .15s}.customer>.sprite{width:62px;height:70px;mix-blend-mode:lighten;align-self:flex-end}.order-ticket{flex:1;min-width:0}.order-ticket .eyebrow{font-size:8px}.order-ticket h2{font:800 24px/1 'Barlow Condensed',sans-serif;margin:5px 0}.recipe-needs{display:flex;gap:4px;flex-wrap:wrap;line-height:1}.recipe-needs span{font-size:9px;color:#d4dbc4;white-space:nowrap}.recipe-needs span.done{color:var(--green);text-decoration:line-through}.recipe-needs span+span:before{content:'·';margin-right:4px;color:#728f7e}.customer-dish{display:flex;flex-direction:column;align-items:center;width:63px;gap:2px}.customer-dish .sprite{width:49px;height:43px;border-radius:50%}.customer-dish>span{font-size:8px;text-align:center;line-height:1.2;color:#c7dabd}.customer.ready{box-shadow:inset 0 0 0 3px var(--green)}.customer.hovered{box-shadow:inset 0 0 0 4px var(--yellow);background-color:#3a775a}.coach{height:50px;display:flex;align-items:center;gap:10px;padding:7px 14px;background:#294942;border-bottom:1px solid #6c7d57}.coach>span{font-size:27px;color:var(--yellow);width:24px;text-align:center;font-family:'Barlow Condensed',sans-serif}.coach strong{font-size:13px;color:var(--cream);display:block;line-height:1.1;margin-bottom:3px}.coach p{font-size:11px;margin:0;line-height:1.25;color:#c3d8ba}.counter{position:relative;height:clamp(300px,calc(100dvh - 306px),495px);background:#193438;isolation:isolate;overflow:hidden}.counter canvas{width:100%;height:100%;display:block;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}.counter canvas.dragging{cursor:grabbing}.station-label{position:absolute;pointer-events:none;font:700 9px/1 'DM Sans',sans-serif;letter-spacing:2px;padding:5px 7px;border-radius:3px;color:#fff1c5;background:#112b32d0;transform:translate(-50%,-50%)}.board-label{left:26%;top:15%}.wok-label{left:74%;top:15%}.plate-label{left:73%;top:91%}.board-count{position:absolute;left:26%;top:55%;transform:translate(-50%,-50%);padding:4px 8px;border-radius:4px;background:#182f2fe8;color:var(--yellow);font-size:10px;font-weight:700;pointer-events:none;white-space:nowrap}.tools-label{position:absolute;pointer-events:none;font-size:7px;font-weight:700;letter-spacing:1.1px;color:#ebdbaa;text-shadow:0 1px 2px #000;background:#132d3299;padding:2px 4px;border-radius:2px;transform:translateX(-50%)}.knife-label{left:14%;top:73%}.spatula-label{left:39%;top:73%}.seasoning-label{left:14%;top:96%}.tamarind-label{left:39%;top:96%}.station-hint{position:absolute;top:3%;left:9%;right:9%;text-align:center;font-size:10px;color:#f4dfa5;text-shadow:0 1px 2px #000;pointer-events:none;font-weight:700}.action-meter{position:absolute;left:53%;right:5%;top:53%;padding:6px 8px;background:#0c272ce8;border:1px solid #9a995a;border-radius:4px;pointer-events:none;display:grid;grid-template-columns:1fr 29px;align-items:center;gap:4px}.action-meter>span{grid-column:1/-1;font-size:8px;letter-spacing:.7px;color:#e4dba8}.meter-track{position:relative;height:7px;background:#4c614c;border:1px solid #9eaa6f;border-radius:2px}.ideal-zone{position:absolute;left:45%;width:30%;height:100%;background:var(--green)}.meter-track i{position:absolute;left:0;top:-3px;bottom:-3px;width:3px;background:var(--cream)}.action-meter strong{font-size:9px;text-align:right;color:var(--yellow)}.action-meter.stir .ideal-zone{left:0;width:100%;background:#44877a}
.pantry{padding:7px 12px 9px;background:#1f3939;border-top:3px solid #b97e4a}.pantry-heading{display:flex;justify-content:space-between;font-size:8px;font-weight:700;letter-spacing:1.2px;color:#adbea6;margin-bottom:6px}.pantry-heading span+span{letter-spacing:0;color:var(--yellow);font-weight:400;font-size:10px}.ingredients{display:grid;grid-template-columns:repeat(8,1fr);gap:5px}.ingredient{padding:3px 1px 5px;min-width:0;min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#314e47;border:1px solid #63816b;border-radius:4px;color:var(--cream);box-shadow:0 3px 0 #102725;touch-action:none;user-select:none;-webkit-user-select:none;position:relative;cursor:grab}.ingredient canvas{width:38px;height:35px;pointer-events:none}.ingredient span{font-size:8px;line-height:1.2;pointer-events:none;white-space:nowrap}.ingredient:disabled{opacity:.24;cursor:default}.ingredient.needed{border-color:#d2bd73;background:#635b3a}.ingredient.used:after{content:'✓';position:absolute;right:2px;top:0;color:var(--green);font-size:12px}.ingredient.grabbed{opacity:.35}.game-foot{height:30px;padding:3px 12px;display:flex;align-items:center;justify-content:space-between;color:#a9bfa9;font-size:9px}.text-button{min-height:24px;background:transparent;color:#d0d9b5;font-size:9px;text-decoration:underline;text-underline-offset:3px;padding:3px}.toast{position:fixed;top:115px;left:50%;z-index:12;transform:translate(-50%,-8px);background:var(--cream);border:1px solid var(--yellow);color:var(--ink);padding:9px 14px;font-size:12px;text-align:center;font-weight:700;border-radius:5px;max-width:90vw;box-shadow:0 3px 0 #0005;opacity:0;transition:.15s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}#dragLayer{position:fixed;inset:0;z-index:20;width:100vw;height:100dvh;pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}dialog{padding:0;border:2px solid #dfbe73;border-radius:6px;background:var(--ink);color:var(--cream);width:min(410px,calc(100% - 32px));max-height:calc(100dvh - 28px);box-shadow:0 15px 65px #0009}dialog::backdrop{background:#051821ce;backdrop-filter:blur(4px)}#dialogBody{padding:24px 22px}dialog .eyebrow{display:block;text-align:center}dialog h2{font:800 35px/1.05 'Barlow Condensed',sans-serif;text-align:center;margin:12px 0}dialog p{font-size:13px;line-height:1.5;color:#c6d6bf;text-align:center}dialog .primary{margin-top:18px;justify-content:center;gap:9px}dialog .stars{text-align:center;color:var(--yellow);font-size:35px;letter-spacing:6px}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;padding:14px 0;margin:14px 0;border-block:1px solid #5c775c}.result-stats b{font:600 29px/1 'Barlow Condensed',sans-serif;color:var(--yellow);display:block}.result-stats span{font-size:9px;color:var(--muted)}.help-steps{padding-left:22px;font-size:13px;line-height:1.4;color:#d0ddc3}.help-steps li{padding:5px 0}.help-steps strong{color:var(--yellow)}.reward{background:#335047;padding:10px;text-align:center;border:1px dashed #7d9d74;border-radius:4px;font-size:12px;color:#e0eac3}.loading-note{position:absolute;left:0;right:0;top:40%;text-align:center;color:var(--cream)}
@media(max-width:540px){.app{border:0;margin:0;min-height:100dvh;padding-bottom:env(safe-area-inset-bottom)}.cover-scene{height:265px}.home-content{padding-top:27px}.ingredients{grid-template-columns:repeat(4,1fr);gap:5px}.ingredient{min-height:49px;flex-direction:row;gap:3px;padding:3px}.ingredient canvas{width:37px;height:36px}.ingredient span{font-size:10px}.counter{height:clamp(270px,calc(100dvh - 342px),495px)}.pantry{padding:6px 10px 8px}.pantry-heading{margin-bottom:5px}.game-foot{height:27px}.topbar{padding-inline:13px}}
@media(max-height:720px){.customer{height:76px}.customer>.sprite{width:51px;height:60px}.order-ticket h2{font-size:22px}.coach{height:46px;padding-block:6px}.coach p{font-size:10px}.counter{height:clamp(265px,calc(100dvh - 322px),495px)}.cover-scene{height:222px}.cover-sign h1{font-size:70px}.home h2{font-size:26px}.home-content>p{margin-bottom:14px}.route-heading{margin-top:21px}}
@media(min-width:900px){body:before,body:after{position:fixed;top:50%;font:600 14px/1 'Barlow Condensed',sans-serif;letter-spacing:4px;writing-mode:vertical-rl;content:'YOUR HANDS · YOUR LITTLE KITCHEN';color:#62816d;left:calc(50% - 300px);transform:translateY(-50%) rotate(180deg)}body:after{content:'BANGKOK · EST. TONIGHT';left:auto;right:calc(50% - 300px);transform:translateY(-50%)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
@media(max-width:540px) and (min-height:560px){body.playing .app{height:100dvh;display:flex;flex-direction:column}.playing .topbar{flex-shrink:0}.playing #play{display:flex;flex-direction:column;flex:1;min-height:0}.playing #play>*{flex-shrink:0}.playing #play>.counter{flex:1;min-height:220px;height:auto}}
