:root{--floor: #f6efe6;--text: #3b2f4a;--muted: rgba(59, 47, 74, .55);--card: rgba(255, 255, 255, .72);--pink: #ff8fb1;--mint: #9be7c4;--sky: #a0d8f1;--sun: #ffe08a;--coral: #ff7a6b;--lavender: #eadcf5}html,body{margin:0;height:100%;overflow:hidden;background:#efe3d8;font-family:Nunito,Segoe UI,system-ui,sans-serif;color:var(--text)}#stage{position:fixed;inset:0}#stage canvas{display:block;width:100%;height:100%}#hud{position:fixed;top:0;left:0;right:0;display:flex;gap:1.2vw;padding:1.4vh 1.6vw;align-items:stretch;pointer-events:none;transform-origin:top left}.tile{flex:1 1 0;background:var(--card);border-radius:1.6vh;padding:1.1vh 1.2vw 1.3vh;box-shadow:0 .6vh 2vh #3b2f4a1f;backdrop-filter:blur(6px);min-width:0;display:flex;flex-direction:column;justify-content:center}.tile .label{font-size:min(1.9vh,1vw);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.tile .value{font-size:min(6.2vh,3.4vw);font-weight:900;line-height:1.05;font-variant-numeric:tabular-nums;white-space:nowrap}.tile .unit{font-size:2.6vh;font-weight:800;color:var(--muted);margin-left:.3vw}.tile.waiting{border-bottom:.7vh solid var(--pink)}.tile.done{border-bottom:.7vh solid var(--mint)}.tile.in{border-bottom:.7vh solid var(--sky)}.tile.out{border-bottom:.7vh solid var(--sun)}.tile.ready,.tile.van{border-bottom:.7vh solid var(--lavender)}.tile.van .value,.tile.trend .value{font-size:min(4.2vh,1.9vw);letter-spacing:-.01em}.tile .value{overflow:hidden;text-overflow:clip}.tile.trend .value{display:flex;align-items:center;gap:.6vw}.tile.trend .arrow{font-size:6vh;line-height:1}.tile.trend.up{border-bottom:.7vh solid var(--coral)}.tile.trend.up .value{color:var(--coral)}.tile.trend.down{border-bottom:.7vh solid var(--mint)}.tile.trend.down .value{color:#2f9c70}.tile.trend.flat{border-bottom:.7vh solid rgba(59,47,74,.2)}.tile.van.here .value{color:#2f9c70}#footer{position:fixed;left:1.6vw;right:1.6vw;bottom:1vh;display:flex;justify-content:space-between;font-size:1.7vh;font-weight:700;color:var(--muted);pointer-events:none}#footer .dot{display:inline-block;width:1.3vh;height:1.3vh;border-radius:50%;margin-right:.5vw;background:#f0b000;vertical-align:middle;transition:background .4s}#footer .dot.live{background:#39c07a}#mock-panel{position:fixed;right:1vw;bottom:4vh;background:#ffffffeb;border-radius:12px;padding:10px 14px;font-size:13px;box-shadow:0 6px 20px #00000026;display:flex;flex-direction:column;gap:6px;z-index:10}#mock-panel[hidden]{display:none}#mock-panel label{display:flex;justify-content:space-between;gap:10px;align-items:center}#mock-panel button{font:inherit;padding:4px 10px;border-radius:8px;border:1px solid #c9b6e4;background:#fff;cursor:pointer}#mock-panel button:hover{background:#f3ecfb}#pulse{position:fixed;top:15.2vh;left:1.6vw;right:1.6vw;height:5.4vh;display:flex;gap:1.2vw;pointer-events:none}#pulse .target{flex:3 1 0;background:var(--card);border-radius:1.4vh;padding:.7vh 1.2vw;box-shadow:0 .4vh 1.4vh #3b2f4a1a;display:flex;align-items:center;gap:1vw}#pulse .target .label{font-size:min(1.8vh,.95vw);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}#pulse .track{position:relative;flex:1;height:2.2vh;border-radius:1.1vh;background:#3b2f4a1a;overflow:visible}#pulse .fill{position:absolute;left:0;top:0;bottom:0;border-radius:1.1vh;background:var(--mint);transition:width .8s}#pulse .fill.behind{background:var(--coral)}#pulse .mark{position:absolute;top:-.6vh;bottom:-.6vh;width:.35vw;background:var(--text);border-radius:.2vw;opacity:.6;transition:left .8s}#pulse .target .text{font-size:min(2.4vh,1.2vw);font-weight:900;white-space:nowrap;font-variant-numeric:tabular-nums}#pulse .target .text.behind{color:var(--coral)}#pulse .target .text.ahead{color:#2f9c70}#pulse .spark{flex:2 1 0;background:var(--card);border-radius:1.4vh;padding:.5vh 1vw;box-shadow:0 .4vh 1.4vh #3b2f4a1a;display:flex;align-items:center;gap:.8vw}#pulse .spark .label{font-size:min(1.8vh,.95vw);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}#pulse .spark svg{flex:1;height:100%}#pulse .spark .now{font-size:min(2.2vh,1.1vw);font-weight:900;color:var(--muted);white-space:nowrap}body.drop #hud .tile.waiting{background:#ffe3ea}body.drop #hud .tile.waiting .value{color:#d8325f}#stats{padding:3vh 3vw;max-width:1400px;margin:0 auto}#stats h1{font-size:4.2vh;margin:0 0 2vh;font-weight:900}#stats h1 span{font-size:2.2vh;color:var(--muted);margin-left:1vw;font-weight:800}#stats h2{font-size:2.4vh;margin:3vh 0 1.2vh;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}#stats .kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4vw}#stats .kpi{background:var(--card);border-radius:1.6vh;padding:1.6vh 1.4vw;box-shadow:0 .6vh 2vh #3b2f4a1a}#stats .kpi .l{font-size:1.8vh;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}#stats .kpi .v{font-size:6vh;font-weight:900;line-height:1.1}#stats .kpi .s{font-size:1.9vh;font-weight:700;color:var(--muted)}#stats .bars{display:flex;gap:.6vw;height:26vh;align-items:stretch;background:var(--card);border-radius:1.6vh;padding:2vh 1.4vw 3.4vh}#stats .bar{flex:1;position:relative;display:flex;flex-direction:column;justify-content:flex-end}#stats .bar .fill{background:var(--sky);border-radius:.6vh .6vh 0 0;min-height:2px;transition:height .6s}#stats .bar .v{position:absolute;left:0;right:0;text-align:center;font-weight:900;font-size:1.8vh;bottom:100%}#stats .bar .h{position:absolute;left:0;right:0;top:100%;text-align:center;font-size:1.7vh;color:var(--muted);font-weight:800;padding-top:.4vh}#stats table{width:100%;border-collapse:collapse;background:var(--card);border-radius:1.6vh;overflow:hidden;font-size:2.2vh}#stats th,#stats td{padding:1.2vh 1.2vw;text-align:left}#stats th{font-size:1.7vh;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}#stats tr.idle td{opacity:.5}#stats .pill{padding:.3vh .8vw;border-radius:2vh;font-size:1.7vh;font-weight:800;text-transform:uppercase;background:#3b2f4a1a}#stats .pill.busy{background:var(--pink);color:#fff}#stats .pill.steady{background:var(--mint)}#stats .pill.slow{background:var(--sunshine)}
