:root{color-scheme:dark;font-family:system-ui,-apple-system,"Noto Sans KR",sans-serif;background:#171513;color:#fff2d4;--gold:#ffd17d;--ink:#261f19;--muted:#ddc6a1}*{box-sizing:border-box}body{margin:0;min-width:280px;min-height:100dvh;background:radial-gradient(ellipse at 50% 35%,#543725,#171513 70%)}[hidden]{display:none!important}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;min-width:48px;min-height:48px}button:focus-visible{outline:3px solid #fff2a8;outline-offset:3px;z-index:9}button:disabled{cursor:default}h1,h2,h3,p{margin:0}h1{font-family:Georgia,"Noto Serif KR",serif;font-size:24px;letter-spacing:-.05em}h2{font-size:22px}p{line-height:1.5}small{font-size:13px;color:var(--muted)}.scene-shell{width:min(100%,560px,calc((100dvh - 132px)*2/3));min-width:320px;margin:0 auto}.scene-hud{min-height:64px;padding:8px 10px;display:flex;align-items:center;gap:8px;justify-content:space-between;background:#211b17}.scene-hud h1{font-size:22px;white-space:nowrap}.scene-hud button{background:#493522;border:1px solid #9d7548;border-radius:50%;width:48px;padding:0}.scene-hud .wallet,.scene-hud #cash{color:var(--gold);font-weight:750}.scene-hud .stats{display:flex;gap:12px;font-size:14px;flex-wrap:wrap}.scene-hud .hud-actions{display:flex;gap:4px}.tycoon-scene{position:relative;width:100%;aspect-ratio:2/3;background:#603e27 url('./assets/generated/pocha-night-v2.png') center/100% 100% no-repeat;overflow:hidden;isolation:isolate;box-shadow:0 16px 60px #0007}.scene-footer{min-height:68px;padding:7px 10px;background:#211b17;font-size:14px;line-height:1.35}.scene-footer .feedback{color:#fff2d4}.scene-footer .notice{font-size:13px;color:#e8c58d}.hotspot{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);transform:translate(-50%,-50%);border:0;border-radius:20px;padding:0;background:transparent;z-index:2;text-align:center;-webkit-tap-highlight-color:transparent}.hotspot:hover:not(:disabled){filter:brightness(1.1)}.hotspot[aria-pressed=true],.hotspot[data-selected=true]{outline:2px solid var(--gold);outline-offset:-2px;filter:drop-shadow(0 0 5px #ffcc6a)}.hotspot:disabled{opacity:1}.object-label{position:absolute;left:50%;bottom:-3px;transform:translateX(-50%);padding:3px 7px;white-space:nowrap;border-radius:5px;background:#281b10ec;color:#fff0c9;font-size:13px;font-weight:650;line-height:1.3;pointer-events:none;box-shadow:0 1px 3px #0008}.guest-slot{--x:22%;--y:34%;--w:31%;--h:24%;border-radius:40%;z-index:3}.guest-slot[data-slot="1"]{--x:78%}.guest-sprite{display:block;width:100%;height:100%;aspect-ratio:1;background-image:url('./assets/generated/guests-v2.png');background-size:200% 200%;background-repeat:no-repeat;pointer-events:none;filter:drop-shadow(0 7px 6px #1f11098a)}.guest-sprite[data-guest=student]{background-position:0 0}.guest-sprite[data-guest=courier]{background-position:100% 0}.guest-sprite[data-guest=merchant]{background-position:0 100%}.guest-sprite[data-guest=singer]{background-position:100% 100%}.guest-slot>.guest-sprite{position:absolute;width:110%;height:auto;aspect-ratio:1;left:-5%;bottom:0}.order-bubble{position:absolute;left:50%;top:-12%;transform:translateX(-50%);min-width:88px;max-width:135%;background:#fff4dcec;color:#46301d;border:2px solid #ad8150;border-radius:14px;padding:4px 7px;display:flex;align-items:center;justify-content:center;gap:4px;box-shadow:0 3px 6px #0004;font-size:12px;line-height:1.25;pointer-events:none}.order-bubble:after{content:'';position:absolute;bottom:-9px;left:45%;border-width:8px 6px 0;border-style:solid;border-color:#fff4dc transparent transparent}.order-bubble .food-sprite{width:35px;height:35px;flex-shrink:0}.patience{position:absolute;left:50%;bottom:-8%;transform:translateX(-50%);background:#302219de;border-radius:5px;padding:2px 6px;color:#ffe8ba;font-size:12px;white-space:nowrap;pointer-events:none}.grill-slot{--x:23%;--y:58%;--w:32%;--h:14%;border-radius:18%}.grill-slot[data-index="1"]{--x:77%}.grill-slot .food-sprite{position:absolute;left:12%;top:0;width:76%;height:auto;aspect-ratio:1}.grill-slot[data-state=ready]{filter:drop-shadow(0 0 8px #ffd260)}.grill-slot[data-state=burnt]{outline:2px dashed #fff0d0;outline-offset:-5px}.cook-meter{position:absolute;bottom:0;left:12%;width:76%;height:6px;border-radius:5px;background:#21170f;accent-color:#ffd17d;overflow:hidden}.cook-meter>span{display:block;height:100%;background:#ffd17d;width:var(--progress,0%)}.food-sprite{display:block;background-image:url('./assets/generated/foods-v2.png');background-size:300% 300%;background-repeat:no-repeat;aspect-ratio:1;pointer-events:none;--food-x:0%;--food-y:0%;background-position:var(--food-x) var(--food-y);filter:drop-shadow(0 4px 3px #27170d66)}.food-sprite[data-food=rice]{--food-x:0%}.food-sprite[data-food=fish]{--food-x:50%}.food-sprite[data-food=mushroom]{--food-x:100%}.food-sprite[data-stage=raw]{--food-y:0%}.food-sprite[data-stage=ready]{--food-y:50%}.food-sprite[data-stage=burnt]{--food-y:100%}.plate-slot{position:absolute;left:50%;top:69%;width:22%;height:12%;transform:translate(-50%,-50%);z-index:3;pointer-events:none}.plate-slot>.food-sprite{width:100%;height:100%;background-size:300% 300%}.plate-slot .object-label{bottom:-4px}.ingredient-bin{--x:17%;--y:81%;--w:28%;--h:12%}.ingredient-bin[data-value=fish]{--x:50%}.ingredient-bin[data-value=mushroom]{--x:83%}.ingredient-bin .food-sprite{width:86%;height:auto;aspect-ratio:1;margin:-10% auto 0}.garnish-jar{--x:31%;--y:70%;--w:14%;--h:8%;border-radius:40%}.garnish-jar .star-mark{font-size:26px;color:#ffe28f;text-shadow:0 2px 2px #2d1707}.garnish-jar .object-label{font-size:12px;bottom:-12px}.discard-plate{--x:69%;--y:70%;--w:13%;--h:8%;min-width:48px;min-height:48px;color:#fff3d7;font-size:12px;background:#352318d9;border:1px solid #c9a374;border-radius:50%;z-index:5}.scene-companion{position:absolute;left:43%;top:30%;width:14%;height:14%;pointer-events:none;z-index:1}.scene-companion .guest-sprite{opacity:.8}.scene-companion .object-label{font-size:11px}.delivery-flight{position:absolute;width:16%;height:auto;aspect-ratio:1;left:42%;top:63%;z-index:7;pointer-events:none;animation:deliver .5s ease-out forwards}.coin-flight{position:absolute;left:var(--origin-x,50%);top:34%;z-index:8;border-radius:50%;background:#f9bc43;color:#54321a;border:2px solid #fff0ab;padding:5px;font-size:18px;font-weight:800;pointer-events:none;animation:coin-rise .65s ease-out forwards}.guest-slot.arriving{animation:arrive .4s ease-out}.guest-slot.leaving{animation:leave .3s ease-in forwards}.tycoon-scene[data-upgrade-grill=true] .grill-slot{box-shadow:inset 0 0 0 2px #ffdb79}.tycoon-scene[data-upgrade-canopy=true]:after{content:'비막이 천막';position:absolute;top:8%;left:50%;transform:translateX(-50%);background:#153b3bdc;color:#d1efdf;padding:3px 9px;font-size:12px;border-radius:4px;pointer-events:none}.overlay{position:fixed;inset:0;z-index:20;background:#100b08c9;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto}.overlay>section,.overlay>div{width:min(100%,440px);max-height:calc(100dvh - 40px);overflow:auto;padding:24px;display:grid;gap:16px;background:#30251c;border:1px solid #a37a49;border-radius:16px;box-shadow:0 16px 80px #0008}.overlay button,.summary button{background:#eeb661;color:#302110;border:1px solid #f6d899;border-radius:8px;font-weight:700;padding:10px 14px}.overlay .guest-sprite{width:100px;height:100px;margin:auto}.summary{padding:24px;background:#2a211a;display:grid;gap:14px}.summary p{font-size:15px}.summary .upgrade-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.summary button:disabled{opacity:.45}.summary .guest-sprite{width:64px;height:64px;flex-shrink:0}.summary .outcome{display:flex;gap:10px;align-items:center}.summary ul{padding-left:18px;font-size:13px;line-height:1.5;color:var(--muted)}.summary .secondary{background:transparent;color:#f1d6a6;border-color:#8a6d49}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted{color:var(--muted)}.notice{color:#f3cc8d}.actions{display:flex;gap:8px}.served-bowl{display:block;font-size:14px;color:#f4d6a1}.summary .guest-art{width:64px;height:64px}.overlay .guest-art{width:90px;height:90px}.outcome{display:flex;align-items:center;gap:10px}
@keyframes arrive{from{opacity:0;translate:0 -20px}to{opacity:1;translate:0 0}}@keyframes leave{to{opacity:0;translate:0 -25px}}@keyframes deliver{to{left:var(--destination-x,20%);top:30%;scale:.65;opacity:.2}}@keyframes coin-rise{to{translate:0 -120px;scale:.5;opacity:0}}
@media(max-width:420px){.scene-hud{padding:6px;gap:5px;min-height:60px}.scene-hud h1{font-size:20px}.scene-hud .stats{font-size:13px;gap:5px}.scene-footer{font-size:13px}.scene-shell{width:100%;min-width:280px}.order-bubble{min-width:80px;font-size:11px;padding:3px 5px}.order-bubble .food-sprite{width:30px;height:30px}.object-label{font-size:12px}.summary{padding:18px}.summary .upgrade-options{gap:6px}.summary button{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition:none!important;scroll-behavior:auto!important}.delivery-flight,.coin-flight{animation:none!important}.guest-slot{animation:none!important}}
.plate-slot>.food-sprite{position:absolute;left:0;top:-12%;width:100%;height:auto;aspect-ratio:1}.scene-hud button span{font-size:12px}.scene-hud #clock{font-size:13px}.scene-hud #day{font-size:14px}.scene-hud #cash{font-variant-numeric:tabular-nums}
.guest-name{position:absolute;left:50%;bottom:4%;transform:translateX(-50%);padding:2px 5px;border-radius:5px;background:#271c16db;color:#ffe5ae;font-size:12px;white-space:nowrap;pointer-events:none}.scene-notice{position:absolute;left:4%;right:4%;top:46%;text-align:center;color:#fff1d2;background:#2b1b12e8;border-radius:5px;padding:4px 7px;font-size:12px;line-height:1.3;z-index:5;pointer-events:none}.scene-notice:empty{display:none}.upgrade-sign{position:absolute;top:9%;left:50%;transform:translateX(-50%);background:#362514e8;color:#ffe3a4;border-radius:5px;padding:3px 8px;font-size:12px;z-index:4;white-space:nowrap}.upgrade-sign:empty{display:none}.guest-exit{position:absolute;left:22%;top:34%;width:34%;height:auto;aspect-ratio:1;transform:translate(-50%,-50%);z-index:6;animation:leave .65s ease-in forwards}.guest-exit[data-slot="1"]{left:78%}.guest-slot:not([hidden]){animation:arrive .4s ease-out}.delivery-flight[data-slot="0"]{--destination-x:14%}.delivery-flight[data-slot="1"]{--destination-x:70%}.coin-flight[data-slot="0"]{--origin-x:22%}.coin-flight[data-slot="1"]{--origin-x:78%}.scene-companion{top:30%;left:43%;width:14%;height:14%}.scene-companion small{position:absolute;top:90%;left:50%;transform:translateX(-50%);width:130px;font-size:11px;background:#21170fdc;color:#f7dfad;border-radius:5px;text-align:center;line-height:1.25}.upgrade-options #next-day{grid-column:1/-1;background:transparent;color:#f1d6a6}.summary button small{color:#513716}.summary button:disabled small{color:#bba78d}.scene-hud .stats{align-items:center}.scene-footer #hint{color:#d3b486;font-size:12px}.scene-companion .guest-sprite{height:auto;aspect-ratio:1}
@keyframes coin-rise{to{left:65%;top:-5%;scale:.5;opacity:0}}
@media(prefers-reduced-motion:reduce){.guest-exit{animation:none!important;opacity:.75}.guest-slot:not([hidden]){animation:none!important}.coin-flight{top:20%;opacity:1}.delivery-flight{top:36%;left:var(--destination-x,20%)}}
.order-bubble{display:grid;grid-template-columns:30px 1fr;width:104px;min-width:104px;top:-18%;text-align:left;gap:1px 4px}.order-bubble>.food-sprite{grid-row:1/span 2;width:30px;height:30px}.order-bubble>span:not(.food-sprite){white-space:nowrap}.order-bubble .star-wish{grid-column:2;font-size:10px;color:#76501f;white-space:nowrap}.guest-name{left:0;bottom:0;transform:none;font-size:11px}.patience{left:auto;right:0;bottom:0;transform:none;font-size:11px}.scene-notice{top:46.5%}
.tycoon-scene[data-upgrade-canopy=true]:after{content:'';top:0;left:0;transform:none;width:100%;height:7%;padding:0;border-radius:0;background:repeating-linear-gradient(90deg,#194e4c99 0,#194e4c99 11%,#ccbc8b66 11%,#ccbc8b66 22%);border-bottom:3px solid #cbbf88;z-index:1}
/* Opening guidance points at the existing object; it never replaces the hitbox. */
.hotspot[data-guide=true]{outline:3px dashed #ffe3a0;outline-offset:3px;filter:drop-shadow(0 0 5px #ffbf4f);z-index:6}.hotspot[data-guide=true]:before{content:'▼';position:absolute;left:50%;top:-20px;transform:translateX(-50%);color:#ffe6a5;text-shadow:0 2px 4px #29170d;font-size:24px;line-height:1;pointer-events:none}.guest-slot[data-guide=true]:before{top:38%;left:108%;content:'◀';font-size:22px}.hotspot[data-guide=true]:focus-visible{outline-style:solid;outline-color:#fff9df}.overlay[data-mode=ready],.overlay[data-mode=first-success]{align-items:flex-end;background:linear-gradient(0deg,#110c09b8 0,transparent 65%);padding:12px 16px}.overlay[data-mode=ready]>section,.overlay[data-mode=first-success]>section{padding:14px 16px;gap:10px;width:min(100%,440px);background:#30251cf5;box-shadow:0 -6px 30px #140c0855;max-height:45dvh}.overlay[data-mode=ready] h2,.overlay[data-mode=first-success] h2{font-size:20px}.overlay[data-mode=ready] p,.overlay[data-mode=first-success] p{font-size:14px;line-height:1.4}.overlay[data-mode=ready] #dialog-history:empty,.overlay[data-mode=first-success] #dialog-history:empty{display:none}.overlay[data-mode=first-success] #first-success-art{gap:10px;min-height:42px}.overlay[data-mode=first-success] #first-success-art .guest-sprite{width:44px;height:44px;margin:0;flex-shrink:0}.overlay[data-mode=first-success] .served-bowl{font-size:13px}.upgrade-goal-wrap{display:grid;grid-template-columns:1fr 70px;gap:7px;align-items:center;border-top:1px solid #674d33;padding-top:5px;margin-top:5px}.upgrade-goal-wrap #upgrade-goal{font-size:12px;color:#edc98d;line-height:1.3}.upgrade-goal-wrap #upgrade-progress{width:70px;height:8px;accent-color:#eab35a}.scene-shell[data-guide-step]:not([data-guide-step=none]) #hint{color:#fff0b5;font-weight:650}.scene-shell[data-guide-step=wait] .grill-slot[data-state=raw]:after{content:'≈';position:absolute;left:45%;top:-20%;font-size:30px;color:#fff1cf9c;pointer-events:none;animation:opening-steam 2s ease-in-out infinite}.opening-steps{display:flex;gap:6px;font-size:11px;color:#bfa682;margin-top:3px}.opening-steps [aria-current=step]{color:#ffe2a3;font-weight:700}
@keyframes opening-steam{0%{opacity:0;translate:0 4px}40%{opacity:.7}100%{opacity:0;translate:0 -10px}}
@media(max-height:650px){.overlay[data-mode=ready],.overlay[data-mode=first-success]{padding:8px}.overlay[data-mode=ready]>section,.overlay[data-mode=first-success]>section{max-height:60dvh}}
@media(prefers-reduced-motion:reduce){.scene-shell[data-guide-step=wait] .grill-slot[data-state=raw]:after{animation:none;opacity:.6;translate:0 0}}
.condition-badge{position:absolute;top:-42%;left:50%;transform:translateX(-50%);width:134px;padding:4px 6px;border:1px solid #e2c388;border-radius:6px;background:#3c2b17ef;color:#ffe8b1;font-size:11px;line-height:1.3;white-space:nowrap;pointer-events:none;box-shadow:0 2px 5px #170d08a3}.condition-badge[data-condition=rain]{background:#173c40f2;border-color:#a7d1cb;color:#e0f5e7}.condition-badge[data-bonus=expired]{background:#322d26ef;border-color:#a2947f;color:#e4d8c2}.condition-badge:empty{display:none}.forecast{padding:10px 12px;border-left:3px solid #dbb26c;background:#3b3022;color:#f6dfb7;line-height:1.5;font-size:14px}.guest-slot .patience{font-size:10px;padding:2px 3px}.guest-slot .guest-name{font-size:10px;padding:2px 3px}
@media(max-width:350px){.condition-badge{width:126px;font-size:10px;padding:4px}.guest-slot .patience,.guest-slot .guest-name{font-size:9px}}
.scene-companion small{width:80px;top:76%;font-size:10px;line-height:1.2}
#star-promise{font-size:12px;line-height:1.35;color:#ffe0a6;border-left:2px solid #c99d50;padding-left:7px;margin:4px 0}.memory-badge{position:absolute;top:-42%;left:50%;transform:translateX(-50%);width:134px;padding:4px 6px;border:1px solid #e2c388;border-radius:6px;background:#47351cf2;color:#ffe8b1;font-size:11px;line-height:1.3;white-space:nowrap;pointer-events:none;box-shadow:0 2px 5px #170d08a3}.memory-badge:empty{display:none}#reservation-result{border-left:3px solid #d1a75c;padding:7px 10px;color:#ffe2aa;background:#3b2d20}#reservation-result:empty{display:none}@media(max-width:350px){.memory-badge{width:126px;font-size:10px}}
/* G003: decorative equipment shares the scene coordinates and never intercepts play. */
.equipment-layer{position:absolute;inset:0;pointer-events:none;z-index:1}.equipment-layer *{pointer-events:none}.grill-hardware{display:none;position:absolute;left:8%;top:53.5%;width:30%;height:9%;border:3px solid #d6aa59;border-radius:17% 17% 22% 22%;background:repeating-linear-gradient(0deg,transparent 0 5px,#d6b77388 5px 7px),linear-gradient(155deg,#4c3522 10%,#191b19 47%,#644528 49%,#bc8842 68%,#65421f);box-shadow:0 5px 4px #291607aa,inset 0 -8px 0 #6b431f,inset 0 3px 0 #f4d295;transform:skewY(-3deg)}.grill-hardware[data-slot="1"]{left:62%;transform:skewY(3deg)}.grill-hardware:before,.grill-hardware:after{content:'';position:absolute;top:32%;width:13%;height:30%;border:3px solid #d9ad63;border-radius:40%;background:#462e19;box-shadow:0 2px 1px #27190b}.grill-hardware:before{left:-15%}.grill-hardware:after{right:-15%}.canopy-hardware{display:none;position:absolute;left:0;top:0;width:100%;height:16%;background:repeating-linear-gradient(98deg,#376b61 0 12%,#b6bd8c 12% 24%);clip-path:polygon(0 0,100% 0,100% 79%,94% 89%,82% 84%,70% 94%,58% 87%,46% 98%,34% 90%,22% 96%,10% 88%,0 94%);filter:drop-shadow(0 6px 3px #1c2418);border-bottom:9px solid #b7a66e}.canopy-hardware:before{content:'';position:absolute;left:0;right:0;bottom:12%;height:9%;background:linear-gradient(#e1ca8f,#5f6548);border-bottom:2px solid #303d32;transform:rotate(-2deg)}.canopy-hardware:after{content:'';position:absolute;right:3%;top:34%;width:3%;height:62%;border-radius:0 0 8px 8px;background:linear-gradient(90deg,#475f50,#c6be8a,#506b58)}[data-upgrade-grill=true]>.equipment-layer>.grill-hardware,[data-upgrade-canopy=true]>.equipment-layer>.canopy-hardware{display:block}.tycoon-scene[data-upgrade-canopy=true]:after{display:none}.tycoon-scene[data-upgrade-grill=true] .grill-slot{box-shadow:none}.equipment-effect{position:absolute;z-index:6;pointer-events:none;font-size:11px;padding:4px 7px;border-radius:5px;background:#2c2419ef;border:1px solid #e1c17f;color:#ffe7ab;left:50%;top:51%;transform:translateX(-50%);white-space:nowrap}.equipment-effect[data-kind=canopy]{top:15%;background:#193e37ed;color:#e3f1d0}.equipment-effect:empty{display:none}.summary .upgrade-options{grid-template-columns:1fr}.upgrade-card{border:1px solid #826440;border-radius:9px;overflow:hidden;background:#211b16}.upgrade-card>button{width:100%;border-radius:0}.upgrade-preview{padding:8px;pointer-events:none}.preview-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.preview-before,.preview-after{min-width:0;position:relative}.preview-scene{position:relative;width:100%;height:135px;overflow:hidden;container-type:inline-size;background:#63402c url('./assets/generated/pocha-night-v2.png') center 55%/100% auto no-repeat;border-radius:5px;isolation:isolate}.preview-scene>.equipment-layer{height:150cqw;top:calc((135px - 150cqw)*.55);bottom:auto}.preview-before p,.preview-after p,.preview-before small,.preview-after small{display:block;font-size:12px;text-align:center;padding-top:4px;color:#e8c997}.preview-scene .grill-hardware{border-width:2px}.preview-scene .grill-hardware:before,.preview-scene .grill-hardware:after{border-width:2px}.upgrade-preview[data-kind=canopy] .preview-scene{background-position:center top}.upgrade-preview[data-kind=canopy] .equipment-layer{top:0}.purchase-status{display:block;padding:4px 8px;font-size:12px}.upgrade-card button small{display:block}
@media(max-width:350px){.preview-scene{height:115px}.preview-scene>.equipment-layer{top:calc((115px - 150cqw)*.55)}.equipment-effect{font-size:10px}.upgrade-preview[data-kind=canopy] .equipment-layer{top:0}}
