:root{color-scheme:dark;font-family:system-ui,-apple-system,'Segoe UI',sans-serif;color:#fff2d5;background:#142c29}*{box-sizing:border-box}body{margin:0;height:100dvh;overflow:hidden;background:radial-gradient(ellipse at 50% 50%,#3f5a47,#122622)}header{height:46px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid #d1c7a320;background:#18302be6;gap:14px}a{color:inherit;text-decoration:none}header>a{font-size:12px;letter-spacing:2px;font-weight:800}nav{display:flex;align-items:center;gap:6px}button{font:inherit;cursor:pointer;border:0}nav button{background:#ffffff0c;color:#eed9b0;border:1px solid #f1deb322;min-width:37px;min-height:33px;border-radius:8px;font-size:18px}nav button:hover{background:#f0d19422}.edition{letter-spacing:2px;font-size:9px;color:#c2b596}.edition i{font-style:normal;color:#df9659;margin:0 8px}#stage{height:calc(100dvh - 69px);width:100%;position:relative;display:flex;align-items:center;justify-content:center}canvas{display:block;touch-action:none;outline:none;box-shadow:0 14px 90px #0006;border-radius:8px}footer{height:23px;display:flex;justify-content:space-between;align-items:center;padding:0 18px;font-size:9px;letter-spacing:.5px;color:#a4afa0}footer a{font-size:8px}#loading{position:absolute;text-align:center;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#203930}#loading h1{font:26px Georgia,serif}.loader-dumpling{font-size:65px;color:#e6b976;animation:turn 3s ease-in-out infinite}#loading p{font-size:12px;color:#b4bba3}[hidden]{display:none!important}#dialog{position:fixed;inset:46px 0 23px;z-index:5;display:flex;align-items:center;justify-content:center;padding:18px;background:#162b22aa;backdrop-filter:blur(6px)}.card{position:relative;width:min(470px,94vw);max-height:92%;overflow:auto;border-radius:24px;background:#fff4dd;color:#29433a;padding:30px 32px;text-align:center;border:3px solid #d0b485;box-shadow:0 12px 0 #101e2322,0 25px 70px #0004}.card:before{content:'';position:absolute;inset:7px;border:1px solid #b5b494;border-radius:16px;pointer-events:none}.card .eyebrow{font-size:10px;letter-spacing:2.5px;color:#ae6b40;font-weight:800}.card h1,.card h2{font-family:Georgia,system-ui,serif;font-size:39px;letter-spacing:-1.3px;line-height:1.1;margin:12px 0}.card p{font-size:14px;line-height:1.75;color:#64715e;margin:16px 0}.card .goal{font-size:20px;font-weight:750;color:#315a44;margin-top:6px}.card .large-symbol{font-size:42px;color:#cc9648}.actions{display:flex;flex-direction:column;gap:10px;margin-top:22px}.actions button{position:relative;border-radius:12px;background:#c9693e;color:#fff8e9;min-height:49px;padding:13px 20px;font-size:15px;font-weight:800;border-bottom:4px solid #a4482e}.actions button:hover{filter:brightness(1.1)}.actions button.secondary{background:#e6e4c9;color:#425c48;border-bottom-color:#c6c9aa}.actions button.small{background:transparent;color:#67745d;font-size:12px;border:0;min-height:30px;padding:7px}.card small{display:block;font-size:11px;color:#7f836a;line-height:1.6}.stars{font-size:44px;letter-spacing:4px;color:#d29638;text-shadow:0 3px 0 #f7d481}.score-row{display:flex;justify-content:center;gap:35px;margin-top:20px}.score-row b{display:block;font-size:26px;color:#32634e}.score-row span{font-size:11px;color:#84876b}.shift-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:20px 0}.shift-grid button{border-radius:12px;min-height:64px;background:#e3e4c9;color:#3f6551;border:1px solid #c5caaa;font-size:20px;font-weight:750}.shift-grid button small{font-size:10px;letter-spacing:-1px;color:#a17b33}.shift-grid button:disabled{opacity:.45;cursor:not-allowed}.shift-grid button.current{outline:2px solid #d5814d}button:focus-visible,a:focus-visible{outline:3px solid #e1b061;outline-offset:3px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}#keyboard-targets{position:absolute;inset:0;pointer-events:none}.world-target{position:absolute;background:none;color:transparent;border:0;border-radius:12px;pointer-events:none;outline:none}.world-target:focus-visible{outline:4px solid #fff2b6;box-shadow:0 0 20px #ffe2a3;pointer-events:auto}.world-target span{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden}@keyframes turn{50%{transform:rotate(14deg) translateY(-5px)}}@media(max-width:600px){header{padding:0 10px;height:42px;gap:7px}header>a{font-size:10px;letter-spacing:1.5px}.edition{display:none}nav{gap:4px}nav button{min-width:34px;min-height:31px;font-size:16px}#stage{height:calc(100dvh - 63px)}footer{height:21px;padding:0 10px;font-size:8px}canvas{border-radius:0}#dialog{inset:42px 0 21px}.card{padding:24px 24px}.card h1,.card h2{font-size:34px}.card p{font-size:13px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

.title-dot{color:#bd663f}
/* Neighborhood expansion: all menus are between shifts, the restaurant remains the play surface. */
.card.community-card{width:min(850px,96vw);max-height:96%;padding:26px 28px}.community-card h2{font-size:36px}.card p.compact{max-width:640px;margin:12px auto;font-size:13px}.wallet{display:flex;align-items:center;justify-content:center;gap:14px;font-size:12px;color:#5a7052;margin:12px 0}.wallet b{font-size:25px;color:#996327}.shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:19px;text-align:left}.shop-item{display:grid;grid-template-columns:82px 1fr;gap:13px;border:1px solid #d4c6a1;background:#f4e8ce;border-radius:15px;padding:13px;align-items:start}.shop-item h3{margin:0 0 7px;font-size:14px;line-height:1.4;color:#3a5b46}.shop-item p{font-size:11px;line-height:1.55;margin:0 0 9px;min-height:47px}.shop-item button{border-radius:8px;padding:9px 11px;background:#396b53;color:#fff0d3;font-weight:700;font-size:11px;min-height:40px;width:100%}.shop-item button:disabled{background:#dfd8b8;color:#7d8166;cursor:not-allowed}.shop-item.owned{background:#e9ebd3;border-color:#a6b291}.item-icon{width:82px;height:60px;box-shadow:none;border-radius:11px}.shop-item.just-bought{box-shadow:inset 0 0 0 2px #a5b55e}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.plan-card{padding:19px 13px;border-radius:16px;border:2px solid #d4cdad;background:#f5e9cf;color:#455d47;text-align:center}.plan-card.selected{border-color:#a87941;background:#f6dfb5;box-shadow:0 0 0 3px #d9c08844}.plan-card:hover{background:#eedfbd}.plan-mark{font-size:31px;display:block;color:#b37841;margin-bottom:12px}.plan-card strong{font:700 19px Georgia,system-ui,serif;display:block}.plan-card small{font-size:8px;letter-spacing:.7px;margin:12px 0;color:#7a774f;line-height:1.6}.plan-card p{font-size:12px;line-height:1.6;min-height:80px;margin:13px 0}.plan-count{display:block;font-size:10px;font-weight:800;color:#3b664d;border-top:1px solid #c6b88f;padding-top:12px}.plan-explain{font-size:12px;border-radius:10px;background:#e6e6c9;padding:13px;line-height:1.7;margin-bottom:15px}.regular-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:20px}.regular-card{border:1px solid #d8c8a3;background:#f4e7cd;border-radius:15px;padding:13px}.regular-card .portrait{width:112px;height:96px;max-width:100%;margin:0 auto;box-shadow:none;border-radius:14px}.regular-card h3{font-size:19px;margin:10px 0 5px;color:#405c44}.regular-card>b{font-size:10px;color:#aa7243}.regular-card>p{font-size:11px;line-height:1.6;margin:10px 0;min-height:37px}.regular-card small{font-size:10px}.friend-hearts{display:block;color:#b5794c;font-size:21px;letter-spacing:3px}.regular-card blockquote{font-size:11px;line-height:1.7;color:#6e765a;margin:14px 0;padding-top:10px;border-top:1px solid #d6c8a4;min-height:83px}.gift-label{font-size:10px;color:#4c684a;background:#e3e2c3;padding:10px 7px;border-radius:8px;line-height:1.6}.tradition-grid{text-align:left;display:grid;gap:12px;margin:20px 0}.tradition-grid article{background:#f1e6cd;border:1px solid #d6c4a1;border-radius:13px;padding:16px 20px}.tradition-grid article>span{float:left;font-size:25px;color:#b88548;margin-right:13px}.tradition-grid h3{font-size:17px;color:#415e46;margin:2px 0}.tradition-grid p{font-size:13px;line-height:1.8;margin:12px 0 0}.story-note{text-align:left;margin:12px 0;padding:14px;border-radius:12px;background:#e7e4c6;border:1px solid #c8c49d}.story-note b{font-size:12px;color:#496144}.story-note p{font-size:12px;line-height:1.75;margin:8px 0 0}.community-card .actions{display:grid;grid-template-columns:1fr 1fr}.community-card .actions>button:first-child{grid-column:1/-1}.card .score-row{gap:22px}.score-row+small{margin-top:10px}
@media(max-width:650px){.card.community-card{padding:23px 17px;max-height:98%;border-radius:17px}.community-card h2{font-size:29px}.shop-grid{grid-template-columns:1fr;gap:10px}.shop-item{grid-template-columns:74px 1fr}.item-icon{width:74px;height:54px}.shop-item p{min-height:0}.regular-grid{grid-template-columns:1fr 1fr;gap:9px}.regular-card{padding:10px}.regular-card h3{font-size:16px}.regular-card>b{font-size:9px}.regular-card blockquote{font-size:10px}.plan-grid{grid-template-columns:1fr;gap:11px}.plan-card{padding:14px 15px;text-align:left;position:relative}.plan-card strong{padding-left:42px;font-size:19px}.plan-card small{padding-left:42px;margin:7px 0}.plan-mark{position:absolute;left:15px;top:13px;font-size:29px}.plan-card p{min-height:0;margin:12px 0;font-size:12px}.plan-count{font-size:10px;padding-top:9px}.community-card .actions{display:flex}.score-row{gap:15px!important}.score-row b{font-size:23px}.score-row span{font-size:10px}.regular-card p{font-size:10px}.community-card .eyebrow{font-size:8px}}

.community-card{display:flex;flex-direction:column;height:min(800px,calc(100dvh - 120px));overflow:hidden!important}.community-scroll{overflow:auto;min-height:0;overscroll-behavior:contain;padding:0 4px;scrollbar-width:thin}.community-card .actions{flex-shrink:0;margin-top:12px;padding-top:10px;border-top:1px solid #cec5a1}.community-card .actions button{min-height:40px;padding:10px 15px;font-size:13px}.community-card .actions button.small{min-height:28px;padding:5px;font-size:11px}#dialog-title:focus{outline:none}@media(max-width:650px){.community-card{height:calc(100dvh - 116px)}.community-card .actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.community-card .actions button:first-child{grid-column:1/-1}.community-card .actions button:not(:first-child){font-size:10px;padding:8px;min-height:34px}}

/* Immersive v3.1: the restaurant fills the window; no nested-player margins. */
html,body{width:100%;height:100dvh;overflow:hidden;overscroll-behavior:none}body{--bar:48px}header{position:fixed;inset:0 0 auto;height:var(--bar);z-index:4;padding:0 max(14px,env(safe-area-inset-right));border:0;background:#18342ded;backdrop-filter:blur(8px)}#stage{position:fixed;top:var(--bar);left:0;right:0;bottom:0;width:100%;height:calc(100dvh - var(--bar));display:block}#canvas{position:absolute;inset:0;border-radius:0;box-shadow:none;max-width:none;max-height:none}footer{display:none}#dialog{inset:var(--bar) 0 0;padding:16px}.card{max-height:calc(100dvh - var(--bar) - 32px)}.community-card{height:min(900px,calc(100dvh - var(--bar) - 32px))}nav button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:5px 9px}kbd.shortcut{display:inline-grid;place-items:center;min-width:20px;min-height:20px;padding:1px 5px;border:1px solid currentColor;border-bottom-width:2px;border-radius:5px;font:700 10px/1.2 system-ui,sans-serif;opacity:.75;margin-left:8px;flex-shrink:0;vertical-align:middle}nav kbd.shortcut{margin-left:0;font-size:9px;min-width:17px;min-height:18px}.actions button{padding-right:45px}.actions button>kbd.shortcut{position:absolute;right:12px;top:50%;transform:translateY(-50%)}.shift-grid button{position:relative}.shift-grid button>kbd.shortcut{font-size:8px;position:absolute;top:4px;right:4px;min-width:15px;min-height:15px;margin:0}.plan-card>kbd.shortcut{margin-top:10px}.shop-item button{position:relative;padding-right:40px}.shop-item button>kbd.shortcut{position:absolute;right:8px;top:50%;transform:translateY(-50%)}#canvas:focus-visible{outline:2px solid #ffdf9f;outline-offset:-3px}@media(max-width:600px){body{--bar:44px}header{padding:0 8px}nav{gap:4px}nav button{padding:4px 7px;gap:3px;font-size:14px;min-width:36px}nav kbd.shortcut{font-size:8px;min-width:15px;padding:0 3px}.card{padding:21px 20px}.community-card{height:calc(100dvh - var(--bar) - 24px)}#dialog{padding:12px}.edition{display:none}}@media(max-height:500px){body{--bar:38px}.card h1,.card h2{font-size:27px}.card{padding:19px}.card .dish-logo{height:60px;width:auto}.actions{margin-top:12px;gap:7px}.actions button{min-height:36px;padding-top:8px;padding-bottom:8px}.card p{margin:10px 0}}

header{min-height:0;max-width:none;margin:0}#stage{max-width:none;max-height:none;margin:0;padding:0}.actions button{position:relative}#canvas{touch-action:none}
