/* Operate surface inside the existing ZETTA workspace; all selectors are scoped. */
.ld-resource-page{min-width:0}
.ld-timeline-panel{min-width:0}
.ld-resource-tabs{display:flex;align-items:center;gap:22px;min-height:48px;padding:0 28px;border-bottom:1px solid var(--wa-line,var(--c-line));font-size:13px}
.ld-resource-tabs>a{display:flex;align-items:center;min-height:48px;color:var(--wa-muted,var(--c-text-2));text-decoration:none;border-bottom:2px solid transparent}
.ld-resource-tabs>a[aria-current=page]{color:var(--wa-text,var(--c-ink));border-bottom-color:var(--wa-accent,var(--c-primary));font-weight:600}
.ld-resource-hint{margin-left:auto;color:var(--wa-muted,var(--c-text-2));font-size:12px}
.ld-demo{--ld-bg:#11161c;--ld-surface:#141c24;--ld-line:#2c3641;--ld-muted:#acb9c7;--ld-ink:#eaf0f6;--ld-cyan:#78c3e7;--ld-gold:#e5b976;--ld-purple:#b8a6ed;--ld-green:#83c5b3;--ld-idle:#91cab5;--ld-amber:#e5b976;background:var(--ld-bg);color:var(--ld-ink);padding:24px 28px 22px;min-width:920px;font-size:13px;line-height:1.5;font-variant-numeric:tabular-nums}
.ld-demo *{box-sizing:border-box}.ld-demo button,.ld-demo select{font:inherit}.ld-demo button{cursor:pointer}.ld-demo button:disabled{cursor:default;opacity:.45}.ld-demo :is(button,select,a):focus-visible{outline:2px solid var(--ld-cyan);outline-offset:3px}
.ld-demo ::selection{background:#33566c;color:#fff}.ld-demo input{caret-color:var(--ld-cyan)}
.ld-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}
.ld-title-row{display:flex;align-items:center;gap:12px}.ld-title-row h1{font-size:25px;line-height:1.3;letter-spacing:-.02em;margin:0;font-weight:600}
.ld-demo-pill{display:inline-flex;align-items:center;flex:none;min-height:22px;padding:2px 7px;border:1px solid #577080;color:#b4d7e9;border-radius:4px;font-size:11px;line-height:1.2}
.ld-lede{margin:7px 0 0;color:var(--ld-muted);font-size:12px}.ld-controls{display:flex;align-items:center;gap:8px;flex:none}
.ld-button{background:transparent;color:var(--ld-ink);border:1px solid #465563;border-radius:6px;padding:8px 12px;min-height:34px;white-space:nowrap;font-size:12px}
.ld-button:hover:not(:disabled){background:#24313d;border-color:#7390a3}.ld-button-primary{background:var(--ld-cyan);color:#10212c;border-color:var(--ld-cyan);font-weight:600}.ld-button-primary:hover:not(:disabled){background:#9bd6ef;color:#10212c}.ld-button-small{padding:5px 8px;font-size:11px;min-height:28px}
.ld-toolbar{display:flex;align-items:center;gap:20px;padding:0 0 12px;border-bottom:1px solid var(--ld-line)}
.ld-mode{display:flex;padding:3px;border:1px solid #41515f;border-radius:7px;gap:3px}.ld-mode button{border:0;border-radius:4px;padding:6px 15px;background:none;color:var(--ld-muted);font-size:12px}.ld-mode button[aria-pressed=true]{background:#294252;color:#d7effa;font-weight:600}.ld-mode button:hover{color:#fff}
.ld-scenario{display:flex;align-items:center;gap:10px;color:var(--ld-muted);font-size:12px}.ld-scenario select{color:var(--ld-ink);border:1px solid #41515f;border-radius:6px;background:#19232d;min-height:32px;padding:4px 28px 4px 10px;font-size:12px}
.ld-sim-clock{margin-left:auto;display:flex;align-items:baseline;gap:10px;color:var(--ld-muted);font-size:12px}.ld-sim-clock strong{color:var(--ld-ink);font-size:22px;font-weight:550}
.ld-metrics{display:grid;grid-template-columns:1.3fr .8fr 1.2fr 1fr;gap:24px;padding:12px 0 18px}
.ld-metric{display:flex;flex-direction:column;gap:3px}.ld-metric-label,.ld-metric-detail{color:var(--ld-muted);font-size:11px}.ld-metric-value{font-size:21px;line-height:1.3;font-weight:550;letter-spacing:-.01em}.ld-metric-cost{align-items:flex-end}
.ld-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px;align-items:start}.ld-main-column{min-width:0}.ld-inspector{min-width:0;border-left:1px solid var(--ld-line);padding-left:20px}
.ld-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 14px}.ld-section-title{font-size:14px;font-weight:600;line-height:1.4;margin:0}
.ld-project-legend{display:flex;gap:10px}.ld-project-key{background:none;border:0;display:flex;align-items:center;gap:5px;color:var(--ld-muted);font-size:10px;padding:2px}.ld-project-key[aria-pressed=true]{color:var(--ld-ink)}.ld-project-key i{width:7px;height:7px;border-radius:2px;background:var(--ld-project-color)}
.ld-demo [data-color=a]{--ld-project-color:var(--ld-cyan)}.ld-demo [data-color=b]{--ld-project-color:var(--ld-gold)}.ld-demo [data-color=c]{--ld-project-color:var(--ld-purple)}.ld-demo [data-color=d]{--ld-project-color:var(--ld-green)}
.ld-axis-row,.ld-lane{display:grid;grid-template-columns:164px minmax(0,1fr)}.ld-axis-row{border-bottom:1px solid var(--ld-line);height:30px}.ld-axis-label{font-size:10px;color:var(--ld-muted)}.ld-axis{position:relative;font-size:10px;color:var(--ld-muted);height:24px}.ld-axis span{position:absolute;top:2px;transform:translateX(-50%);white-space:nowrap}.ld-axis span:first-child{transform:none}.ld-axis span:last-child{transform:translateX(-100%)}
.ld-lane{min-height:60px;border-bottom:1px solid var(--ld-line)}.ld-device{padding:7px 12px 6px 0}.ld-device-top{display:flex;align-items:center;gap:7px;margin-bottom:1px}.ld-device-id{font-size:11px;font-weight:600}.ld-device-name{display:block;font-size:11px;color:var(--ld-ink)}.ld-device-model{display:block;font-size:10px;color:var(--ld-muted)}.ld-device-current{display:block;color:var(--ld-cyan);font-size:10px;margin-top:2px}
.ld-device-status{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--ld-muted);white-space:nowrap}.ld-device-status::before{content:'';display:block;width:5px;height:5px;border-radius:50%;background:currentColor}.ld-device-status[data-status=idle]{color:var(--ld-idle)}.ld-device-status[data-status=running]{color:var(--ld-cyan)}.ld-device-status[data-status=maintenance]{color:var(--ld-amber)}
.ld-track{position:relative;min-width:0;background-image:linear-gradient(to right,transparent calc(100% - 1px),#26313b 0);background-size:calc(100% / var(--ld-hours)) 100%;background-position:left top}
.ld-job{position:absolute;top:18px;height:25px;min-width:4px;border:1px solid transparent;border-radius:4px;background:var(--ld-project-color);color:#0d1b25;overflow:hidden;padding:2px 1px;font-weight:650;font-size:10px;line-height:18px}
.ld-job[data-phase=done]{background:#253d49;color:#bad8e7;border-color:var(--ld-project-color)}.ld-job[data-phase=queued]{background:color-mix(in srgb,var(--ld-project-color) 28%,#17212a);border-color:var(--ld-project-color);color:var(--ld-ink)}.ld-job[data-selected="1"]{outline:1px solid #e1eff7;outline-offset:2px;z-index:3}.ld-job:hover{filter:brightness(1.18);z-index:4}.ld-job-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ld-now-line{position:absolute;top:0;bottom:0;width:1px;background:#f0f5f9;z-index:5;pointer-events:none;opacity:.8}.ld-maintenance-block{position:absolute;inset:12px 0;background:#252522;color:var(--ld-gold);border:1px dashed #8a754f;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:11px}
.ld-timeline-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:12px}.ld-clock-key{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--ld-ink)}.ld-clock-key i{height:12px;width:1px;background:#eef5fa}.ld-caption{font-size:10px;color:var(--ld-muted)}
.ld-project-rail>.ld-section-title{margin-bottom:10px}.ld-project-row{display:block;width:100%;padding:12px 0;background:none;border:0;border-bottom:1px solid var(--ld-line);text-align:left;color:var(--ld-ink)}.ld-project-row[aria-pressed=true]{background:#1a2934;padding-inline:10px;border-radius:5px}.ld-project-row:hover{background:#19242e}.ld-project-row-title{display:flex;justify-content:space-between;gap:8px}.ld-project-row-title strong{font-size:12px;font-weight:550}.ld-project-count{font-size:10px;color:var(--ld-muted)}.ld-segments{display:flex;gap:4px;margin:9px 0 6px}.ld-segments i{flex:1;height:4px;border-radius:1px;background:#33414d}.ld-segments i[data-phase=done]{background:var(--ld-project-color)}.ld-segments i[data-phase=running]{background:var(--ld-project-color);height:6px;margin-top:-1px;outline:1px solid #d9e9f3;outline-offset:1px}.ld-project-row-detail{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:var(--ld-muted)}
.ld-project-detail{margin-top:22px}.ld-project-id{display:block;font-size:10px;color:var(--ld-muted);margin-bottom:3px}.ld-workflow{list-style:none;margin:16px 0 18px;padding:0}.ld-workflow-step{position:relative;display:flex;align-items:flex-start;gap:10px;min-height:48px;color:var(--ld-muted)}.ld-workflow-step:not(:last-child)::after{content:'';position:absolute;left:10px;top:23px;bottom:0;width:1px;background:#3a4955}.ld-step-marker{display:grid;place-items:center;flex:none;width:21px;height:21px;border:1px solid #536576;border-radius:50%;font-size:10px}.ld-workflow-step[data-phase=done] .ld-step-marker{background:#254637;color:#b6e1c8;border-color:#527d64}.ld-workflow-step[data-phase=running] .ld-step-marker{background:var(--ld-cyan);color:#14232d;border-color:var(--ld-cyan)}.ld-workflow-step[data-phase=running]{color:var(--ld-ink)}.ld-step-text{flex:1;min-width:0}.ld-step-line{display:flex;justify-content:space-between;gap:12px}.ld-step-line strong{font-size:11px;font-weight:550}.ld-step-status{font-size:10px}.ld-step-text small{display:block;font-size:10px;color:var(--ld-muted);margin-top:2px}
.ld-project-cost{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--ld-line);padding-top:12px}.ld-project-cost>div{display:flex;flex-direction:column;gap:4px}.ld-current-cost{font-size:22px;font-weight:550}.ld-forecast-cost{font-size:16px;font-weight:550}.ld-cost-progress{height:4px;background:#35434f;margin-top:10px;border-radius:2px;overflow:hidden}.ld-cost-progress>span{display:block;height:100%;background:var(--ld-cyan)}
.ld-cost-panel{margin-top:26px;border-top:1px solid var(--ld-line);padding-top:18px}.ld-cost-saving{font-size:11px;color:var(--ld-gold)}.ld-cost-row{display:grid;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;gap:12px;margin:13px 0}.ld-cost-row-label{font-size:11px;color:var(--ld-muted)}.ld-cost-row-value{text-align:right;font-size:12px;font-weight:550}.ld-cost-bar{display:flex;height:18px;gap:2px;min-width:0}.ld-cost-bar>span{display:block;min-width:0}.ld-equipment-cost{background:var(--ld-cyan)}.ld-wait-cost{background:var(--ld-gold)}.ld-baseline{opacity:.65}.ld-cost-legend{display:flex;gap:18px;margin:12px 0;font-size:10px;color:var(--ld-muted)}.ld-cost-legend>span{display:flex;align-items:center;gap:6px}.ld-cost-legend i{width:8px;height:8px;border-radius:1px}.ld-equipment-key{background:var(--ld-cyan)}.ld-wait-key{background:var(--ld-gold)}.ld-cost-note{margin:0;font-size:10px;color:var(--ld-muted);max-width:75ch}
.ld-event{display:flex;align-items:center;gap:8px;margin-top:22px;padding-top:14px;border-top:1px solid var(--ld-line);font-size:11px;color:#b4d8e9}.ld-event i{width:5px;height:5px;background:var(--ld-cyan);border-radius:50%;flex:none}.ld-demo-note{color:var(--ld-muted);font-size:10px;margin:8px 0 0}
@media(min-width:1500px){.ld-layout{grid-template-columns:minmax(0,1fr) 320px;gap:28px}.ld-axis-row,.ld-lane{grid-template-columns:185px minmax(0,1fr)}.ld-device-model{font-size:10px}.ld-axis{font-size:10px}.ld-job{font-size:11px}}


.ld-project-cost-caption{font-size:10px;color:var(--ld-muted);margin:0 0 4px}
.ld-device-model[title]{cursor:help;text-decoration:underline dotted #657c8d;text-underline-offset:3px}
.ld-cost-method{margin-top:10px;color:var(--ld-muted);font-size:11px}
.ld-cost-method summary{cursor:pointer;min-height:28px;color:var(--ld-cyan)}
.ld-rate-table{width:100%;border-collapse:collapse;font-size:11px;margin:6px 0 12px}
.ld-rate-table th,.ld-rate-table td{padding:5px 8px;border-bottom:1px solid var(--ld-line);text-align:left;font-weight:400}
.ld-rate-table th{color:var(--ld-ink);font-weight:550}
.ld-rate-table th:last-child,.ld-rate-table td:last-child{text-align:right;white-space:nowrap}

/* Linked equipment observation extends the resource surface, not its navigation. */
.ld-device-link{border:0;padding:0;background:none;color:var(--ld-cyan);font-size:11px;font-weight:600;text-decoration:underline;text-decoration-color:#52778a;text-underline-offset:3px}
.ld-view-switch{display:flex;gap:24px;margin:0 0 22px;border-bottom:1px solid var(--ld-line)}
.ld-view-switch button{border:0;border-bottom:2px solid transparent;background:none;color:var(--ld-muted);font-size:13px;padding:10px 0}
.ld-view-switch button[aria-pressed=true]{color:var(--ld-ink);border-bottom-color:var(--ld-cyan);font-weight:600}
.ld-observe{min-width:0}.ld-telemetry{padding-top:2px}
.ld-observe-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 20px}
.ld-observation-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px;align-items:start}
.ld-visual{min-width:0}.ld-visual>.ld-panel-head{min-height:44px}.ld-visual>.ld-panel-head .ld-caption{display:block;margin-top:4px}
.ld-visual .ld-mode{flex:none}.ld-visual .ld-mode button{padding:6px 10px;font-size:11px}
.ld-observation-detail{border-left:1px solid var(--ld-line);padding-left:20px;min-width:0}
.ld-observed-picker{display:flex;flex-direction:column;gap:8px;font-size:11px;color:var(--ld-muted);margin-bottom:20px}
.ld-observed-picker select,.ld-trace-picker select{font-size:11px;background:#19232d;color:var(--ld-ink);border:1px solid #465563;border-radius:5px;padding:7px;min-height:32px;max-width:100%}
.ld-source-tag{font-size:10px;color:var(--ld-cyan)}
.ld-channel-state{display:flex;flex-direction:column;gap:4px;color:var(--ld-green);padding:12px 0;border-block:1px solid var(--ld-line);font-size:11px}
.ld-channel-state strong{font-size:14px;font-weight:550}.ld-channel-state span{color:var(--ld-muted)}
.ld-channel-state[data-warning="1"]{color:var(--ld-amber)}
.ld-telemetry-list{margin:12px 0}.ld-telemetry-list>div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:8px;padding:6px 0;font-size:11px}.ld-telemetry-list dt{color:var(--ld-muted)}.ld-telemetry-list dd{margin:0;text-align:right;overflow-wrap:anywhere}
.ld-telemetry-progress{height:4px;background:#34434e;overflow:hidden}.ld-telemetry-progress>span{display:block;height:100%;background:var(--ld-cyan)}.ld-telemetry-progress[data-stale="1"]>span{background:var(--ld-amber)}
.ld-visual-observation{display:flex;flex-direction:column;gap:4px;padding:13px 0 0;font-size:11px;color:var(--ld-muted)}.ld-visual-observation strong{font-size:13px;font-weight:550;color:var(--ld-ink)}
.ld-camera-missing{aspect-ratio:5/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#182028;border:1px dashed #6f7b86;color:var(--ld-muted);text-align:center;padding:28px}.ld-camera-missing strong{font-size:18px;color:var(--ld-amber);font-weight:550}.ld-camera-missing small{max-width:36ch;font-size:11px}
.ld-experiment-trace{margin-top:28px;padding-top:20px;border-top:1px solid var(--ld-line)}
.ld-trace-picker{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--ld-muted)}
.ld-trace-steps{list-style:none;padding:0;margin:16px 0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.ld-trace-steps li{border-top:3px solid #52616d}.ld-trace-steps li[data-phase=已完成]{border-top-color:var(--ld-project-color)}.ld-trace-steps li[data-phase=进行中]{border-top-color:var(--ld-cyan)}
.ld-trace-steps button{display:flex;flex-direction:column;gap:5px;align-items:flex-start;width:100%;padding:10px 0;border:0;background:none;text-align:left;color:var(--ld-muted);font-size:11px}.ld-trace-steps button:hover{background:#1d2a34}.ld-trace-steps strong{font-size:13px;font-weight:550;color:var(--ld-ink)}.ld-trace-steps small{font-size:10px}.ld-trace-status{font-size:10px}.ld-trace-steps li[data-phase=进行中] .ld-trace-status{color:var(--ld-cyan)}
.ld-observation-flow{display:grid;grid-template-columns:1fr 1.2fr 1.2fr;align-items:center;gap:28px;border-block:1px solid var(--ld-line);padding:15px 0;margin-top:22px;font-size:11px;color:var(--ld-muted)}.ld-observation-flow strong{color:var(--ld-cyan);font-weight:550}.ld-observation-flow>:nth-child(n+2){position:relative}.ld-observation-flow>:nth-child(n+2)::before{content:'→';position:absolute;left:-18px;color:var(--ld-cyan)}
@media(min-width:1500px){.ld-observation-layout{grid-template-columns:minmax(0,1fr) 320px;gap:28px}}

.ld-observation-inputs{display:flex;flex-direction:column;gap:8px;border-right:1px solid var(--ld-line);padding-right:16px}

/* One generated scene, aligned equipment hotspots and native camera zoom. */
.ld-scene-view{min-width:0}
.ld-scene-frame{position:relative;aspect-ratio:1672/941;overflow:hidden;background:#17232d;border:1px solid #526674}
.ld-scene-image{position:absolute;max-width:none;object-fit:fill;pointer-events:none;user-select:none}
.ld-scene-source{position:absolute;top:10px;left:10px;right:10px;z-index:4;display:flex;justify-content:space-between;gap:10px;pointer-events:none;font-size:10px;line-height:1.4}
.ld-scene-source>span,.ld-scene-source>strong{padding:5px 7px;background:#111e29;color:#edf5f9;font-weight:500}
.ld-scene-source>strong{color:#d4e9f4}
.ld-scene-target{position:absolute;z-index:2;padding:0;border:1px solid transparent;border-radius:3px;background:transparent;text-align:left;color:#eef6fa}
.ld-scene-target:hover{background:#78c3e71a;border-color:#163f55}
.ld-scene-target[aria-pressed=true]{border-color:#10354b;outline:2px solid #78c3e7;outline-offset:2px;z-index:3}
.ld-scene-device-label{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);display:inline-flex;gap:6px;align-items:center;width:max-content;padding:4px 6px;background:#142532;border:1px solid #7898aa;font-size:10px;white-space:nowrap}
.ld-scene-device-label strong{font-weight:550}.ld-scene-device-label .ld-device-status{font-size:9px}
.ld-scene-footer{position:absolute;bottom:10px;left:10px;right:10px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px;background:#142532;color:#e8f1f7;font-size:10px;pointer-events:none}
.ld-scene-unavailable{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--ld-muted);font-size:12px;padding:24px;text-align:center}
.ld-scene-unavailable strong{color:var(--ld-ink);font-size:16px;font-weight:550}
.ld-device-strip{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.ld-device-strip button{display:flex;align-items:center;gap:6px;background:none;color:var(--ld-muted);border:1px solid #445564;border-radius:4px;padding:6px 7px;font-size:10px}
.ld-device-strip button[aria-pressed=true]{background:#294252;color:var(--ld-ink);border-color:#85b5cf}.ld-device-strip button:hover{background:#223644}.ld-device-strip .ld-device-status{font-size:9px}
.ld-device-process{margin-top:24px;padding-top:18px;border-top:1px solid var(--ld-line)}
.ld-device-process .ld-panel-head .ld-caption{display:block;margin-top:3px}
.ld-process-task{display:flex;align-items:baseline;gap:18px;font-size:11px;color:var(--ld-muted)}.ld-process-task>strong:first-child{font-size:15px;font-weight:550;color:var(--ld-ink)}.ld-process-percent{margin-left:auto;color:var(--ld-cyan);font-size:22px;font-weight:550}
.ld-process-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:0;margin:12px 0}
.ld-process-steps li{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:2px solid #4b5c68;color:var(--ld-muted)}.ld-process-step-index{display:grid;place-items:center;flex:none;width:23px;height:23px;border:1px solid #657c8d;border-radius:50%;font-size:11px}
.ld-process-steps li>div{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:1;min-width:0}.ld-process-steps strong{font-size:12px;font-weight:550}.ld-process-steps li>div>span{font-size:10px}
.ld-process-steps li[data-phase=done]{border-top-color:var(--ld-green)}.ld-process-steps li[data-phase=running]{border-top-color:var(--ld-cyan);color:var(--ld-ink)}.ld-process-steps li[data-phase=running] .ld-process-step-index{background:var(--ld-cyan);color:#12222d;border-color:var(--ld-cyan)}
.ld-process-empty{color:var(--ld-muted);font-size:12px;margin:10px 0}
.ld-tour{position:sticky;top:0;z-index:8;background:var(--ld-bg);border-block:1px solid #526675;margin-bottom:22px;padding:12px 0 0}
.ld-tour-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.ld-tour-head strong{font-size:15px;font-weight:550}.ld-tour-count{font-size:11px;color:var(--ld-cyan);margin-left:12px}.ld-tour-head p{font-size:11px;color:var(--ld-muted);margin:4px 0 0}
.ld-tour-actions{display:flex;align-items:center;gap:8px;flex:none}
.ld-tour-steps{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
.ld-tour-steps button{border:0;border-bottom:2px solid transparent;background:none;color:var(--ld-muted);font-size:11px;padding:8px 0;white-space:nowrap}
.ld-tour-steps button[aria-current=step]{border-bottom-color:var(--ld-cyan);color:var(--ld-ink);font-weight:550}.ld-tour-steps button:hover{color:#fff}
.ld-scene-view,.ld-device-process,.ld-experiment-trace{scroll-margin-top:12px}
.ld-tour~.ld-observe :is(.ld-scene-view,.ld-device-process,.ld-experiment-trace){scroll-margin-top:112px}
.ld-trace-costs{display:flex;justify-content:space-between;gap:20px;border-block:1px solid var(--ld-line);padding:10px 0;margin:8px 0 14px;color:var(--ld-muted);font-size:11px}.ld-trace-costs strong{margin-left:6px;color:var(--ld-ink);font-size:13px;font-weight:550}
.ld-records{scroll-margin-top:12px}.ld-records-intro{margin:5px 0 0;font-size:12px;color:var(--ld-muted)}
.ld-records-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:24px;align-items:start}
.ld-record-figure{margin:0;min-width:0}.ld-record-image{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;background:#0c1117;border:1px solid #435563;overflow:hidden}
.ld-record-image>img{display:block;width:100%;height:100%;object-fit:contain}
.ld-record-caption{padding:14px 0;border-bottom:1px solid var(--ld-line)}.ld-record-caption>div{display:flex;justify-content:space-between;align-items:center;gap:16px}.ld-record-caption h3{font-size:15px;font-weight:550;margin:0}.ld-record-caption span{font-size:11px;color:var(--ld-cyan)}.ld-record-caption p{font-size:12px;color:var(--ld-muted);margin:8px 0 0;max-width:65ch}
.ld-record-list{display:flex;flex-direction:column;gap:10px}.ld-record-list button{display:flex;gap:10px;align-items:center;text-align:left;background:transparent;border:1px solid #435563;border-radius:5px;padding:8px;color:var(--ld-ink);min-height:68px}
.ld-record-list button[aria-pressed=true]{border-color:var(--ld-cyan);background:#243a49}.ld-record-list button:hover{background:#21323f}.ld-record-list img{display:block;width:70px;height:45px;object-fit:cover;flex:none;background:#111c25}.ld-record-list button>span{display:flex;flex-direction:column;gap:5px;min-width:0}.ld-record-list strong{font-size:11px;font-weight:550}.ld-record-list small{font-size:10px;color:var(--ld-muted)}
.ld-records-note{font-size:11px;color:var(--ld-muted);max-width:85ch;border-top:1px solid var(--ld-line);padding-top:14px;margin:20px 0 0}
.ld-record-unavailable{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;text-align:center;font-size:12px;color:var(--ld-muted)}.ld-record-unavailable strong{font-size:16px;color:var(--ld-ink);font-weight:550}
/* Equipment operating board: status precedes scheduling and source media. */
.ld-equipment-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:6px 0 8px}.ld-equipment-filters{display:flex;gap:6px}.ld-equipment-filters button{display:flex;align-items:center;gap:10px;border:1px solid transparent;border-radius:6px;padding:7px 12px;color:var(--ld-muted);background:none;min-height:36px}.ld-equipment-filters button strong{font-size:15px;color:var(--ld-ink)}.ld-equipment-filters button[aria-pressed=true]{border-color:#465563;background:var(--ld-surface);color:var(--ld-ink)}.ld-equipment-filters button:hover{background:#24313d;color:var(--ld-ink)}.ld-equipment-clock{color:var(--ld-muted);font-size:12px}.ld-equipment-table{width:100%;border-collapse:collapse;text-align:left;table-layout:fixed}.ld-equipment-table th{font-size:11px;font-weight:500;color:var(--ld-muted);height:36px;border-bottom:1px solid var(--ld-line)}.ld-equipment-table th:nth-child(1){width:19%}.ld-equipment-table th:nth-child(2){width:12%}.ld-equipment-table th:nth-child(3){width:23%}.ld-equipment-table th:nth-child(4){width:16%}.ld-equipment-table th:nth-child(5){width:12%}.ld-equipment-table th:nth-child(6){width:13%}.ld-equipment-table th:nth-child(7){width:5%}.ld-equipment-table td{height:50px;border-bottom:1px solid var(--ld-line);padding:7px 12px 7px 0;vertical-align:middle}.ld-equipment-table tr:hover td{background:var(--ld-surface)}.ld-equipment-open{display:grid;gap:3px;text-align:left;padding:0;border:0;background:none;color:var(--ld-ink)}.ld-equipment-open strong{font-weight:550;font-size:13px}.ld-equipment-open small,.ld-equipment-project{display:block;color:var(--ld-muted);font-size:11px;font-weight:400}.ld-equipment-open:hover strong{text-decoration:underline;text-underline-offset:4px;color:var(--ld-cyan)}.ld-equipment-task{font-size:12px;font-weight:500}.ld-equipment-empty{color:var(--ld-muted)}.ld-equipment-progress{width:75%;height:4px;background:var(--ld-line);margin-bottom:5px}.ld-equipment-progress>span{display:block;height:100%;background:var(--ld-cyan)}.ld-equipment-table tr[data-warning] .ld-equipment-progress>span{background:var(--ld-gold)}.ld-equipment-percent{font-size:11px;color:var(--ld-muted)}.ld-equipment-heartbeat{font-size:12px}.ld-equipment-table tr[data-warning] .ld-equipment-heartbeat{color:var(--ld-gold)}.ld-equipment-detail{padding:5px 0;background:none;border:0;color:var(--ld-cyan);font-size:12px}.ld-equipment-detail:hover{text-decoration:underline;text-underline-offset:4px}.ld-equipment-foot{color:var(--ld-muted);font-size:11px;margin:14px 0 0}.ld-equipment-zero{padding:40px 0;display:grid;gap:6px;color:var(--ld-muted)}.ld-equipment-zero strong{color:var(--ld-ink)}.ld-demo-settings{margin-top:24px;border-top:1px solid var(--ld-line);padding-top:12px;color:var(--ld-muted);font-size:12px}.ld-demo-settings summary{cursor:pointer;width:max-content;padding:5px 0}.ld-settings-body{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px 0}.ld-demo-settings .ld-caption{margin:8px 0;max-width:75ch}

.ld-equipment{min-width:0}.ld-controls>a{text-decoration:none}.ld-header .ld-title-row>.ld-caption{font-size:11px}
/* The photographic workstation is the operating surface; metadata follows selection. */
.ld-lab-control{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px;align-items:start;margin-top:8px}.ld-lab-scene{min-width:0}.ld-lab-scene>.ld-panel-head{margin-bottom:8px;min-height:32px}.ld-lab-scene .ld-mode button{padding:5px 9px;font-size:11px}.ld-lab-scene .ld-device-strip{gap:5px}.ld-lab-scene .ld-device-strip button{padding:6px;font-size:10px}.ld-lab-source-note{font-size:10px;color:var(--ld-muted);margin:10px 0 0}.ld-instrument{border-left:1px solid var(--ld-line);padding-left:20px;min-width:0}.ld-instrument-title{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;margin-bottom:8px}.ld-instrument-title .ld-caption{display:block;font-size:10px;margin-top:3px}.ld-instrument-title .ld-device-status{font-size:10px;flex:none}.ld-instrument-image{position:relative;aspect-ratio:1672/941;overflow:hidden;background:var(--ld-surface)}.ld-instrument-image img{position:absolute;max-width:none;object-fit:fill}.ld-instrument-image>span{position:absolute;bottom:7px;left:8px;background:#142532;color:var(--ld-ink);padding:3px 6px;font-size:9px}.ld-instrument-health{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--ld-line)}.ld-instrument-health>div{display:grid;gap:3px}.ld-instrument-health span{font-size:10px;color:var(--ld-muted)}.ld-instrument-health strong{font-size:11px;font-weight:500}.ld-instrument-task{padding-top:10px;display:grid;gap:5px}.ld-instrument-task>.ld-panel-head{margin:0}.ld-instrument-task>.ld-panel-head .ld-section-title{font-size:11px;color:var(--ld-muted);font-weight:400}.ld-instrument-task>.ld-panel-head .ld-caption{font-size:10px}.ld-instrument-task>strong{font-size:13px;font-weight:550}.ld-instrument-task>.ld-caption{font-size:11px}.ld-instrument-progress{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:7px;margin:10px 0;color:var(--ld-muted);font-size:11px}.ld-instrument-progress>strong{color:var(--ld-cyan);font-size:20px;font-weight:550}.ld-instrument-progress>div{width:100%;height:4px;background:var(--ld-line)}.ld-instrument-progress>div>span{display:block;height:100%;background:var(--ld-cyan)}.ld-instrument-phases{list-style:none;margin:0 0 12px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ld-instrument-phases li{display:grid;gap:3px;padding-top:8px;border-top:2px solid #4b5c68;color:var(--ld-muted)}.ld-instrument-phases strong{font-size:10px;font-weight:500}.ld-instrument-phases span{font-size:9px}.ld-instrument-phases li[data-phase=running]{border-top-color:var(--ld-cyan);color:var(--ld-ink)}.ld-instrument-phases li[data-phase=done]{border-top-color:var(--ld-green)}.ld-instrument>.ld-button{width:100%;font-size:11px}.ld-instrument-warning{font-size:11px;color:var(--ld-gold);line-height:1.5}.ld-equipment-register{margin-top:22px;border-top:1px solid var(--ld-line);padding-top:12px}.ld-equipment-register summary{font-size:12px;color:var(--ld-muted);cursor:pointer;padding:5px 0}.ld-site-photo{margin:0;position:relative;background:var(--ld-surface);border:1px solid #526674;aspect-ratio:1672/941;overflow:hidden}.ld-site-photo>img{display:block;width:100%;height:100%;object-fit:contain}.ld-site-photo figcaption{position:absolute;bottom:10px;left:10px;right:10px;background:#142532;color:var(--ld-ink);display:flex;justify-content:space-between;gap:12px;padding:8px;font-size:10px}.ld-site-photo figcaption strong{font-weight:500}.ld-site-unavailable{display:grid;place-content:center;gap:16px;height:100%;text-align:center;color:var(--ld-muted)}
@media(min-width:1500px){.ld-lab-control{grid-template-columns:minmax(0,1fr) 320px;gap:28px}}

.ld-demo:has(.ld-lab-control) .ld-header{margin-bottom:8px}
.ld-cloud-band{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid #465563;background:var(--ld-surface);margin:12px 0 16px}.ld-cloud-emblem{display:grid;align-content:center;gap:2px;padding-right:14px;border-right:1px solid var(--ld-line);min-height:40px}.ld-cloud-emblem strong{font-size:18px;line-height:1.2;color:var(--ld-cyan);font-weight:600}.ld-cloud-emblem span{font-size:10px;color:var(--ld-muted)}.ld-cloud-band-title h2{font-size:13px;margin:0;font-weight:550}.ld-cloud-band-title p{font-size:10px;margin:4px 0 0;color:var(--ld-muted)}.ld-cloud-band>.ld-button{margin-left:auto;font-size:11px}.ld-cloud-connection{display:flex;align-items:center;gap:9px;font-size:10px;color:var(--ld-muted);margin-left:auto}.ld-cloud-connection i{display:block;width:16px;border-top:1px solid #526674}.ld-cloud-detail>.ld-caption{font-size:11px;margin:7px 0 14px;max-width:65ch}.ld-cloud-resource{display:flex;align-items:center;justify-content:space-between;padding:22px 16px;background:var(--ld-surface);border:1px solid #465563;color:var(--ld-cyan)}.ld-cloud-resource strong{font-size:28px;font-weight:550}.ld-cloud-resource span{font-size:12px}.ld-cloud-facts{display:grid;gap:10px;padding:14px 0;margin:0}.ld-cloud-facts>div{display:flex;justify-content:space-between;gap:16px;font-size:11px}.ld-cloud-facts dt{color:var(--ld-muted)}.ld-cloud-facts dd{margin:0}.ld-cloud-detail>.ld-button{display:block;text-align:center;text-decoration:none;font-size:11px}.ld-cloud-example{display:grid;gap:6px;padding:16px 0;border-top:1px solid var(--ld-line);margin-top:16px}.ld-cloud-example .ld-section-title{font-size:11px;color:var(--ld-muted);font-weight:400}.ld-cloud-example>strong{font-size:12px;font-weight:550}.ld-cloud-example>.ld-caption{font-size:10px;margin:0}.ld-cloud-observe{display:grid;gap:22px}.ld-cloud-observe>.ld-cloud-detail{max-width:600px}

.ld-scene-target[data-device=SYN-02] .ld-scene-device-label{top:auto;bottom:0}
/* Resource network: one shared cloud layer, then lab → workstation → instrument. */
.lr-network{min-width:0}.lr-network-heading{margin:22px 0 0}.lr-network-heading p{margin:6px 0 0;color:var(--ld-muted);font-size:12px}.lr-network-branches{display:flex;height:28px;margin:0 8%;border-top:1px solid #526674;margin-top:22px}.lr-network-branches i{flex:1;position:relative}.lr-network-branches i:after{content:'';position:absolute;left:50%;height:28px;border-left:1px solid #526674}.lr-labs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.lr-lab-node{min-width:0;border:1px solid var(--ld-line);background:var(--ld-surface)}.lr-lab-enter{display:block;width:100%;text-align:left;border:0;background:none;color:var(--ld-ink);padding:0}.lr-lab-enter:hover{background:#1b2934}.lr-lab-node-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px}.lr-lab-node-title h3{margin:0;font-size:16px;font-weight:550}.lr-lab-node-title>span{font-size:10px;color:var(--ld-muted)}.lr-lab-enter>img{display:block;aspect-ratio:16/9;width:100%;object-fit:cover}.lr-environment-empty{display:grid;align-content:center;gap:9px;aspect-ratio:16/9;padding:22px;color:var(--ld-muted);background:#17212a}.lr-environment-empty strong{font-size:13px;font-weight:500;color:var(--ld-ink)}.lr-environment-empty span{font-size:11px;line-height:1.5}.lr-lab-node-meta{display:grid;gap:3px;padding:12px 14px 8px;color:var(--ld-muted);font-size:11px}.lr-enter-label{display:block;padding:0 14px 14px;color:var(--ld-cyan);font-size:12px}.lr-workstation-tree{border-top:1px solid var(--ld-line);padding:12px 14px}.lr-workstation-tree>button{display:grid;gap:4px;padding:4px 0;background:none;border:0;color:var(--ld-ink);text-align:left}.lr-workstation-tree strong{font-size:12px;font-weight:500}.lr-workstation-tree span{font-size:10px;color:var(--ld-muted)}.lr-network-flow{display:flex;align-items:center;margin:24px 0 12px;gap:0}.lr-network-flow span{font-size:11px;color:var(--ld-muted);display:flex;align-items:center;flex:1;white-space:nowrap}.lr-network-flow span:not(:last-child):after{content:'';height:1px;background:var(--ld-line);flex:1;margin:0 12px}.lr-network>.ld-caption{font-size:11px;margin:12px 0}.lr-network>.ld-button{margin-top:8px}.lr-switcher{display:flex;align-items:center;gap:18px;margin:18px 0}.lr-switcher label{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--ld-muted)}.lr-switcher select{font:inherit;color:var(--ld-ink);background:#19232d;border:1px solid #465563;border-radius:5px;padding:7px 10px;min-width:150px}.lr-lab-context{margin-left:auto;font-size:11px;color:var(--ld-muted)}.lr-message,.lr-empty-lab{padding:30px 0;max-width:75ch}.lr-message h2,.lr-empty-lab h2{font-size:20px;font-weight:550;margin:0 0 10px}.lr-message p,.lr-empty-lab p{color:var(--ld-muted);font-size:13px;line-height:1.6}.lr-empty-lab>.ld-button{margin:12px 8px 0 0}.lr-empty-lab ul{list-style:none;padding:0;display:grid;gap:12px;margin:20px 0}.lr-empty-lab li{display:flex;gap:20px;align-items:center;border-bottom:1px solid var(--ld-line);padding-bottom:12px}.lr-empty-lab li strong{font-size:13px;font-weight:500}.lr-empty-lab li span{font-size:11px;color:var(--ld-muted)}.lr-manager{margin-top:24px}.lr-manager-layout{display:grid;grid-template-columns:200px minmax(0,600px);gap:32px;margin-top:22px}.lr-manager-labs{display:flex;flex-direction:column;gap:6px}.lr-manager-labs button{background:none;border:1px solid transparent;border-radius:5px;color:var(--ld-muted);text-align:left;padding:10px 12px;font:inherit}.lr-manager-labs button:hover{background:#1b2934}.lr-manager-labs button[aria-pressed=true]{border-color:#465563;color:var(--ld-ink);background:var(--ld-surface)}.lr-config-form{display:grid;gap:18px;max-width:600px}.lr-config-form>label,.lr-workstation-field>label{display:grid;gap:7px;color:var(--ld-muted);font-size:12px}.lr-config-form input{font:inherit;width:100%;min-height:36px;padding:8px 10px;border:1px solid #465563;border-radius:5px;color:var(--ld-ink);background:#19232d;caret-color:var(--ld-cyan)}.lr-config-form input:disabled{opacity:.65}.lr-config-form>.ld-panel-head{margin:10px 0 0}.lr-workstation-field{display:grid;gap:6px}.lr-workstation-field>.ld-caption{font-size:11px}.lr-config-actions{display:flex;gap:10px;margin-top:8px}.lr-save-error{font-size:12px;color:var(--ld-gold);line-height:1.5;margin:0}.lr-save-success{font-size:12px;color:var(--ld-green);margin:0}

.lr-lab-enter>img,.lr-environment-empty{aspect-ratio:16/7}.lr-network-branches{height:22px;margin-top:18px}.lr-network-branches i:after{height:22px}.lr-config-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.lr-config-form>*{grid-column:1/-1}.lr-config-form>label:nth-child(-n+2){grid-column:auto}
