*{box-sizing:border-box;margin:0;padding:0}
body{background:#120a1c;font-family:"PingFang SC","Noto Sans CJK SC",sans-serif;color:#fff;display:flex;justify-content:center}
#app{width:min(100vw,390px);height:min(844px,100vh);height:min(844px,100svh);max-height:100dvh;position:relative;overflow:hidden;display:flex;flex-direction:column;
  background:linear-gradient(#1b1440 0%,#2a1850 38%,#3a2040 70%,#1a0f2e 100%);
  padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}

/* 顶栏弱化 */
#top{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#b8242acc;backdrop-filter:blur(4px);
  border-bottom:2px solid #f2c14e88;font-weight:bold;flex-shrink:0;z-index:6}
#money{font-size:20px;color:#ffe08a}#money:before{content:"🪙 "}
#ips{font-size:11px;color:#ffec;opacity:.9}
.stage{font-size:14px}
#meters{display:flex;align-items:center;gap:8px;padding:3px 10px;font-size:11px;background:#0004;flex-shrink:0;z-index:6}
#meters .m{display:flex;align-items:center;gap:4px}#combo{color:#ffe08a;font-size:14px}
.rbar{width:72px;height:8px;background:#333;border-radius:4px;overflow:hidden}.rbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#f2c14e,#ff6b2d)}
#rushflag{color:#ff6b2d;font-weight:bold;animation:pulse .6s infinite alternate;font-size:11px}
@keyframes pulse{to{opacity:.5;transform:scale(1.05)}}
#buffs{min-height:14px;font-size:10px;padding:1px 10px;color:#9ff;flex-shrink:0;opacity:.85}

#scene{position:relative;flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}

/* 整车弱化：篷檐 + 小剪影 */
#awning{flex-shrink:0;height:72px;position:relative;z-index:2;pointer-events:none}
.awning-bar{position:absolute;left:0;right:0;top:0;height:28px;
  background:repeating-linear-gradient(90deg,#c4282a 0 18px,#fff6e0 18px 36px);
  border-bottom:4px solid #1a3a6a;box-shadow:0 6px 12px #0006}
.lanterns{position:absolute;top:30px;left:0;right:0;text-align:center;font-size:16px;letter-spacing:22px;opacity:.85;animation:sw 2.4s ease-in-out infinite alternate}
@keyframes sw{to{transform:rotate(1.5deg)}}
.stall-mini{position:absolute;right:6px;top:22px;width:64px;height:64px;object-fit:contain;opacity:.35;filter:grayscale(.2) brightness(.9)}

/* 操作台：主英雄位 */
#counter{flex:1;min-height:0;position:relative;z-index:3;margin:4px 10px 6px;display:flex;flex-direction:column}
#orders{display:flex;flex-direction:row;gap:6px;padding:4px 2px 8px;min-height:52px;overflow-x:auto;overflow-y:hidden;
  scrollbar-width:none;-ms-overflow-style:none;flex-shrink:0}
#orders::-webkit-scrollbar{display:none}
.cust{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;animation:popin .28s both;width:52px}
.cust img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 2px 6px #0008;background:#333}
.cust.inf img{border-color:#ff4fd8;box-shadow:0 0 8px #ff4fd8}
.bubble{background:#fffc;color:#333;border-radius:8px;padding:1px 5px;font-size:12px;line-height:1.2}
@keyframes popin{from{transform:translateY(-12px) scale(.85);opacity:0}}

.deck{flex:1;min-height:0;border-radius:18px 18px 8px 8px;padding:10px 12px 14px;
  background:
    linear-gradient(180deg,#5a3824 0%,#3d2618 40%,#2a1a10 100%);
  border:3px solid #8b5a2b;box-shadow:inset 0 0 0 2px #c9a87855, 0 10px 24px #0008;
  display:flex;flex-direction:column;position:relative}
.deck::before{content:"";position:absolute;inset:8px;border-radius:12px;pointer-events:none;
  background:repeating-linear-gradient(90deg,transparent 0 28px,#0001 28px 29px);opacity:.35}
.deck-label{text-align:center;font-size:12px;color:#ffe08acc;letter-spacing:2px;margin-bottom:8px;flex-shrink:0;position:relative;z-index:1}
.counter-edge{height:14px;margin:0 4px;border-radius:0 0 10px 10px;
  background:linear-gradient(180deg,#6b4428,#2a1810);border:2px solid #8b5a2b;border-top:0;box-shadow:0 6px 10px #0005}

/* 烤架格：大触控热区（竖屏约 ≥64px） */
#grill{flex:1;min-height:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);
  gap:10px;position:relative;z-index:1;padding:2px}
.gcell{min-height:72px;border-radius:14px;border:3px dashed #f2c14e88;background:#1a0c08ee;
  display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;
  cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;
  box-shadow:inset 0 2px 8px #000a, 0 2px 0 #0004;transition:transform .08s ease,box-shadow .15s}
.gcell:active{transform:scale(.96)}
.gcell.on{border-style:solid;border-color:#f2c14e;background:#3a2418f2}
.gcell.sel{outline:3px solid #6cf;outline-offset:2px}
.gcell.perfect{box-shadow:0 0 18px #ffe08a, inset 0 0 12px #ffe08a88;border-color:#ffe08a;animation:glow .5s infinite alternate}
.gcell.burnt{border-color:#666;filter:brightness(.75)}
.gcell.raw .ico{opacity:.85}
.gcell.pop{animation:cellpop .28s ease}
@keyframes cellpop{0%{transform:scale(1)}40%{transform:scale(1.08)}100%{transform:scale(1)}}
@keyframes glow{to{box-shadow:0 0 24px #fff3, inset 0 0 16px #ffe08acc}}
.gcell .ico{font-size:28px;line-height:1}
.gcell .tier{font-size:11px;color:#ffe08a;margin-top:3px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 4px}
.gcell .cbar{position:absolute;left:8px;right:8px;bottom:6px;height:5px;background:#222;border-radius:3px;overflow:hidden}
.gcell .cbar i{display:block;height:100%;background:#f2c14e}
.gcell.perfect .cbar i{background:#6f6}
.gcell.burnt .cbar i{background:#555;width:100%!important}
.gcell.locked{opacity:.45;pointer-events:none;border-style:dashed;font-size:11px}

#toast{position:absolute;left:50%;top:28%;transform:translate(-50%,0);background:#000c;color:#ffe08a;padding:8px 14px;border-radius:12px;font-size:14px;pointer-events:none;opacity:0;transition:opacity .2s;max-width:280px;text-align:center;z-index:8}
#toast.show{opacity:1}
#floaters{position:absolute;inset:0;pointer-events:none;z-index:7}
.fl{position:absolute;left:50%;top:48%;color:#ffe08a;font-weight:bold;animation:up 1s forwards;font-size:16px;transform:translateX(-50%)}
.fl.inf{color:#ff7be8;font-size:18px}.fl.perfect{color:#6f6}.fl.burnt{color:#aaa}
@keyframes up{to{transform:translate(-50%,-70px);opacity:0}}

/* 底部升级抽屉（#009 保留） */
#drawer{flex-shrink:0;background:#fff6e0;color:#4a1b0c;border-top:3px solid #f2c14e;border-radius:18px 18px 0 0;
  z-index:10;box-shadow:0 -8px 24px #0006;transition:max-height .28s ease;display:flex;flex-direction:column;max-height:56px}
#drawer.open{max-height:420px}
#drawer-handle{display:flex;align-items:center;gap:10px;width:100%;padding:14px 12px 6px;border:0;background:transparent;cursor:pointer;color:inherit;text-align:left;flex-shrink:0;position:relative}
#drawer-handle .grab{display:block;width:42px;height:4px;border-radius:2px;background:#c9a878;position:absolute;left:50%;top:6px;transform:translateX(-50%)}
.peek{flex:1;min-width:0}.peek b{display:block;font-size:14px;color:#b8242a}.peek small{display:block;font-size:11px;color:#8a5a3c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.peek-btn{background:#b8242a;color:#fff;border-radius:10px;padding:7px 12px;font-weight:bold;font-size:13px;flex-shrink:0}
#drawer.open .peek-btn{background:#8a5a3c}
#drawer-body{overflow:auto;padding:0 10px 10px;opacity:0;pointer-events:none;max-height:0;transition:opacity .2s}
#drawer.open #drawer-body{opacity:1;pointer-events:auto;max-height:360px}

#tabs{display:flex;gap:6px;margin-bottom:6px}#tabs button{flex:1;padding:7px 2px;border:2px solid #b8242a;background:#fff;border-radius:10px;font-weight:bold;color:#b8242a;font-size:12px}
#tabs button.on{background:#b8242a;color:#fff}#tabs button.locked{opacity:.75;border-style:dashed}
.row{display:flex;align-items:center;justify-content:space-between;background:#fff;border-radius:12px;padding:8px 10px;margin-bottom:6px;box-shadow:0 2px 0 #e0c48a}
.row b{font-size:14px}.row small{display:block;color:#8a5a3c;font-size:11px}
.row button,.big{background:#2fa84f;color:#fff;border:none;border-radius:10px;padding:8px 10px;font-weight:bold;min-width:90px;font-size:13px}
.row button:disabled,.big:disabled{background:#bbb}.big{width:100%;padding:12px;font-size:15px;margin-top:4px}
#goal{font-size:11px;margin-top:2px}.gbar{height:8px;background:#e8d6ad;border-radius:5px;overflow:hidden;margin-top:2px}.gbar i{display:block;height:100%;background:#b8242a}
.foot{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:11px;color:#a07a5a}.foot button{font-size:11px;background:none;border:1px solid #c9a;border-radius:6px;padding:3px 6px;color:#a07a5a}
.hint{font-size:11px;color:#8a5a3c;margin:2px 0 6px}

#modal{position:absolute;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:30}.hidden{display:none!important}
.card{background:#fff6e0;color:#4a1b0c;width:330px;border-radius:18px;border:4px solid #f2c14e;padding:18px}.card h2{color:#b8242a;margin-bottom:8px}.card p{font-size:14px;line-height:1.5;margin-bottom:12px;white-space:pre-wrap}
.card button{display:block;width:100%;margin-top:8px;padding:11px;border-radius:10px;border:2px solid #b8242a;background:#fff;color:#b8242a;font-weight:bold;font-size:14px}
