:root{--bg:#0b0b0c;--card:#141415;--line:#2a2a2b;--fg:#f4f2ee;--mut:#8a8884;--acc:#ff6a00;--ok:#3fb950;--bad:#ef4444}*{box-sizing:border-box;border-color:var(--line)}body{background:var(--bg);color:var(--fg);margin:0;font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}main{max-width:1080px;margin:0 auto;padding:24px 16px 64px}h1{letter-spacing:-.01em;font-size:22px}h2{text-transform:uppercase;letter-spacing:.08em;color:var(--mut);margin:28px 0 10px;font-size:15px}.card{background:var(--card);border:1px solid var(--line);border-radius:6px;margin-bottom:10px;padding:14px 16px}.row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.mut{color:var(--mut);font-size:12px}.mono{font-family:ui-monospace,Cascadia Code,monospace;font-size:12px}button{background:var(--acc);color:#0b0b0c;cursor:pointer;border:0;border-radius:4px;padding:8px 14px;font-size:13px;font-weight:700}button.ghost{color:var(--fg);border:1px solid var(--line);background:0 0}button.danger{background:var(--bad);color:#fff}button:disabled{opacity:.4;cursor:default}input,textarea,select{background:var(--bg);color:var(--fg);border:1px solid var(--line);border-radius:4px;width:100%;padding:9px 10px;font-size:14px}label{color:var(--mut);text-transform:uppercase;letter-spacing:.06em;margin:10px 0 4px;font-size:12px;display:block}.badge{letter-spacing:.05em;border-radius:99px;padding:1px 8px;font-size:11px;display:inline-block}.badge.warn{color:var(--acc);background:#ff6a0026}.badge.ok{color:var(--ok);background:#3fb95026}.grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.kill{border-color:var(--bad)}a{color:var(--acc)}.dot{background:var(--acc);border-radius:99px;width:9px;height:9px;margin-right:4px;display:inline-block}.live-pulse{animation:1.4s ease-in-out infinite pulse}.card.running{border-color:var(--acc);box-shadow:0 0 18px -6px #ff6a0099}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.live-pulse{animation:none}}.flow-board{flex-wrap:wrap;gap:0;margin-top:18px;display:flex}.station{background:var(--card);border:1px solid var(--line);text-align:left;color:var(--fg);cursor:pointer;font:inherit;border-radius:6px;flex:1;padding:16px 12px;transition:border-color .2s,transform .2s;position:relative}.station:hover{border-color:var(--acc);transform:translateY(-2px)}.station-open{border-color:var(--acc);box-shadow:0 0 18px -8px #ff6a00b3}.station-count{color:var(--acc);font-size:30px;font-weight:800}.station-label{letter-spacing:.1em;margin-top:2px;font-size:12px;font-weight:700}.conveyor{align-items:center;width:38px;display:flex;position:relative;overflow:hidden}.conveyor:before{content:"";border-top:1px dashed var(--line);position:absolute;top:50%;left:0;right:0}.conveyor-dot{background:var(--acc);border-radius:99px;width:6px;height:6px;animation:3.9s linear infinite convey;position:absolute;top:calc(50% - 3px);left:-6px}@keyframes convey{0%{opacity:0;left:-8px}15%{opacity:1}85%{opacity:1}to{opacity:0;left:40px}}.pulse-chip{background:var(--acc);color:var(--bg);border-radius:99px;padding:2px 8px;font-size:10px;font-weight:800;animation:.4s cubic-bezier(.22,1,.36,1) chip-in;position:absolute;top:-10px;right:8px}@keyframes chip-in{0%{opacity:0;transform:translateY(10px)scale(.6)}to{opacity:1;transform:none}}.record-row{text-align:left;width:100%;font:inherit;color:var(--fg);cursor:pointer}.record-row:hover{border-color:var(--acc)}.card{transition:border-color .18s,transform .18s,box-shadow .18s;animation:.35s cubic-bezier(.22,1,.36,1) card-in}.card:hover{transform:translateY(-1px)}@keyframes card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}button{transition:transform .12s,opacity .15s,background .15s}button:active:not(:disabled){transform:scale(.96)}.badge{transition:background .2s,color .2s}@media (prefers-reduced-motion:reduce){.card{transition:none;animation:none}.card:hover{transform:none}button{transition:none}button:active:not(:disabled){transform:none}.conveyor-dot{opacity:.5;animation:none}}
