:root{--ink:#2b1d14;--paper:#fff4d6;--paper-dark:#f2dca6;--wood:#b9803f;--green:#2f9a55;--green-dark:#1f6e3c;--red:#d63a2f;--yellow:#ffd166;--blue:#1b6ec2}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:#1c120b;margin:0;font-family:Trebuchet MS,Segoe UI,system-ui,sans-serif;overflow:hidden}#app{position:fixed;inset:0}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:4px solid var(--blue);outline-offset:2px}.stage{transform-origin:0 0;background:#689f8a;width:1280px;height:640px;font-size:22px;line-height:1.15;position:absolute;top:0;left:0;overflow:hidden}.layer{pointer-events:none;position:absolute;inset:0}.layer>*{pointer-events:auto}.scene-svg{width:100%;height:100%;position:absolute;inset:0}.back{z-index:1}.customers{z-index:2}.front{z-index:3}.ui{z-index:4}.abs{pointer-events:none;position:absolute;inset:0}.abs>*{pointer-events:auto}.cloud-a{animation:70s linear infinite drift}.cloud-b{animation:95s linear -40s infinite drift}@keyframes drift{0%{transform:translate(-120px)}to{transform:translate(380px)}}.moto{animation:28s linear -6s infinite moto}@keyframes moto{0%{transform:translate(290px)}to{transform:translate(720px)}}.shimmer{animation:2.2s ease-in-out infinite alternate shimmer}@keyframes shimmer{0%{opacity:.08}to{opacity:.26}}.fridge-glow{opacity:.4;transition:opacity .6s}.dim,.candle{opacity:0;transition:opacity .9s}.phase-warning .dim{animation:2.6s step-end infinite flicker}@keyframes flicker{0%,to{opacity:0}8%{opacity:.4}11%{opacity:0}47%{opacity:0}49%{opacity:.55}52%{opacity:.05}54%{opacity:.45}57%{opacity:0}83%{opacity:.3}85%{opacity:0}}.phase-warning .tube{animation:2.6s step-end infinite tube}@keyframes tube{0%,to{opacity:1}8%{opacity:.3}11%{opacity:1}49%{opacity:.15}52%{opacity:1}54%{opacity:.25}57%{opacity:1}}.phase-blackout .dim{opacity:.74;animation:none}.phase-blackout .candle{opacity:1;animation:1.7s ease-in-out infinite alternate candle}@keyframes candle{0%{transform:scale(1)}to{transform:scale(1.06,1.1)}}.candle{transform-origin:640px 372px}.phase-blackout .tube{opacity:.12}.phase-blackout .fridge-glow{opacity:0}.phase-blackout .card,.phase-blackout .tile,.phase-blackout .radio,.phase-blackout .terere-set,.phase-blackout .hud{filter:brightness(.8)saturate(.9)}.is-paused *,.is-paused{animation-play-state:paused!important}.customer,.queued{pointer-events:none;position:absolute}.customer{width:200px;height:250px;top:150px;left:385px}.queued{filter:brightness(.82);width:140px;height:175px;top:196px}.queued-a{left:338px}.queued-b{left:520px}.customer[hidden],.queued[hidden]{display:none}.char-svg{transform-origin:50% 100%;width:100%;height:100%;animation:2.8s ease-in-out infinite alternate sway;overflow:visible}@keyframes sway{0%{transform:rotate(-1.6deg)}to{transform:rotate(1.6deg)translateY(-3px)}}.customer.enter{animation:.5s ease-out enter}@keyframes enter{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}.char .m{display:none}.mood-ok .m-ok,.mood-mid .m-mid,.mood-bad .m-bad{display:inline}.mood-bad .char-svg{animation-duration:.5s}.btn{border:4px solid var(--ink);background:var(--yellow);box-shadow:0 5px 0 var(--ink);border-radius:16px;padding:0 14px;font-weight:800;transition:transform 60ms,box-shadow 60ms}.btn:active:not(:disabled){box-shadow:0 1px 0 var(--ink);transform:translateY(4px)}.btn:disabled{cursor:not-allowed;color:#6f624a;background:#cbbd9a;border-color:#6f624a;box-shadow:0 5px #6f624a}.btn-go{background:#6ad17f}.btn-bad{background:#ff8f7d}.btn-big{font-size:28px}.card{border:4px solid var(--ink);background:var(--paper);border-radius:18px;box-shadow:0 6px #00000059}.hud{color:#fff;text-shadow:0 2px #0000008c;width:300px;font-weight:800;position:absolute;top:8px;left:14px}.hud-day{opacity:.95;font-size:16px;line-height:1}.hud-clock{font-size:22px}.hud-bar{border:2px solid var(--ink);background:#00000073;border-radius:6px;height:10px;margin-top:3px;overflow:hidden}.hud-bar>i{height:100%;width:calc(var(--p,0) * 100%);background:linear-gradient(#ffe08a,#f4a62a);display:block}.hud-buttons{gap:8px;display:flex;position:absolute;top:6px;right:12px}.hud-buttons .btn{height:46px;box-shadow:0 4px 0 var(--ink);font-size:19px}.toast{text-align:center;color:#fff;text-shadow:0 2px #000000b3;opacity:0;pointer-events:none;width:620px;font-size:24px;font-weight:800;transition:opacity .25s;position:absolute;top:10px;left:330px}.toast.show{opacity:1}.banner{text-align:center;background:#fff0c2;width:620px;min-height:56px;padding:8px 16px;font-weight:800;position:absolute;top:62px;left:330px}.banner[hidden]{display:none}.banner.warn{background:#ffe08a}.banner.dark{color:#fff;background:#26334f;border-color:#0e1424}.banner small{margin-top:4px;font-size:20px;font-weight:700;display:block}.ice{z-index:6;background:#d9f1fb;grid-template-rows:auto auto;grid-template-columns:1fr 200px;gap:4px 14px;width:620px;padding:10px 14px 12px;display:grid;position:absolute;top:62px;left:330px}.ice[hidden]{display:none}.ice h2{grid-column:1;margin:0;font-size:25px}.ice p{grid-column:1;margin:0;font-size:19px;font-weight:700;line-height:1.12}.ice .ice-actions{grid-area:1/2/3;align-content:start;gap:8px;display:grid}.ice .btn{height:50px;font-size:20px}.ice p.ice-note{color:#fff;text-shadow:0 2px #000c;font-size:19px;position:absolute;bottom:-26px;left:16px}.tile{text-align:left;background:0 0;border:0;border-radius:10px;padding:0;position:absolute}.tile:hover{background:#ffffff24}.tile:active{background:#ffffff4d}.tile-candy{width:312px;height:72px;top:60px;left:8px}.tile-cookies{width:312px;height:72px;top:132px;left:8px}.tile-yerba{width:312px;height:72px;top:204px;left:8px}.tile-chipa{width:312px;height:72px;top:276px;left:8px}.tile:not(.tile-drink) .tile-label{padding:1px 9px;font-size:19px}.tile:not(.tile-drink) .tile-count{font-size:20px}.tile:not(.tile-drink) .tile-icons .ico{width:27px;height:36px}.tile-drink{width:304px;height:296px;top:60px;left:960px}.tile-label{border:3px solid var(--ink);background:var(--paper);white-space:nowrap;border-radius:14px;padding:2px 10px;font-size:21px;font-weight:800;position:absolute;top:2px;left:6px}.tile-count{border:3px solid var(--ink);background:#fff;border-radius:14px;padding:0 8px;font-size:22px;font-weight:800;position:absolute;top:2px;right:8px}.tile-icons{pointer-events:none;align-items:flex-end;gap:3px;display:flex;position:absolute;bottom:2px;left:8px;right:8px}.tile-drink .tile-label{top:12px;left:18px}.tile-drink .tile-count{top:12px;right:18px}.tile-drink .tile-icons{grid-template-columns:repeat(6,38px);grid-auto-rows:80px;align-items:end;gap:0 3px;height:240px;display:grid;inset:14px 24px auto}.tile-drink .tile-icons .ico{align-self:end}.ico{filter:drop-shadow(0 2px #00000040);flex:none;width:38px;height:51px}.tile-soldout{color:#a82a21;text-transform:uppercase;pointer-events:none;background:#fff4d6f2;border:4px solid #a82a21;border-radius:10px;padding:2px 14px;font-size:26px;font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-6deg)}.tile-soldout[hidden]{display:none}.tile-state{border:3px solid var(--ink);pointer-events:none;background:#d9f1fb;border-radius:12px;padding:0 10px;font-size:20px;font-weight:800;position:absolute;bottom:12px;left:18px}.phase-blackout .tile-state{background:#ffe08a}.fridge-door{transform-origin:0;pointer-events:none;background:#fff3;border:6px solid #cfc8b4;border-radius:8px;width:276px;height:270px;transition:transform .28s ease-out;position:absolute;top:74px;left:974px}.fridge-door:after{content:"";border:3px solid var(--ink);background:#b9b3a0;border-radius:6px;width:12px;height:90px;position:absolute;top:90px;right:10px}.fridge-door.open{transform:perspective(700px)rotateY(-62deg)}.bubble{pointer-events:none;border-radius:24px;width:326px;padding:10px 14px 12px;position:absolute;top:198px;left:626px}.bubble[hidden]{display:none}.bubble:before{content:"";border:14px solid #0000;border-right:22px solid var(--ink);width:0;height:0;position:absolute;top:52px;left:-22px}.bubble:after{content:"";border:11px solid #0000;border-right:17px solid var(--paper);width:0;height:0;position:absolute;top:55px;left:-14px}.bubble-order{align-items:center;gap:8px;display:flex}.bubble-icons{flex:none;display:flex}.bubble-icons .ico{width:34px;height:46px;margin-right:-4px}.bubble-text{font-size:26px;font-weight:800}.bubble-rumor{margin-top:6px;font-size:19px;font-style:italic}.bubble-warn{color:#a82a21;margin-top:6px;font-size:19px;font-weight:800}.bubble-more{opacity:.8;margin-top:6px;font-size:18px;font-weight:700}.patience{border:3px solid var(--ink);background:#fff;border-radius:10px;height:18px;margin-top:8px;overflow:hidden}.patience>i{height:100%;width:calc(var(--p,1) * 100%);background:#46b35c;display:block}.patience.mid>i{background:#f4b400}.patience.bad>i{background:#d63a2f}.tray-items{pointer-events:none;justify-content:center;align-items:flex-end;gap:4px;width:404px;height:64px;display:flex;position:absolute;top:334px;left:440px}.tray-item{pointer-events:auto;background:0 0;border:0;padding:0;animation:.18s ease-out pop}.tray-item .ico{width:42px;height:56px}@keyframes pop{0%{transform:translateY(-14px)scale(.8)}to{transform:none}}.tray-actions{gap:6px;width:428px;display:flex;position:absolute;top:424px;left:432px}.tray-actions .btn{height:72px;padding:0 4px;font-size:22px}.tray-actions .btn-deliver{flex:1;font-size:26px}.tray-actions .btn-dismiss{width:100px;line-height:1.05}.tray-actions .btn-clear{width:84px}.tray-hint{border:3px solid var(--ink);background:#fff4d6f0;border-radius:14px;width:428px;min-height:54px;padding:8px 10px;font-size:20px;font-weight:800;line-height:1.1;position:absolute;top:510px;left:432px}.tray-hint.bad{color:#a82a21}.tray-goal{color:#fff;text-shadow:0 2px #000000b3;width:428px;font-size:18px;font-weight:700;position:absolute;top:598px;left:432px}.ledger{background:repeating-linear-gradient(#fff4d6 0 40px,#cfe0ea 40px 42px) 0 4px;width:404px;height:218px;padding:4px 8px;position:absolute;top:418px;left:18px}.ledger-row{grid-template-columns:30px 1fr 166px;align-items:center;gap:6px;height:42px;display:grid}.ledger-row[hidden]{display:none}.ledger-row .ico{width:24px;height:32px}.ledger-name{font-size:17px;font-weight:800;line-height:1.05}.ledger-sub{color:#6b4a2a;font-size:13px;font-weight:700;line-height:1}.ledger-sub.bad{color:#a82a21}.ledger-row .btn{white-space:nowrap;height:36px;box-shadow:0 4px 0 var(--ink);padding:0 2px;font-size:16px}.eta{border:2px solid var(--ink);background:#fff;border-radius:3px;height:4px;margin-top:1px;display:block;overflow:hidden}.eta>i{height:100%;width:calc(var(--p,0) * 100%);background:#46b35c;display:block}.register{background:linear-gradient(#e8dcc0,#cfc09a);width:384px;height:212px;padding:12px 14px;position:absolute;top:422px;left:880px}.lcd{border:4px solid var(--ink);color:#8dff9b;background:#1d3b2a;border-radius:10px;padding:8px 12px;font-family:Courier New,ui-monospace,monospace;font-weight:800}.lcd-label{letter-spacing:2px;opacity:.8;font-size:16px}.lcd-cash{font-size:46px;line-height:1}.lcd-free{margin-top:2px;font-size:20px}.register-note{margin-top:6px;font-size:17px;font-weight:700;line-height:1.1}.register-balance{margin-top:6px;font-size:22px;font-weight:800}.register-balance b.pos{color:var(--green-dark)}.register-balance b.neg{color:#a82a21}.register-transit{white-space:nowrap;font-size:17px;font-weight:700}.bill-note{color:#a82a21}.overlay{z-index:10;background:#1c0e06bd;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.overlay[hidden]{display:none}.panel{width:760px;max-height:600px;padding:18px 28px 20px;overflow:auto}.panel h1{margin:0;font-size:46px;line-height:1}.panel h2{margin:12px 0 4px;font-size:24px}.panel p,.panel li{font-size:21px;font-weight:600}.panel ul{margin:4px 0;padding-left:24px}.panel .signature{color:#7a5230;margin:4px 0 8px;font-size:19px;font-weight:700}.panel .goal{font-weight:800}.panel .btn-big{width:100%;height:76px;margin-top:12px;display:block}.panel-small{text-align:center;width:520px}.panel-small h1{font-size:42px}.log-tools{margin-top:12px;font-size:18px}.log-tools summary{cursor:pointer;font-weight:800}.log-tools p{margin:6px 0;font-size:17px}.log-tools .btn{height:44px;box-shadow:0 3px 0 var(--ink);margin-right:8px;font-size:18px}.log-status{font-weight:800;display:inline-block}.credits a{color:inherit;text-decoration:underline}.summary-table{border-collapse:collapse;width:100%;margin:8px 0;font-size:22px}.summary-table td{border-bottom:2px dashed #c9b27a;padding:4px 0;font-weight:700}.summary-table td:last-child{text-align:right;font-variant-numeric:tabular-nums}.summary-table tr.total td{border-bottom:0;border-top:4px solid var(--ink);font-size:26px;font-weight:900}.summary-result{margin:8px 0 0;font-size:34px;font-weight:900}.summary-result.good,.summary-result.won{color:var(--green-dark)}.summary-result.loss{color:#a82a21}.summary-note{color:#5b4630;margin:4px 0;font-size:18px;font-weight:600}.rotate{z-index:100;color:#fff4d6;text-align:center;background:#1c120b;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;display:none;position:fixed;inset:0}.rotate h1{margin:0;font-size:34px}.rotate p{max-width:320px;margin:0;font-size:20px}.rotate-phone{border:6px solid var(--yellow);border-radius:14px;width:64px;height:104px;animation:2.4s ease-in-out infinite turn}@keyframes turn{0%,20%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}@media (orientation:portrait){.rotate{display:flex}}@media (prefers-reduced-motion:reduce){.char-svg,.cloud,.moto,.shimmer,.rotate-phone{animation:none!important}}.permit-box{margin-top:8px}.permit-box .btn{width:100%;height:52px;font-size:22px}.permit-text{margin:0;font-size:19px;font-weight:800}.permit-text.bad{color:#a82a21}.summary-table td{padding:3px 0}.panel h1{font-size:40px}.summary-result{margin:4px 0 0;font-size:30px}.summary-table{font-size:20px}.summary-table tr.total td{font-size:24px}.summary-note{font-size:17px}.register{padding:8px 14px}.lcd-cash{font-size:40px}.lcd-free{font-size:18px}.register-note{margin-top:4px;font-size:16px;line-height:1.05}.register-balance{margin-top:4px}.sun,.overcast,.storm-clouds{transition:opacity 2.6s}.overcast,.storm-clouds{opacity:0}.weather-overcast .overcast{opacity:.42}.weather-overcast .storm-clouds{opacity:1}.weather-overcast .sun{opacity:.1}.heat{border-width:3px;border-radius:14px;align-items:center;gap:8px;width:428px;height:56px;padding:4px 8px;display:flex;position:absolute;top:574px;left:432px}.heat[hidden]{display:none}.heat-label{font-size:18px;font-weight:800}.heat-bar{border:3px solid var(--ink);background:#fff;border-radius:10px;flex:1;height:34px;position:relative;overflow:hidden}.heat-bar>i{width:calc(var(--p,0) * 100%);background:#6ec3e0;transition:background .4s;position:absolute;inset:0 auto 0 0}.heat.warm .heat-bar>i{background:#f4b400}.heat.hot .heat-bar>i{background:#e0452f}.heat-text{white-space:nowrap;text-overflow:ellipsis;padding:0 6px;font-size:16px;font-weight:800;line-height:28px;display:block;position:relative;overflow:hidden}.heat .btn{width:150px;height:44px;box-shadow:0 4px 0 var(--ink);flex:none;padding:0 4px;font-size:16px}.tray-actions .btn-deliver{font-size:24px}.night-sky{opacity:0;transition:opacity 3s}.night .night-sky{opacity:.88}.night .dim{opacity:.38}.night.phase-blackout .dim{opacity:.88}.thief{pointer-events:none;width:200px;height:250px;position:absolute;top:150px;left:385px}.thief[hidden]{display:none}.robbery{z-index:6;background:#fff0c2;width:334px;padding:8px 12px 10px;position:absolute;top:150px;left:622px}.robbery[hidden]{display:none}.robbery h2{margin:0;font-size:22px;line-height:1.05}.robbery p{margin:4px 0 0;font-size:19px;font-weight:700;line-height:1.1}.robbery .angry{color:#a82a21}.robbery-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;display:grid}.robbery-actions .btn{height:58px;font-size:18px;line-height:1.05}.secure{width:372px;height:46px;font-size:20px;position:absolute;top:366px;left:884px}.secure[hidden]{display:none}.inspector{pointer-events:none;width:200px;height:250px;position:absolute;top:150px;left:385px}.inspector[hidden]{display:none}.inspection{z-index:6;background:#e3efff;width:334px;padding:8px 12px 10px;position:absolute;top:150px;left:622px}.inspection[hidden]{display:none}.inspection h2{margin:0;font-size:22px;line-height:1.05}.inspection p{margin:4px 0 0;font-size:18px;font-weight:700;line-height:1.1}.inspection p[hidden]{display:none}.inspection .fine{color:#a82a21;font-size:24px}.inspection .angry{color:#a82a21}.inspection-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;display:grid}.inspection-actions .btn{height:68px;font-size:16px;line-height:1.05}.papers{width:404px;height:46px;font-size:19px;position:absolute;top:366px;left:18px}.papers[hidden]{display:none}.papers.alert{background:#ffe08a;animation:1.1s ease-in-out infinite papers-nudge}.papers.done{color:#1f4d1c;background:#cfe8c0}@keyframes papers-nudge{50%{transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.papers.alert{animation:none}}.summary-note.bad{color:#a82a21;font-weight:800}.ice-open .inspection{top:224px}.panel>.btn-big{box-shadow:0 5px 0 var(--ink), 0 28px 0 var(--paper), 0 -12px 0 var(--paper);position:sticky;bottom:-20px}.owner-line{text-align:center;pointer-events:none;opacity:0;background:#fff;width:282px;padding:8px 12px 10px;font-size:23px;font-weight:800;line-height:1.1;transition:opacity .15s,transform .15s;position:absolute;top:224px;left:336px;transform:translateY(8px)scale(.96)}.owner-line.show{opacity:1;transform:none}.owner-line:after{content:"";border-right:4px solid var(--ink);border-bottom:4px solid var(--ink);background:#fff;width:20px;height:20px;position:absolute;bottom:-14px;left:50%;transform:translate(-50%)rotate(45deg)}@media (prefers-reduced-motion:reduce){.owner-line{transition:none}}.radio,.terere-set{cursor:pointer;background:0 0;border:0;padding:0;position:absolute}.radio{width:100px;height:80px;top:322px;left:1050px}.terere-set{width:96px;height:90px;top:312px;left:1164px}.radio-art,.terere-art{filter:drop-shadow(0 4px #2b1d1459);width:100%;height:100%;transition:transform .12s;display:block;overflow:visible}.radio:active .radio-art,.terere-set:active .terere-art{transform:translateY(3px)}.radio-led{fill:#4a3a30}.radio-dial{fill:#8f8a78}.radio.on .radio-led{fill:#5fe070}.radio.on .radio-dial{fill:#ffe9a8}.radio-notch{transform-origin:82px 60px;transition:transform .2s}.radio.switched-off .radio-notch{transform:rotate(-90deg)}.radio-notes{opacity:0}.radio.sounding .radio-notes{opacity:1}.radio-note{opacity:0}.radio.sounding .radio-note.n1{animation:2.6s ease-out infinite radio-note}.radio.sounding .radio-note.n2{animation:2.6s ease-out 1.3s infinite radio-note}@keyframes radio-note{0%{opacity:0;transform:translateY(6px)}25%{opacity:1}to{opacity:0;transform:translate(6px,-8px)}}.terere-spark{opacity:0;transform-box:fill-box;transform-origin:50%;animation:3s ease-in-out infinite terere-spark}.terere-set.ready .terere-spark{animation-duration:1.4s}.terere-set.ready .terere-art{animation:1.4s ease-in-out infinite alternate terere-glow}.terere-set.ready.hot .terere-art{animation-duration:.7s}@keyframes terere-spark{0%,to{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(1)}}@keyframes terere-glow{0%{filter:drop-shadow(0 4px #2b1d1459)drop-shadow(0 0 3px #96e1ff99)}to{filter:drop-shadow(0 4px #2b1d1459)drop-shadow(0 0 12px #96e1ff)}}@media (prefers-reduced-motion:reduce){.radio.sounding .radio-note{opacity:1;animation:none}.terere-spark,.terere-set.ready .terere-art{animation:none}.terere-set.ready .terere-art{filter:drop-shadow(0 4px #2b1d1459)drop-shadow(0 0 8px #96e1ff)}}.hud-buttons .btn-icon{justify-content:center;align-items:center;width:56px;padding:0;display:inline-flex}.hud-buttons .btn-icon[hidden]{display:none}.fullscreen-art{width:28px;height:28px;display:block}.fullscreen-art .fs-exit,.btn-icon.is-fullscreen .fs-enter{display:none}.btn-icon.is-fullscreen .fs-exit{display:inline}.home-hint{margin:12px 0 0;font-size:17px;font-weight:700}.home-hint[hidden]{display:none}@media (pointer:coarse){.hud-buttons .btn,.ledger-row .btn,.ice .btn,.robbery-actions .btn,.inspection-actions .btn,.tray-item{position:relative}.hud-buttons .btn:after,.papers:after,.secure:after{content:"";position:absolute;inset:-10px -8px}.ledger-row .btn:after{content:"";position:absolute;inset:-7px -12px}.ice .btn:after,.robbery-actions .btn:after,.inspection-actions .btn:after{content:"";position:absolute;inset:-8px}.tray-item:after{content:"";position:absolute;inset:-6px -2px}}
