/* v0.6 — a complete kitchen in one portrait viewport. */
:root{--ink:#584637;--muted:#897c65;--green:#708c74;--deep:#425f58;--cream:#f5edda;--paper:#fff9e9;--line:#cfbea0;--gold:#eac777;--pink:#e8b7b8;--safe:env(safe-area-inset-bottom,0px)}
html,body{height:100%;overflow:hidden;background:#293a46}body,button,select{font-family:'Huninn','PingFang TC',sans-serif}button{touch-action:manipulation}button:focus-visible{outline:3px solid #dc996b;outline-offset:2px}[hidden]{display:none!important}
.game{width:100%;max-width:480px;height:100dvh;min-height:0;margin:auto;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);background:#f3ecd9;position:relative;overflow:hidden}
.brandbar{height:42px;min-height:42px;flex-shrink:0;background:#38574f;padding:0 10px;border:0}.brandbar h1{font-size:10px;color:#fff3d1}.brandbar h1 span{font-size:20px;letter-spacing:1px;color:#ffdfa1}.brandbar button{width:38px;height:38px;color:#f6e9c7}.tiny-moon{color:#e7c979}.brandbar>div{gap:7px}
.family{height:48px;min-height:48px;flex-shrink:0;background:#ece2c6;border-bottom:1px solid #cabb9a;color:var(--ink);overflow:hidden}#landscape,.family-copy>strong,.night-label{display:none}.courage{left:9px;bottom:-1px;top:auto;height:49px;width:48px}.courage>svg,.courage>.sprite{width:100%;height:100%}.family-copy{position:static;margin:7px 83px 0 65px}.family-members{margin:0;gap:5px}.family-chip{height:34px;color:#584c3c;background:#fdf6e4;border:1px solid #c8b897;border-radius:10px;padding:0 6px 0 2px;font-size:10px;white-space:nowrap}.family-chip span{width:25px;height:31px}.family-chip span svg,.family-chip span .sprite{height:100%;width:100%}.family-chip b{font-size:8px;background:#d4dfbf;color:#425647;margin-left:3px}.family-chip.captured{background:#f7d0c3}.home-guard{right:6px;bottom:6px;min-height:34px;font-size:9px;border:1px solid #c7b291;color:#705e42;background:#f8eac4;padding:4px}.pause-button{display:none}header{height:38px;min-height:38px;padding:4px 10px;gap:7px;background:#f3e9cd;border:0;flex-shrink:0}.resource{height:29px;min-width:65px;padding:2px 10px;font-size:13px;background:#fff7df;border:1px solid #dbca9d;box-shadow:none}.resource.energy{min-width:65px;font-size:12px}.resource.energy small{display:none}.level{height:29px;min-width:59px;font-size:10px;background:#8b786d;color:#fff5e3;border:0;box-shadow:0 2px 0 #6a5d52}.level b{font-size:19px}.install-button{display:none}.xp-track{height:3px;flex-shrink:0;background:#ded6b9}.xp-track i{background:#aaa573}
#play-view{display:flex;flex-direction:column;flex:1;min-height:0;padding:5px 8px 0;overflow:hidden!important;gap:5px;touch-action:none}.journey-entry,.section-label,.counter-label{display:none}.orders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:0;padding:0;min-height:0;height:112px;flex:0 0 112px}.order{min-width:0;padding:5px;background:#fff7e1;border:1.5px solid #c9b697;border-radius:13px;box-shadow:0 2px 0 #d8c7aa;overflow:hidden}.order-head{height:30px;gap:3px;display:flex}.order-head .portrait{width:30px;height:30px;flex-shrink:0;background:#eadbb6;border-radius:50%;overflow:hidden}.order-head b{font-size:11px;white-space:nowrap;display:block;overflow:hidden;text-overflow:ellipsis}.order-head small{display:none}.order-needs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:48px;min-height:0;gap:1px;align-items:center;position:relative;padding-bottom:18px}.order-needs>button:not(.serve){width:100%;height:30px;min-width:0;padding:0}.order-needs>button svg,.order-needs>button .food-sprite{width:100%;height:100%}.serve{position:absolute;bottom:0;left:0;width:100%;height:20px;min-height:20px;font-size:10px;padding:1px 2px;display:flex;justify-content:center;align-items:center;gap:5px;background:#e9dfc8;border:0;border-radius:6px;color:#80745d}.serve.ready{background:#8aa780;color:#fffef3;box-shadow:none}.serve small{font-size:9px;display:inline}.patience{height:4px;margin-top:4px;background:#e8deca;overflow:hidden}.patience i{background:#b7b780;max-width:100%}.patience-label{display:block;font-size:8px;line-height:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#88755b}.order.urgent{background:#ffebd5;border-color:#c6836a}
.board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(9,minmax(0,1fr));flex:1 1 0;min-height:0;max-height:none;width:100%;padding:5px;gap:3px;margin:0;background:#92a588;border:2px solid #647c64;border-radius:13px;box-shadow:inset 0 1px 0 #b7c6a3,0 2px 0 #c4b79e;overflow:hidden;touch-action:none}.cell{width:100%;height:100%;min-width:0;min-height:0;aspect-ratio:auto;padding:1px;position:relative;border-radius:8px;background:#ecedda;border:1px solid #d0d6bc;box-shadow:0 1px 0 #7a8e72;touch-action:none}.cell.empty{background:#d8dfc8;border-color:#c5d0b6;box-shadow:inset 0 1px 2px #9ba98f44}.cell>.food-art,.cell>.food-sprite{width:100%;height:100%;max-width:none;max-height:100%;padding:1px 2px}.cell.generator{background:#efd7a5;border-color:#c6a36e}.cell.machine{background:#d5dfca;border-color:#b3c2a2}.cell.machine>.food-art{padding-bottom:10px}.cell .badge{font-size:8px;line-height:10px;right:2px;bottom:1px;background:#f9f3dcc7;color:#675d46;padding:0 2px;max-width:100%;white-space:nowrap}.cell.machine .badge{left:0;right:0;text-align:center;background:#f4eedec7}.cell.selected{outline:2px solid #d99467;outline-offset:-2px;background:#ffebbe}.cell.done{background:#ffe7a5;box-shadow:inset 0 0 0 2px #e3b252}.cell.locked{opacity:.58}.gen-badge{font-size:9px;right:2px;top:1px}.cell.drop{outline:3px solid #dd9770;outline-offset:-3px}
.item-panel{height:34px;min-height:34px;flex:0 0 34px;padding:0 3px;gap:4px;background:none;border:0;margin:0;overflow:hidden}.item-panel>.food-art,.item-panel>.food-sprite{width:29px;height:29px;flex:0 0 29px}.item-text{min-width:0}.item-text b{font-size:10px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-text small{display:none}.item-panel button{min-height:30px;padding:4px 9px;font-size:10px;border:1px solid #d0bd98;border-radius:8px;background:#fff6dc}.tools{height:35px;min-height:35px;flex:0 0 35px;margin:0;padding:0;gap:5px}.tools button{height:32px;min-height:32px;font-size:10px;padding:3px;background:#e9dfc6;border:1px solid #c9bb9c;border-radius:9px}.tools button span{font-size:9px}
nav{height:52px;min-height:52px;flex:0 0 52px;background:#38574f;border:0;padding:2px 6px;box-shadow:0 -2px 0 #d1c4a4;margin-top:5px;position:relative;touch-action:pan-y}nav button{font-size:10px;height:48px;min-height:44px;color:#b8c5ac;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}nav button span{font-size:21px;height:24px;line-height:24px}nav button.active{background:#4c6b5f;color:#ffe3a2;border:0}nav button.active:after{display:none}#save-status{position:absolute;right:9px;top:calc(99px + env(safe-area-inset-top,0px));width:15px;height:15px;min-height:0;font-size:0;padding:0;pointer-events:none}#save-status:after{content:'✓';font-size:11px;color:#6b8762}#cloud-status{display:none!important}#save-alert{position:absolute;bottom:57px;left:8px;right:8px;z-index:20;border-radius:8px}.save-card #save-status{position:static}.order.rescue{background:#f9d6ca;border-color:#ae6559}
#restaurant-view,#book-view,#journey-view{flex:1;min-height:0;overflow-y:auto;background:#f4edda;padding:16px 13px 24px}.view-title{font-size:23px;color:#68503c;margin:4px 0 8px}.eyebrow{font-size:9px;letter-spacing:2px;color:#9c8462}.modal-copy{font-size:13px;line-height:1.8}.fineprint{font-size:11px;line-height:1.7}.home-stage{background:#d9c5a3;border-color:#ac9879;border-radius:16px}.home-stage .home-interior{visibility:hidden}.home-stage{background-image:url('assets/v06/izakaya.webp');background-size:cover;background-position:center}.home-person{bottom:12%;height:40%;width:29%}.home-person .sprite{height:90%;width:100%;display:block}.room-caption{background:#624d3bbb;padding:4px;bottom:0}.home-stage:after{content:'';position:absolute;left:45%;top:23%;width:10px;height:35px;filter:blur(5px);border-radius:50%;background:#fff9ce55;animation:steam 3s ease infinite;pointer-events:none}.furniture-stamps{position:absolute;left:34%;right:34%;bottom:8%;display:flex;flex-wrap:wrap;justify-content:center;gap:3px}.furniture-stamps span{background:#f6e6becf;border-radius:6px;padding:2px;font-size:14px}.furniture-stamps .worn{filter:grayscale(1);opacity:.5}
.sprite{display:inline-block;background-image:url('assets/v06/cast.webp');background-size:300% 200%;background-repeat:no-repeat;aspect-ratio:1}.portrait .sprite,.departing>.sprite,.hint-big>.sprite{width:100%;height:100%}.guest-sprite{background-image:url('assets/v06/guests.webp');background-size:600% 300%;aspect-ratio:1}.guest-sprite.hungry{animation:guest-wiggle 4s ease-in-out infinite}.urgent .guest-sprite{filter:saturate(1.2);animation:guest-wiggle .6s ease-in-out infinite}.rescue .guest-sprite{filter:saturate(1.3) sepia(.15)}
.food-sprite{display:inline-block;aspect-ratio:1;background-repeat:no-repeat;background-size:500% 300%;vertical-align:middle}.hint-big .food-sprite{width:110px;height:110px}.book-grid .food-sprite,.milestone-foods .food-sprite{display:block;width:64px;height:64px;margin:auto}.ingredients .food-sprite{width:32px;height:32px}.recipe>.food-sprite{width:48px;height:48px;flex:0 0 48px}.storage-grid .food-sprite{width:48px;height:48px;display:block;margin:auto}.departing i .food-sprite{width:100%;height:100%}.welcome-art{background:#e8dcc0}.welcome-art>svg{display:none}.welcome-art{background:url('assets/v06/izakaya.webp') center/cover}.welcome-art>div .sprite{height:120px;width:120px}
.action{background:#79956e;color:#fff9e8;border-radius:9px;box-shadow:0 2px 0 #586d50}.action.secondary{background:#e5dac1;color:#67543e;box-shadow:0 2px 0 #bfae8c}.modal-head h2{font-size:20px;color:#6b503a}dialog{background:#fff7e5;border:2px solid #bfa887;border-radius:19px;padding:16px;width:calc(100% - 24px);max-width:420px}.modal-head{background:inherit}.renovation b{font-size:13px}.recipe{gap:8px}.recipe-info b{font-size:12px}.recipe .action{font-size:11px;padding:8px}.settings-title{color:#6d7755}.save-card{background:#edf0dc}.destination-art{background-image:url('assets/v06/izakaya.webp');background-size:cover}.destination-art svg{opacity:.2}#update-banner{bottom:calc(62px + env(safe-area-inset-bottom,0px));background:#3d6155}.version-notes li{margin:10px 0;line-height:1.6;font-size:13px}.update-later{margin-top:10px}
@keyframes steam{50%{transform:translateY(-13px);opacity:.2}}@keyframes guest-wiggle{50%{transform:rotate(3deg) translateY(-1px)}}
@media(max-height:700px){.brandbar{height:35px;min-height:35px}.brandbar h1 span{font-size:17px}.brandbar button{height:34px}.family{height:40px;min-height:40px}.family-copy{margin-top:3px}.courage{height:42px}.home-guard{bottom:3px}.orders{height:101px;flex-basis:101px}.order{padding:3px 4px}.order-head{height:25px}.order-head .portrait{width:25px;height:25px}.patience-label{line-height:10px}.item-panel{height:29px;min-height:29px;flex-basis:29px}.tools{height:32px;min-height:32px;flex-basis:32px}.tools button{height:29px;min-height:29px}nav{height:47px;min-height:47px;flex-basis:47px}nav button{height:43px;min-height:42px}.board{gap:2px;padding:4px}#play-view{gap:4px}#save-status{top:87px}}
@media(max-height:570px){.family{height:34px;min-height:34px}.family-chip{height:28px}.courage{height:35px}.family-chip span{height:25px}.home-guard{min-height:28px}.order-head{height:21px}.order-head .portrait{height:21px;width:21px}.orders{height:94px;flex-basis:94px}.cell .badge{font-size:7px;line-height:8px}.cell.machine>.food-art{padding-bottom:7px}.item-panel{height:27px;min-height:27px;flex-basis:27px}header{height:33px;min-height:33px}.brandbar{height:32px;min-height:32px}}
@media(max-width:359px){.brandbar h1 span{font-size:17px}.family-copy{margin-left:49px;margin-right:77px}.family-chip{font-size:9px;padding-right:3px}.family-chip b{font-size:7px}.family-chip span{width:19px}.courage{width:38px;left:6px}.order-head b{font-size:10px}.board{border-radius:10px}.order{border-radius:10px}.resource{font-size:12px}.resource.energy{min-width:55px}.brandbar h1{font-size:9px}.item-panel button{padding:4px 6px}}
@media(prefers-reduced-motion:reduce){.sprite,.home-stage:after{animation:none!important}}
@font-face{font-family:Huninn;src:url('assets/v06/huninn.ttf') format('truetype');font-display:swap;font-weight:100 900}.brandbar h1{width:220px;height:31px;background:url('assets/v06/title.webp') left center/contain no-repeat;font-size:0!important}.brandbar h1 span{font-size:0!important}.brandbar .tiny-moon{display:none}.welcome-line{font-size:0;height:39px;background:url('assets/v06/welcome-sign.webp') center/contain no-repeat}@media(max-width:359px){.brandbar h1{width:200px}}
#play-view{position:relative}.item-panel{position:absolute;left:8px;right:8px;bottom:0;height:35px;min-height:0;z-index:2;background:#f3ecd9}.pause-button{display:block;position:static;margin-left:auto;font-size:13px;width:30px;height:29px;min-height:29px;color:#695b42;border:1px solid #ccb78e;border-radius:8px;background:#fff2d4;flex-shrink:0}#save-status{display:none}
@media(max-height:570px){.orders{height:94px;flex-basis:94px}.order-head{height:20px}.patience-label{font-size:7px;line-height:9px}.brandbar{height:30px;min-height:30px}header{height:31px;min-height:31px}.tools{height:32px;min-height:32px}.item-panel{height:32px}.order-needs{height:45px}.family-chip{font-size:9px}}
.sprite:not(.guest-sprite){background-image:url('assets/v06/cast-simple.webp');background-size:300% 100%}.furniture-stamps{inset:0;display:block;pointer-events:none}.furniture-stamps .furniture-piece{position:absolute;background-color:transparent;background-image:url('assets/v06/furniture.webp');background-size:400% 300%;background-repeat:no-repeat;width:22%;height:27%;padding:0;border-radius:0;bottom:10%;z-index:1}.furniture-0{left:1%}.furniture-1{left:20%;top:7%}.furniture-2{right:0%}.furniture-3{right:2%;top:8%}.furniture-piece.worn{filter:sepia(.6) grayscale(.5);opacity:.6}.home-person{z-index:2;pointer-events:auto}.room-caption{z-index:3}.furniture-thumb{display:block;width:40px;height:40px;flex:0 0 40px;background:url('assets/v06/furniture.webp') no-repeat;background-size:400% 300%}.order-needs{grid-template-columns:repeat(var(--count,3),minmax(0,1fr))}.order-needs>button:not(.serve){display:flex;align-items:center;justify-content:center}.order-needs>button .food-sprite,.order-needs>button .food-art{width:30px;height:30px;max-width:100%}.restaurant-tabs button.active{background:#7e9475;color:#fff8e2}.home-person:not(.missing):active{transform:scale(1.06)}

/* Four-course cameo tickets remain in the same mobile viewport. */
.orders:has(.four-dishes){height:138px;flex-basis:138px}
.four-dishes .order-needs{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:24px 24px;height:70px;padding-bottom:22px}
.four-dishes .order-needs>button:not(.serve){height:24px;position:relative}
.four-dishes .order-needs>button .food-sprite{width:24px;height:24px}
.four-dishes .order-needs>button.has:after{content:'✓';position:absolute;right:1px;bottom:0;font-size:9px;background:#507452;color:white;border-radius:50%;width:11px;height:11px;line-height:11px}
.four-dishes .order-head small{display:block;font-size:8px;white-space:nowrap}
@media(max-height:700px){.orders:has(.four-dishes){height:128px;flex-basis:128px}.four-dishes .order-head{height:30px}}
@media(max-height:570px){.orders:has(.four-dishes){height:123px;flex-basis:123px}.four-dishes .order-head{height:27px}.four-dishes .order-head b{font-size:9px}}
