:root{--bg-0:#f6f7f9;--bg-1:#e4e7eb;--bg-2:#d3d7dd;--panel:#ffffffd1;--panel-border:#12182114;--text:#161b22;--text-2:#5b6573;--text-3:#6b7380;--line:#12182117;--hover:#1218210d;--brand:#12a594;--brand-ink:#0b7b6e;--shadow:0 1px 2px #0f141e0f, 0 8px 24px #0f141e14;--radius:12px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);font-family:Inter Variable,Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:13px}*{box-sizing:border-box}html,body,#root{background:var(--bg-1);height:100%;margin:0;overflow:hidden}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.app:focus-visible{outline:none}.app{outline:none;height:100%;position:relative}.stage{background:radial-gradient(ellipse 80% 70% at 50% 38%, var(--bg-0) 0%, var(--bg-1) 62%, var(--bg-2) 100%);position:absolute;inset:0}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px)saturate(1.2);position:absolute}.brand{background:var(--panel);-webkit-backdrop-filter:blur(14px)saturate(1.2);pointer-events:none;border-radius:10px;align-items:center;gap:8px;padding:5px 10px 5px 5px;display:flex;position:absolute;top:12px;left:12px}.brand-home{color:inherit;pointer-events:auto;text-decoration:none;transition:background-color .2s}.brand-home:hover{background:#fff}.brand-logo{border-radius:7px;flex:none;width:32px;height:32px;display:block}.brand-text{flex-direction:column;gap:1px;display:flex}.brand b{letter-spacing:.02em;font-size:15px}.brand span{color:var(--text-2);font-size:12px}.camera-bar{--fade:28px;align-items:center;gap:6px;max-width:860px;margin-inline:auto;padding:6px;display:flex;top:12px;left:232px;right:208px}.app.mode-monitor .camera-bar{right:316px}.camera-scroll{scrollbar-width:none;gap:4px;min-width:0;display:flex;overflow-x:auto}.camera-scroll.more-left{-webkit-mask-image:linear-gradient(to right, transparent, #000 var(--fade));-webkit-mask-image:linear-gradient(to right, transparent, #000 var(--fade));mask-image:linear-gradient(to right, transparent, #000 var(--fade))}.camera-scroll.more-right{-webkit-mask-image:linear-gradient(to left, transparent, #000 var(--fade));-webkit-mask-image:linear-gradient(to left, transparent, #000 var(--fade));mask-image:linear-gradient(to left, transparent, #000 var(--fade))}.camera-scroll.more-left.more-right{-webkit-mask-image:linear-gradient(to right, transparent, #000 var(--fade), #000 calc(100% - var(--fade)), transparent);-webkit-mask-image:linear-gradient(to right, transparent, #000 var(--fade), #000 calc(100% - var(--fade)), transparent);mask-image:linear-gradient(to right, transparent, #000 var(--fade), #000 calc(100% - var(--fade)), transparent)}.camera-scroll::-webkit-scrollbar{display:none}.chip{white-space:nowrap;cursor:pointer;height:28px;color:var(--text-2);background:0 0;border:1px solid #0000;border-radius:8px;flex:none;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.chip:hover{background:var(--hover);color:var(--text)}.chip.active{background:var(--text);color:#fff}.chip.active .chip-num,.chip.active .chip-tag{color:#fff9}.chip.ghost{border-color:var(--line);color:var(--brand-ink)}.chip.small{border-color:var(--line);height:24px;padding:0 8px;font-size:12px}.chip-num{font-variant-numeric:tabular-nums;color:var(--text-3);font-size:11px}.chip-tag{text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);font-size:10px}.panel-head{justify-content:space-between;align-items:center;padding:12px 14px 6px;display:flex}.panel-head.sub{border-top:1px solid var(--line);margin-top:6px}.collapse{color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;margin:-4px;padding:4px;display:flex}.collapse:hover{background:var(--hover)}.collapse svg{transition:transform .15s}.collapse .system-count{margin-left:2px}.systems.collapsed .panel-head{padding-bottom:12px}.panel-head h2{text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);margin:0;font-size:11px;font-weight:600}.link{color:var(--brand-ink);cursor:pointer;background:0 0;border:0;padding:0}.link:disabled{color:var(--text-3);opacity:.6;cursor:default}.link:not(:disabled):hover{text-decoration:underline}.icon{width:28px;height:28px;color:var(--text-3);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;display:grid}.icon:hover{background:var(--hover);color:var(--text)}.icon.on{color:var(--text-2)}.icon.active{color:var(--brand-ink);background:#12a5941f}.btn{border:1px solid var(--line);cursor:pointer;white-space:nowrap;background:#fff;border-radius:8px;height:30px;padding:0 12px}.btn:hover{border-color:#12182133}.btn.primary{background:var(--text);border-color:var(--text);color:#fff}.btn.ghost{background:0 0}.button-row{flex-wrap:wrap;gap:6px;padding:4px 14px 14px;display:flex}.check{color:var(--text-2);cursor:pointer;align-items:center;gap:8px;padding:4px 14px 8px;display:flex}.check input{accent-color:var(--brand);margin:0}.check.compact{white-space:nowrap;padding:0 4px 0 6px}.segmented{background:var(--hover);border-radius:9px;margin:4px 14px 14px;padding:2px;display:flex}.segmented button{height:28px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:1}.segmented button.on{color:var(--text);background:#fff;box-shadow:0 1px 2px #0f141e1f}.systems{width:280px;max-height:calc(100% - 172px);top:72px;left:12px;overflow-y:auto}.system-list{margin:0;padding:0 6px;list-style:none}.system-row{border-radius:8px;align-items:center;gap:2px;padding-left:8px;display:flex}.system-row:hover{background:var(--hover)}.system-row.selected{background:#12a5941a}.system-row.off .system-name,.system-row.off .dot{opacity:.4}.dot{border-radius:50%;flex:none;width:8px;height:8px}.system-name{text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;flex:1;align-items:center;gap:8px;min-width:0;height:32px;padding:0 6px;display:flex;overflow:hidden}.system-num{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:11px}.system-count{color:var(--text-3);font-variant-numeric:tabular-nums;margin-left:auto;font-size:11px}.info{--accent:var(--brand);border-top:3px solid var(--accent);width:340px;max-height:calc(100% - 172px);padding-bottom:6px;top:72px;right:12px;overflow-y:auto}.info-head{justify-content:space-between;align-items:flex-start;padding:12px 10px 0 16px;display:flex}.pills{flex-wrap:wrap;gap:6px;display:flex}.pill{color:#fff;letter-spacing:.02em;border-radius:6px;align-items:center;height:22px;padding:0 8px;font-size:11px;font-weight:600;display:inline-flex}.pill.outline{color:var(--text-2);border:1px solid var(--line);background:#fff;font-weight:500}.close{font-size:20px;line-height:1}.crumbs{flex-wrap:wrap;gap:4px;padding:10px 16px 0;font-size:12px;display:flex}.crumbs .link{color:var(--text-2)}.crumbs .link:after{content:"›";color:var(--text-3);margin-left:4px}.info h1{margin:6px 16px;font-size:18px;font-weight:650;line-height:1.25}.desc{color:var(--text-2);margin:0 16px 12px;line-height:1.5}.info .button-row{padding:0 16px 12px}.details{border-top:1px solid var(--line);grid-template-columns:104px 1fr;gap:6px 10px;margin:0;padding:12px 16px;display:grid}.details dt{color:var(--text-3)}.details dd{overflow-wrap:anywhere;min-width:0;margin:0}.details code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11.5px}.info h3{border-top:1px solid var(--line);text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);margin:0;padding:12px 16px 8px;font-size:11px;font-weight:600}.kids{flex-wrap:wrap;gap:4px;padding:0 16px 10px;display:flex}.conn-list{max-height:220px;margin:0;padding:0 8px 10px;list-style:none;overflow-y:auto}.conn-row{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:5px 8px;display:flex}.conn-row:hover{background:var(--hover)}.conn-row .dot{flex:none}.conn-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.conn-meta{color:var(--text-3);font-variant-numeric:tabular-nums;flex:none;font-size:11px}.fineprint{border-top:1px solid var(--line);color:var(--text-3);margin:0;padding:8px 16px 14px;font-size:11px;line-height:1.4}.explode{align-items:center;gap:10px;width:min(640px,100% - 24px);padding:8px 10px;display:flex;bottom:16px;left:50%;transform:translate(-50%)}.slider{flex-direction:column;flex:1;gap:4px;min-width:120px;display:flex}.slider-label{color:var(--text-2);font-size:12px}.slider-label b{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.slider input{appearance:none;background:linear-gradient(to right, var(--brand) var(--fill), #1218211f var(--fill));border-radius:2px;outline:none;width:100%;height:4px;margin:4px 0}.slider input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px #12a59473}.slider input:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px #12a59473}.slider input::-webkit-slider-thumb{-webkit-appearance:none;cursor:grab;background:#fff;border:1px solid #12182133;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #0000002e}.slider input::-moz-range-thumb{cursor:grab;background:#fff;border:1px solid #12182133;border-radius:50%;width:16px;height:16px}.tip{color:#fff;pointer-events:none;white-space:nowrap;opacity:0;background:#161b22e0;border-radius:6px;padding:4px 8px;font-size:12px;transition:opacity .12s;position:fixed;top:0;left:0}.tip.show{opacity:1}.loader{color:var(--text-2);pointer-events:none;place-content:center;justify-items:center;gap:10px;display:grid;position:absolute;inset:0}.loader-bar{background:#1218211a;border-radius:2px;width:200px;height:3px;overflow:hidden}.loader-bar span{background:var(--brand);height:100%;transition:width .2s;display:block}.gl-fallback{width:min(380px,100% - 32px);padding:18px 20px;line-height:1.5;top:50%;left:50%;transform:translate(-50%,-50%)}.gl-fallback b{font-size:15px}.gl-fallback p{color:var(--text-2);margin:6px 0 0}.fatal{color:#b42318;padding:24px}@media (width<=900px){.camera-bar,.app.mode-monitor .camera-bar{max-width:none;top:60px;left:12px;right:12px}.systems{top:112px}.info{width:auto;max-height:45%;inset:auto 12px 84px}}@media (width<=600px){.brand{padding-right:8px}.brand span{display:none}.app.mode-monitor .camera-bar{top:92px}.app.mode-monitor .left-col{max-height:calc(100% - 274px);top:150px}.app.mode-monitor.view-2d .left-col{top:92px}}@media (pointer:coarse){.icon{width:30px;height:36px}.system-name{gap:6px;height:40px}.chip,.btn{height:36px}}:root{--ok:#2fd06e;--warn:#f2b233;--crit:#ef4444;--ok-ink:#148a45;--warn-ink:#9a6a00;--crit-ink:#c42b2b}.stage{z-index:0}.text-ok{color:inherit}.text-warn{color:var(--warn-ink)}.text-crit{color:var(--crit-ink)}.left-col{pointer-events:none;flex-direction:column;gap:8px;width:280px;max-height:calc(100% - 172px);display:flex;position:absolute;top:72px;left:12px}.left-col>.panel{pointer-events:auto;flex:none;width:auto;position:relative;top:auto;left:auto}.left-col>.systems{flex:0 auto;min-height:0;max-height:none;overflow-y:auto}.mode-switch{gap:2px;padding:3px;display:flex;top:12px;right:12px}.mode-switch button{height:28px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.mode-switch button:hover{color:var(--text)}.mode-switch button.on{background:var(--text);color:#fff}.mode-badge{background:var(--crit);color:#fff;text-align:center;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:600;line-height:18px}.live-dot{background:var(--ok);color:#2fd06e80;border-radius:50%;flex:none;width:8px;height:8px;animation:1.6s ease-out infinite live-pulse;box-shadow:0 0}.live-dot.warn{background:var(--warn);color:#f2b23380}.live-dot.crit{background:var(--crit);color:#ef444480}@keyframes live-pulse{0%{box-shadow:0 0}to{box-shadow:0 0 0 7px #0000}}.hud{padding-bottom:4px}.hud-head{align-items:center;gap:8px;padding:12px 14px 4px;display:flex}.hud-head .collapse{margin:-4px -4px -4px auto}.hud-head b{text-transform:uppercase;letter-spacing:.08em;font-size:12px}.muted{color:var(--text-3);font-weight:400}.hud .trio{margin:4px 14px 8px}.status-counts{white-space:nowrap;align-items:center;gap:4px;padding:0 10px 8px;display:flex}.status-count{border:1px solid var(--line);height:26px;color:var(--text-2);letter-spacing:.04em;cursor:pointer;background:#fff;border-radius:7px;align-items:center;gap:5px;padding:0 8px;font-size:11px;font-weight:600;display:inline-flex}.status-count b{color:var(--text);font-size:13px}.status-count i{border-radius:2px;width:8px;height:8px}.status-count.ok i{background:var(--ok)}.status-count.warn i{background:var(--warn)}.status-count.crit i{background:var(--crit)}.status-count:disabled{opacity:.5;cursor:default}.status-count:not(:disabled):hover{border-color:#12182140}.feed-chips{grid-template-columns:1fr 1fr;gap:6px;padding:0 14px 8px;display:grid}.tele .feed-chips{grid-template-columns:1fr;padding:0 0 4px}.feed-chip{border:1px solid var(--line);text-align:left;cursor:pointer;color:var(--text-2);background:#fff;border-radius:8px;flex-direction:column;gap:5px;padding:7px 9px;font-size:12px;display:flex}.feed-chip b{color:var(--text)}.feed-chip:hover{border-color:#12182140}.hud-row{justify-content:space-between;padding:2px 14px 8px;font-size:12px;display:flex}.hud-controls{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:6px 10px 6px 8px;display:flex}.segmented.small{margin:0}.segmented.small button{white-space:nowrap;height:24px;padding:0 8px;font-size:12px}.heat-legend{flex-direction:column;gap:3px;padding:4px 14px 10px;display:flex}.heat-bar{border-radius:3px;height:6px}.heat-ticks{color:var(--text-3);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:10px;display:flex}.meter{background:#1218211a;border-radius:2px;height:4px;display:block;overflow:hidden}.meter span{border-radius:2px;height:100%;transition:width .6s;display:block}.status-pill{letter-spacing:.04em;border-radius:6px;align-items:center;height:22px;padding:0 8px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;font-weight:700;display:inline-flex}.status-pill.ok{color:var(--ok-ink);background:#2fd06e29}.status-pill.warn{color:var(--warn-ink);background:#f2b23333}.status-pill.crit{background:var(--crit);color:#fff}.spark{width:100%;height:32px;margin:2px 0 4px;display:block}.spark-warn,.spark-crit{stroke-width:1px;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.spark-warn{stroke:var(--warn)}.spark-crit{stroke:var(--crit)}.trio{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.trio>div{flex-direction:column;gap:1px;min-width:0;display:flex}.trio b{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:17px;font-weight:650}.trio b small{color:var(--text-3);margin-left:2px;font-size:11px;font-weight:500}.trio span{color:var(--text-3);font-size:11px}.tele{border:1px solid var(--line);background:#ffffffb3;border-radius:10px;margin:0 16px 12px;padding:12px}.tele h4{text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);align-items:baseline;gap:6px;margin:12px 0 6px;font-size:11px;font-weight:600;display:flex}.tele h4 .muted,.tele h4 b{text-transform:none;letter-spacing:0}.tele h4 b{margin-left:auto;font-size:12px}.alerts{border-radius:8px;margin:0 0 10px;padding:8px 10px 8px 26px;font-size:12px;line-height:1.5}.alerts.warn{color:var(--warn-ink);background:#f2b23324}.alerts.crit{color:var(--crit-ink);background:#ef44441a}.phases{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.phases>div{background:var(--hover);border-radius:7px;flex-direction:column;padding:6px 8px;display:flex}.phases span,.phases small{color:var(--text-3);font-size:11px}.phases b{font-variant-numeric:tabular-nums}.feed-split{flex-wrap:wrap;gap:4px 14px;margin-top:8px;font-size:12px;display:flex}.taps{margin:0;padding:0;list-style:none}.taps button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:10px 40px 32px 1fr 56px 40px;align-items:center;gap:6px;width:100%;height:28px;padding:0 4px;font-size:12px;display:grid}.taps button:hover{background:var(--hover)}.taps i{border-radius:50%;width:8px;height:8px}.dot-ok{background:var(--ok)}.dot-warn{background:var(--warn)}.dot-crit{background:var(--crit)}.tap-id{font-family:ui-monospace,SF Mono,Menlo,monospace;font-weight:600}.tap-phase{color:var(--text-3);font-size:10px;font-weight:600}.tap-kw,.tap-pct{font-variant-numeric:tabular-nums;white-space:nowrap}.tap-kw{color:var(--text-2)}.tap-pct{text-align:right}.tele-foot{border-top:1px solid var(--line);color:var(--text-3);justify-content:space-between;margin-top:8px;padding-top:8px;font-size:11px;display:flex}.info.feed .tele{margin-top:4px}.rack-tags{pointer-events:none;position:absolute;inset:0;overflow:hidden}.rack-tag{pointer-events:auto;border:1.5px solid var(--ok);color:#d9f7e5;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;background:#0e121ae0;border-radius:6px;flex-direction:column;align-items:center;gap:1px;padding:3px 9px 4px;font-family:ui-monospace,SF Mono,Menlo,monospace;transition:opacity .2s;display:flex;position:absolute;top:0;left:0;box-shadow:0 4px 14px #00000040}.rack-tag-main{letter-spacing:.04em;font-size:12px;font-weight:700}.rack-tag-sub{opacity:.75;font-size:10px}.rack-tag.warn{border-color:var(--warn);color:#ffe2a3}.rack-tag.crit{border-color:var(--crit);color:#ffc2c2;animation:1.2s ease-in-out infinite tag-pulse}.rack-tag.faded{opacity:0;pointer-events:none}.rack-tag[data-hidden=true]{display:none}@keyframes tag-pulse{50%{box-shadow:0 0 0 4px #ef444459,0 4px 14px #00000040}}.ctx{z-index:50;width:220px;padding:4px;position:fixed}.ctx header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;padding:8px 10px 6px;display:flex}.ctx header b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.ctx button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;width:100%;height:30px;padding:0 10px;display:block}.ctx button:hover{background:var(--hover)}.hint{color:var(--text-3);pointer-events:none;font-size:11px;position:absolute;bottom:22px;right:16px}@media (width<=1540px){.hint{white-space:nowrap;bottom:82px;left:50%;right:auto;transform:translate(-50%)}}@media (width<=1240px){.hint{display:none}}@media (width<=900px){.left-col{max-height:calc(100% - 212px);top:112px}.mode-switch{top:12px}}.mode-switch{align-items:center;gap:6px}.mode-main{gap:2px;display:flex}.mode-sub{margin:0}.mode-switch .mode-sub button{height:24px;padding:0 9px;font-size:12px}.plan{z-index:1;cursor:grab;touch-action:none;background-color:#dfe6f1;background-image:radial-gradient(#283c6429 1px,#0000 1.2px);background-size:18px 18px;position:absolute;inset:0;overflow:hidden}.plan:active{cursor:grabbing}.plan-svg{display:block}.plan-shell{fill:#0d1530;filter:drop-shadow(0 10px 24px #0a143247)}.plan-gray{fill:#080e2861}.plan-zone-line{stroke:#aac8ff8c;stroke-width:1.2px;stroke-dasharray:6 5;vector-effect:non-scaling-stroke}.plan-door{fill:#dfe6f1}.plan-heat{opacity:.95;pointer-events:none}.plan-heat-over{opacity:.5;mix-blend-mode:screen}.plan-equipment{fill:#12151d;stroke:#96afdc59;stroke-width:1px;vector-effect:non-scaling-stroke;cursor:pointer}.plan-equipment.hovered,.plan-equipment:hover{stroke:#fff}.plan-equipment.selected{stroke:#7fe9dc;stroke-width:2.5px}.plan-cylinder{fill:#d93a3a;stroke:#5c1010;stroke-width:1px;vector-effect:non-scaling-stroke;cursor:pointer}.plan-cylinder.selected{stroke:#7fe9dc;stroke-width:2.5px}.plan-rack-body{stroke:#05140a8c;stroke-width:1.2px;vector-effect:non-scaling-stroke;cursor:pointer}.plan-rack.hovered .plan-rack-body{stroke:#fff;stroke-width:2px}.plan-rack.selected .plan-rack-body{stroke:#7fe9dc;stroke-width:3px;filter:drop-shadow(0 0 6px #7fe9dce6)}.plan-rack.crit .plan-rack-body{animation:1.2s ease-in-out infinite plan-crit}@keyframes plan-crit{50%{filter:drop-shadow(0 0 8px #ef4444f2)}}.plan-rack-door{fill:#ffffff59}.plan-pip-bed{fill:#080e1e6b}.plan-pip{stroke:#00000080;stroke-width:1px;vector-effect:non-scaling-stroke;cursor:pointer}.plan-pip:hover{stroke:#fff}.plan-pip.selected{stroke:#7fe9dc;stroke-width:2.5px}.plan-labels text{-webkit-user-select:none;user-select:none;font-family:ui-monospace,SF Mono,Menlo,monospace}.plan-zone-label{fill:#bed2ffbf;letter-spacing:.12em;font-size:10px;font-weight:600}.plan-zone-label.white{fill:#9fe7ff}.plan-zone-sub{letter-spacing:.14em;opacity:.8;font-size:9px;font-weight:500}.plan-eq-label{fill:#a9bbdf;letter-spacing:.06em;font-size:10px;font-weight:700}.plan-rack-label{fill:#050f0ad9;font-size:11px;font-weight:800}.plan-door-label{fill:#50607e;letter-spacing:.1em;font-size:9px;font-weight:700}.plan-row-label{fill:#fff;letter-spacing:.02em;paint-order:stroke;stroke:#08143c8c;stroke-width:3px;font-size:20px;font-weight:800}.plan-aisle-label{fill:#c8e1ff99;letter-spacing:.3em;font-size:10px;font-weight:600}.plan-tags{pointer-events:none;position:absolute;inset:0}.plan-tags .rack-tag{pointer-events:auto}.plan-tags .rack-tag.faded{pointer-events:none}.plan-foot{color:#3f5486;pointer-events:none;align-items:center;gap:18px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;display:flex;position:absolute;bottom:62px;left:300px;right:72px}.plan-foot-title{letter-spacing:.06em;color:#1b4fd1;font-weight:700}.plan-foot-meta{margin-left:auto}.plan-scale{align-items:center;gap:6px;display:inline-flex}.plan-scale i{border:1.5px solid #3f5486;border-top:0;height:6px;display:block}.plan-hint{color:#e6edff;white-space:nowrap;pointer-events:none;background:#1c2a48;border-radius:999px;padding:7px 16px;font-size:12px;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0a143240}.app.view-2d .info{max-height:calc(100% - 200px)}.plan-zoom{flex-direction:column;padding:3px;display:flex;bottom:12px;right:12px}.plan-zoom .icon{color:var(--text-2);font-size:16px}@media (width<=900px){.mode-switch{flex-wrap:wrap;justify-content:flex-end;max-width:calc(100% - 190px)}.plan-foot{flex-wrap:wrap;gap:4px 12px;bottom:56px;left:16px;right:64px}.plan-hint{display:none}.app.view-2d .info{right:60px}}@media (width>=601px) and (width<=900px) and (height<=500px){.info{width:min(340px,100% - 316px);max-height:calc(100% - 140px);inset:64px 12px auto auto}.camera-bar,.app.mode-monitor .camera-bar{top:12px;left:232px;right:208px}.app.mode-monitor .camera-bar{right:316px}.left-col{max-height:calc(100% - 140px);top:64px}}
