/* Game-first tablet shell: a full-screen world with small, touchable HUD overlays. */
:root{--hud:#fff8e9;--hud-border:#fdf7df;--shadow:0 5px 0 #233c3525,0 12px 28px #26382c26;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{background:#91a17a;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}input{user-select:text;-webkit-user-select:text}button{touch-action:manipulation}button:disabled{opacity:.5}.game-layout{position:fixed;inset:0;display:block;max-width:none;padding:0;margin:0}.shop-panel{position:absolute;inset:0;border:0;border-radius:0;background:#b7c7a3}.scene{position:absolute;inset:0;width:100%;height:100%}.topbar{position:fixed;top:calc(16px + var(--safe-top));left:20px;right:20px;height:54px;padding:0;border:0;background:none;gap:9px;z-index:6;pointer-events:none;max-width:none}.topbar>*{pointer-events:auto}.brand{display:none}.metrics{margin:0;gap:8px;order:-1;height:52px}.metrics>div{display:flex;align-items:center;gap:10px;border:3px solid var(--hud-border);background:var(--hud);border-radius:18px;box-shadow:var(--shadow);padding:7px 15px}.metrics small{font-size:12px;color:#7e8063}.metrics b{font-size:23px;margin:0;line-height:1;white-space:nowrap}.metrics>div:first-child:before{content:'●';color:#d09d37;font-size:27px;text-shadow:1px 2px #bd84372d}.metrics>div:last-child small{display:none}.metrics>div:last-child{padding:7px 13px}.metrics>div:last-child b{color:#a78032}.day-chip{position:absolute;top:0;left:50%;transform:translateX(-50%);border:3px solid var(--hud-border);border-radius:18px;background:var(--hud);box-shadow:var(--shadow);margin:0;padding:7px 17px;gap:10px;min-width:185px;justify-content:center;height:52px}.sun{font-size:26px}.day-chip b{font-size:15px}.day-chip small{font-size:12px;margin-top:2px}.topbar .icon-button{height:48px;width:48px;min-width:48px;background:var(--hud);border:3px solid var(--hud-border);box-shadow:var(--shadow);border-radius:16px;font-size:24px}.topbar #sound{margin-left:auto}.topbar #help{font-size:21px}.scene-top{top:calc(86px + var(--safe-top));left:auto;right:20px;z-index:5}.scene-title{display:none}.scene-controls{gap:9px}.scene-controls button{height:44px;padding:0 14px;background:var(--hud);border:3px solid var(--hud-border);box-shadow:var(--shadow);border-radius:14px;font-size:14px;font-weight:700}.scene-controls button:disabled{display:none}.orders-panel{position:absolute;top:calc(91px + var(--safe-top));left:20px;width:222px;max-height:calc(100dvh - 205px - var(--safe-top));padding:0;border:0;background:transparent;border-radius:0;z-index:4;overflow:visible;pointer-events:none}.orders-panel>*{pointer-events:auto}.panel-heading{padding:8px 12px 8px 15px;border:3px solid var(--hud-border);border-radius:13px;background:var(--hud);box-shadow:var(--shadow);margin-bottom:12px}.panel-heading h1{margin:0;font-family:inherit;font-size:14px;font-weight:800}.panel-heading h1 span{background:#dfe5c8;width:23px;height:23px;font-size:12px}.tiny-pill{font-size:11px;border:0;padding:4px 0;color:#7e8063}.orders-list{flex:none;min-height:0;max-height:calc(100dvh - 270px);overflow:auto;padding:0 3px 8px;gap:10px;scrollbar-width:none}.orders-list::-webkit-scrollbar{display:none}.order{width:100%;flex:0 0 auto;min-height:109px;border:3px solid #fff6df;border-radius:14px;padding:12px;background:#fff8e9f5;box-shadow:0 5px 0 #263e3521;transition:transform .2s,border-color .2s}.order.selected{padding:12px;border:3px solid #e5ad48;background:#fff5d8;transform:translateX(2px)}.order.selected:after{content:'制作中';position:absolute;top:-6px;right:8px;background:#deaa43;color:#fff9e8;padding:3px 7px;border-radius:6px;font-size:10px;font-weight:700}.order-top{gap:9px}.avatar{width:36px;height:36px;font-size:25px}.order-name{font-size:15px}.order-group{font-size:11px}.order-price{font-size:17px}.order-recipe{font-size:13px;margin:10px 0 9px;line-height:1.3}.order-recipe>b{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patience{height:5px}.empty-orders{padding:14px;background:#fff8e9d9;border:3px solid #fff6df;border-radius:14px;display:block;text-align:center;box-shadow:0 4px 0 #263e3521}.empty-orders>span{font-size:27px;margin:0 0 7px}.empty-orders p{margin:7px 0;font-size:12px;line-height:1.7}.neighborhood{display:block;position:fixed;right:20px;top:calc(147px + var(--safe-top));width:225px;padding:0;margin:0;border:3px solid var(--hud-border);border-radius:14px;background:var(--hud);box-shadow:var(--shadow);overflow:hidden;z-index:4}#event-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:0;background:none;font-size:13px;font-weight:700;min-height:44px}#event-toggle>span{font-size:18px;font-weight:400}.event-content{display:none;padding:0 14px 13px}.neighborhood.expanded .event-content{display:block}.event-content>.eyebrow{display:none}.event-content>b{font-size:14px;font-weight:700;display:block;margin:2px 0 8px}.neighborhood p{font-size:12px;line-height:1.8;margin:0 0 10px}.event-footer{font-size:12px}.save-hint{display:none}.view-closed .orders-panel>.panel-heading,.view-closed .orders-panel>.orders-list,.view-summary .orders-panel>.panel-heading,.view-summary .orders-panel>.orders-list{display:none}.scene-bottom{bottom:calc(20px + var(--safe-bottom));left:50%;right:auto;transform:translateX(-50%);gap:10px;z-index:2}.scene-bottom>span:first-child{background:#213d326e;color:#fff6de;border:1px solid #ffffff24;padding:7px 12px;border-radius:9px;font-size:11px;white-space:nowrap;text-shadow:0 1px #20302555}.weather{display:none}.day-progress{top:calc(76px + var(--safe-top));bottom:auto;left:calc(50% - 86px);width:172px;height:5px;border-radius:8px;background:#294a3540;overflow:hidden}.day-progress>div{background:#d89642}.start-callout{bottom:calc(72px + var(--safe-bottom));padding:0;background:none;box-shadow:none;border:0;border-radius:0;display:flex;flex-direction:column;gap:12px;z-index:4;text-align:center;white-space:normal;width:310px}.start-callout h2{font-family:'Noto Serif SC',serif;font-size:37px;font-weight:800;letter-spacing:4px;color:#fff3ce;text-shadow:0 3px #214432,0 5px 14px #12382660;margin:0;white-space:nowrap}.start-callout>span{font-size:14px;color:#fff8df;background:#234732af;padding:6px 15px;border-radius:20px}.start-callout .button{min-height:57px;width:220px;justify-content:center;background:#d87139;color:#fff4cf;font-size:19px;padding:14px 20px;border:3px solid #ffdda2;border-radius:19px;box-shadow:0 6px 0 #9c492d,0 12px 20px #243d352a}.start-callout .button:hover{background:#e98742}.station-tag{font-size:13px;min-height:42px;padding:9px 13px;border-radius:13px;border:2px solid #fff1c6;background:#fff8e9ee;font-weight:700;box-shadow:0 4px 0 #253b3527;color:#37523c}.station-tag.hot{border-color:#ffd596;box-shadow:0 4px 0 #9e493544}.toolbar{position:fixed;inset:auto 20px calc(18px + var(--safe-bottom));height:64px;padding:0;max-width:none;display:flex;gap:0;z-index:6;pointer-events:none}.toolbar>*{pointer-events:auto}.shop-name{display:none}.toolbar nav{margin:0;gap:10px;align-self:flex-end}.toolbar nav button{width:67px;height:65px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:3px solid var(--hud-border);border-radius:19px;background:var(--hud);box-shadow:var(--shadow);padding:4px;font-size:12px;font-weight:700}.toolbar nav button>span{font-size:25px;margin:0;line-height:1.1}.toolbar nav button:hover{background:#fff1cd}.footer-right{margin-left:auto;gap:12px;height:60px;align-self:flex-end;font-size:13px}.footer-right>span{color:#fff4d4;font-weight:700;text-shadow:0 2px #324732;background:#234732b0;padding:8px 12px;border-radius:10px}.footer-right .text-button{font-size:13px;min-width:72px;height:60px;padding:8px 10px;border:3px solid var(--hud-border);border-radius:17px;background:var(--hud);box-shadow:var(--shadow);text-decoration:none;color:#62533e;font-weight:700}.footer-right .text-button:disabled{display:none}.bench-toggle{position:fixed;left:50%;bottom:calc(55px + var(--safe-bottom));transform:translateX(-50%);z-index:7;min-height:52px;min-width:156px;padding:9px 20px;border:3px solid #f9ddb0;border-radius:18px;background:#244d3b;color:#fff3d0;box-shadow:0 5px 0 #143629,0 8px 18px #1a39272a;font-weight:700;font-size:16px}.view-closed .bench-toggle,.view-summary .bench-toggle{display:none}.workbench{position:fixed;z-index:8;left:50%;bottom:calc(17px + var(--safe-bottom));width:min(910px,calc(100% - 32px));transform:translate(-50%,calc(100% + 40px));visibility:hidden;pointer-events:none;opacity:0;transition:transform .25s ease,opacity .2s,visibility .25s;grid-template-columns:175px 115px minmax(260px,1fr) 175px;grid-template-rows:1fr;padding:20px;gap:15px;min-height:198px;max-height:calc(100dvh - 110px);border:4px solid #fff0ca;border-radius:24px;background:#fff8e9f5;box-shadow:0 7px 0 #50483230,0 20px 70px #24442d45;backdrop-filter:blur(10px)}.workbench.is-open{transform:translate(-50%,0);visibility:visible;pointer-events:auto;opacity:1}.bench-close{position:absolute;top:-18px;right:21px;height:38px;width:60px;border:3px solid #fff0ca;border-radius:14px;background:#fff8e9;color:#486343;font-size:25px;box-shadow:0 3px 0 #50483225}.bench-summary h2{font-size:20px;margin:0 0 8px}.bench-summary p{font-size:13px;line-height:1.7;min-height:42px;margin:0 0 8px}.recipe-badges{font-size:12px;line-height:1.6;color:#567145}.bench-summary .text-button{min-height:36px;font-size:12px}.pizza-preview{height:135px}.ingredient-heading{font-size:14px;margin-bottom:10px;gap:8px}.ingredient-heading>span{font-size:11px}.ingredients{grid-template-columns:repeat(3,1fr);gap:7px}.ingredient{border:2px solid #e0decb;min-height:62px;padding:7px 5px;border-radius:12px;background:#f2efdc}.ingredient>span{display:inline;font-size:23px;margin:0 3px 0 0}.ingredient b{display:inline;font-size:12px;font-weight:600}.ingredient small{font-size:11px;margin-top:2px}.ingredient.added{background:#e1edcf;border:2px solid #6c914f}.cooking-actions{padding-left:14px;border-left:1px solid #d8dcca}.oven-status{font-size:12px;margin-bottom:8px;gap:5px}.oven-status b{font-size:11px}.bake-meter{height:6px;margin-bottom:12px}.button{border-radius:13px;min-height:47px;font-size:14px;padding:10px 12px;justify-content:center;gap:10px}.secondary{margin-top:8px}.cooking-actions kbd{display:none}.toast{top:calc(85px + var(--safe-top));background:#264d3beb;border:2px solid #a6b482;color:#fff5d6;border-radius:16px;box-shadow:0 4px 0 #1c382a2b;padding:12px 20px;font-size:14px;z-index:30;max-width:calc(100% - 50px)}dialog{border:4px solid #fff0ca;border-radius:24px;box-shadow:0 8px 0 #36442d40,0 30px 100px #19342355;width:min(640px,calc(100% - 36px));max-height:calc(100dvh - 50px);padding:24px;user-select:auto;-webkit-user-select:auto}dialog::backdrop{background:#173c3555;backdrop-filter:blur(4px)}.modal-head{margin-bottom:18px}.modal-head .eyebrow{display:none}.modal-head .icon-button{height:44px;width:44px;border:2px solid #dce1c7;background:#eef1df;border-radius:13px;font-size:26px}.modal-head h2{font-size:26px}.management-card{border-radius:15px;border:2px solid #e0e2cc}.management-card .button{min-height:44px}.management-card h3{font-size:16px}.menu-toppings button{min-height:46px;font-size:14px;border:2px solid #d7dccb;border-radius:12px}.modal-actions .button{min-height:49px;font-size:15px}input[type=text]{min-height:46px;font-size:16px}input[type=range]{height:34px}.is-paused .scene{filter:saturate(.85)}#scene-fallback{z-index:3;top:25%;left:25%;right:20%;background:#fff8e9e6}.view-closed .scene-bottom{display:none}.bench-open .toolbar,.bench-open .bench-toggle,.bench-open .scene-bottom{visibility:hidden;pointer-events:none}.bench-open .neighborhood{display:none}.view-summary .bench-toggle{display:none}
@media(max-width:1100px){.topbar{left:15px;right:15px;gap:7px}.metrics>div{padding:7px 10px;gap:7px}.metrics small{display:none}.metrics b{font-size:21px}.day-chip{min-width:174px}.orders-panel{left:15px;width:198px}.order{padding:10px;min-height:103px}.order.selected{padding:10px}.scene-top{right:15px}.neighborhood{right:15px;width:195px}.workbench{width:min(880px,calc(100% - 26px));grid-template-columns:150px 105px minmax(240px,1fr) 157px;padding:18px;gap:12px}.bench-summary h2{font-size:18px}.cooking-actions{padding-left:10px}.ingredients{gap:5px}.ingredient-heading{font-size:13px}.ingredient-heading>span{display:none}.toolbar{left:15px;right:15px}.footer-right>span{display:none}.scene-bottom>span:first-child{font-size:10px}}
@media(max-width:800px) and (orientation:landscape){.topbar{top:10px;height:43px}.metrics{height:43px}.metrics>div{border-width:2px;border-radius:13px}.metrics b{font-size:18px}.metrics>div:first-child:before{font-size:22px}.day-chip{height:44px;padding:4px 10px;border-width:2px;min-width:150px;border-radius:13px}.day-chip b{font-size:13px}.day-chip small{font-size:10px}.topbar .icon-button{height:43px;width:43px;min-width:43px;border-width:2px}.scene-top{top:65px}.scene-controls button{height:40px;font-size:12px}.orders-panel{top:65px;width:174px;max-height:calc(100dvh - 145px)}.panel-heading{padding:6px 9px;border-width:2px;margin-bottom:9px}.panel-heading h1{font-size:12px}.tiny-pill{font-size:10px}.orders-list{max-height:calc(100dvh - 180px)}.order{min-height:95px;padding:8px;border-width:2px}.order.selected{padding:8px;border-width:2px}.order-name{font-size:13px}.order-group{font-size:10px}.avatar{width:29px;height:29px;font-size:23px}.order-price{font-size:15px}.order-recipe{font-size:11px}.neighborhood{top:116px;width:168px}.toolbar{height:55px;bottom:10px}.toolbar nav button{height:55px;width:58px;font-size:11px;border-width:2px;border-radius:15px}.toolbar nav button>span{font-size:22px}.footer-right .text-button{height:52px;min-width:58px;font-size:12px}.bench-toggle{bottom:20px;min-height:45px;font-size:14px}.scene-bottom{display:none}.start-callout{bottom:25px}.start-callout h2{font-size:28px}.start-callout>span{display:none}.start-callout .button{min-height:47px;font-size:16px;width:190px}.workbench{padding:13px;gap:9px;min-height:175px;grid-template-columns:120px 88px minmax(190px,1fr) 142px;border-width:3px;border-radius:18px;bottom:9px}.bench-summary h2{font-size:16px}.bench-summary p{font-size:11px;margin:0 0 5px;min-height:30px}.recipe-badges{font-size:10px}.pizza-preview{height:111px}.ingredient{min-height:55px;padding:4px 2px}.ingredient b{font-size:10px}.ingredient>span{font-size:19px}.ingredient small{font-size:10px}.cooking-actions .button{font-size:12px;min-height:43px}.oven-status{font-size:10px}.day-progress{top:59px;width:140px;left:calc(50% - 70px)}}
@media(orientation:portrait){.topbar{left:14px;right:14px;top:calc(14px + var(--safe-top));height:50px;flex-wrap:nowrap}.metrics{height:49px;gap:7px}.metrics>div{padding:7px 10px;border-width:2px;border-radius:15px}.metrics>div:last-child{padding:7px 9px}.metrics b{font-size:19px}.metrics>div:first-child:before{font-size:22px}.topbar .icon-button{height:45px;width:45px;min-width:45px;border-width:2px;border-radius:14px}.topbar #sound{display:none}.topbar #fullscreen-button{margin-left:auto}.day-chip{display:flex;top:64px;height:48px;left:50%;min-width:166px;border-width:2px;padding:6px 12px;border-radius:14px}.day-chip b{font-size:13px}.day-chip small{font-size:11px}.day-progress{top:calc(130px + var(--safe-top));left:calc(50% - 73px);width:146px}.scene-top{top:calc(145px + var(--safe-top));right:14px}.scene-controls{flex-direction:column;gap:8px}.scene-controls button{font-size:12px;min-height:43px;padding:7px 10px;border-width:2px;border-radius:12px}.orders-panel{top:calc(145px + var(--safe-top));left:14px;width:190px;max-height:calc(100dvh - 360px)}.orders-list{display:flex;flex-direction:column;max-height:calc(100dvh - 400px);min-height:0;overflow:auto}.panel-heading{padding:7px 10px;margin-bottom:10px}.panel-heading .eyebrow{display:none}.panel-heading h1{font-size:13px;margin:0}.order{min-width:0;max-width:none;width:100%;min-height:102px}.order-name{font-size:14px}.order-price{font-size:16px}.order-recipe{font-size:12px}.empty-orders{padding:13px;display:block;text-align:center}.empty-orders>span{font-size:25px}.empty-orders p{font-size:11px}.neighborhood{top:auto;bottom:calc(101px + var(--safe-bottom));right:14px;left:auto;width:180px}.bench-open .neighborhood{display:none}.toolbar{left:14px;right:14px;bottom:calc(16px + var(--safe-bottom));height:62px;flex-wrap:nowrap;padding:0}.toolbar nav{width:auto;gap:7px}.toolbar nav button{height:59px;width:61px;flex:0 0 auto;font-size:11px;padding:4px;border-width:2px;border-radius:16px}.toolbar nav button>span{font-size:24px}.footer-right{width:auto;margin-left:auto;height:59px;gap:0;justify-content:flex-end}.footer-right .text-button{height:57px;min-width:65px;border-width:2px;font-size:12px}.bench-toggle{bottom:calc(103px + var(--safe-bottom));left:14px;transform:none;min-width:160px;height:48px;font-size:14px}.scene-bottom{display:none}.start-callout{bottom:calc(123px + var(--safe-bottom));left:50%;width:290px;gap:13px}.start-callout h2{font-size:31px}.start-callout>span{font-size:12px}.start-callout .button{font-size:17px;min-height:54px;width:215px}.station-tag{font-size:11px;min-height:40px;border-width:2px;padding:8px 10px}.workbench{width:calc(100% - 24px);left:50%;bottom:calc(12px + var(--safe-bottom));grid-template-columns:1fr 112px;grid-template-rows:auto auto auto;min-height:0;padding:18px 15px;gap:12px;max-height:calc(100dvh - 170px);border-width:3px;border-radius:22px;overflow:visible}.bench-summary{grid-column:1;grid-row:1}.bench-summary h2{font-size:19px;margin:0 0 7px}.bench-summary p{font-size:12px;min-height:0;margin:0 0 5px}.recipe-badges{font-size:11px}.bench-summary .text-button{font-size:11px;min-height:30px}.pizza-preview{grid-column:2;grid-row:1;height:112px}.ingredients-area{grid-column:1/-1;grid-row:2}.ingredient-heading{font-size:13px;margin:0 0 8px}.ingredient-heading>span{display:block;font-size:10px}.ingredients{grid-template-columns:repeat(6,1fr);gap:5px}.ingredient{min-height:74px;padding:7px 2px;border-radius:11px}.ingredient>span{display:block;font-size:25px;margin:0 0 3px}.ingredient b{display:block;font-size:10px}.ingredient small{font-size:10px;margin-top:3px}.cooking-actions{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:1fr 1fr;gap:8px;border:0;padding:0}.oven-status{grid-column:1/-1;margin:0;font-size:12px}.bake-meter{grid-column:1/-1;margin:0;height:5px}.cooking-actions .button{min-height:47px;font-size:14px}.secondary{margin-top:0}.bench-close{top:-17px;right:18px}.toast{top:calc(73px + var(--safe-top));font-size:12px;padding:10px 15px}.modal-head h2{font-size:23px}dialog{padding:19px}.management-card{padding:12px}.management-card h3{font-size:14px}.management-card p{font-size:12px!important}.menu-hero img{width:100px;height:100px}.bench-open .orders-panel{max-height:220px}.bench-open .orders-list{max-height:160px}}
@media(orientation:portrait) and (min-width:650px){.day-chip{top:0;min-width:186px}.day-progress{top:calc(76px + var(--safe-top));width:170px;left:calc(50% - 85px)}.topbar #sound{display:grid}.topbar #fullscreen-button{margin-left:0}.topbar #sound{margin-left:auto}.scene-top{top:calc(91px + var(--safe-top))}.orders-panel{top:calc(91px + var(--safe-top));width:215px}.neighborhood{top:calc(200px + var(--safe-top));bottom:auto;width:215px}.workbench{width:calc(100% - 40px);grid-template-columns:175px 115px minmax(240px,1fr);grid-template-rows:auto auto;padding:21px;gap:15px;bottom:20px}.bench-summary{grid-column:1;grid-row:1}.pizza-preview{grid-column:2;grid-row:1;height:130px}.ingredients-area{grid-column:3;grid-row:1}.ingredients{grid-template-columns:repeat(3,1fr);gap:7px}.ingredient{min-height:60px;padding:5px}.ingredient>span{display:inline;font-size:23px}.ingredient b{display:inline;font-size:11px}.cooking-actions{grid-column:1/-1;grid-row:2;grid-template-columns:1fr 1fr 1fr}.oven-status{grid-column:1;grid-row:1;align-self:center;font-size:13px}.bake-meter{grid-column:1;grid-row:2;margin-top:-3px}.cooking-actions .button{grid-row:1/3}.bench-toggle{left:50%;transform:translateX(-50%);bottom:calc(35px + var(--safe-bottom));min-width:190px}.toolbar nav button{width:72px;height:66px;font-size:12px}.start-callout{bottom:calc(105px + var(--safe-bottom));width:350px}.start-callout h2{font-size:42px}.start-callout .button{width:245px;min-height:60px;font-size:21px}.scene-bottom{display:flex;bottom:15px}.bench-open .orders-list{max-height:300px}}
@media(prefers-reduced-motion:reduce){.workbench,.order{transition:none}}
.day-chip{display:flex}.topbar #sound{display:grid}.toolbar{flex-wrap:nowrap}.toolbar nav{width:auto;flex:0 0 auto}.toolbar nav button{flex:0 0 auto}.footer-right{width:auto;flex:0 0 auto}.order-recipe{flex-wrap:wrap;row-gap:4px}.orders-list{padding-top:6px}.order.selected:after{right:6px;top:-5px}.bench-toggle:not(:disabled):active{transform:translateX(-50%) translateY(1px)}
@media(orientation:portrait) and (max-width:649px){.topbar #sound{display:none}.bench-toggle:not(:disabled):active{transform:translateY(1px)}}
@media(max-width:800px) and (orientation:landscape){.topbar .metrics{max-width:230px}.topbar #sound{display:none}.topbar #fullscreen-button{margin-left:auto}.footer-right{width:auto}.toolbar nav{width:auto}.day-chip{display:flex;left:50%;min-width:145px}.day-chip .sun{display:none}.scene-controls button{min-height:44px}.orders-panel{width:174px}.orders-list{max-height:calc(100dvh - 190px)}}
