:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#06101d;--panel:#07111fd1;--panel-strong:#0a1626f0;--panel-soft:#0f172ab3;--line:#94a3b838;--line-strong:#38bdf88c;--text:#e5eef9;--muted:#9aa8ba;--faint:#66758a;--cyan:#38bdf8;--green:#4ade80;--amber:#fbbf24;--red:#f87171;--violet:#a78bfa;--shadow:0 22px 70px #00000061;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{min-width:320px;color:var(--text);background:linear-gradient(#07111f 0%,#050a13 100%);overflow:hidden}button{font:inherit}.app-shell{background:linear-gradient(90deg, #03071214 0%, transparent 28%, transparent 66%, #0307125c 100%), var(--bg);width:100vw;height:100vh;position:relative;overflow:hidden}.app-shell canvas{position:absolute;inset:0;width:100%!important;height:100%!important}.top-bar,.active-phase-panel,.focus-panel,.storyboard-rail,.scenario-dock,.playback-dock{z-index:5;border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:absolute}.top-bar{border-radius:8px;justify-content:space-between;align-items:center;gap:16px;min-height:62px;padding:11px 15px;display:flex;top:14px;left:16px;right:16px}.brand-block,.top-status,.status-chip,.panel-header,.panel-header>div,.phase-bullets,.detail-chips,.scenario-dock,.playback-dock,.speed-group,.prox-row{align-items:center;display:flex}.brand-block{gap:12px;min-width:250px}.brand-mark{border:2px solid var(--cyan);width:38px;height:38px;color:var(--cyan);background:#38bdf817;place-items:center;font-size:20px;font-weight:900;display:grid}.brand-title{letter-spacing:1.6px;font-size:19px;font-weight:900;line-height:1}.brand-title span{color:var(--cyan)}.brand-subtitle{color:var(--muted);letter-spacing:1.4px;text-transform:uppercase;margin-top:5px;font-size:11px;font-weight:700}.top-status{flex-wrap:wrap;justify-content:flex-end;gap:8px}.status-chip{white-space:nowrap;background:#0307127a;border:1px solid #94a3b838;border-radius:7px;gap:7px;min-height:34px;padding:6px 10px}.status-chip svg,.panel-header svg{flex:none}.status-chip span,.detail-chip span{color:var(--faint);letter-spacing:1px;text-transform:uppercase;font-size:10px;font-weight:800}.status-chip strong,.detail-chip strong{color:var(--text);font-size:12px;font-weight:900}.view-switch{min-height:34px;color:var(--cyan);letter-spacing:.8px;text-transform:uppercase;cursor:pointer;background:#38bdf81a;border:1px solid #38bdf86b;border-radius:7px;padding:0 11px;font-size:11px;font-weight:900}.active-phase-panel{border-color:#38bdf86b;border-radius:8px;width:min(560px,100vw - 390px);max-height:calc(100vh - 312px);padding:17px 19px 16px;top:92px;left:16px;overflow:hidden}.phase-kicker{color:var(--cyan);letter-spacing:2px;text-transform:uppercase;font-size:11px;font-weight:900}.active-phase-panel h1{color:var(--text);letter-spacing:0;margin:7px 0 8px;font-size:clamp(26px,3.05vw,44px);line-height:.98}.active-phase-panel p{max-width:50ch;color:var(--muted);margin:0;font-size:14px;line-height:1.42}.phase-bullets{flex-wrap:wrap;gap:8px;margin-top:12px}.phase-bullets span{color:#cbd5e1;background:#0f172a94;border:1px solid #94a3b82e;border-radius:6px;max-width:100%;padding:6px 8px;font-size:11px;font-weight:700;line-height:1.2}.detail-chips{flex-wrap:wrap;gap:8px;margin-top:13px}.detail-chip{background:#0307126b;border:1px solid #94a3b833;border-radius:7px;gap:3px;min-width:112px;padding:8px 10px;display:grid}.focus-panel{border-radius:8px;width:min(420px,100vw - 390px);padding:12px;bottom:94px;left:16px;overflow:hidden}.focus-slot .focus-panel,.focus-guide .focus-panel{width:min(460px,100vw - 390px)}.panel-header{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding-bottom:10px}.panel-header>div{gap:7px;min-width:0}.panel-header span{min-width:0;color:var(--text);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:12px;font-weight:900;overflow:hidden}.panel-header b{letter-spacing:1px;border:1px solid;border-radius:6px;flex:none;padding:4px 7px;font-size:10px;font-weight:900}.lane-map{background:#07111f;border:1px solid #94a3b829;border-radius:8px;width:100%;height:auto;margin-top:11px;display:block}.panel-copy{background:#08101c9e;border:1px solid #38bdf833;border-radius:7px;gap:5px;margin-top:10px;padding:10px;display:grid}.panel-copy strong{color:var(--text);font-size:12px;line-height:1.28}.panel-copy span{color:var(--muted);font-size:11px;font-weight:650;line-height:1.32}.spreader-camera{background:#101827;border:1px solid #94a3b829;border-radius:8px;width:100%;height:auto;margin-top:11px;display:block}.prox-row{gap:10px;margin-top:10px}.prox-bar{background:#0307128f;border-radius:7px;flex:auto;grid-template-columns:repeat(16,minmax(0,1fr));gap:3px;padding:7px;display:grid}.prox-bar span{background:#64748b47;border-radius:4px;height:22px}.prox-bar span.green{background:var(--green)}.prox-bar span.amber{background:var(--amber)}.prox-bar span.red{background:var(--red)}.beep{width:94px;min-height:36px;color:var(--amber);background:#fbbf2414;border:1px solid #fbbf246b;border-radius:7px;grid-template-columns:16px 1fr;align-items:center;gap:6px;padding:7px 8px;display:grid}.beep i{border:2px solid;border-radius:50%;width:13px;height:13px}.beep.active i{animation:.72s infinite beepPulse}.beep.locked{color:var(--green);background:#4ade8014;border-color:#4ade8073}.beep strong{letter-spacing:.8px;font-size:10px;font-weight:900}@keyframes beepPulse{0%,to{opacity:.55;transform:scale(.72)}50%{opacity:1;transform:scale(1.18)}}.engine-rows,.sequence-list,.mode-ladder,.feed-matrix,.signal-stack,.ranking-board,.compat-board,.cycle-strip{gap:8px;margin-top:11px;display:grid}.engine-row,.sequence-list div,.mode-ladder div{background:#08101c94;border:1px solid #94a3b829;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:9px 10px;display:flex}.engine-row span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.engine-row strong{font-size:13px;font-weight:900}.sequence-list div{justify-content:flex-start}.sequence-list span{border:2px solid #94a3b86b;border-radius:50%;flex:none;width:13px;height:13px}.sequence-list strong{color:var(--muted);font-size:12px}.sequence-list div.done{background:#4ade8012;border-color:#4ade8057}.sequence-list div.done span{border-color:var(--green);background:var(--green);box-shadow:0 0 18px #4ade807a}.sequence-list div.done strong{color:var(--text)}.mode-ladder div{grid-template-columns:28px 1fr;justify-content:stretch;gap:3px 10px;display:grid}.mode-ladder span{width:28px;height:28px;color:var(--muted);border:1px solid #94a3b847;border-radius:6px;grid-row:span 2;align-self:center;place-items:center;font-size:12px;font-weight:900;display:grid}.mode-ladder strong{color:var(--text);font-size:13px}.mode-ladder em{color:var(--muted);font-size:11px;font-style:normal;line-height:1.25}.mode-ladder div.active{background:#38bdf814;border-color:#38bdf875}.mode-ladder div.active span{border-color:var(--cyan);color:var(--cyan)}.feed-row,.signal-row,.move-card,.compat-card,.cycle-card,.sensor-list div,.container-card,.manual-banner{background:#08101c94;border:1px solid #94a3b829;border-radius:7px}.feed-row{grid-template-columns:12px 1fr 42px;align-items:center;gap:10px;min-height:54px;padding:8px 9px;display:grid}.feed-row i,.sensor-list i{background:var(--feed-color,var(--cyan));width:10px;height:10px;box-shadow:0 0 18px color-mix(in srgb, var(--feed-color,var(--cyan)) 56%, transparent);border-radius:50%}.feed-row div{gap:2px;min-width:0;display:grid}.feed-row strong,.signal-row strong,.move-card strong,.compat-card strong,.cycle-card strong,.container-card strong{color:var(--text);font-size:12px;font-weight:900}.feed-row span,.signal-row span,.move-card span,.compat-card span,.cycle-card span,.container-card span,.manual-banner span{color:var(--muted);font-size:10px;font-weight:800}.feed-row em,.move-card em,.compat-card em,.cycle-card em{color:#cbd5e1;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;font-style:normal;font-weight:700;overflow:hidden}.feed-row b{color:var(--feed-color,var(--cyan));text-align:right;font-size:11px}.container-card{border-color:color-mix(in srgb, var(--container-color,var(--cyan)) 40%, transparent);box-shadow:inset 4px 0 0 var(--container-color,var(--cyan));gap:3px;padding:9px 10px;display:grid}.signal-row{grid-template-columns:1fr auto;gap:3px 10px;min-height:40px;padding:8px 10px;display:grid}.signal-row em{color:var(--faint);text-transform:uppercase;grid-column:1/3;font-size:10px;font-style:normal;font-weight:800}.signal-row.crossed{background:#4ade8014;border-color:#4ade8052}.signal-row.crossed strong{color:var(--green)}.signal-row.watch strong{color:var(--amber)}.move-card{border-color:color-mix(in srgb, var(--container-color,var(--cyan)) 32%, transparent);gap:4px;min-height:72px;padding:9px 44px 9px 10px;display:grid;position:relative}.move-card div{justify-content:space-between;gap:8px;min-width:0;display:flex}.move-card b{color:var(--green);font-size:11px;font-weight:900}.move-card.blocked b{color:var(--red)}.move-card i{width:28px;height:28px;color:var(--container-color,var(--cyan));border:1px solid;border-radius:6px;place-items:center;font-size:12px;font-style:normal;font-weight:900;display:grid;position:absolute;top:10px;right:10px}.compat-card{gap:3px;min-height:64px;padding:9px 10px;display:grid}.compat-card b{font-size:11px;font-weight:900}.compat-card.green{border-color:#4ade8052}.compat-card.green b,.compat-card.green strong{color:var(--green)}.compat-card.red{border-color:#f8717157}.compat-card.red b,.compat-card.red strong{color:var(--red)}.compat-card.amber{border-color:#fbbf2457}.compat-card.amber b,.compat-card.amber strong{color:var(--amber)}.operator-callout{color:var(--text);background:#38bdf814;border:1px solid #38bdf847;border-radius:7px;padding:9px 10px;font-size:12px;font-weight:900;line-height:1.3}.cycle-card{border-color:color-mix(in srgb, var(--container-color,var(--cyan)) 32%, transparent);gap:5px;padding:9px 10px;display:grid}.cycle-card div{justify-content:space-between;gap:10px;display:flex}.cycle-card>i{background:#64748b3d;border-radius:999px;height:6px;overflow:hidden}.cycle-card>i span{border-radius:inherit;background:var(--container-color,var(--cyan));height:100%;display:block}.cycle-card.active{background:color-mix(in srgb, var(--container-color,var(--cyan)) 12%, #08101cbd)}.cycle-card.complete strong{color:var(--green)}.sensor-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:10px;display:grid}.sensor-list div{grid-template-columns:12px 1fr;align-items:center;gap:2px 7px;min-width:0;padding:7px 8px;display:grid}.sensor-list i{background:var(--sensor-color,var(--cyan));grid-row:span 2}.sensor-list span{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:900;overflow:hidden}.sensor-list strong{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:800;overflow:hidden}.manual-banner{grid-template-columns:20px 1fr;align-items:center;gap:3px 8px;margin-top:10px;padding:9px 10px;display:grid}.manual-banner svg{grid-row:span 2}.manual-banner strong{color:var(--text);font-size:12px}.manual-banner.active{background:#f8717114;border-color:#f8717161}.storyboard-rail{border-radius:8px;flex-direction:column;gap:10px;width:318px;padding:12px;display:flex;top:92px;bottom:94px;right:16px}.rail-title{color:var(--cyan);letter-spacing:1.9px;text-transform:uppercase;flex:none;font-size:11px;font-weight:900}.phase-card-list{grid-template-rows:repeat(11,minmax(0,1fr));gap:6px;min-height:0;display:grid}.phase-card{min-height:0;color:inherit;cursor:pointer;text-align:left;background:#0307126b;border:1px solid #94a3b829;border-radius:7px;grid-template-rows:auto auto;grid-template-columns:54px 1fr;align-content:center;gap:2px 8px;padding:8px 9px;display:grid;position:relative;overflow:hidden}.phase-card:hover{border-color:#38bdf873}.phase-card strong{color:var(--faint);letter-spacing:1.1px;grid-row:1/3;align-self:center;font-size:12px;font-weight:900}.phase-card span{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:850;overflow:hidden}.phase-card em{color:var(--faint);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:10px;font-style:normal;font-weight:750;overflow:hidden}.phase-card i{background:var(--cyan);height:3px;position:absolute;bottom:0;left:0}.phase-card.done{border-color:#4ade802e}.phase-card.done strong{color:var(--green)}.phase-card.active{box-shadow:inset 3px 0 0 var(--cyan);background:#38bdf81a;border-color:#38bdf8ad}.phase-card.active strong{color:var(--cyan)}.scenario-dock{border-radius:8px;gap:8px;max-width:calc(100vw - 520px);padding:8px;bottom:18px;left:16px}.scenario-btn{min-height:34px;color:var(--muted);cursor:pointer;white-space:nowrap;background:#03071270;border:1px solid #94a3b833;border-radius:7px;padding:7px 10px;font-size:11px;font-weight:900}.scenario-btn.active{border-color:var(--scenario-color);background:color-mix(in srgb, var(--scenario-color) 16%, #030712b8);color:var(--text)}.playback-dock{border-radius:8px;gap:7px;padding:8px;bottom:18px;right:16px}.icon-btn,.primary-control,.speed-group button{height:34px;color:var(--text);cursor:pointer;background:#03071280;border:1px solid #94a3b838;border-radius:7px}.icon-btn{place-items:center;width:36px;display:grid}.primary-control{background:#38bdf81f;border-color:#38bdf873;align-items:center;gap:7px;padding:0 11px;font-size:12px;font-weight:900;display:flex}.speed-group{gap:4px;padding-left:2px}.speed-group button{min-width:38px;color:var(--muted);padding:0 7px;font-size:11px;font-weight:900}.speed-group button.active{border-color:var(--cyan);color:var(--cyan)}.cyan,.status-chip.cyan,.detail-chip.cyan{color:var(--cyan)}.green,.status-chip.green,.detail-chip.green{color:var(--green)}.amber,.status-chip.amber,.detail-chip.amber{color:var(--amber)}.red,.status-chip.red,.detail-chip.red{color:var(--red)}.detail-chip.cyan{border-color:#38bdf83d}.detail-chip.green{border-color:#4ade803d}.detail-chip.amber{border-color:#fbbf2440}.detail-chip.red{border-color:#f8717140}.scene-label,.slot-label,.engine-label,.truck-tag,.mode-label,.container-label,.truck-chassis,.feed-label,.sensor-label,.exception-label,.cycle-label,.workflow-label{pointer-events:none;color:#dbeafe;letter-spacing:0;text-align:center;white-space:normal;background:#030712e6;border:1px solid #94a3b83d;border-radius:6px;max-width:190px;padding:5px 7px;font-size:10px;font-weight:900;line-height:1.14;box-shadow:0 8px 28px #0000006b,0 0 0 1px #ffffff08}.scene-label.compact,.slot-label.compact,.engine-label.compact,.truck-tag.compact,.container-label.compact,.feed-label.compact,.sensor-label.compact,.exception-label.compact,.cycle-label.compact,.workflow-label.compact{max-width:154px;padding:4px 6px;font-size:9px;line-height:1.12}.scene-label.tiny,.slot-label.tiny,.truck-chassis.tiny{max-width:112px;padding:3px 6px;font-size:8px}.scene-label.muted{color:#94a3b8}.slot-label{color:var(--cyan);border-color:#38bdf866}.slot-label.locked,.truck-tag.active{color:var(--green);border-color:#4ade8073}.engine-label{color:var(--cyan);border-color:#38bdf86b}.mode-label{color:#e5eef9;font-size:9px}.truck-tag{color:#f8fafc;white-space:normal;max-width:148px;line-height:1.15}.container-label{color:#fde68a;border-color:#fbbf246b}.truck-chassis{color:#94a3b8;border-color:#94a3b82e;font-size:9px}.feed-label,.sensor-label{white-space:normal;text-align:left;gap:2px;min-width:104px;max-width:154px;display:grid}.feed-label strong,.sensor-label strong{color:var(--text);font-size:10px}.feed-label span,.sensor-label span,.feed-label em{color:#94a3b8;font-size:8px;font-style:normal;line-height:1.15}.feed-label.active{background:#08101cf0;border-color:#38bdf873}.engine-label{min-width:142px;color:var(--cyan);white-space:normal;border-color:#38bdf86b;gap:3px;display:grid}.engine-label strong{color:var(--cyan);font-size:10px}.engine-label span{color:#cbd5e1;font-size:8px;line-height:1.2}.engine-label.active{border-color:#4ade8075}.exception-label{white-space:normal;min-width:126px;max-width:168px;line-height:1.25}.exception-label.red{color:var(--red);border-color:#f871716b}.exception-label.green{color:var(--green);border-color:#4ade806b}.exception-label.amber{color:var(--amber);border-color:#fbbf246b}.cycle-label{color:#94a3b8;border-color:#94a3b833}.cycle-label.active{color:var(--green);border-color:#4ade806b}.workflow-label{color:#cbd5e1;background:#030712b8;border-color:#94a3b82e}.workflow-label.active{background:#030712f0}.workflow-label.cyan{color:var(--cyan);border-color:#38bdf87a}.workflow-label.green{color:var(--green);border-color:#4ade807a}.workflow-label.amber{color:var(--amber);border-color:#fbbf247a}.lab-shell{min-height:100vh;color:var(--text);background:radial-gradient(circle at 14% 8%,#38bdf824,#0000 30%),linear-gradient(#07111f 0%,#050a13 100%);padding:18px;overflow-y:auto}.lab-header,.lab-hero,.lab-scenarios,.lab-panel{border:1px solid var(--line);background:var(--panel-strong);box-shadow:var(--shadow);border-radius:8px}.lab-header{grid-template-columns:auto 1fr auto;align-items:center;gap:16px;min-height:70px;padding:12px;display:grid}.lab-header span,.lab-kicker{color:var(--cyan);letter-spacing:1.7px;text-transform:uppercase;font-size:11px;font-weight:900}.lab-header h1{margin:4px 0 0;font-size:clamp(24px,3vw,38px);line-height:1}.lab-back,.lab-run{min-height:38px;color:var(--text);cursor:pointer;background:#38bdf81a;border:1px solid #38bdf861;border-radius:7px;align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:900;display:inline-flex}.lab-run{background:#4ade8017;border-color:#4ade805c}.lab-hero{border-color:#38bdf852;grid-template-columns:1fr minmax(210px,auto);align-items:center;gap:16px;margin-top:14px;padding:18px;display:grid}.lab-hero h2{margin:6px 0 8px;font-size:clamp(30px,4vw,54px);line-height:.98}.lab-hero p{max-width:78ch;color:var(--muted);margin:0;font-size:14px;line-height:1.45}.lab-mode{background:#38bdf814;border:1px solid #38bdf857;border-radius:8px;align-content:center;justify-items:start;gap:5px;min-height:96px;padding:14px;display:grid}.lab-mode span,.lab-panel header span,.lab-feed-list span,.lab-signal-stack span,.lab-kpis span{color:var(--faint);letter-spacing:1px;text-transform:uppercase;font-size:10px;font-weight:900}.lab-mode strong{font-size:18px}.lab-mode.coordinated{color:var(--green);border-color:#4ade8061}.lab-mode.recommendation{color:var(--amber);border-color:#fbbf2461}.lab-mode.manual{color:var(--red);border-color:#f8717161}.lab-scenarios{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px;padding:10px;display:grid}.lab-scenarios button{min-width:0;color:var(--text);text-align:left;cursor:pointer;background:#03071273;border:1px solid #94a3b833;border-radius:7px;gap:4px;padding:10px;display:grid}.lab-scenarios button.active{box-shadow:inset 3px 0 0 var(--cyan);background:#38bdf81f;border-color:#38bdf89e}.lab-scenarios strong{font-size:12px}.lab-scenarios span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:800;overflow:hidden}.lab-grid,.lab-bottom-grid{gap:12px;margin-top:14px;display:grid}.lab-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lab-bottom-grid{grid-template-columns:1.15fr .85fr}.lab-panel{min-width:0;padding:12px;overflow:hidden}.lab-panel header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding-bottom:10px;display:flex}.lab-panel header div{align-items:center;gap:8px;min-width:0;display:flex}.lab-panel header strong{text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:12px;font-weight:900;overflow:hidden}.lab-panel header span{color:var(--cyan);border:1px solid #38bdf85c;border-radius:6px;flex:none;padding:4px 7px}.lab-feed-list,.lab-signal-stack,.lab-ranking,.lab-kpis,.lab-boundary,.lab-requirements{gap:8px;margin-top:10px;display:grid}.lab-feed-list div,.lab-signal-stack div,.lab-ranking div,.lab-kpis div,.lab-boundary,.lab-requirements div,.lab-vmt,.lab-log{background:#08101c94;border:1px solid #94a3b829;border-radius:7px}.lab-feed-list div,.lab-signal-stack div{grid-template-columns:1fr auto;gap:2px 8px;min-height:48px;padding:8px 9px;display:grid}.lab-feed-list em{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-column:1/3;font-size:10px;font-style:normal;font-weight:750;overflow:hidden}.lab-feed-list .healthy strong,.lab-signal-stack .good strong{color:var(--green)}.lab-feed-list .stale strong,.lab-signal-stack .watch strong{color:var(--amber)}.lab-ranking div{gap:3px;min-height:64px;padding:9px 42px 9px 10px;display:grid;position:relative}.lab-ranking div.ready{border-color:#4ade8047}.lab-ranking div.blocked{border-color:#f8717147}.lab-ranking b,.lab-ranking strong,.lab-boundary strong,.lab-requirements strong,.lab-vmt strong{color:var(--text);font-size:12px}.lab-ranking span,.lab-boundary span,.lab-requirements span,.lab-requirements em,.lab-vmt span{color:var(--muted);font-size:10px;font-style:normal;font-weight:800;line-height:1.25}.lab-ranking i{width:28px;height:28px;color:var(--cyan);border:1px solid;border-radius:6px;place-items:center;font-size:12px;font-style:normal;font-weight:900;display:grid;position:absolute;top:10px;right:10px}.lab-vmt{border-color:#38bdf842;align-content:center;gap:8px;min-height:170px;margin-top:10px;padding:14px;display:grid}.lab-vmt div{width:fit-content;color:var(--amber);border:1px solid #fbbf245c;border-radius:6px;padding:6px 8px;font-size:11px;font-weight:900}.lab-vmt div.centered{color:var(--green);border-color:#4ade8066}.lab-vmt.hold{color:var(--red)}.lab-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-kpis div{gap:4px;padding:10px;display:grid}.lab-kpis strong{color:var(--text);font-size:20px}.lab-boundary{padding:11px}.lab-requirements div{gap:3px;padding:9px 10px;display:grid}.lab-log{color:#cbd5e1;white-space:pre-wrap;max-height:320px;margin:10px 0 0;padding:12px;font-size:11px;line-height:1.45;overflow:auto}@media (width<=1160px){.lab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-bottom-grid{grid-template-columns:1fr}.active-phase-panel{width:min(500px,100vw - 350px)}.focus-panel,.focus-slot .focus-panel,.focus-guide .focus-panel{width:min(390px,100vw - 350px)}.storyboard-rail{width:292px}.scenario-dock{max-width:calc(100vw - 500px);overflow:hidden}}@media (width<=900px){.lab-shell{padding:10px}.lab-header{grid-template-columns:1fr;align-items:stretch}.lab-hero,.lab-scenarios,.lab-grid,.lab-bottom-grid{grid-template-columns:1fr}.lab-hero h2{font-size:30px}.top-bar{min-height:54px;padding:8px 10px;top:10px;left:10px;right:10px}.brand-block{min-width:0}.brand-mark{width:34px;height:34px;font-size:18px}.brand-title{font-size:16px}.brand-subtitle,.top-status{display:none}.active-phase-panel{width:auto;max-height:178px;padding:12px;top:74px;left:10px;right:10px}.active-phase-panel h1{margin:5px 0;font-size:clamp(23px,8vw,32px)}.active-phase-panel p{font-size:12px;line-height:1.32}.phase-bullets{display:none}.detail-chips{gap:6px;margin-top:8px}.detail-chip{flex:30%;min-width:0;padding:6px 7px}.detail-chip span{font-size:8px}.detail-chip strong{font-size:10px}.focus-panel,.focus-slot .focus-panel,.focus-guide .focus-panel{width:auto;max-height:214px;padding:10px;bottom:168px;left:10px;right:10px}.focus-panel.crane-panel,.focus-panel.engine-panel,.focus-panel.safety-panel{max-height:194px}.lane-map,.spreader-camera{object-fit:contain;height:132px;max-height:132px}.engine-rows,.sequence-list,.mode-ladder{gap:6px}.engine-row,.sequence-list div,.mode-ladder div{min-height:34px;padding:7px 8px}.storyboard-rail{width:auto;height:84px;padding:9px;inset:auto 10px 72px}.rail-title{display:none}.phase-card-list{scrollbar-width:none;gap:6px;display:flex;overflow:auto hidden}.phase-card-list::-webkit-scrollbar{display:none}.phase-card{flex:0 0 116px;grid-template-rows:auto auto auto;grid-template-columns:1fr;gap:2px;height:64px;padding:7px}.phase-card strong{grid-row:auto;font-size:11px}.phase-card span{font-size:11px}.phase-card em{font-size:8px}.scenario-dock{scrollbar-width:none;gap:5px;max-width:none;bottom:12px;left:10px;right:148px;overflow-x:auto}.scenario-dock::-webkit-scrollbar{display:none}.scenario-btn{min-height:32px;padding:6px 8px;font-size:10px}.playback-dock{gap:5px;bottom:12px;right:10px}.icon-btn{width:32px;height:32px}.primary-control{justify-content:center;width:34px;height:32px;padding:0}.primary-control svg{flex:none}.primary-control{font-size:0}.speed-group{display:none}}@media (width<=520px){.active-phase-panel{max-height:160px}.detail-chips{display:none}.focus-panel,.focus-slot .focus-panel,.focus-guide .focus-panel{max-height:238px;bottom:154px}.panel-copy,.prox-row{display:none}.lane-map,.spreader-camera{height:104px;max-height:104px}.focus-panel.compatibility-panel,.focus-panel.feed-panel,.focus-panel.ranking-panel,.focus-panel.plc-panel{max-height:238px;overflow-y:auto}.compat-board{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.compat-board .container-card,.compat-board .operator-callout{grid-column:1/-1}.compat-card{gap:2px}.compat-card span,.compat-card em,.compat-card b{white-space:normal;font-size:8px;line-height:1.15}.compat-card strong{font-size:10px}.operator-callout{padding:7px 8px;font-size:10px}.feed-row,.signal-row,.move-card,.compat-card,.cycle-card{min-height:0;padding:7px 8px}.sensor-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.sensor-list div{padding:5px 6px}.sensor-list span{font-size:9px}.sensor-list strong{font-size:8px}.storyboard-rail{height:72px;bottom:68px}.phase-card{flex-basis:96px;height:52px}.phase-card em{display:none}.scenario-dock{right:124px}.scenario-btn{text-overflow:ellipsis;min-width:62px;max-width:86px;overflow:hidden}}
