/* The incumbent bistro world; the live restaurant is the opening scene. */
#boot-screen{position:fixed;inset:0;z-index:2000;display:grid;place-content:center;justify-items:center;gap:22px;background:#e2ecd2;color:#254c48;font-family:'Nunito',sans-serif;text-align:center}
#boot-screen img{width:min(68vw,340px)}
#boot-screen p{font-weight:800;font-size:18px}
.boot-spoon{width:72px;height:6px;border-radius:10px;background:#487b68;transform-origin:center;animation:bootBreathe 1.3s ease-in-out infinite}
@keyframes bootBreathe{50%{transform:scaleX(.6);opacity:.5}}
#main-menu{position:fixed;inset:0;z-index:900;pointer-events:auto;color:#254c48;animation:mainMenuIn .4s ease-out}
#main-menu::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(230,239,212,.96),rgba(230,239,212,.73) 26%,transparent 57%),linear-gradient(0deg,rgba(24,53,44,.27),transparent 35%)}
.main-menu-header{display:contents}
.main-menu-brand{position:absolute;top:5vh;left:4.5vw;width:310px;text-align:center}
.main-menu-logo{width:100%;height:150px;object-fit:contain;filter:drop-shadow(0 8px 12px #325b3b22)}
.main-menu-brand p{font-size:14px;font-weight:800;color:#365b4d;margin-top:-9px}
.main-menu-card{position:absolute;left:4.5vw;bottom:10vh;width:340px;display:flex;flex-direction:column;gap:14px}
.main-menu-card h1{font:800 37px/1.08 var(--font-title);letter-spacing:-.025em;text-wrap:balance;margin:0}
.main-menu-tagline{font-size:15px;line-height:1.5;color:#3f6054;max-width:34ch;margin:0 0 5px}
.main-menu-save{display:flex;align-items:center;gap:12px;margin:4px 0 8px}
.menu-chef-icon{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;border-radius:16px;background:linear-gradient(145deg,#fff9e8,#e7ecd8);border:1px solid #bcc7a6;box-shadow:inset 0 1px #fff,0 3px 7px #354b3020}
.main-menu-save strong,.main-menu-save span:not(.svg-icon){display:block}
.main-menu-save>div{min-width:0;flex:1}.menu-restaurant-name{font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-career-level{font-size:12px;color:#476352;margin-top:2px;overflow-wrap:anywhere}
.main-menu-save .menu-account{min-width:64px;min-height:44px;font-size:13px;padding:8px;flex:none}
.main-menu-btn{display:flex;align-items:center;justify-content:center;min-height:46px;border:1px solid #b4c4a4;border-radius:15px;background:#f7f3e3;color:#36594d;font:800 15px/1.25 var(--font-main);cursor:pointer;transition:transform .16s ease,background .16s ease;box-shadow:0 3px 8px #34482f12;padding:12px}
.main-menu-btn:hover{background:#fffaf0;transform:translateY(-1px)}
.main-menu-btn:active{transform:translateY(1px);box-shadow:inset 0 2px 4px #254c4820}
.main-menu-btn-primary{min-height:62px;background:#286652;color:#fff9e7;border-color:#1d5546;font:800 23px/1 var(--font-title);box-shadow:0 7px 18px #1e503a26,inset 0 2px 1px #73a38355}
.main-menu-btn-primary:hover{background:#33785e}
.main-menu-secondary{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px}
.main-menu-secondary .main-menu-btn{min-width:0;padding:10px 6px;font-size:13px;overflow-wrap:anywhere}
.main-menu-loading{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.main-menu-loading-track{height:7px;border-radius:10px;background:#adbda05c;box-shadow:inset 0 1px 2px #38524020;overflow:hidden}
.main-menu-loading-bar{display:block;height:100%;width:100%;background:#c18c36;border-radius:10px;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.main-menu-loading-text{font-size:12px;font-weight:700;color:#476352}
.main-menu-loading-done .main-menu-loading-bar{background:#568569}
.menu-festival{position:absolute;right:3vw;top:5vh;display:flex;align-items:center;gap:12px;max-width:285px;padding:17px 18px;border-radius:20px;border:1px solid #cfce9b;background:#fcf6de;color:#665022;box-shadow:0 9px 24px #36412920;text-align:left;cursor:pointer}
.menu-festival strong{display:block;font:800 19px/1.2 var(--font-title)}.menu-festival small{display:block;font:700 11px/1.4 var(--font-main);margin-top:5px}
.menu-festival:hover{background:#fffbe9;border-color:#b0af7f;box-shadow:0 10px 25px #3641292a}.menu-festival:active{box-shadow:inset 0 2px 5px #66502215}
#main-menu button{touch-action:manipulation}#main-menu button:focus-visible{outline:3px solid #254c48;outline-offset:4px}
.menu-footer{position:absolute;bottom:3vh;left:4.5vw;font-size:12px;color:#325446;font-weight:800}
.main-menu-hide{animation:mainMenuOut .35s ease-in both;pointer-events:none!important}
@keyframes mainMenuIn{from{opacity:0}to{opacity:1}}@keyframes mainMenuOut{to{opacity:0;transform:translateY(8px)}}
body.menu-open #hud-top,body.menu-open #action-bar,body.menu-open #alert-chips,body.menu-open #notification-area,body.menu-open #tutorial-banner,body.menu-open #game-hub-dock,body.menu-open #happy-hour-chip{visibility:hidden}
body.menu-open .sheet-panel{visibility:hidden}
body.menu-open #art-loading-badge{visibility:hidden}
@media(max-width:700px){
 #main-menu::before{background:linear-gradient(0deg,#e6efd4 0%,rgba(230,239,212,.98) 24%,rgba(230,239,212,.25) 48%,transparent 66%,rgba(230,239,212,.68))}
 .main-menu-header{position:absolute;top:max(14px,env(safe-area-inset-top));left:15px;right:15px;display:flex;flex-direction:column;align-items:center;gap:10px}
 .main-menu-brand{position:static;transform:none;width:min(245px,100%)}.main-menu-logo{height:112px}.main-menu-brand p{font-size:12px;margin-bottom:0}
 .main-menu-card{left:22px;right:22px;bottom:max(27px,calc(env(safe-area-inset-bottom) + 18px));width:auto;gap:9px}
 .main-menu-card h1{font-size:28px}.main-menu-tagline{font-size:13px;max-width:38ch;margin-bottom:0}.main-menu-save{margin:1px 0;gap:10px}.menu-chef-icon{width:38px;height:38px;border-radius:12px}.menu-restaurant-name{font-size:14px}.menu-career-level{font-size:11px}
 .main-menu-btn-primary{min-height:53px;font-size:22px}.main-menu-secondary .main-menu-btn{min-height:44px;padding:8px 5px;font-size:12px}.main-menu-loading{margin-top:3px;gap:6px}.main-menu-loading-text{font-size:11px}
 .menu-festival{position:static;align-self:flex-end;max-width:190px;padding:10px 12px;border-radius:15px;gap:8px}.menu-festival-icon{display:none}.menu-festival strong{font-size:15px}.menu-festival small{font-size:10px;margin-top:2px}.menu-footer{display:none}
}
@media(orientation:portrait) and (max-width:700px) and (max-height:650px){
 .main-menu-brand{width:195px}.main-menu-logo{height:88px}.main-menu-brand p{display:none}
 .main-menu-card{gap:7px}.main-menu-card h1{font-size:24px}.main-menu-tagline{display:none}
}
@media(max-height:600px) and (min-width:701px){.main-menu-brand{top:12px;width:205px}.main-menu-logo{height:92px}.main-menu-brand p{display:none}.main-menu-card{bottom:18px;gap:8px}.main-menu-card h1{font-size:29px}.main-menu-save{margin:0}.main-menu-tagline{font-size:13px}.main-menu-btn-primary{min-height:49px}.main-menu-loading{margin-top:0}.menu-footer{display:none}}
@media(orientation:landscape) and (max-height:600px){
 .main-menu-header{display:contents}
 .main-menu-brand{position:absolute;top:10px;left:24px;width:175px;transform:none}.main-menu-logo{height:78px}.main-menu-brand p{display:none}
 .main-menu-card{left:24px;right:auto;bottom:14px;width:min(43vw,340px);gap:6px}.main-menu-card h1{font-size:24px}.main-menu-tagline{display:none}
 .main-menu-save{margin:0;gap:8px}.menu-chef-icon{width:32px;height:32px}.menu-restaurant-name{font-size:14px}.menu-career-level{font-size:11px}
 .main-menu-btn-primary{min-height:46px;font-size:21px}.main-menu-secondary .main-menu-btn{min-height:44px;font-size:12px;padding:9px}
 .main-menu-loading{gap:5px;margin:0}.main-menu-loading-text{font-size:11px}.menu-footer{display:none}
 .menu-festival{position:absolute;top:18px;right:18px;max-width:190px;padding:11px}.menu-festival-icon{display:none}.menu-festival strong{font-size:15px}
}
@media(prefers-reduced-motion:reduce){#main-menu,.main-menu-hide,.boot-spoon{animation:none}.main-menu-btn,.main-menu-loading-bar{transition:none}}

/* Keep owner actions visible but clearly unavailable during a neighbour visit. */
#action-bar .action-button:disabled,#hud-top .chip-plus:disabled,#hud-top .shop-sign:disabled{opacity:.44;cursor:not-allowed;transform:none;animation:none;box-shadow:none}
#action-bar .action-return-home{order:-1;min-width:88px;background:#e6efda;border:1px solid #78987a;border-radius:15px;color:#294f3e;box-shadow:inset 0 1px #fff,0 2px 5px #35522d1a}
.restaurant-visiting #action-bar{border-color:#7e9a79}
.hud-level-group{border-radius:28px;cursor:pointer}
.chip-value,.xp-label{font-variant-numeric:tabular-nums}
@media(prefers-reduced-motion:reduce){#main-menu button:hover,#main-menu button:active,#hud-top button:hover,#hud-top button:active,#action-bar button:hover,#action-bar button:active{transform:none}#hud-top .xp-fill,#action-bar button{transition:none}}
