*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,sans-serif;background:#1a1a2e;color:#eee;min-height:100vh;display:flex;align-items:center;justify-content:center}#root{width:100%;max-width:1200px;padding:16px}button{cursor:pointer;border:none;border-radius:8px;padding:8px 14px;font-size:14px;font-weight:600;transition:opacity .1s,transform .1s}button:active{transform:scale(.96)}button:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:#e76f51;color:#fff}.btn-secondary{background:#264653;color:#eee}.btn-warn{background:#e9c46a;color:#333}.btn-danger{background:#c62828;color:#fff}.card{background:#16213e;border-radius:12px;padding:16px;border:1px solid #2a2a4a}.slot{width:72px;height:72px;border-radius:10px;border:2px dashed #444;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;text-align:center;gap:2px;position:relative;cursor:pointer;transition:border-color .15s,background .15s;background:#0f0f23}.slot:hover{border-color:#e76f51;background:#1a1a3a}.slot.occupied{border-style:solid;border-color:#666}.slot.active{border-color:#2a9d8f}.tag{display:inline-block;border-radius:20px;padding:2px 10px;font-size:12px;font-weight:600}.section-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#888;margin-bottom:8px}.row{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}.col{display:flex;flex-direction:column;gap:8px}.held-display{min-height:40px;border-radius:8px;border:2px solid #2a9d8f;padding:6px 12px;font-size:13px;background:#0d3349;display:flex;align-items:center;gap:8px}.progress-bar{height:6px;border-radius:3px;background:#333;overflow:hidden;width:100%}.progress-bar-fill{height:100%;border-radius:3px;transition:width .1s linear}.order-ticket{border-radius:10px;padding:10px;background:#0f3460;border:1px solid #1a5276;min-width:120px}.plate-area{border-radius:10px;padding:10px;background:#1c1c3a;border:2px dashed #444;min-width:120px;min-height:120px}.plate-area.has-order{border-color:#2a9d8f}.tower-col{width:80px;min-height:180px;border-radius:10px;background:#0f0f23;border:2px dashed #444;padding:8px;display:flex;flex-direction:column-reverse;align-items:center;gap:4px;cursor:pointer;transition:border-color .15s}.tower-col:hover{border-color:#e76f51}.tower-col.incoming{border-color:#e9c46a;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.ingredient-chip{border-radius:6px;padding:3px 8px;font-size:12px;font-weight:600;text-align:center;width:100%}.hearts{display:flex;gap:4px;font-size:22px}.score{font-size:24px;font-weight:700}.draggable{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}.draggable:active{cursor:grabbing}.source-chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 14px;border-radius:10px;font-size:14px;font-weight:600;color:#fff;box-shadow:0 1px #00000040}.slot-fill{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.drop-over{border-color:#2a9d8f!important;box-shadow:0 0 0 2px #2a9d8f inset;background:#173a3a}.slot.slot-over{border-color:#2a9d8f;background:#173a3a}.drag-overlay{width:92px;transform:scale(1.08);filter:drop-shadow(0 6px 10px rgba(0,0,0,.5));pointer-events:none;cursor:grabbing}.burger-stack{display:flex;flex-direction:column;gap:1px;align-items:stretch}.tower-wrap{display:flex;flex-direction:column;align-items:center;gap:4px}.tower-label{font-size:10px;color:#888}.tower-empty{color:#444;font-size:11px}.tower-item{width:100%}.trash-zone{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;margin-left:auto;border-radius:10px;border:2px dashed #c62828;color:#e08a8a;font-size:13px;font-weight:600}@media (max-width: 720px){#root{padding:8px}.view-row{flex-direction:column;align-items:stretch!important}.view-row>.col{flex:1 1 auto!important}.platform-card{margin:0!important;min-width:0!important;width:100%}.slot{width:80px;height:80px}.tower-col{width:100%}.plate-area{flex:1 1 30%;min-width:96px}.source-chip{min-height:48px;font-size:15px}button{min-height:44px}}
