*{box-sizing:border-box}body{margin:0;background:#17181c;color:#f3f3f3;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}.kds-shell{min-height:100vh;padding:16px 20px 40px}.kds-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:16px}.stall-select{font-size:20px;padding:8px 12px;border-radius:8px;border:1px solid #444;background:#232428;color:#fff}.view-tabs{display:flex;gap:8px}.view-tabs button{font-size:18px;padding:10px 18px;border-radius:8px;border:1px solid #444;background:#232428;color:#ccc;cursor:pointer}.view-tabs button.active{background:#fff;color:#111;font-weight:600}.error-banner{background:#4a1f1f;color:#ffb4b4;padding:10px 14px;border-radius:8px;margin-bottom:16px;font-size:15px}.empty-state{grid-column:1 / -1;text-align:center;color:#777;font-size:20px;padding:60px 0}.order-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.order-card{background:#232428;border-radius:12px;padding:16px;border-left:6px solid #555;display:flex;flex-direction:column;gap:10px}.order-card.status-received{border-left-color:#6366f1}.order-card.status-preparing{border-left-color:#f59e0b}.order-card.status-ready_for_pickup{border-left-color:#10b981}.order-card-top{display:flex;align-items:center;justify-content:space-between}.pickup-code{font-size:26px;font-weight:700;letter-spacing:.03em;font-variant-numeric:tabular-nums}.status-badge{font-size:13px;color:#aaa}.table-number{font-size:14px;color:#999;margin-top:-6px}.order-items{list-style:none;margin:0;padding:0;font-size:16px;color:#ddd;flex:1}.order-items li{padding:3px 0}.order-actions button{width:100%;font-size:20px;font-weight:600;padding:14px;border-radius:8px;border:none;background:#fff;color:#111;cursor:pointer}.order-actions button:disabled{opacity:.5}.sold-out-list{display:flex;flex-direction:column;gap:10px;max-width:520px}.sold-out-row{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-radius:10px;border:1px solid #3a3b40;background:#232428;color:#f3f3f3;font-size:18px;cursor:pointer;text-align:left}.sold-out-row.is-sold-out{background:#3a2323;border-color:#6b3535}.sold-out-toggle{font-size:13px;color:#999}.board{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:#0d1117;color:#f0f6fc;font-family:system-ui,-apple-system,PingFang SC,sans-serif}.board-head{display:flex;align-items:baseline;gap:16px;padding:14px 24px;border-bottom:2px solid #21262d}.board-title{font-size:30px;font-weight:800;letter-spacing:2px}.board-sub{font-size:16px;color:#8b949e;flex:1}.board-clock{font-size:24px;font-variant-numeric:tabular-nums;color:#8b949e}.board-error{margin:0;padding:8px 24px;background:#4a1a15;color:#ffb4a8;font-size:16px}.board-cols{flex:1;display:grid;gap:2px;background:#21262d;min-height:0}.board-col{display:flex;flex-direction:column;background:#0d1117;padding:14px 16px;min-height:0}.board-stall{margin:0 0 10px;font-size:26px;font-weight:700;color:#58a6ff;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-zone{display:flex;flex-direction:column;min-height:0}.board-zone-ready{flex:3}.board-zone-preparing{flex:2;border-top:2px solid #21262d;padding-top:8px;margin-top:8px}.board-zone-label{font-size:15px;letter-spacing:1px;color:#8b949e;text-align:center;margin-bottom:6px}.board-codes{flex:1;display:flex;flex-wrap:wrap;align-content:flex-start;gap:8px 18px;justify-content:center;min-height:0;overflow:hidden}.board-code{font-size:clamp(38px,5.5vw,88px);font-weight:800;line-height:1.05;font-variant-numeric:tabular-nums;color:#3fb950}.board-code-wait{color:#c9d1d9;font-size:clamp(26px,3.4vw,54px);font-weight:700}.board-code.is-new{color:#fff;animation:board-pop 1.1s ease-in-out 0s 6}.board-code-wait.is-new{color:#ffd479}@keyframes board-pop{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(1.06)}}.board-empty{font-size:40px;color:#30363d}.board-foot{padding:10px 24px;border-top:2px solid #21262d;font-size:18px;color:#8b949e;text-align:center}@media (orientation: portrait){.board-cols{grid-template-columns:1fr!important;grid-auto-rows:1fr}.board-code{font-size:clamp(40px,11vw,96px)}}
