:root{font-family:Trebuchet MS,Arial,sans-serif;color:#3a241b;background:#3a241b;font-synthesis:none;--ink:#3a241b;--coral:#e94f39;--butter:#ffd15c;--teal:#75a853;--cream:#fff2ce}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input{font:inherit}button{cursor:pointer;border:3px solid var(--ink);border-radius:8px;background:var(--cream);color:var(--ink);padding:11px 16px;font-weight:900;box-shadow:0 4px 0 var(--ink);transition:transform .12s,background .12s;touch-action:manipulation}button:hover:not(:disabled){transform:translateY(-2px) rotate(-1deg);background:var(--butter)}button:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 var(--ink)}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible{outline:4px solid var(--teal);outline-offset:4px}input{border:3px solid var(--ink);background:#fff7e3;border-radius:6px;padding:11px 12px;min-width:0;color:var(--ink);font-weight:700}#world{position:fixed;inset:0;width:100%;height:100%;display:block}#app{position:relative;height:100dvh;pointer-events:none}#app>*{pointer-events:auto}.brand{position:absolute;left:28px;top:22px;display:flex;align-items:center;gap:10px;font-size:18px;font-weight:1000;letter-spacing:1px;color:var(--cream);text-shadow:2px 2px var(--ink)}.brand-mark{font-size:27px;background:var(--coral);padding:5px 10px;border:3px solid var(--ink);border-radius:8px;transform:rotate(-8deg)}.edition{display:none}.welcome{position:absolute;left:5vw;top:50%;transform:translateY(-52%) rotate(-1deg);width:390px;background:var(--cream);border:5px solid var(--ink);border-radius:25px 8px 28px;padding:25px 27px 20px;box-shadow:9px 10px 0 var(--ink),12px 13px 0 var(--coral)}.welcome:before,.lobby-panel:before{content:"";position:absolute;left:17px;right:17px;top:-13px;height:14px;background:repeating-linear-gradient(90deg,var(--coral) 0 20px,var(--cream) 20px 40px);border:3px solid var(--ink);transform:rotate(1deg);border-radius:4px}.eyebrow{font-weight:900;font-size:10px;letter-spacing:1.5px;margin-bottom:15px;color:#795336}h1{font-family:Arial Black,Trebuchet MS,sans-serif;font-size:40px;font-weight:1000;line-height:1.03;letter-spacing:-2px;margin:0 0 16px}.game-logo{font-family:Arial Black,Impact,sans-serif;font-size:78px;line-height:.79;letter-spacing:-5px;transform:rotate(-4deg);color:var(--coral);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:4px 5px 0 var(--ink);margin:8px 0 26px}.game-logo>span{display:block;color:var(--butter);position:relative}.logo-spark{display:inline-block;color:var(--teal);font-size:66px;position:absolute;right:-6px;top:-7px;transform:rotate(15deg)}p{line-height:1.5}.intro{font-size:13px;font-weight:700;margin:0 0 19px}.entry label{font-size:9px;font-weight:1000;letter-spacing:1.3px;display:block;margin-bottom:7px}.entry>input{width:100%}.entry-actions{display:flex;gap:8px;margin-top:10px}.entry-actions button{font-size:12px}.entry-actions button:first-child{flex:1}.primary{background:var(--coral);color:var(--ink);font-size:15px;letter-spacing:.4px}.primary:hover:not(:disabled){background:var(--butter)}.primary span{margin-left:12px}.join{display:flex;gap:8px;margin-top:16px}.join input{width:43%;font-size:11px;letter-spacing:1px}.join button{flex:1;font-size:12px;background:var(--teal)}.connection{font-size:9px;font-weight:900;letter-spacing:1px;margin:13px 0 0;color:#56783b}.menu-controls{display:flex;align-items:center;gap:9px;margin-top:16px;border-top:2px dashed #3a241b40;padding-top:12px;font-size:8px;font-weight:900}.menu-controls kbd{font-size:9px}.menu-controls .text-button{margin-left:auto;font-size:9px;padding:0}.postcard{position:absolute;right:7vw;bottom:13vh;color:var(--cream);transform:rotate(6deg);text-shadow:3px 3px 0 var(--ink);text-align:center}.postcard strong{font-family:Arial Black,sans-serif;display:block;font-size:38px;line-height:1.04;letter-spacing:-1px}.postcard>span:last-child{display:block;font-size:9px;font-weight:900;letter-spacing:2px;margin-top:12px}.postcard-star{display:block;font-size:70px;color:var(--butter);line-height:1}footer{position:absolute;left:5vw;right:5vw;bottom:17px;display:flex;justify-content:space-between;color:var(--cream);font-size:9px;font-weight:900;letter-spacing:1.5px;text-shadow:1px 2px var(--ink)}.lobby-panel,.result-panel{position:absolute;left:50%;top:51%;transform:translate(-50%,-50%) rotate(-.5deg);width:min(850px,92vw);background:var(--cream);border:5px solid var(--ink);border-radius:18px 9px 22px 8px;padding:27px 32px;box-shadow:10px 11px 0 var(--ink),13px 14px 0 var(--teal)}.lobby-panel h1{font-size:35px;letter-spacing:-1.7px}.heading-star{display:inline-block;color:var(--coral);margin-left:16px;transform:rotate(16deg)}.room{display:flex;align-items:center;justify-content:space-between;border:3px dashed var(--ink);padding:10px 17px;background:var(--butter);transform:rotate(.7deg)}.room small{display:block;font-size:9px;font-weight:900;letter-spacing:2px}.room strong{font-size:28px;letter-spacing:6px}.room button{font-size:11px}.crew{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:15px 0 19px}.chef-chip{border:2px solid var(--ink);border-radius:9px;padding:8px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:#fff9e9;min-height:51px;box-shadow:0 3px #3a241b20}.chef-chip span{font-size:24px;border:2px solid var(--ink);border-radius:50%;width:32px;height:32px;text-align:center}.chef-chip b{font-size:12px;max-width:84px;overflow:hidden;text-overflow:ellipsis}.chef-chip small{font-size:8px;font-weight:900}.vacant{border-style:dashed;opacity:.5;justify-content:center;background:transparent}h3{font-size:13px}.shift-label{letter-spacing:1px}.shift-label>span{float:right;font-size:9px;letter-spacing:0;color:#866343}.level-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.level{position:relative;min-height:142px;text-align:left;padding:12px 11px;background:#f3dda7;overflow:hidden;transform:rotate(-1deg)}.level:nth-child(2n){transform:rotate(1deg)}.level:nth-child(2){background:#ffd0aa}.level:nth-child(3){background:#d4e6b4}.level:nth-child(4){background:#efd39d}.level.selected{background:var(--butter);outline:3px solid var(--coral);outline-offset:3px}.level.selected:after{content:"✓";position:absolute;top:6px;right:7px;background:var(--coral);border:2px solid var(--ink);border-radius:50%;width:23px;height:23px;text-align:center;font-size:14px}.level small{font-size:8px;letter-spacing:1px;display:block}.level .level-emblem{font-size:29px;display:block;line-height:1;margin-bottom:7px;filter:drop-shadow(1px 2px 0 #3a241b55)}.level strong{font-size:18px;font-weight:1000;line-height:1.05;display:block;margin:6px 0}.level>span:last-child{font-size:9px;line-height:1.25;display:block;font-weight:700}.lobby-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:15px}.lobby-bottom p{font-size:11px;font-weight:700}.text-button{border:0;background:none;box-shadow:none;text-decoration:underline;font-size:11px;padding:7px 12px 0 0}.game-top{position:absolute;left:20px;right:20px;top:12px;display:flex;align-items:center;gap:11px;height:54px;color:var(--cream);pointer-events:none!important}.game-top button{pointer-events:auto}.mini-brand{display:flex;align-items:center;gap:3px;flex:1;font-size:36px;font-weight:1000;font-style:italic;line-height:1;text-shadow:3px 3px var(--ink);color:var(--butter)}.mini-slash{color:var(--coral)}.mini-brand #shift-name{font-size:13px;line-height:1.1;max-width:150px;margin-left:8px;font-style:normal;text-transform:uppercase;color:var(--cream);letter-spacing:.8px}.stat{background:var(--cream);color:var(--ink);border:3px solid var(--ink);border-radius:8px;box-shadow:0 4px 0 var(--ink);padding:5px 14px;min-width:80px;transform:rotate(-2deg)}.stat:nth-of-type(3){background:var(--teal);transform:rotate(2deg)}.stat small{display:block;font-size:8px;font-weight:900;letter-spacing:1px}.stat strong{font-size:20px;font-weight:1000}.timer{font-size:29px;font-weight:1000;font-variant-numeric:tabular-nums;background:var(--butter);color:var(--ink);border:3px solid var(--ink);padding:8px 13px;box-shadow:0 4px 0 var(--ink);border-radius:9px;transform:rotate(2deg)}.timer.urgent{background:var(--coral);animation:warning .5s alternate infinite}.icon-button{padding:8px;font-size:9px;background:var(--cream)}#tickets{position:absolute;top:78px;left:20px;right:20px;display:flex;gap:9px;overflow:auto;padding-bottom:7px;pointer-events:none}.ticket{position:relative;flex:0 0 155px;background:var(--cream);border-top:5px solid var(--coral);padding:7px 10px 9px;box-shadow:3px 4px #3a241baa;clip-path:polygon(0 0,100% 0,100% 91%,94% 100%,88% 91%,82% 100%,76% 91%,70% 100%,64% 91%,58% 100%,52% 91%,46% 100%,40% 91%,34% 100%,28% 91%,22% 100%,16% 91%,10% 100%,4% 91%,0 95%)}.ticket:nth-child(2n){border-color:var(--teal)}.ticket>div:first-child{display:flex;justify-content:space-between;font-size:9px;font-weight:900}.ticket small{font-size:8px;letter-spacing:.7px}.ticket h3{text-transform:uppercase;font-size:12px;margin:5px 0}.ticket p{font-size:6px;font-weight:900;margin:0 0 5px;letter-spacing:.2px}.ticket-progress{height:4px;background:#3a241b22}.ticket-progress i{display:block;height:100%;background:var(--teal)}.game-bottom{position:absolute;bottom:15px;left:20px;right:20px;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none!important}.carry{padding:8px 13px;background:var(--cream);border:3px solid var(--ink);border-radius:8px;box-shadow:0 4px 0 var(--ink);min-width:205px;transform:rotate(-2deg)}.carry small{display:block;font-size:8px;font-weight:900;letter-spacing:1px;margin-bottom:4px}.carry strong{font-size:11px;text-transform:capitalize}.context{background:var(--butter);border:3px solid var(--ink);padding:10px 17px;border-radius:9px;font-size:12px;font-weight:900;box-shadow:0 4px 0 var(--ink);transform:rotate(1deg)}.controls-hint{font-size:9px;color:var(--cream);font-weight:900;text-shadow:1px 2px var(--ink)}kbd{display:inline-block;font-family:inherit;font-size:10px;border:1px solid currentColor;border-bottom-width:3px;border-radius:4px;padding:2px 4px;margin:0 2px}.result-panel{text-align:center;max-width:660px}.result-panel h1{font-size:43px;color:var(--coral);-webkit-text-stroke:1px var(--ink)}.result-panel p{font-size:13px}.stars{font-size:44px;letter-spacing:5px;color:var(--butter);-webkit-text-stroke:2px var(--ink);text-shadow:2px 3px var(--ink);margin:6px 0 16px}.result-stats{display:flex;justify-content:center;gap:55px;margin:22px 0}.result-stats strong{display:block;font-size:42px;font-weight:1000}.result-stats small{font-size:9px;font-weight:900;letter-spacing:1px}.result-tip{border-block:2px dashed #3a241b55;padding:15px}.modal-backdrop{position:absolute;inset:0;background:#28170ec9;display:flex;align-items:center;justify-content:center;z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.guide{position:relative;background:var(--cream);border:4px solid var(--ink);border-radius:14px;padding:27px;width:min(540px,94vw);max-height:94dvh;overflow:auto;box-shadow:9px 10px 0 var(--teal)}.guide h2{font-size:28px;letter-spacing:-1px}.guide ol{padding-left:22px;font-size:13px;line-height:1.5}.guide li{padding:5px 0}.guide-note{background:#d4e6b4;border:2px solid var(--ink);padding:12px;font-size:11px;border-radius:7px;line-height:1.7}.guide p{font-size:10px}.close{position:absolute;right:12px;top:10px;padding:1px 8px;font-size:22px;background:var(--coral)}.touch-controls{display:none}#toast{position:absolute;left:50%;bottom:85px;transform:translate(-50%,10px) rotate(-1deg);padding:11px 20px;border:3px solid var(--ink);border-radius:9px;background:var(--butter);box-shadow:4px 5px 0 var(--ink);font-size:12px;font-weight:900;opacity:0;transition:.2s;pointer-events:none;max-width:90vw;text-align:center;z-index:10}#toast.show{opacity:1;transform:translate(-50%) rotate(-1deg)}#toast.error{background:var(--coral)}.offline{position:absolute;top:0;left:0;right:0;text-align:center;background:var(--coral);padding:15px;z-index:50}.fatal{padding:50px;background:var(--cream)}@keyframes warning{to{transform:rotate(-2deg) scale(1.04)}}@media(max-width:900px){.welcome{left:4vw;width:355px;padding:23px}.game-logo{font-size:73px}.postcard{right:4vw}.postcard strong{font-size:28px}.controls-hint{display:none}.lobby-panel{padding:23px}.brand{top:13px;left:20px}.level strong{font-size:16px}.mini-brand #shift-name{font-size:11px}.stat{min-width:68px;padding:5px 10px}}@media(max-height:700px)and (min-width:601px){.welcome{padding:18px 24px;transform:translateY(-49%) rotate(-1deg)}.welcome .eyebrow{margin-bottom:10px}.game-logo{font-size:65px;margin-bottom:19px}.intro{margin-bottom:13px}.menu-controls{margin-top:10px}.lobby-panel{padding:20px 26px}.lobby-panel h1{font-size:29px;margin-bottom:12px}.crew{margin:12px 0}.level{min-height:125px}.lobby-panel .eyebrow{margin-bottom:10px}.lobby-bottom{margin-top:10px}}@media(max-width:600px){.welcome{left:50%;top:48%;width:min(355px,88vw);transform:translate(-50%,-50%) rotate(-1deg);padding:22px}.game-logo{font-size:70px}.postcard,footer{display:none}.brand{font-size:12px;top:9px}.brand-mark{font-size:20px}.lobby-panel{top:53%;padding:20px;width:93vw;max-height:88dvh;overflow:auto}.lobby-panel h1{font-size:25px}.lobby-panel .eyebrow{font-size:8px}.heading-star{margin-left:5px}.room{padding:8px 12px}.room strong{font-size:24px}.crew{grid-template-columns:repeat(2,1fr);gap:7px;margin:12px 0}.chef-chip{min-height:38px;padding:5px}.chef-chip span{font-size:20px;width:27px;height:27px}.level-grid{grid-template-columns:repeat(2,1fr);gap:9px}.level{min-height:99px;padding:9px}.level .level-emblem{float:right;font-size:25px;margin-top:20px}.level strong{font-size:16px;max-width:105px}.level.selected:after{width:18px;height:18px;font-size:11px;top:4px;right:4px}.shift-label{font-size:11px}.shift-label>span{font-size:7px}.lobby-bottom p{font-size:9px}.lobby-bottom .primary{font-size:11px;padding:10px}.game-top{left:10px;right:10px;top:8px;gap:6px;height:49px}.mini-brand{font-size:28px}.mini-brand #shift-name{display:none}.stat{min-width:54px;padding:4px 7px}.stat strong{font-size:16px}.stat small{font-size:6px}.timer{font-size:23px;padding:6px 8px}.icon-button{font-size:8px;padding:6px}.game-top button[data-action=mute]{max-width:42px}#tickets{top:70px;left:10px;right:10px;gap:6px}.ticket{flex-basis:128px;padding:5px 8px 9px}.ticket h3{font-size:10px}.ticket p{font-size:5px}.game-bottom{bottom:128px;left:10px;right:10px;gap:7px}.carry{min-width:0;flex:1;padding:7px 8px}.carry strong{font-size:9px}.context{font-size:10px;padding:9px;max-width:48%}.touch-controls{position:absolute;bottom:16px;left:18px;right:18px;display:flex;align-items:center;justify-content:space-between;touch-action:none}.dpad{display:grid;grid-template-columns:repeat(3,42px);grid-template-rows:repeat(2,42px);gap:4px}.dpad button{padding:0;background:var(--cream);font-size:22px;touch-action:none}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-row:2;grid-column:1}.dpad button:nth-child(3){grid-row:2;grid-column:2}.dpad button:nth-child(4){grid-row:2;grid-column:3}.touch-action{border-radius:50%;width:80px;height:80px;background:var(--coral);box-shadow:0 6px 0 var(--ink);font-size:12px;touch-action:none}.touch-action small{font-size:9px}#toast{bottom:190px;font-size:10px;width:max-content}.result-panel{padding:23px}.result-panel h1{font-size:31px}.result-stats{gap:24px}.result-panel button,.result-panel p{font-size:11px}}@media(pointer:coarse)and (min-width:601px){.touch-controls{position:absolute;bottom:80px;left:25px;right:25px;display:flex;justify-content:space-between}.dpad{display:flex;gap:5px}.touch-action{background:var(--coral)}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.family-logo{position:relative;font-size:69px;line-height:.88;letter-spacing:-4px;margin:8px 0 22px}.family-logo>span{font-size:57px;white-space:nowrap}.family-logo>span>small{font-size:23px;letter-spacing:-1px;vertical-align:middle;color:var(--cream)}.family-logo>b{display:block;font-size:34px;letter-spacing:3px;line-height:1.3;color:var(--teal);-webkit-text-stroke:1.5px var(--ink);text-shadow:2px 3px var(--ink)}.family-logo>.logo-spark{font-style:normal;right:4px;top:0;font-size:55px}.brand-mark{font-size:23px}.mini-brand{font-size:29px}.mini-slash{font-size:24px}@media(max-width:900px){.family-logo{font-size:61px}.family-logo>span{font-size:51px}.family-logo>b{font-size:30px}.family-logo>.logo-spark{right:0;font-size:48px}}@media(max-width:600px){.family-logo{font-size:60px}.family-logo>span{font-size:50px}.family-logo>span>small{font-size:21px}.family-logo>b{font-size:29px}.brand{font-size:11px}.brand-mark{font-size:17px}.mini-brand{font-size:23px}.mini-slash{font-size:19px}}.recipe-strip{font-size:18px;letter-spacing:1px}.level .level-difficulty{font-size:15px!important;letter-spacing:3px;color:#8a542c}.ticket h3{display:flex;align-items:center;gap:7px;margin:2px 0}.ticket-food{font-size:19px;line-height:1.1}.ticket-recipe-name{font-size:8px}.ticket p.ticket-ingredients{font-size:11px;line-height:1;margin:3px 0 6px;letter-spacing:1px}.carry strong{font-size:20px}.carry{padding:6px 13px}.carry small{font-size:7px}.intro{margin-bottom:17px}.ticket{padding-top:5px}@media(max-width:600px){.recipe-strip{font-size:12px;letter-spacing:0}.ticket-food{font-size:16px}.ticket-recipe-name{font-size:6px}.ticket p.ticket-ingredients{font-size:9px}.carry strong{font-size:15px}.level .level-difficulty{font-size:12px!important}}:root{--game-safe-top:155px;--game-safe-bottom:85px}@media(max-width:600px){:root{--game-safe-bottom:190px}}@media(pointer:coarse)and (min-width:601px){:root{--game-safe-bottom:150px}.touch-controls{bottom:14px;align-items:center}.dpad button{min-width:44px;min-height:44px;touch-action:none}.touch-action{min-width:64px;min-height:56px;touch-action:none}.game-bottom{bottom:81px}.controls-hint{display:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#toast.warning{border:2px solid #a66a24;background:#fff2ce;color:#3a241b}.game-symbol{display:inline-block;width:1.25em;height:1.25em;vertical-align:-.22em;flex-shrink:0;overflow:visible;letter-spacing:0;pointer-events:none}.ticket-food{display:inline-flex;gap:3px;align-items:center}.ticket-food .game-symbol{width:24px;height:24px}.ticket-ingredients .game-symbol{width:16px;height:16px}.ticket>div:first-child small>.game-symbol{width:15px;height:15px;vertical-align:-3px}.ticket-spec .game-symbol{width:15px;height:15px}.carry strong>.game-symbol{width:24px;height:24px;vertical-align:-5px}.carry small .game-symbol,.result-orders small .game-symbol{width:13px;height:13px}.context .game-symbol{width:20px;height:20px;vertical-align:-5px}.recipe-strip .game-symbol{width:22px;height:22px;vertical-align:-5px}.recipe-strip [data-symbol=arrowRight]{width:13px;height:18px;vertical-align:-3px}.level-emblem .game-symbol{width:32px;height:32px}.level-difficulty .game-symbol{width:17px;height:17px}.chef-chip>span{display:inline-flex;align-items:center;justify-content:center}.chef-chip .game-symbol{width:26px;height:26px}.logo-spark .game-symbol{width:1em;height:1em}.primary>span .game-symbol,.primary>.game-symbol{width:15px;height:15px}.icon-button .game-symbol{width:19px;height:19px}.touch-action .game-symbol{width:29px;height:29px}.dpad .game-symbol{width:20px;height:20px}.guide .game-symbol{width:18px;height:18px;vertical-align:-4px}.stars .game-symbol{width:39px;height:39px;vertical-align:middle}.mini-stars .game-symbol{width:14px;height:14px}.gauge .game-symbol{width:8px;height:10px}.gauge.badge .game-symbol,.coins .game-symbol,.oven-meter .game-symbol{width:17px;height:17px}#toast .game-symbol{width:18px;height:18px}#app .level.selected:after{content:"";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12 5 5L19 7' fill='none' stroke='%23493323' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:18px}@media(max-width:600px){.ticket-food .game-symbol{width:20px;height:20px}.ticket-ingredients .game-symbol{width:13px;height:13px}.recipe-strip .game-symbol{width:16px;height:16px}.recipe-strip [data-symbol=arrowRight]{width:9px;height:14px}.carry strong>.game-symbol{width:20px;height:20px}.level-difficulty .game-symbol{width:13px;height:13px}.stars .game-symbol{width:30px;height:30px}}
