@font-face{font-family:GameSerif;src:local("STKaiti"),local("KaiTi"),local("Noto Serif CJK SC");font-display:swap}
:root{--ink:#3d5048;--paper:#faf8f0;--red:#95594e;--teal:#526e61;--muted:#7a8173;--serif:GameSerif,"STKaiti","KaiTi","Noto Serif SC",serif;--sans:"Microsoft YaHei UI","Microsoft YaHei",system-ui,sans-serif;--paper-art:url('./assets/art/ui-paper.webp');--toolbar-art:url('./assets/art/ui-toolbar.webp');--sage-art:url('./assets/art/ui-sage.webp');--rose-art:url('./assets/art/ui-rose.webp');--cream-art:url('./assets/art/ui-cream.webp');--mist-art:url('./assets/art/ui-mist.webp')}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{font:13px var(--sans);color:var(--ink);background:var(--paper)}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:transparent;padding:0}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,a:focus-visible{outline:2px solid #567c71;outline-offset:3px}button:hover:not(:disabled){filter:brightness(1.035)}button:active:not(:disabled){transform:translateY(1px)}img{object-fit:contain}img,button{-webkit-user-drag:none}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
#game{position:relative;width:100%;height:100dvh;min-height:360px;isolation:isolate;overflow:hidden}#world{position:absolute;inset:0;z-index:-2}#world canvas{display:block}#main-ui{height:100%;position:relative}
.topbar{height:104px;position:absolute;top:0;left:0;right:0;padding:18px 4%;display:flex;align-items:center;gap:32px;z-index:5;background:var(--toolbar-art) center/100% 100% no-repeat var(--paper)}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.brand>img{width:61px;height:61px}.brand h1{font:34px/1.1 var(--serif);letter-spacing:4px;margin:0}.brand small{display:block;letter-spacing:3px;font-size:9px;color:var(--muted);margin-top:8px}.day-clock{margin-left:auto;min-width:143px}.day-clock>span{font-size:9px;letter-spacing:2px;color:var(--muted);display:block}.day-clock strong{display:block;font:19px var(--serif);letter-spacing:2px;margin:5px 0}.day-track,.cook-track,.patience,.loading-track{height:5px;background:var(--mist-art) center/100% 100% no-repeat;overflow:hidden}.day-track i,.cook-track i,.patience i,.loading-track i{display:block;height:100%;background:var(--sage-art) center/100% 100% no-repeat;width:0}.resources{display:flex;gap:26px;margin-left:22px}.resources>div{display:grid;grid-template-columns:38px auto;gap:2px 8px;align-items:center;min-width:84px}.resources img{grid-row:span 2;width:38px;height:38px}.resources strong{font:26px Georgia,serif;font-variant-numeric:tabular-nums}.resources small{font-size:9px;letter-spacing:1px;color:var(--muted);grid-column:2}.tools{display:flex;gap:8px}.icon-button{width:34px;height:36px;font:23px Georgia,serif;color:var(--muted)}.icon-button.is-on{color:var(--red)}
.welcome{position:absolute;left:4%;top:140px;width:327px;padding:30px 29px 28px;z-index:2;background:var(--paper-art) center/100% 100% no-repeat}.eyebrow{display:block;letter-spacing:2px;font-size:9px;color:var(--teal)}.welcome h2{font:38px/1.3 var(--serif);letter-spacing:3px;font-weight:400;margin:20px 0 12px;white-space:nowrap}.welcome p{color:var(--muted);font:18px/1.8 var(--serif);letter-spacing:1px;margin:0 0 20px}.opening-stock{display:flex;flex-direction:column;gap:11px;margin:20px 0 24px}.opening-stock>div{display:flex;align-items:center;gap:13px}.opening-stock img{width:40px;height:40px}.opening-stock span{display:flex;align-items:center;justify-content:space-between;flex:1;font-size:11px;letter-spacing:1px;color:var(--muted)}.opening-stock strong{color:var(--ink);font:19px Georgia,var(--serif);letter-spacing:0;font-weight:400}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;min-height:47px;padding:13px 24px;letter-spacing:1.5px;background:var(--cream-art) center/100% 100% no-repeat}.button b{font-size:21px;font-weight:400;line-height:1}.red-button{background-image:var(--rose-art);color:#633e35}.teal-button{background-image:var(--sage-art);color:#304d40}.welcome .button{width:100%;justify-content:space-between}.save-note{display:block;margin-top:17px;font-size:9px;line-height:1.6;letter-spacing:.5px;color:var(--muted)}
.keeper-note{position:absolute;left:4%;bottom:124px;width:295px;padding:17px 20px;display:flex;align-items:center;gap:13px;background:var(--paper-art) center/100% 100% no-repeat;z-index:2}body[data-phase="prep"] .keeper-note{display:none}.keeper-note img{width:35px;height:43px;flex-shrink:0}.keeper-note p{font:17px/1.5 var(--serif);margin:6px 0 0}.keeper-note small{font-size:8px;letter-spacing:2px;color:var(--muted)}.goal-bookmark{position:absolute;right:4%;top:133px;min-width:174px;padding:18px 23px 20px;text-align:left;background:var(--paper-art) center/100% 100% no-repeat;z-index:2}.goal-bookmark>span{font-size:9px;letter-spacing:3px;color:var(--muted)}.goal-bookmark strong{display:block;font:25px var(--serif);letter-spacing:3px;margin:9px 0}.goal-bookmark small{font-size:9px;color:var(--teal);letter-spacing:.5px}
.orders-panel{position:absolute;top:132px;bottom:230px;left:4%;width:258px;z-index:3;display:flex;flex-direction:column}.orders-heading{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;background:var(--paper-art) center/100% 100% no-repeat}.orders-heading h2{font:24px var(--serif);letter-spacing:2px;margin:0}.orders-heading>span{font-size:9px;color:var(--muted)}.orders-list{overflow:auto;scrollbar-width:thin;flex:0 1 auto;padding:1px 0 4px;overscroll-behavior:contain}.guest-ticket{background:var(--paper-art) center/100% 100% no-repeat;margin-top:10px;padding:19px 21px;position:relative;animation:arrive .3s ease-out}.ticket-top{display:flex;align-items:center;gap:10px}.guest-art{width:43px;height:43px;flex-shrink:0}.ticket-top h3{font:22px var(--serif);letter-spacing:1px;margin:0 0 4px}.ticket-top small{font-size:9px;color:var(--muted)}.ticket-top>strong{margin-left:auto;font:20px Georgia,serif;color:var(--red)}.ticket-top>strong small{display:block;font:8px var(--sans);margin-top:3px;text-align:right}.order-line{font:18px var(--serif);margin:14px 0 9px;display:flex;justify-content:space-between;align-items:center;gap:5px}.order-line small{font:9px var(--sans);color:var(--muted)}.patience{height:4px;margin:8px 0 12px}.patience i{transition:width .2s linear}.guest-ticket.impatient .patience i{background-image:var(--rose-art)}.ticket-action{background:var(--sage-art) center/100% 100% no-repeat;color:#324d40;width:100%;min-height:40px;font-size:11px;letter-spacing:2px}.ticket-action.ready{background-image:var(--rose-art);color:#633e35}.ticket-secondary{color:var(--muted);font-size:9px;padding:9px 0 0;width:100%;text-align:center;min-height:27px}.orders-empty{padding:25px 18px;text-align:center;background:var(--paper-art) center/100% 100% no-repeat;margin-top:12px}.orders-empty>img{width:68px;height:68px;opacity:.8}.orders-empty p{font:19px/1.7 var(--serif);margin:12px 0}.orders-empty small{font-size:9px;color:var(--muted);line-height:1.7}.today-line{padding:13px 16px;display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin-top:auto;background:var(--paper-art) center/100% 100% no-repeat}.today-line b{font-weight:400;color:var(--teal)}
.table-spots{position:absolute;inset:0;pointer-events:none}.table-spot{pointer-events:auto;position:absolute;min-width:101px;min-height:56px;padding:10px 17px;background:var(--cream-art) center/100% 100% no-repeat;transform:translateX(-50%);text-align:center}.table-spot:active:not(:disabled){transform:translate(-50%,1px)}.table-spot>span{display:block;font-size:9px;letter-spacing:2px;color:var(--muted)}.table-spot strong{display:block;font:18px var(--serif);letter-spacing:1px;margin-top:4px}.table-spot.free{opacity:.88}.table-spot.dirty{background-image:var(--rose-art)}.table-spot.cleaning,.table-spot.eating{background-image:var(--mist-art)}.table-spot.seated{background-image:var(--sage-art)}
.kitchen-strip{position:absolute;right:4%;bottom:124px;width:505px;padding:16px 19px 17px;background:var(--paper-art) center/100% 100% no-repeat;z-index:4}.kitchen-heading{display:flex;align-items:center;gap:12px;padding:0 6px 8px}.kitchen-heading>span:first-child{font:21px var(--serif);letter-spacing:2px;white-space:nowrap}.kitchen-heading small{color:var(--muted);font-size:9px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kitchen-heading>span:last-child{font-size:9px;color:var(--teal);white-space:nowrap}.cook-track{height:4px;margin:0 6px 2px}.cook-track i{background-image:var(--rose-art)}.recipe-row{display:flex;gap:8px}.recipe-button{display:flex;gap:7px;align-items:center;position:relative;width:33.33%;padding:13px 4px 4px;text-align:left;min-height:79px}.recipe-button strong{font:18px var(--serif);letter-spacing:1px;display:block;white-space:nowrap}.recipe-button small{font-size:7px;color:var(--muted);display:block;margin-top:7px;line-height:1.5;max-width:92px}.recipe-button>b{position:absolute;right:0;top:5px;background:var(--sage-art) center/100% 100% no-repeat;color:#304d40;font:12px Georgia;min-width:24px;height:21px;display:grid;place-items:center}.food-art{display:block;width:48px;height:49px;flex-shrink:0}
.bottom-bar{position:absolute;bottom:0;left:0;right:0;height:103px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 4% 13px;background:var(--toolbar-art) center/100% 100% no-repeat var(--paper);z-index:5}.inn-sign>span{font:23px var(--serif);letter-spacing:3px;display:block;color:var(--teal)}.inn-sign small{display:block;letter-spacing:1px;color:var(--muted);font-size:11px;line-height:1.5;margin-top:6px}.management-nav{display:flex;gap:34px;align-items:center}.management-nav button{display:flex;align-items:center;gap:10px;padding:4px 0;min-height:56px}.management-nav img{width:51px;height:51px}.management-nav strong{font-size:12px;letter-spacing:3px;font-weight:400}.time-controls{display:flex;gap:16px;align-items:center}.time-controls button{color:var(--teal);font-size:10px;min-height:40px;padding:6px 3px;white-space:nowrap}.time-controls #close-btn{color:var(--red)}body[data-phase="night"] .time-controls #close-btn{background:var(--sage-art) center/100% 100% no-repeat;color:var(--teal);font-size:12px;min-height:46px;padding:10px 20px;gap:8px}body[data-phase="night"] #close-btn .control-art{width:24px;height:26px}
.pause-banner{position:absolute;top:41%;left:58%;transform:translate(-50%,-50%);z-index:7;padding:23px 28px;background:var(--paper-art) center/100% 100% no-repeat;text-align:center}.pause-banner>span{font:27px var(--serif);display:block;letter-spacing:4px}.pause-banner button{margin-top:12px;padding:10px 22px;background:var(--sage-art) center/100% 100% no-repeat;font-size:11px}.saved-indicator{position:absolute;bottom:108px;left:4%;padding:15px;background:var(--paper-art) center/100% 100% no-repeat;color:var(--red);z-index:10;font-size:10px}.toast{position:absolute;top:110px;left:50%;transform:translateX(-50%);z-index:50;max-width:85%;padding:16px 25px;background:var(--paper-art) center/100% 100% no-repeat;font-size:11px;letter-spacing:.7px;pointer-events:none;line-height:1.7;text-align:center}.achievement{position:absolute;top:26%;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:22px;padding:30px 36px;background:var(--paper-art) center/100% 100% no-repeat;z-index:30;pointer-events:none;width:max-content;max-width:90%}.achievement>img{width:76px;height:76px}.achievement small{font-size:9px;letter-spacing:2px;color:var(--muted)}.achievement strong{display:block;font:36px var(--serif);letter-spacing:6px;margin-top:7px}.achievement p{font-size:11px;letter-spacing:2px;color:var(--teal);margin-bottom:0}
.modal-backdrop{position:absolute;inset:0;display:grid;place-items:center;z-index:40;padding:28px;background:#edf1e88a;backdrop-filter:blur(4px)}.paper-modal{position:relative;display:flex;flex-direction:column;background:var(--paper-art) center/100% 100% no-repeat;padding:48px 56px 38px;width:min(660px,100%);max-height:90dvh;overflow:hidden}#modal-content{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-inline:4px;scroll-padding-block:12px}.modal-footnote{flex-shrink:0}.modal-close{position:absolute;top:22px;right:29px;width:36px;height:36px;font:30px Georgia;color:var(--muted)}.modal-kicker{font-size:9px;letter-spacing:3px;color:var(--red);display:block;margin-bottom:10px}.paper-modal h2{font:36px var(--serif);letter-spacing:4px;font-weight:400;margin:0 35px 9px 0}.modal-intro{font:18px/1.7 var(--serif);color:var(--muted);margin:9px 0 21px}.modal-footnote{font-size:9px;letter-spacing:1px;color:var(--muted);padding-top:7px;margin-top:18px;text-align:center}.store-row{display:flex;align-items:center;gap:18px;padding:18px 0}.row-art{width:61px;height:61px;flex-shrink:0}.store-row>div{flex:1;min-width:0}.store-row h3{font:23px var(--serif);margin:0 0 7px;letter-spacing:2px}.store-row p{font-size:10px;line-height:1.8;color:var(--muted);margin:0}.store-row button{min-width:120px;min-height:44px;padding:12px 18px;font-size:11px;letter-spacing:1px}.money-note{display:block;text-align:right;font-size:11px;color:var(--teal);margin:16px 0}.room-illustration{height:112px;margin:18px 0 5px;background:url('./assets/art/courtyard.webp') center 62%/cover;mask-image:var(--cream-art);mask-size:100% 100%;mask-repeat:no-repeat}.room-state{color:var(--red)!important}.room-price{font:22px var(--serif);color:var(--teal);padding-right:13px}.receipt{margin:24px 0 20px;padding:0}.receipt>div{display:flex;justify-content:space-between;gap:20px;font-size:12px;margin:14px 0;color:var(--muted)}.receipt strong{font:17px Georgia;white-space:nowrap;color:var(--ink)}.receipt .receipt-total{padding:16px 15px;margin-inline:0;background:var(--cream-art) center/100% 100% no-repeat;color:var(--ink);font-size:13px;align-items:center}.receipt-total strong{font-size:24px;color:var(--red)}.night-stamp{display:table;margin:0 0 8px auto;background:var(--rose-art) center/100% 100% no-repeat;font:17px var(--serif);padding:10px 16px;color:var(--red);transform:rotate(5deg)}.night-quote{font:22px/1.7 var(--serif);color:var(--teal);letter-spacing:2px;text-align:center;margin:23px 0}.summary-numbers{display:flex;justify-content:space-around;gap:15px;margin:25px 0}.summary-numbers>div{text-align:center;font-size:10px;color:var(--muted)}.summary-numbers strong{display:block;font:30px Georgia;color:var(--ink);margin-bottom:7px}.modal-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:22px}.modal-actions .button{font-size:11px}.goal-row{padding:19px 0;display:flex;justify-content:space-between;gap:12px;align-items:center;font:22px var(--serif)}.goal-row b{font:20px Georgia;color:var(--teal);white-space:nowrap}.guide-steps{padding:0;list-style:none;counter-reset:steps}.guide-steps li{counter-increment:steps;position:relative;padding:10px 0 15px 37px;font-size:12px;line-height:1.9}.guide-steps li:before{content:counter(steps);font:24px var(--serif);position:absolute;left:3px;color:var(--red)}.guide-steps strong{font-weight:400;color:var(--teal)}.quiet-button{color:var(--muted);font-size:10px;min-height:40px;padding:8px 18px;background:var(--cream-art) center/100% 100% no-repeat}.history-row{display:flex;justify-content:space-between;gap:20px;padding:13px 0;font-size:11px;line-height:1.7}.history-row strong{color:var(--teal);font-weight:400}.warning-copy{font:20px/1.9 var(--serif);padding:15px 0;color:var(--muted)}.loading{position:absolute;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;flex-direction:column;background:var(--paper)}.loading>img{width:100px;height:100px}.loading h2{font:29px var(--serif);letter-spacing:3px;font-weight:400;margin-top:25px}.loading p{font-size:11px;letter-spacing:2px;color:var(--muted)}.loading-track{width:200px;height:5px;margin-top:20px}
@keyframes arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.welcome{top:17%;width:350px;padding:34px}.welcome h2{font-size:42px}.orders-panel{width:280px}.kitchen-strip{width:550px}.food-art{width:57px;height:57px}.management-nav{gap:48px}.management-nav img{width:57px;height:57px}}
@media(max-width:1150px){.topbar{gap:17px;padding-inline:3%}.brand h1{font-size:29px;letter-spacing:3px}.brand>img{width:51px;height:51px}.brand small{font-size:8px;letter-spacing:2px}.resources{margin-left:0;gap:13px}.resources>div{min-width:68px;grid-template-columns:30px auto;gap:2px 6px}.resources img{width:30px;height:30px}.day-clock{min-width:130px}.tools{gap:3px}.fullscreen{display:none}.welcome{left:3%;width:299px;padding:27px;top:128px}.welcome h2{font-size:33px}.welcome p{font-size:17px}.keeper-note{left:3%;width:258px;bottom:119px;padding:16px 19px}.keeper-note p{font-size:16px}.goal-bookmark{right:3%;top:125px;min-width:155px;padding:16px 20px}.goal-bookmark strong{font-size:22px}.orders-panel{left:3%;width:228px;top:125px}.orders-heading{padding-inline:16px}.orders-heading h2{font-size:22px}.guest-ticket{padding:17px 18px}.guest-art{width:36px;height:36px}.ticket-top h3{font-size:20px}.ticket-top small{font-size:8px}.kitchen-strip{width:440px;right:3%;bottom:119px;padding:15px 17px}.food-art{width:39px;height:43px}.recipe-row{gap:5px}.recipe-button{gap:4px}.recipe-button strong{font-size:17px}.recipe-button small{font-size:7px;max-width:80px}.bottom-bar{height:99px;padding-inline:3%;gap:16px}.management-nav{gap:21px}.management-nav img{width:44px;height:44px}.management-nav strong{font-size:11px;letter-spacing:2px}.inn-sign>span{font-size:20px}.time-controls{gap:10px}.time-controls button{font-size:9px}.table-spot{min-width:90px;padding:9px 14px}.table-spot strong{font-size:17px}}
@media(max-width:800px){.topbar{height:86px;padding:12px 4%;gap:12px}.brand{gap:8px}.brand>img{width:44px;height:44px}.brand h1{font-size:27px;letter-spacing:2px}.brand small{font-size:7px;letter-spacing:1.4px;margin-top:6px}.resources{margin-left:auto;gap:11px}.resources>div{min-width:52px;grid-template-columns:25px auto;gap:1px 5px}.resources img{width:25px;height:25px}.resources strong{font-size:23px}.resources small{font-size:8px;letter-spacing:0}.tools{gap:2px}.icon-button{width:28px;height:32px;font-size:21px}.day-clock{position:absolute;left:4%;top:99px;min-width:126px;padding:13px 17px 15px;background:var(--paper-art) center/100% 100% no-repeat}.day-clock strong{font-size:17px;letter-spacing:1px}.day-clock>span{font-size:8px;letter-spacing:1px}.goal-bookmark{right:4%;top:99px;min-width:144px;padding:14px 17px 16px}.goal-bookmark strong{font-size:21px;letter-spacing:2px;margin:6px 0}.goal-bookmark>span{font-size:8px;letter-spacing:2px}.goal-bookmark small{font-size:8px}.welcome{left:4%;top:202px;width:305px;padding:26px 28px}.welcome h2{font-size:34px;margin:16px 0 11px}.welcome p{font-size:17px;margin-bottom:14px}.opening-stock{gap:8px;margin:15px 0 19px}.opening-stock img{width:33px;height:33px}.opening-stock span{font-size:10px}.opening-stock strong{font-size:18px}.welcome .button{min-height:45px;font-size:12px}.save-note{font-size:8px;margin-top:12px}.keeper-note{display:none}.orders-panel{left:4%;top:203px;width:218px;bottom:277px}.orders-heading{padding:12px 15px}.orders-heading h2{font-size:22px}.orders-heading>span{font-size:8px}.guest-ticket{padding:16px 17px;margin-top:9px}.ticket-top{gap:8px}.ticket-top h3{font-size:20px}.ticket-top>strong{font-size:18px}.guest-art{width:36px;height:36px}.order-line{font-size:17px;margin-top:12px}.order-line small{font-size:8px}.patience{margin:8px 0 9px}.ticket-action{min-height:41px;font-size:10px;letter-spacing:1px}.orders-empty{padding:20px 15px}.orders-empty>img{width:56px;height:56px}.orders-empty p{font-size:17px}.orders-empty small{font-size:8px}.today-line{font-size:8px;padding:12px 13px}.table-spot{min-width:80px;min-height:49px;padding:8px 13px}.table-spot>span{font-size:8px}.table-spot strong{font-size:16px}.kitchen-strip{width:92%;right:4%;bottom:141px;padding:16px 15px 14px}.kitchen-heading{padding:0 3px 7px;gap:8px}.kitchen-heading>span:first-child{font-size:20px}.kitchen-heading small{font-size:8px}.kitchen-heading>span:last-child{font-size:8px}.cook-track{margin-inline:3px}.recipe-button{padding:13px 4px 4px;min-height:74px;gap:6px}.recipe-button strong{font-size:18px}.food-art{width:45px;height:46px}.recipe-button small{max-width:95px}.bottom-bar{height:93px;padding:10px 4% 12px;display:block}.inn-sign{display:none}.management-nav{justify-content:space-around;gap:10px;max-width:500px;margin:auto}.management-nav button{flex-direction:column;gap:3px;min-width:46px;padding:0;min-height:66px}.management-nav img{width:43px;height:43px}.management-nav strong{font-size:10px;letter-spacing:2px}.time-controls{position:absolute;bottom:98px;right:4%;gap:15px;padding:4px 17px;background:none}.time-controls button{font-size:10px;min-height:32px}.toast{top:173px;font-size:10px;width:max-content;padding:13px 21px;max-width:94%}.pause-banner{top:40%;left:72%;padding:20px 22px;max-width:175px;min-width:150px}.pause-banner>span{font-size:22px;letter-spacing:2px}.pause-banner button{font-size:10px;white-space:nowrap;padding:10px 14px}.saved-indicator{bottom:266px;left:4%;max-width:92%}}
@media(max-width:500px){.topbar{height:80px;gap:7px}.brand{gap:5px}.brand>img{width:37px;height:37px}.brand h1{font-size:23px;letter-spacing:1px}.brand small{font-size:6px;letter-spacing:1px}.resources{gap:11px}.resources>div{min-width:36px;grid-template-columns:auto}.resources img{display:none}.resources strong{font-size:23px;grid-column:1}.resources small{grid-column:1;font-size:7px;text-align:center}.tools{gap:1px}.icon-button{width:25px;font-size:20px}.day-clock{top:91px;min-width:126px}.goal-bookmark{top:91px;min-width:141px}.welcome{top:196px;width:277px;padding:22px 26px 20px}.welcome h2{font-size:31px;margin:12px 0 8px}.welcome p{font-size:16px;line-height:1.7}.eyebrow{font-size:8px;letter-spacing:1.5px}.opening-stock{gap:5px;margin:13px 0 14px}.opening-stock img{width:31px;height:31px}.opening-stock>div{gap:11px}.opening-stock strong{font-size:17px}.welcome .button{font-size:11px}.save-note{font-size:8px;line-height:1.6}.orders-panel{top:193px;width:178px;bottom:271px}.orders-heading{padding:13px}.orders-heading h2{font-size:21px;letter-spacing:1px}.orders-heading>span{font-size:7px}.guest-ticket{padding:15px 13px}.guest-art{width:29px;height:32px}.ticket-top{gap:6px}.ticket-top h3{font-size:18px;letter-spacing:0}.ticket-top small{font-size:7px}.ticket-top>strong{font-size:16px}.ticket-top>strong small{font-size:7px}.order-line{font-size:16px}.order-line small{font-size:7px}.ticket-secondary{font-size:8px;line-height:1.7}.today-line{font-size:7px;padding-inline:10px}.kitchen-strip{padding:14px 13px 12px;bottom:139px}.kitchen-heading>span:first-child{font-size:18px;letter-spacing:1px}.kitchen-heading small{font-size:7px}.kitchen-heading>span:last-child{font-size:8px}.recipe-row{gap:2px}.recipe-button{gap:3px;padding:12px 1px 3px;min-height:68px}.food-art{width:34px;height:39px}.recipe-button strong{font-size:16px;letter-spacing:0}.recipe-button small{font-size:7px;max-width:68px;line-height:1.55;margin-top:5px}.recipe-button>b{min-width:21px;height:18px;top:2px;right:0;font-size:11px}.table-spot{min-width:73px;min-height:48px;padding:9px 12px}.table-spot strong{font-size:15px}.table-spot>span{font-size:7px}body[data-phase="prep"] .table-spots{display:none}.pause-banner{top:46%;left:74%;max-width:140px;min-width:125px;padding:19px 15px}.pause-banner>span{font-size:20px}.pause-banner button{font-size:9px}.modal-backdrop{padding:13px}.paper-modal{padding:41px 32px 31px;max-height:92dvh}.modal-close{top:12px;right:15px}.paper-modal h2{font-size:29px;letter-spacing:3px}.modal-intro{font-size:17px;margin:10px 0 16px}.modal-kicker{font-size:8px;letter-spacing:2px}.store-row{gap:10px;padding:16px 0;flex-wrap:wrap}.row-art{width:43px;height:47px}.store-row h3{font-size:21px;letter-spacing:1px}.store-row p{font-size:9px}.store-row>div{min-width:135px}.store-row button{min-width:102px;font-size:10px;padding:11px 16px;margin-left:53px}.store-row .room-price{margin-left:auto}.money-note{font-size:10px}.modal-footnote{font-size:8px;letter-spacing:0;line-height:1.6}.night-stamp{font-size:14px;padding:10px}.receipt>div{font-size:11px}.receipt strong{font-size:16px}.receipt-total strong{font-size:22px}.summary-numbers strong{font-size:26px}.summary-numbers>div{font-size:9px}.goal-row{font-size:18px}.goal-row b{font-size:18px}.guide-steps li{font-size:11px}.achievement{padding:24px;gap:14px}.achievement>img{width:54px;height:54px}.achievement strong{font-size:27px}.achievement small{font-size:8px;letter-spacing:1px}.achievement p{font-size:9px}.loading h2{font-size:23px}.loading p{font-size:10px}}
@media(max-width:350px){.topbar{gap:4px}.brand>img{width:28px;height:34px}.brand h1{font-size:21px}.brand small{font-size:5px;letter-spacing:.8px}.resources{gap:8px}.resources strong{font-size:21px}.resources>div{min-width:32px}.icon-button{width:23px;font-size:19px}.goal-bookmark{min-width:132px;padding-inline:14px}.goal-bookmark strong{font-size:20px}.goal-bookmark small{font-size:7px}.welcome{width:265px}.orders-panel{width:163px}.ticket-top h3{font-size:17px}.guest-art{width:26px}.ticket-top>strong{font-size:15px}.order-line{font-size:15px}.orders-heading h2{font-size:19px}.kitchen-heading small{font-size:6px}.food-art{width:27px;height:34px}.recipe-button strong{font-size:15px}.recipe-button small{font-size:6px}}
@media(max-height:760px) and (min-width:801px){.welcome{top:119px;padding:24px 27px;width:303px}.welcome h2{font-size:33px;margin:13px 0 10px}.welcome p{font-size:16px;margin-bottom:13px}.opening-stock{gap:6px;margin:13px 0 16px}.opening-stock img{width:31px;height:31px}.save-note{margin-top:11px}.keeper-note{display:none}.goal-bookmark{top:117px}.orders-panel{top:117px;bottom:123px}.kitchen-strip{bottom:116px}}
@media(max-height:840px) and (max-width:500px){.welcome{top:201px;padding:20px 24px;width:265px}.welcome p{display:none}.welcome h2{font-size:28px;margin:11px 0 8px}.welcome p{font-size:15px;margin-bottom:9px}.opening-stock{flex-direction:row;justify-content:space-between;gap:8px;margin:14px 0 16px}.opening-stock>div{flex-direction:column;gap:4px}.opening-stock span{display:block;text-align:center;font-size:8px}.opening-stock strong{display:block;font-size:16px;margin-top:4px}.opening-stock img{width:33px;height:33px}.welcome .button{min-height:42px}.save-note{margin-top:9px;font-size:7px}.kitchen-strip{padding-top:12px;padding-bottom:10px}.recipe-button{min-height:62px}.orders-panel{top:201px;bottom:259px}}
@media(max-height:500px) and (min-width:650px){.topbar{height:67px;padding:9px 3%;gap:15px}.brand>img{width:39px;height:39px}.brand h1{font-size:24px}.brand small{font-size:6px;margin-top:5px}.day-clock{position:static;background:none;padding:0;margin-left:auto;min-width:121px}.day-clock>span{font-size:7px}.day-clock strong{font-size:15px;margin:4px 0}.resources{gap:15px;margin-left:0}.resources>div{min-width:52px;grid-template-columns:24px auto}.resources img{display:block;width:24px;height:24px}.resources strong{font-size:21px}.resources small{grid-column:2;font-size:7px}.icon-button{width:27px;height:29px}.bottom-bar{height:69px;display:flex;padding:8px 3%;gap:15px}.inn-sign{display:none}.management-nav{gap:20px;margin:0;max-width:none}.management-nav button{flex-direction:row;gap:6px;min-height:44px;min-width:50px}.management-nav img{width:35px;height:35px}.management-nav strong{font-size:10px}.time-controls{position:static;background:none;padding:0;gap:10px}.time-controls button{font-size:9px;min-height:35px}.welcome{top:78px;left:3%;width:260px;padding:20px 23px}.eyebrow{font-size:8px}.welcome h2{font-size:28px;margin:11px 0 8px}.welcome p{display:none}.opening-stock{margin:9px 0 12px;gap:2px;flex-direction:row;justify-content:space-between}.opening-stock>div{gap:4px}.opening-stock img{width:25px;height:25px}.opening-stock span{display:block;font-size:7px}.opening-stock strong{display:block;font-size:14px;margin-top:3px}.welcome .button{min-height:40px;font-size:10px;padding-block:10px}.save-note{font-size:7px;margin-top:10px}.goal-bookmark{top:80px;right:3%;min-width:128px;padding:11px 15px}.goal-bookmark strong{font-size:19px;margin:4px 0}.goal-bookmark>span,.goal-bookmark small{font-size:7px}.keeper-note{display:none}.orders-panel{left:3%;width:185px;top:78px;bottom:79px}.orders-heading{padding:10px 12px}.orders-heading h2{font-size:20px}.orders-heading>span{font-size:7px}.guest-ticket{padding:12px 14px;margin-top:7px}.guest-art{width:28px;height:28px}.ticket-top h3{font-size:17px}.ticket-top small{font-size:7px}.ticket-top>strong{font-size:15px}.order-line{font-size:15px;margin:8px 0}.patience{margin:7px 0}.ticket-action{min-height:34px;font-size:9px}.today-line{font-size:7px;padding:9px 12px}.orders-empty{padding:13px}.orders-empty>img{width:35px;height:35px}.orders-empty p{font-size:15px;margin:7px 0}.orders-empty small{font-size:7px}.kitchen-strip{width:375px;right:3%;bottom:79px;padding:12px 14px}.kitchen-heading{gap:8px;padding-bottom:5px}.kitchen-heading>span:first-child{font-size:17px}.kitchen-heading small{font-size:7px}.recipe-button{min-height:54px;padding-top:10px;gap:4px}.recipe-button strong{font-size:15px}.recipe-button small{font-size:6px;margin-top:4px}.recipe-button>b{font-size:9px;height:16px;min-width:19px}.food-art{width:31px;height:34px}.table-spot{min-width:76px;min-height:42px;padding:8px 12px}.table-spot strong{font-size:14px;margin-top:2px}.table-spot>span{font-size:7px}.pause-banner{top:41%;left:62%;min-width:140px;padding:16px 20px}.pause-banner>span{font-size:20px}.pause-banner button{font-size:9px;padding:8px 15px;margin-top:8px}.toast{top:66px;font-size:9px;padding:12px 18px}.paper-modal{max-height:92dvh;padding:38px 48px 31px}.paper-modal h2{font-size:28px}.modal-intro{font-size:16px}.store-row{padding:11px 0}.modal-footnote{margin-top:13px}.saved-indicator{bottom:75px}.loading h2{font-size:25px;margin-top:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
@media(hover:none){button{min-height:44px}.icon-button{min-height:32px}}

/* Painted control assets share the same material as the inn illustrations. */
.control-art{display:block;object-fit:contain;flex-shrink:0;width:28px;height:28px}.icon-button{display:inline-flex;align-items:center;justify-content:center}.icon-button .control-art{width:29px;height:29px}.tools .icon-button.is-on{background:var(--cream-art) center/100% 100% no-repeat}.action-art,.button-arrow,.inline-arrow{display:inline-block;object-fit:contain;flex-shrink:0;width:24px;height:24px}.button-caption{display:inline-flex;align-items:center;gap:10px}.button-arrow{margin-left:auto}.inline-arrow{width:19px;height:19px;vertical-align:middle;margin-left:5px}.ticket-action{display:flex;align-items:center;justify-content:center;padding-inline:8px}.time-controls button{display:inline-flex;align-items:center;justify-content:center;gap:6px}.time-controls .control-art{width:21px;height:23px}.pause-banner button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.pause-banner .action-art{width:19px;height:19px}.modal-close{display:inline-flex;align-items:center;justify-content:center}.modal-close .control-art{width:24px;height:24px}.table-clean-art{width:25px;height:25px;position:absolute;left:-8px;top:13px;object-fit:contain}.modal-actions .action-art{width:25px;height:25px}
@media(max-width:800px){.icon-button .control-art{width:25px;height:26px}.time-controls{gap:12px}.time-controls .control-art{width:18px;height:20px}.time-controls button{gap:4px}.button-caption{gap:8px}}
@media(max-width:500px){.icon-button .control-art{width:23px;height:24px}.inline-arrow{width:16px;height:17px;margin-left:3px}.time-controls .control-art{width:17px;height:19px}.button-caption .action-art{width:23px;height:23px}.table-clean-art{width:21px;height:21px;left:-6px;top:12px}.modal-actions .button{gap:10px}}
@media(max-height:500px) and (min-width:650px){.icon-button .control-art{width:25px;height:25px}.time-controls{gap:10px}.time-controls button{gap:4px}.time-controls .control-art{width:17px;height:19px}.button-caption .action-art{width:20px;height:20px}.button-arrow{width:21px;height:21px}}

@media(max-width:800px) and (orientation:portrait){.orders-panel{bottom:347px}}
@media(max-width:800px) and (orientation:portrait){.table-spot{width:calc(100vw / 3 - 18px);min-width:0;min-height:49px;padding:8px 5px}.table-spot strong{white-space:nowrap;letter-spacing:0}}
@media(max-height:500px) and (min-width:650px){.table-spot{width:70px;min-width:70px;min-height:44px;padding:7px 5px}.table-spot strong{font-size:13px;white-space:nowrap;letter-spacing:0}}

/* The relationship book uses the same generated paper and painted portraits. */
.day-event-button{padding:5px 0;min-height:28px;text-align:left;line-height:1.6;color:var(--teal)}
.day-event-button:hover{color:var(--red)}
.taste-clue{font:13px/1.7 var(--serif);color:var(--muted);margin:0 0 10px}
.ticket-care{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;min-height:55px;padding:8px 3px;margin-top:7px;background:var(--cream-art) center/100% 100% no-repeat;text-align:left;font-size:11px;line-height:1.7;color:var(--teal)}
.care-art{width:29px;height:31px;flex-shrink:0}
.ticket-care small{display:block;font-size:8px;color:var(--muted);letter-spacing:0}
.special-menu,.favor-note{background:var(--cream-art) center/100% 100% no-repeat;padding:25px 27px;margin:26px 0 0}
.special-menu h3,.favor-note h3{font:25px/1.5 var(--serif);font-weight:400;letter-spacing:1px;margin:4px 0 12px}
.special-menu p,.favor-note p{font:17px/1.8 var(--serif);color:var(--muted);margin:0 0 15px}
.special-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:18px}
.special-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:var(--sage-art) center/100% 100% no-repeat;padding:15px 5px;min-height:133px}
.special-choice img{width:46px;height:46px;object-fit:contain}
.special-choice strong{font:19px var(--serif);font-weight:400;white-space:nowrap}
.special-choice small{font-size:9px;line-height:1.7;color:var(--muted)}
.special-choice.selected:disabled{opacity:1;background-image:var(--rose-art)}
.favor-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px 15px;margin:15px 0;font-size:11px;color:var(--muted)}
.favor-status strong{font-weight:400;color:var(--teal)}
.favor-note .button{min-height:44px;font-size:11px;max-width:100%;line-height:1.8}
.favor-reward,.favor-problem{display:block;font-size:10px;line-height:1.8;color:var(--muted);margin-top:12px}
.favor-problem{color:var(--red)}
.relationship-modal{width:min(960px,100%);padding:58px 76px 48px}
.relationship-modal>.modal-close{top:25px;right:34px;z-index:2}
.bond-book-summary,.bond-progress{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:15px;font-size:12px;color:var(--muted);margin:20px 0}
.bond-book-summary>span{padding:9px 14px;background:var(--cream-art) center/100% 100% no-repeat}.bond-book-summary b,.bond-progress b{color:var(--teal);font-weight:400;white-space:nowrap}
.bond-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 15px}
.bond-card{display:grid;grid-template-columns:42% 1fr;align-items:stretch;min-width:0;text-align:left;background:var(--cream-art) center/100% 100% no-repeat;padding:9px 12px 9px 0;gap:9px;min-height:210px;overflow:hidden}
.bond-card>.bond-portrait{height:192px;align-self:center}.bond-portrait{width:100%;height:100%;display:block;overflow:hidden;mask-image:var(--cream-art);mask-repeat:no-repeat;mask-size:100% 100%}.bond-portrait>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.bond-card-copy{display:flex;flex-direction:column;align-items:flex-start;padding:16px 0 13px;gap:8px;min-width:0}
.bond-card-copy>small{font-size:10px;color:var(--muted);letter-spacing:.5px}
.bond-card-copy>strong{font:27px var(--serif);font-weight:400;letter-spacing:2px}
.bond-stage{display:inline-block;font-size:10px;color:var(--red);background:var(--rose-art) center/100% 100% no-repeat;padding:6px 11px;line-height:1.5;letter-spacing:1px}
.bond-description{font:15px/1.75 var(--serif);color:var(--muted)}
.bond-presence{font-size:10px;color:var(--muted);line-height:1.8;margin-top:auto}
.bond-presence.can-meet{color:var(--teal)}
.bond-book-note{font-size:11px;line-height:1.9;color:var(--muted);margin:24px 0 0;padding:0 6px}
.bond-back{margin:0 0 18px;padding:7px 16px;font-size:11px}
.bond-detail{display:grid;grid-template-columns:230px 1fr;gap:32px;align-items:start}
.bond-person{text-align:center;min-width:0}
.bond-person>.bond-portrait{height:310px;width:100%}
.bond-role{display:block;color:var(--muted);font-size:10px;margin:11px 0}
.paper-modal .bond-person h2{font-size:30px;margin:8px 0 10px;letter-spacing:3px}
.bond-person>p{font:16px/1.8 var(--serif);color:var(--muted);margin:17px 4px 0}
.bond-writing{min-width:0;padding-top:4px}
.bond-progress{margin:2px 0 27px;font-size:10px}
.bond-writing h3,.bond-memories h3{font:27px/1.5 var(--serif);font-weight:400;letter-spacing:2px;margin:7px 0 16px}
.bond-scene>p,.bond-response>p,.bond-away>p,.day-result{font:20px/1.9 var(--serif);letter-spacing:.4px;margin:0 0 21px}
.bond-choices{display:flex;flex-direction:column;gap:12px;margin:21px 0 13px}
.bond-choice{background:var(--sage-art) center/100% 100% no-repeat;min-height:60px;text-align:left;padding:16px 22px;font:17px/1.7 var(--serif);letter-spacing:.5px;width:100%}
.bond-choice>small{display:block;font:10px/1.7 var(--sans);color:var(--red);margin-top:5px}
.bond-leisure-note{font-size:10px;color:var(--muted);line-height:1.8}
.bond-feelings{display:flex;gap:22px;margin:25px 0 14px}
.bond-feelings>div{display:flex;align-items:center;gap:9px;flex:1;min-width:0;font-size:10px;color:var(--muted)}
.bond-feelings span{white-space:nowrap;flex-shrink:0}
.bond-feelings meter{appearance:none;border:0;height:7px;min-width:20px;width:0;flex:1;background:transparent}
.bond-feelings meter::-webkit-meter-bar{border:0;background:var(--cream-art) center/100% 100% no-repeat;height:7px}
.bond-feelings meter::-webkit-meter-optimum-value{background:var(--sage-art) center/100% 100% no-repeat}
.bond-feelings meter::-moz-meter-bar{background:var(--sage-art) center/100% 100% no-repeat}
.bond-next,.bond-promise{font-size:11px;line-height:1.9;color:var(--muted)}
.bond-promise{color:var(--red)}
.bond-away .bond-last-line{font-size:17px;color:var(--muted)}
.bond-memories{margin-top:32px;padding:21px 22px 5px;background:var(--cream-art) center/100% 100% no-repeat}
.bond-memories h3{font-size:23px;margin:0 0 18px}
.bond-memories article{margin-bottom:20px}
.bond-memories article>span{font-size:10px;color:var(--teal)}
.bond-memories article>p{font:17px/1.85 var(--serif);color:var(--muted);margin:7px 0}
.day-outlook{background:var(--cream-art) center/100% 100% no-repeat;padding:19px 22px;margin:23px 0 0;font-size:12px;color:var(--teal)}
.day-outlook b{font-weight:400;margin-left:13px}
.day-outlook p{font:18px/1.8 var(--serif);color:var(--muted);margin:9px 0 0}
.management-nav{gap:25px}
@media(min-width:1600px){.management-nav{gap:37px}}
@media(max-width:1150px){.management-nav{gap:13px}}
@media(max-width:800px){.management-nav{gap:4px;max-width:540px}.management-nav button{min-width:42px}.bond-grid{gap:14px 10px}.bond-card-copy>strong{font-size:24px}.bond-detail{grid-template-columns:195px 1fr;gap:22px}.bond-person>.bond-portrait{height:280px}.bond-scene>p,.bond-response>p,.bond-away>p{font-size:18px}}
@media(max-width:600px){.special-menu,.favor-note{padding:22px 18px}.special-choices{grid-template-columns:1fr;gap:7px}.special-choice{display:grid;grid-template-columns:42px 1fr;column-gap:12px;row-gap:4px;text-align:left;min-height:76px;padding:12px 16px}.special-choice img{grid-row:1/3;width:40px;height:40px}.special-choice strong{font-size:19px}.special-choice small{font-size:10px}.relationship-modal{padding:46px 34px 36px}.bond-grid{grid-template-columns:1fr;gap:13px}.bond-card{grid-template-columns:100px 1fr;min-height:168px;gap:11px;padding-right:14px}.bond-card>.bond-portrait{height:175px}.bond-card-copy{padding:9px 0;gap:5px}.bond-card-copy>strong{font-size:25px}.bond-description{font-size:14px;line-height:1.65}.bond-presence{font-size:9px}.bond-card-copy>small{font-size:9px}.bond-book-summary{font-size:11px}.bond-detail{display:block}.bond-person{display:grid;grid-template-columns:102px 1fr;column-gap:17px;text-align:left;align-items:center;margin-bottom:24px}.bond-person>.bond-portrait{grid-column:1;grid-row:1/5;height:160px}.bond-role{font-size:9px;margin:0;align-self:end}.paper-modal .bond-person h2{font-size:27px;margin:8px 0}.bond-person>.bond-stage{justify-self:start;align-self:start;font-size:9px}.bond-person>p{grid-column:1/-1;font-size:15px;margin:12px 0 0}.bond-progress{margin-bottom:20px}.bond-writing h3{font-size:24px;margin-bottom:12px}.bond-choice{font-size:17px;padding:14px 18px;min-height:60px}.bond-book-note{font-size:10px}.bond-memories{padding:18px 17px 3px}.bond-memories article>p{font-size:16px}.bond-feelings{gap:15px}.day-event-button{min-height:32px}}
@media(max-width:350px){.relationship-modal{padding-inline:30px}.bond-card{grid-template-columns:76px 1fr;gap:7px}.bond-card>.bond-portrait{height:183px}.bond-card-copy>strong{font-size:24px}.bond-description{font-size:13px}.bond-presence{font-size:8px}.bond-card-copy>small{font-size:9px;letter-spacing:0}}
@media(max-width:500px){.relationship-modal>.modal-close{top:15px;right:17px}}
@media(max-height:500px) and (min-width:650px){.management-nav{gap:8px}.management-nav button{gap:3px;min-width:48px}.management-nav img{width:29px;height:31px}.management-nav strong{letter-spacing:1px}.bond-grid{grid-template-columns:1fr 1fr}.bond-card{grid-template-columns:38% 1fr;min-height:190px}.bond-person>.bond-portrait{height:260px}.bond-detail{grid-template-columns:180px 1fr;gap:24px}.day-event-button{min-height:24px}}
@media(max-height:500px) and (min-width:650px){.relationship-modal{padding:40px 64px 35px}.relationship-modal>.modal-close{top:15px;right:27px}}
@media(max-width:800px) and (orientation:portrait){#game.serving #orders-panel:has(#orders-empty:not([hidden])){visibility:hidden}}
@media(max-width:800px) and (orientation:portrait){#game.serving .goal-bookmark{visibility:hidden}}
