:root{--bg:#fbf3e4;--bg-stage:radial-gradient(ellipse at 50% 40%, #fff8ec 0%, #f4e2c4 100%);--panel:#fffaf2;--ink:#3e2723;--ink-soft:#7b5e57;--line:#ead7bb;--accent:#c8553d;--accent-ink:#fff;--good:#2e7d32;--warn:#ef6c00;--bad:#c62828;--chip:#f6e7cf;color:var(--ink);font-family:Be Vietnam Pro,system-ui,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;margin:0}body{flex-direction:column;display:flex;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}#hud{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:18px;padding:10px 16px;display:flex}.brand{color:var(--accent);margin-right:auto;font-size:18px;font-weight:800}.tag{color:var(--ink-soft);background:var(--chip);vertical-align:middle;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.stat{font-variant-numeric:tabular-nums;align-items:center;gap:6px;display:flex}.stat b{font-size:16px}.stat small{color:var(--ink-soft)}.stat.muted{color:var(--ink-soft);gap:12px;font-size:13px}.stat.muted b{color:var(--ink);font-size:13px}.ico{border-radius:50%;width:16px;height:16px;display:inline-block}.ico.coin{background:radial-gradient(circle at 35% 35%,#ffe082,#f9a825);box-shadow:inset 0 0 0 2px #f57f17}.ico.star{clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background:#ffb300;border-radius:0}.level .bar{background:var(--chip);border-radius:999px;width:80px;height:8px;overflow:hidden}.level .bar i{background:#7cb342;height:100%;transition:width .2s;display:block}.speed{border:1px solid var(--line);border-radius:8px;display:flex;overflow:hidden}.speed button{background:0 0;border:0;padding:4px 10px;font-weight:700}.speed button.on{background:var(--accent);color:var(--accent-ink)}#layout{flex:1;min-height:0;display:flex}#stage{background:var(--bg-stage);touch-action:none;flex:1;min-width:0;position:relative;overflow:hidden}#stage canvas{display:block;position:absolute;inset:0}#stage.placing canvas{cursor:crosshair}#panel{background:var(--panel);border-left:1px solid var(--line);width:320px;padding:0 16px 16px;overflow-y:auto}#panel h2{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin:16px 0 8px;font-size:13px}.help{color:var(--ink-soft);margin:8px 0 0;font-size:12px;line-height:1.5}kbd{background:var(--chip);border-radius:4px;padding:0 4px;font-family:inherit;font-size:11px}.shop{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.shop-item{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:10px 4px 8px;display:flex}.shop-item.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.shop-item .swatch{background:var(--c);border-radius:4px;width:28px;height:20px;box-shadow:inset 0 -6px #0000002e}.shop-item .name{font-size:13px;font-weight:700}.shop-item .price{color:var(--ink-soft);font-size:12px}.staff{border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:8px;padding:10px}.staff .row{align-items:center;gap:8px;display:flex}.staff .role{color:var(--ink-soft);font-size:12px}.staff .state{color:var(--ink-soft);margin-left:auto;font-size:12px}.energy{background:var(--chip);border-radius:999px;height:8px;margin:8px 0;overflow:hidden}.energy i{background:#66bb6a;height:100%;transition:width .2s;display:block}.energy i[data-level=low]{background:#ffa726}.energy i[data-level=empty]{background:#ef5350}.staff .actions{flex-wrap:wrap;gap:6px}.staff .actions button{border:1px solid var(--line);background:var(--panel);white-space:nowrap;border-radius:8px;flex:1;padding:5px 6px;font-size:12px;font-weight:600}.staff .actions small{color:var(--ink-soft);font-weight:400;display:block}.menu{margin:0;padding:0;list-style:none}.menu li{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:baseline;gap:8px;padding:6px 0;font-size:14px;display:flex}.menu small{color:var(--ink-soft);white-space:nowrap}.foot{margin-top:16px}.ghost{border:1px dashed var(--line);width:100%;color:var(--ink-soft);background:0 0;border-radius:8px;padding:8px;font-size:12px}#hint,#sell-zone{pointer-events:none;opacity:0;transition:opacity .15s;position:absolute;left:50%;transform:translate(-50%)}#hint{color:#fff;background:#3e2723d9;border-radius:999px;padding:6px 12px;font-size:13px;top:12px}#hint.show{opacity:1}#sell-zone{border:2px dashed var(--bad);color:var(--bad);background:#ffebeee6;border-radius:14px;padding:16px 28px;font-size:14px;bottom:16px}#sell-zone.show{opacity:1}#sell-zone.hot{background:var(--bad);color:#fff}#toast{background:var(--ink);color:#fff;opacity:0;pointer-events:none;border-radius:10px;max-width:calc(100vw - 32px);padding:10px 16px;font-size:14px;transition:opacity .2s,transform .2s;position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px)}#toast.show{opacity:1;transform:translate(-50%)}#toast[data-kind=error]{background:var(--bad)}#toast[data-kind=good]{background:var(--good)}@media (width<=820px){#hud{gap:10px 14px;padding:8px 16px}.brand{width:100%}#layout{flex-direction:column}#stage{flex:55%;min-height:0}#panel{border-left:0;border-top:1px solid var(--line);flex:45%;width:auto}}.shop-item .thumb{object-fit:contain;width:48px;height:40px}.staff .avatar{object-fit:contain;object-position:top;width:28px;height:34px}.food-ico{object-fit:contain;vertical-align:middle;width:22px;height:22px}.staff .actions button{text-align:left;align-items:center;gap:6px;display:flex}.stat.slot{background:var(--chip);white-space:nowrap;cursor:help;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:600}.stat.slot.rush{color:#a84300;background:#ffe0b2}.tabs{z-index:1;background:var(--panel);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:4px;margin:0 -16px;padding:10px 16px 8px;display:grid;position:sticky;top:0}.tabs button{color:var(--ink-soft);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:8px;padding:6px 2px;font-size:12.5px;font-weight:700;position:relative}.tabs button.on{background:var(--chip);border-color:var(--line);color:var(--ink)}.tabs .dot{background:var(--accent);border-radius:50%;width:7px;height:7px;display:none;position:absolute;top:3px;right:4px}.tabs .dot.show{display:block}.pane[hidden]{display:none}.pane{padding-top:12px}.pane-head{margin:0 0 10px;font-size:13px;line-height:1.5}#panel h3{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);justify-content:space-between;align-items:baseline;gap:8px;margin:16px 0 6px;font-size:12px;display:flex}#panel h3 small{text-transform:none;letter-spacing:0;font-weight:600}.note{color:var(--ink);background:var(--chip);border-radius:8px;margin:10px 0 0;padding:6px 10px;font-size:12px}.muted{color:var(--ink-soft)}.tag{white-space:nowrap;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:700}.tag.peak{color:#a84300;background:#ffe0b2}.tag.deal{color:#33691e;background:#dcedc8}.off,.poor{opacity:.5}button.link{color:var(--ink-soft);background:0 0;border:0;padding:4px 0 0;font-size:11px;text-decoration:underline}.staff.quitting{opacity:.6}.hire-card{border:1px dashed var(--accent);background:#fff8f4;border-radius:10px;margin-bottom:8px;padding:10px}.hire-title{margin-bottom:8px;font-size:12px;font-weight:700}.hire{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.hire button{border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;font-size:12px;font-weight:700;display:flex}.hire small{color:var(--ink-soft);font-weight:400;display:block}.hire .avatar{object-fit:contain;object-position:top;width:28px;height:34px}.hire button span{text-align:center}.dish-row{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:34px 1fr;align-items:center;gap:2px 8px;margin-bottom:6px;padding:8px;display:grid}.dish-row.on{background:#f6fbf4;border-color:#a5d6a7}.dish-row.unknown{background:0 0;border-style:dashed}.dish-row.unknown .food-ico{filter:grayscale(.8);opacity:.6}.dish-row .food-ico{grid-row:span 2;align-self:start;width:34px;height:34px}.dish-row .title{flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;display:flex}.dish-row .info small{color:var(--ink-soft);font-size:11px}.dish-row .lv{color:#1b5e20;background:#e8f5e9;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:700}.dish-row .acts{flex-wrap:wrap;grid-column:2;align-items:center;gap:6px;margin-top:4px;display:flex}.dish-row .acts button{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:4px 8px;font-size:12px;font-weight:700}.dish-row .acts button.on{color:var(--good);background:#e8f5e9;border-color:#a5d6a7}.dish-row .acts button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.dish-row .lock{color:var(--ink-soft);font-size:11px}.need,.stock{flex-wrap:wrap;gap:4px;display:flex}.ing{background:#ffebee;border-radius:6px;align-items:center;gap:2px;padding:1px 4px;font-size:14px;display:inline-flex}.ing small{color:var(--bad);font-size:10px;font-weight:700}.ing.have{background:#e8f5e9}.ing.have small{color:var(--good)}.offers{flex-direction:column;gap:4px;display:flex}.offer{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:26px 1fr auto auto;align-items:center;gap:8px;padding:6px 8px;display:grid}.offer.sold{opacity:.5}.offer .ing-ico{text-align:center;font-size:18px}.offer .name{flex-wrap:wrap;align-items:center;gap:2px 6px;min-width:0;font-size:13px;display:flex}.offer .name small{width:100%;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.offer .left{color:var(--ink-soft);white-space:nowrap;font-size:11px}.offer button{border:1px solid var(--line);background:var(--panel);white-space:nowrap;border-radius:8px;padding:4px 8px;font-size:12px;font-weight:700}#rotate-btn{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700;display:none;position:absolute;top:12px;right:12px;box-shadow:0 2px 6px #3e272326}#rotate-btn.show{display:block}
