.tc-card{overflow:hidden}.tc-shell:focus{outline:none}.tc-shell{--tc-ground:var(--surface-2);display:flex;flex-direction:column;background:var(--surface);position:relative;min-width:0}.tc-shell.full,.tc-shell:fullscreen{position:fixed;inset:0;z-index:400;height:100vh}.tc-shell.full .tc-body,.tc-shell:fullscreen .tc-body{flex:1;height:auto!important;min-height:0}.tc-head{display:flex;align-items:center;gap:12px;padding:10px 14px 10px 16px;border-bottom:1px solid var(--border-2);flex-wrap:wrap}.tc-title{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:650;margin:0;color:var(--text)}.tc-title svg{color:var(--c1)}.tc-meta{gap:6px;min-width:0}.tc-head-r,.tc-meta{display:inline-flex;align-items:center}.tc-head-r{margin-left:auto;gap:12px}@media (max-width:900px){.tc-hint{display:none}}.tc-body{display:flex;min-height:0;position:relative}.tc-stage{position:relative;flex:1;min-width:0;background:radial-gradient(1200px 500px at 10% -10%,color-mix(in srgb,var(--c3) 13%,transparent),transparent 60%),radial-gradient(900px 500px at 110% 110%,color-mix(in srgb,var(--c4) 9%,transparent),transparent 60%),var(--tc-ground)}.tc-stage .react-flow{--xy-background-color:transparent}.tc-bg{color:var(--border-strong);opacity:.55}.tc-stage .react-flow__background circle{fill:var(--border-strong)}.tc-stage .react-flow__pane{cursor:grab}.tc-stage .react-flow__pane.dragging{cursor:grabbing}.tc-stage .react-flow__node{transition:opacity .18s var(--ease)}.tc-stage .react-flow__node:focus-visible{outline:none}.tc-stage .react-flow__node:focus-visible .tc-badge{box-shadow:0 0 0 3px var(--focus)}.tc-h{width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;background:transparent!important;top:32px!important;left:50%!important}.tc-h,.tc-ph{border:0!important;opacity:0;transform:none!important;pointer-events:none}.tc-ph{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border-radius:0!important}.tc-dev{--tc:var(--c1);display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;padding-bottom:6px}.tc-badge{position:relative;width:64px;height:64px;border-radius:50%;background:var(--surface);display:grid;place-items:center;border:2px solid color-mix(in srgb,var(--tc) 38%,var(--surface));box-shadow:0 1px 2px rgba(16,24,40,.08),0 8px 22px -8px color-mix(in srgb,var(--tc) 55%,transparent);transition:transform .15s var(--ease),box-shadow .15s var(--ease)}.tc-halo{position:absolute;inset:-11px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--tc) 16%,transparent) 55%,transparent 72%);border:1px dashed color-mix(in srgb,var(--tc) 35%,transparent);pointer-events:none}.tc-core{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(140deg,color-mix(in srgb,var(--tc) 82%,#fff) 0,var(--tc) 45%,color-mix(in srgb,var(--tc) 62%,var(--navy)) 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}.tc-glyph{color:currentColor}.tc-st{position:absolute;right:1px;bottom:1px;width:14px;height:14px;border-radius:50%;border:2.5px solid var(--surface);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--nm)}.tc-st.ok{background:var(--ok);box-shadow:none}.tc-st.warn{background:var(--warn);box-shadow:none}.tc-st.crit{background:var(--crit);box-shadow:none}.tc-st.planned{box-shadow:inset 0 0 0 1.5px var(--nm);border-style:dashed}.tc-x{position:absolute;inset:0;display:grid;place-items:center;font-size:30px;font-weight:700;color:var(--c5);text-shadow:0 0 6px var(--surface)}.tc-name{margin-top:8px;font-size:14px;padding:1px 7px;border-radius:6px}.tc-name,.tc-sub{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--surface)}.tc-status,.tc-sub{color:var(--text-3);padding:0 6px;border-radius:5px}.tc-status{display:inline-flex;align-items:center;gap:5px;margin-top:1px;background:var(--surface)}.tc-chip{letter-spacing:.02em;border:1px dashed var(--border-strong);border-radius:999px;padding:0 7px}.tc-chip,.tc-exp{font-size:10.5px;font-weight:600;color:var(--text-2)}.tc-exp{display:inline-flex;align-items:center;gap:3px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:1px 8px 1px 6px;cursor:pointer}.tc-exp:hover{border-color:var(--sel-line);color:var(--link)}.tc-ports{list-style:none;margin:6px 0 0;padding:4px 0;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-sm);text-align:left}.tc-ports li{position:relative;display:flex;align-items:center;gap:6px;height:24px;padding:0 10px;font-size:11px;white-space:nowrap}.tc-ports li+li{border-top:1px solid var(--border-2)}.tc-ports li.circuit .tc-pn{color:color-mix(in srgb,var(--c4) 55%,var(--text))}.tc-pn{font-weight:600;color:var(--text);min-width:54px}.tc-pp{color:var(--text-2);overflow:hidden;text-overflow:ellipsis}.tc-dev.twin .tc-badge{border-style:dashed}.tc-dev.twin .tc-core{filter:saturate(.55);opacity:.85}.tc-dev.planned .tc-badge{border-style:dashed}.tc-dev:hover .tc-badge{transform:translateY(-1px) scale(1.04)}.tc-dev.sel .tc-badge{box-shadow:0 0 0 4px color-mix(in srgb,var(--focus) 28%,transparent),0 10px 26px -8px color-mix(in srgb,var(--tc) 70%,transparent);border-color:var(--focus)}.tc-dev.sim-failed .tc-badge{border-color:var(--c5);box-shadow:0 0 0 5px color-mix(in srgb,var(--c5) 25%,transparent)}.tc-dev.sim-failed .tc-core{filter:grayscale(.7);opacity:.6}.tc-dev.sim-affected .tc-badge{border:2px dashed var(--c5)}.react-flow__node.dim,.tc-carrier.dim,.tc-dev.dim{opacity:.28}.tc-carrier{position:relative;display:grid;place-items:center}.tc-cloud{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.tc-cloud path{fill:color-mix(in srgb,var(--c3) 16%,var(--surface));stroke:color-mix(in srgb,var(--c3) 75%,var(--c1));stroke-width:1.6;filter:drop-shadow(0 6px 10px color-mix(in srgb,var(--c3) 30%,transparent))}.tc-cl{position:relative;display:flex;flex-direction:column;align-items:center;margin-top:8px;line-height:1.25}.tc-cl b{font-size:13px;color:var(--text)}.tc-cl span{font-size:10.5px}.tc-carrier.sel .tc-cloud path{stroke:var(--focus);stroke-width:2.4}.tc-carrier.sim-failed .tc-cloud path{stroke:var(--c5);stroke-dasharray:5 4;fill:color-mix(in srgb,var(--c5) 10%,var(--surface))}.tc-site{width:100%;height:100%;border-radius:18px;border:1.5px solid color-mix(in srgb,var(--c1) 22%,var(--border-strong));background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 78%,transparent),color-mix(in srgb,var(--surface) 55%,transparent));box-shadow:0 1px 0 rgba(255,255,255,.6) inset,var(--shadow-sm)}.tc-site-h{display:flex;align-items:center;gap:8px;height:46px;padding:0 10px 0 14px;border-bottom:1px solid var(--border-2);cursor:grab;flex-wrap:nowrap;overflow:hidden}.tc-site-ic{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:color-mix(in srgb,var(--c1) 12%,var(--surface));color:var(--c1);flex:none}.tc-site-t{font-size:15px;white-space:nowrap}.tc-site-bs{display:inline-flex;gap:6px;margin-left:auto;overflow:hidden}.tc-site-c{padding:10px 14px;margin:0}.tc-site-note{position:absolute;left:14px;bottom:8px;margin:0}.tc-site.collapsed{border-style:solid}.tc-badge-pill{font-size:11px;font-weight:600;border-radius:999px;padding:1px 8px;border:1px solid;white-space:nowrap}.tc-badge-pill.warn{color:var(--warn-ink);background:var(--warn-bg);border-color:color-mix(in srgb,var(--warn) 45%,transparent)}.tc-badge-pill.incident,.tc-badge-pill.incident-proposed{color:var(--text-2);background:var(--nm-bg);border-color:var(--border-strong)}.tc-badge-pill.incident-crit{color:var(--crit-ink);background:var(--crit-bg);border-color:color-mix(in srgb,var(--crit) 45%,transparent)}.tc-rs-line{border-color:var(--focus)!important}.tc-rs-h{width:10px!important;height:10px!important;border-radius:3px!important;background:var(--surface)!important;border:1.5px solid var(--focus)!important}.tc-g0{stop-color:var(--c1)}.tc-g1{stop-color:var(--c3)}.tc-e{transition:opacity .18s var(--ease)}.tc-e-hit{stroke:transparent;stroke-width:18;pointer-events:stroke;cursor:pointer}.tc-e-line{stroke:var(--c1);stroke-width:2.4;stroke-linecap:round;pointer-events:none}.tc-e.k-circuit .tc-e-line{stroke-width:3}.tc-e.k-logical .tc-e-line{stroke:var(--c2);stroke-dasharray:3 6;stroke-width:1.8}.tc-e.d-seen .tc-e-line,.tc-e.s-up .tc-e-line{stroke:var(--ok)}.tc-e.s-down .tc-e-line{stroke:var(--crit)}.tc-e.s-mixed .tc-e-line{stroke:var(--warn)}.tc-e.k-cable.s-unmeasured:not([class*=" d-"]) .tc-e-line{stroke-width:2.4}.tc-e.d-doc-only .tc-e-line{stroke:var(--crit);stroke-dasharray:2 6}.tc-e.d-seen-only .tc-e-line{stroke:var(--warn);stroke-dasharray:7 5}.tc-e.planned .tc-e-line{stroke-dasharray:7 6}.tc-e-glow{stroke:var(--focus);stroke-width:9;opacity:.16;stroke-linecap:round;pointer-events:none}.tc-e-trace{stroke:var(--surface);stroke-width:1.4;stroke-dasharray:3 13;stroke-linecap:round;opacity:.95;pointer-events:none;animation:tc-trace 1.1s linear infinite}@keyframes tc-trace{to{stroke-dashoffset:-32}}@media (prefers-reduced-motion:reduce){.tc-e-trace{animation:none}}.tc-e.sel .tc-e-line{stroke-width:3.4}.tc-e.dim{opacity:.18}.tc-e-x{fill:var(--crit);font-size:14px;font-weight:700;pointer-events:none}.tc-e.sim-lost .tc-e-line{stroke:var(--c5);stroke-dasharray:6 5;stroke-width:3}.tc-e.sim-kept .tc-e-line{stroke:var(--c4);stroke-width:3}.tc-e.sim-other{opacity:.25}.tc-cap{position:absolute;pointer-events:all;display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-2);border:1px solid color-mix(in srgb,var(--c4) 40%,var(--border));padding:2px 9px 2px 3px;box-shadow:var(--shadow-sm);white-space:nowrap;transition:opacity .18s var(--ease)}.tc-cap,.tc-cap b{border-radius:999px}.tc-cap b{font-size:10px;letter-spacing:.04em;color:#0b0e1d;background:var(--c4);padding:1px 6px}.tc-cap.sim-lost{border-color:var(--c5)}.tc-cap.sim-lost b{background:var(--c5)}.tc-cap.dim,.tc-port.dim{opacity:.25}.tc-port{position:absolute;pointer-events:none;font:500 10px/1.4 var(--mono);color:var(--text-2);border:1px solid var(--border);border-radius:5px;padding:0 4px;white-space:nowrap}.tc-toolbar{justify-content:space-between;gap:8px 16px;padding:8px 12px;border-bottom:1px solid var(--border-2);background:var(--surface);position:relative;z-index:6}.tc-toolbar,.tc-tools{display:flex;align-items:center;flex-wrap:wrap}.tc-tools{gap:8px}.tc-tools.right{justify-content:flex-end;margin-left:auto}.tc-toolbar .tc-btn,.tc-toolbar .tc-save-state,.tc-toolbar .tc-search,.tc-toolbar .tc-seg{box-shadow:none;backdrop-filter:none}.tc-btn,.tc-save-state,.tc-search,.tc-seg,.tc-zoom{background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:9px;box-shadow:var(--shadow-sm)}.tc-search{position:relative;display:inline-flex;align-items:center;gap:6px;padding:0 10px;height:32px;color:var(--text-3)}.tc-search input{border:0;outline:0;background:transparent;font-size:12.5px;width:190px;color:var(--text)}.tc-search:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 18%,transparent)}.tc-hits{position:absolute;left:0;top:36px;min-width:260px;list-style:none;margin:0;padding:4px;background:var(--raised);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);z-index:10}.tc-hits button{display:flex;width:100%;justify-content:space-between;gap:12px;padding:6px 8px;border:0;background:transparent;border-radius:6px;font-size:12.5px;color:var(--text);cursor:pointer;text-align:left}.tc-hits button:hover{background:var(--hover)}.tc-seg{display:inline-flex;padding:2px;gap:2px}.tc-seg button{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 9px;border:0;border-radius:7px;background:transparent;font-size:12px;font-weight:550;color:var(--text-2);cursor:pointer}.tc-seg button:hover{background:var(--hover);color:var(--text)}.tc-seg button.on{background:var(--sel);color:var(--link)}.tc-head .tc-seg{box-shadow:none}.tc-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 11px;font-size:12.5px;font-weight:600;color:var(--text);cursor:pointer;text-decoration:none}.tc-btn:hover:not(:disabled){border-color:var(--sel-line);color:var(--link)}.tc-btn:disabled{opacity:.55;cursor:default}.tc-btn.primary:disabled{background:var(--surface);color:var(--text-3);border-color:var(--border)}.tc-btn.on{background:var(--sel);color:var(--link);border-color:var(--sel-line)}.tc-btn.primary{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}.tc-btn.primary:hover:not(:disabled){background:var(--primary-hover);color:var(--primary-ink)}.tc-btn.sm{height:28px;padding:0 9px;font-size:12px;backdrop-filter:none}.tc-btn.sim{color:color-mix(in srgb,var(--c5) 55%,var(--text));border-color:color-mix(in srgb,var(--c5) 40%,var(--border))}.tc-save-state{display:inline-flex;align-items:center;height:32px;padding:0 10px;font-size:12px;color:var(--text-3)}.tc-save-state.dirty{color:var(--warn-ink);border-color:color-mix(in srgb,var(--warn) 40%,var(--border))}.tc-save-state.dirty:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--warn);margin-right:7px}.tc-zoom{display:flex;flex-direction:column;align-items:center;padding:3px;gap:1px;margin:12px!important}.tc-zoom button{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:7px;background:transparent;color:var(--text-2);cursor:pointer}.tc-zoom button:hover{background:var(--hover);color:var(--text)}.tc-zl{font:600 10px/1 var(--mono);color:var(--text-3);padding:4px 0}.tc-ibtn{display:grid;place-items:center;width:26px;height:26px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text-3);cursor:pointer;flex:none}.tc-ibtn:hover{background:var(--hover);color:var(--text);border-color:var(--border)}.tc-map{margin:12px!important;border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:var(--shadow-sm);background:var(--surface)!important}.tc-map svg{display:block}.tc-sim{display:flex;align-items:center;gap:10px;padding:6px 8px 6px 10px;margin-top:14px!important;background:var(--raised);border:1.5px solid var(--c5);border-radius:10px;box-shadow:var(--shadow);font-size:12.5px}.tc-shell .nd-simtag,.tc-simtag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;background:var(--c5);border-radius:5px;padding:2px 6px}.tc-simcls{color:var(--text-3)}.tc-note{font-size:12px;color:var(--text-2);border:1px solid var(--border);border-radius:9px;padding:6px 10px;box-shadow:var(--shadow-sm)}.tc-menu,.tc-note{background:var(--raised)}.tc-menu{position:absolute;z-index:30;list-style:none;margin:0;padding:4px;min-width:230px;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg)}.tc-menu button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:7px 10px;border-radius:6px;font-size:12.5px;color:var(--text);cursor:pointer}.tc-menu button:focus-visible,.tc-menu button:hover{background:var(--hover);outline:none}.tc-toast{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:20;display:flex;align-items:center;gap:10px;padding:8px 8px 8px 12px;border-radius:10px;font-size:12.5px;box-shadow:var(--shadow);border:1px solid}.tc-toast.ok{background:var(--ok-bg);color:var(--ok-ink);border-color:color-mix(in srgb,var(--ok) 40%,transparent)}.tc-toast.err{background:var(--crit-bg);color:var(--crit-ink);border-color:color-mix(in srgb,var(--crit) 40%,transparent)}.tc-toast button{border:0;background:transparent;color:inherit;font-size:16px;cursor:pointer}.tc-panel-open{position:absolute;right:12px;bottom:12px;z-index:5;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 11px;font-size:12.5px;font-weight:600;border:1px solid var(--border);border-radius:9px;box-shadow:var(--shadow-sm);cursor:pointer;color:var(--text)}.tc-panel,.tc-panel-open{background:var(--surface)}.tc-panel{position:relative;flex:none;border-left:1px solid var(--border);display:flex;flex-direction:column;min-height:0}.tc-panel-grip{position:absolute;left:-4px;top:0;bottom:0;width:8px;cursor:col-resize;z-index:3}.tc-panel-grip:hover{background:linear-gradient(90deg,transparent 3px,var(--sel-line) 3px,var(--sel-line) 5px,transparent 5px)}.tc-panel-h{display:flex;align-items:center;justify-content:space-between;padding:10px 10px 10px 16px;border-bottom:1px solid var(--border-2);font-size:13px}.tc-panel-tools{display:inline-flex;gap:2px}.tc-panel-b{flex:1;overflow:auto;padding:14px 16px 18px;font-size:13px}.tc-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.tc-kpis div{display:flex;flex-direction:column;align-items:flex-start;padding:8px 10px;border:1px solid var(--border-2);border-radius:10px;background:var(--surface-2)}.tc-kpis b{font-size:18px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.tc-kpis b.crit{color:var(--crit-ink)}.tc-kpis span{font-size:10.5px;color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.tc-mon{display:flex;align-items:center;gap:7px;margin:12px 0 6px;font-size:12.5px;color:var(--text-2)}.tc-ov-badges{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:8px 0 4px}.tc-ov h3.nd-h,.tc-panel h3.nd-h{margin:16px 0 6px}.tc-ov-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.tc-ov-list button{display:flex;align-items:center;gap:10px;width:100%;padding:6px 8px;border:0;border-radius:8px;background:transparent;text-align:left;cursor:pointer;color:var(--text)}.tc-ov-list button:hover{background:var(--hover)}.tc-ov-n{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.3}.tc-ov-n b{font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-ov-foot{margin-top:16px}.tc-mini{--tc:var(--c1);display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;color:#fff;flex:none;background:linear-gradient(140deg,color-mix(in srgb,var(--tc) 82%,#fff),var(--tc) 50%,color-mix(in srgb,var(--tc) 62%,var(--navy)))}.tc-mini.lg{width:38px;height:38px}.tc-legend .tc-mini{width:16px;height:16px}.tc-tag{font-size:9.5px;font-weight:700;letter-spacing:.04em;color:#0b0e1d;background:var(--c4);border-radius:999px;padding:2px 6px;flex:none}.tc-d-head{display:flex;align-items:center;gap:10px}.tc-d-title{margin:0;font-size:15px;font-weight:650}.tc-d-actions{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 8px}.tc-simres{border:1.5px solid var(--c5);border-radius:10px;padding:10px 12px;margin-bottom:12px;background:color-mix(in srgb,var(--c5) 6%,var(--surface))}.tc-simres p{margin:0 0 6px}.tc-grip{height:12px;display:grid;place-items:center;cursor:row-resize;border-top:1px solid var(--border-2);background:var(--surface);touch-action:none}.tc-grip span{width:44px;height:4px;border-radius:4px;background:var(--border-strong)}.tc-grip:hover span{background:var(--sel-line)}.tc-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin:0;padding:9px 16px;border-top:1px solid var(--border-2);font-size:12px;color:var(--text-2)}.tc-legend>span{display:inline-flex;align-items:center;gap:6px}.tc-lg{display:inline-block;width:22px;height:0;border-top:2.5px solid var(--c1);border-radius:2px}.tc-lg.cable{border-image:linear-gradient(90deg,var(--c1),var(--c3)) 1}.tc-lg.circuit{border-top-color:var(--c4);border-top-width:3px}.tc-lg.up{border-top-color:var(--ok)}.tc-lg.down{border-top-color:var(--crit)}.tc-lg.mixed{border-top-color:var(--warn)}.tc-lg.doc-only{border-top:2.5px dotted var(--crit)}.tc-lg.seen-only{border-top:2.5px dashed var(--warn)}.tc-lg.logical{border-top:2px dashed var(--c2)}.tc-lg.planned{border-top:2.5px dashed var(--c1)}.tc-lg.cloud{width:18px;height:12px;border:1.5px solid color-mix(in srgb,var(--c3) 75%,var(--c1));border-radius:8px;background:color-mix(in srgb,var(--c3) 16%,var(--surface))}.tc-list{padding:8px 16px 16px;max-height:70vh;overflow:auto}.tc-list-l{list-style:none;margin:0;padding:0;font-size:12px}@media (max-width:760px){.tc-panel{position:absolute;left:0;right:0;bottom:0;width:auto!important;max-height:55%;border-left:0;border-top:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:6;border-radius:14px 14px 0 0}.tc-panel-grip{display:none}.tc-search input{width:120px}.tc-tools{gap:6px}.tc-seg button{padding:0 7px}.tc-map,.tc-save-state:not(.dirty){display:none}.tc-toolbar{padding:6px 8px;gap:6px}.tc-tools.right{margin-left:0}.tc-search{flex:1 1 100%}.tc-search input{width:100%}.tc-kpis{grid-template-columns:repeat(2,1fr)}}.dark .tc-cloud path{fill:color-mix(in srgb,var(--c3) 12%,var(--surface))}.dark .tc-site{background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 70%,transparent),color-mix(in srgb,var(--surface) 40%,transparent));box-shadow:var(--shadow-sm)}.dark .tc-stage .react-flow__background circle{fill:var(--border-strong)}.tc-pop-wrap{position:relative}.tc-pop{position:absolute;left:0;top:38px;z-index:30;width:270px;padding:8px 10px 10px;background:var(--raised);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg)}.tc-pop-h{margin:8px 0 4px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3)}.tc-chk{display:flex;align-items:center;gap:8px;padding:4px 2px;font-size:12.5px;color:var(--text);cursor:pointer}.tc-chk .muted,.tc-chk kbd{margin-left:auto;font-size:11px}.tc-chk input{accent-color:var(--c1)}.tc-count{font-size:10px;font-weight:700;color:var(--link);background:var(--sel);border-radius:999px;padding:0 6px;margin-left:2px}.tc-btn.icon{width:32px;padding:0;justify-content:center}kbd{font:600 10.5px/1 var(--mono);padding:2px 5px;border:solid var(--border);border-width:1px 1px 2px;border-radius:5px;background:var(--surface-2);color:var(--text-2)}.tc-card-pop{position:absolute;z-index:25;pointer-events:none;display:flex;flex-direction:column;gap:3px;padding:9px 11px;font-size:12px;line-height:1.4;background:var(--raised);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow)}.tc-card-pop b{font-size:13px}.tc-hc-ends{display:flex;flex-direction:column;gap:1px;padding:4px 0;border-top:1px solid var(--border-2);border-bottom:1px solid var(--border-2);margin:2px 0}.tc-hc-ends .muted{display:inline-block;min-width:56px;font-size:11px}.tc-help{position:absolute;right:14px;top:14px;z-index:26;width:300px;padding:10px 12px 12px;background:var(--raised);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);font-size:12.5px}.tc-help-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.tc-help dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0;align-items:center}.tc-help dd{margin:0;color:var(--text-2)}.tc-dev.ov-mon .tc-badge{border-color:var(--ok);box-shadow:0 0 0 4px color-mix(in srgb,var(--ok) 22%,transparent)}.tc-dev.ov-unmon .tc-badge{border:2px dashed var(--nm)}.tc-dev.ov-unmon .tc-core{filter:grayscale(.85);opacity:.7}.tc-e.ov-quiet .tc-e-line{stroke:var(--border-strong)!important;stroke-dasharray:none}.tc-e.ov-drift.ov-none .tc-e-line{stroke:var(--nm)!important;stroke-dasharray:2 5}.tc-e.ov-drift.ov-seen .tc-e-line{stroke:var(--ok)!important;stroke-width:3}.tc-e.ov-drift.ov-doc-only .tc-e-line{stroke:var(--crit)!important;stroke-dasharray:2 6;stroke-width:3}.tc-e.ov-drift.ov-seen-only .tc-e-line{stroke:var(--warn)!important;stroke-dasharray:7 5;stroke-width:3}.tc-lg-h{font-size:12px;color:var(--text)}.tc-lg.none{border-top:2.5px dotted var(--nm)}.tc-lg-dev{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 22%,transparent)}.tc-lg-dev.unmon{border:2px dashed var(--nm);box-shadow:none}@media (max-width:760px){.tc-seg[aria-label=Overlay] button{padding:0 6px;font-size:11px}.tc-help{left:8px;right:8px;width:auto}}.tc-pop-phone{display:none}@media (max-width:760px){.tc-pop-phone{display:block}.tc-toolbar .tc-btn.icon[aria-label=Shortcuts],.tc-toolbar .tc-seg[aria-label="Automatic layout"],.tc-toolbar .tc-seg[aria-label=Overlay],.tc-toolbar .tc-seg[aria-label=Ports]{display:none}.tc-pop{width:min(300px,calc(100vw - 32px));max-height:60vh;overflow:auto}}.dark .tc-core,.dark .tc-mini{color:#0b0e1d}.tc-carrier.lz-dim,.tc-dev.lz-dim{opacity:.25}.tc-dev.lz-failed .tc-badge{border-color:var(--c5);box-shadow:0 0 0 5px color-mix(in srgb,var(--c5) 25%,transparent)}.tc-dev.lz-failed .tc-core{filter:grayscale(.7);opacity:.6}.tc-dev.lz-service .tc-badge{border:2.5px solid var(--c5)}.tc-dev.lz-redundancy .tc-badge{border:2.5px dashed var(--c5)}.tc-dev.lz-on .tc-badge{border-color:var(--c4);box-shadow:0 0 0 4px color-mix(in srgb,var(--c4) 25%,transparent)}.tc-dev.lz-vfail .tc-badge{border:2.5px solid var(--crit);box-shadow:0 0 0 4px color-mix(in srgb,var(--crit) 20%,transparent)}.tc-dev.lz-vunknown .tc-badge{border:2.5px dashed var(--nm)}.tc-dev.pickable{cursor:crosshair}.tc-lzb{position:absolute;left:50%;top:-12px;transform:translateX(-50%);font-size:10px;font-weight:700;white-space:nowrap;color:#fff;background:var(--c5);border-radius:999px;padding:1px 6px}.tc-e.lz-dim{opacity:.18}.tc-e.lz-lost .tc-e-line{stroke:var(--c5)!important;stroke-dasharray:6 5;stroke-width:3}.tc-e.lz-gone .tc-e-line{stroke:var(--nm)!important;stroke-dasharray:2 6;opacity:.5}.tc-e.lz-keep .tc-e-line,.tc-e.lz-path .tc-e-line{stroke:var(--c4)!important;stroke-width:3.4}.tc-e.lz-alt .tc-e-line{stroke:var(--c4)!important;stroke-dasharray:6 4;opacity:.7}.tc-e.lz-hyp .tc-e-line{stroke:var(--c5)!important;stroke-dasharray:2 4}.tc-e.lz-gain .tc-e-line{stroke:var(--ok)!important;stroke-width:3}.tc-e.lz-left .tc-e-line{stroke:var(--warn)!important;stroke-dasharray:6 4}.tc-e.lz-vfail .tc-e-line{stroke:var(--crit)!important;stroke-width:3.2}.tc-e.lz-vunknown .tc-e-line{stroke:var(--nm)!important;stroke-dasharray:4 4}.tc-sim.info{border-color:var(--c4)}.tc-sim.pick{border-color:var(--focus)}.tc-lztag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#0b0e1d;background:var(--c4);border-radius:5px;padding:2px 6px}.tc-lz-legend .tc-lg{border-top-color:var(--c5)}.tc-lg[class*=candidate],.tc-lg[class*=path]{border-top-color:var(--c4)}.tc-lg[class*=check-fails]{border-top-color:var(--crit)}.tc-lg[class*=not-evaluated]{border-top:2.5px dashed var(--nm)}.tc-thumb{display:block;border-radius:12px;overflow:hidden;border:1px solid var(--border);text-decoration:none}.tc-thumb .tc-stage{pointer-events:none}.tc-thumb:hover{border-color:var(--sel-line);box-shadow:var(--shadow-sm)}.tc-seg-node{display:flex;align-items:center;gap:8px;width:220px;height:48px;padding:0 12px;background:var(--surface);border:1px dashed var(--border-strong);border-radius:10px;box-shadow:var(--shadow-sm)}.tc-seg-node .tc-h{top:24px!important}.tc-seg-node.sel{border-color:var(--focus);border-style:solid}.tc-seg-node.dim{opacity:.3}.tc-stage{background:var(--surface)!important}.tc-bg{opacity:.32}.tc-h{top:28px!important;left:28px!important}.tc-dev{align-items:stretch;text-align:left;padding-bottom:0}.tc-row{gap:10px}.tc-lbl,.tc-row{display:flex;align-items:flex-start}.tc-lbl{flex-direction:column;min-width:0;padding-top:2px}.tc-badge{width:56px;height:56px;flex:none;border-radius:12px;border:0!important;background:var(--tc);box-shadow:0 1px 2px rgba(16,24,40,.18)}.tc-core{width:100%;height:100%;border-radius:12px;background:none;box-shadow:none}.tc-halo{display:none}.tc-dev:hover .tc-badge{transform:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--tc) 25%,transparent),0 1px 2px rgba(16,24,40,.18)}.tc-dev.sel .tc-badge{box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--focus)!important}.tc-st{right:-4px;bottom:-4px}.tc-name{margin:0;padding:0;background:none;font-size:13.5px;font-weight:650;color:var(--text);max-width:138px}.tc-sub{margin:1px 0 0;max-width:138px}.tc-status,.tc-sub{padding:0;background:none;font-size:12px;color:var(--text-2)}.tc-status{margin:2px 0 0}.tc-exp{margin-top:4px}.tc-ports{margin-top:8px}.tc-dev.twin .tc-badge{background:var(--surface);border:2px dashed var(--border-strong)!important}.tc-dev.twin .tc-core{color:var(--text-3);filter:none;opacity:1}.tc-dev.planned .tc-badge{opacity:.55}.tc-dev.ov-mon .tc-badge{box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--ok)}.tc-dev.ov-unmon .tc-badge{filter:grayscale(.9);opacity:.55;border:0!important}.tc-dev.lz-failed .tc-badge,.tc-dev.sim-failed .tc-badge{box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--c5)}.tc-dev.lz-service .tc-badge,.tc-dev.sim-affected .tc-badge{box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--c5);border:0!important}.tc-dev.lz-redundancy .tc-badge{outline:2px dashed var(--c5);outline-offset:3px;border:0!important}.tc-dev.lz-on .tc-badge{box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--c4)}.tc-dev.lz-vfail .tc-badge{box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--crit);border:0!important}.tc-dev.lz-vunknown .tc-badge{outline:2px dashed var(--nm);outline-offset:3px;border:0!important}.tc-e-line{stroke:color-mix(in srgb,var(--c2) 70%,var(--text-3));stroke-width:1.8}.tc-e.k-circuit .tc-e-line{stroke:var(--c4);stroke-width:2.2}.tc-e-glow{opacity:.12;stroke-width:7}.tc-e.sel .tc-e-line{stroke-width:2.8}.tc-site{border-radius:4px;border:1.5px solid color-mix(in srgb,var(--c1) 55%,var(--border));background:color-mix(in srgb,var(--c1) 2.5%,transparent);box-shadow:none}.dark .tc-site{background:color-mix(in srgb,var(--c1) 4%,transparent);box-shadow:none}.tc-site-h{border-bottom:0;height:40px;padding:0 8px 0 0}.tc-site-ic{width:32px;height:32px;border-radius:0 0 4px 0;margin:-1px 0 0 -1px;align-self:flex-start;background:var(--c1);color:#fff}.tc-site-t{font-size:14px;color:var(--text)}.tc-cloud path{stroke:color-mix(in srgb,var(--c3) 60%,var(--c2));stroke-width:1.5;filter:none}.dark .tc-cloud path,.tc-cloud path{fill:var(--surface)}.tc-cap{box-shadow:none;border-color:color-mix(in srgb,var(--c4) 50%,var(--border));color:var(--text)}.tc-mini{background:var(--tc);border-radius:6px}.tc-lg.cable{border-image:none;border-top-color:color-mix(in srgb,var(--c2) 70%,var(--text-3))}.tc-dev.lod .tc-exp,.tc-dev.lod .tc-ports,.tc-dev.lod .tc-status,.tc-dev.lod .tc-sub{display:none}.tc-dev.lod .tc-lbl{padding-top:10px}.tc-stage .react-flow__nodesselection-rect,.tc-stage .react-flow__selection{border:1.5px dashed var(--focus);background:color-mix(in srgb,var(--focus) 8%,transparent)}.tc-stage .react-flow__node.selected .tc-badge{box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--focus)}.tc-name,.tc-status,.tc-sub{background:var(--surface);padding:0 4px;margin-left:-4px;border-radius:3px}.tc-cap{background:var(--surface);z-index:2}.tc-site-bs{max-width:55%;min-width:0}.tc-badge-pill{overflow:hidden;text-overflow:ellipsis;max-width:100%}.tc-dev.thumb .tc-lbl{display:none}.tc-status{white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis}.tc-stage .react-flow__edgelabel-renderer{z-index:2000}.tc-port{background:var(--surface)}.tc-sim{margin-top:0!important;margin-bottom:14px!important}.tc-alb{position:absolute;right:-8px;top:-8px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;font-size:11px;font-weight:700;line-height:18px;text-align:center;color:#fff;background:var(--warn);box-shadow:0 0 0 2px var(--surface)}.tc-alb.crit{background:var(--crit)}.tc-dev.ov-alarm.crit .tc-badge{box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--crit)}.tc-dev.ov-alarm.warn .tc-badge{box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--warn)}.tc-dev.ov-quietnode .tc-badge{opacity:.45}.tc-lg-dev.al-crit{border-color:var(--crit);box-shadow:0 0 0 3px color-mix(in srgb,var(--crit) 22%,transparent)}.tc-lg-dev.al-warn{border-color:var(--warn);box-shadow:0 0 0 3px color-mix(in srgb,var(--warn) 22%,transparent)}.tc-export{right:0;top:38px;left:auto;min-width:170px}.tc-lg[class*=documented-path]{border-top-color:var(--c4)}.tc-pop .linkbtn{display:block;margin:4px 0}.react-flow__node.tc-zone-node{pointer-events:none!important}.tc-zone{width:100%;height:100%;border:1px dashed color-mix(in srgb,var(--c2) 35%,var(--border));border-radius:6px;background:color-mix(in srgb,var(--c2) 2%,transparent)}.tc-zone span{position:absolute;left:8px;top:5px;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3)}.tc-dev.lod~.tc-zone span{font-size:18px}.tc-e-line{stroke-linejoin:round}.tc-zone span{background:var(--surface);padding:0 4px;border-radius:3px}.tc-dev.lod .tc-lbl{padding-top:6px}.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#FFF;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm .xterm-cursor-pointer,.xterm.xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:rgba(0,0,0,0);transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}.term-shell{--t-bg:#000;--t-bar:#0c0c0c;--t-raise:#161616;--t-line:#262626;--t-line-2:#3a3a3a;--t-ink:#33ff77;--t-ink-hi:#7dffa8;--t-text:#d6d6d6;--t-bright:#ffffff;--t-dim:#8c8c8c;--t-off:#6e6e6e;--t-warn:#ffe066;--t-crit:#ff8a80;--t-crit-hi:#ffb4ab;--t-info:#6cb6ff;--t-ink-line:#1f5f36;--t-info-line:#1f4466;--t-warn-line:#6a5a1c;--t-crit-line:#6b2b27;--t-crit-bg:#2a1210;--t-scroll:#2e2e2e;border:1px solid var(--t-line);border-radius:8px;background:var(--t-bg);color:var(--t-text);min-width:0;max-width:100%;display:flex;flex-direction:column;overflow:hidden;color-scheme:dark}.xterm-box{background:var(--t-bg,#000);padding:10px 6px 8px 12px;min-height:120px;overflow-x:auto;overflow-y:hidden;max-width:100%}.xterm-box .xterm{padding:0}.xterm-box .xterm-viewport{background:var(--t-bg,#000)!important}.xterm-box .xterm-viewport::-webkit-scrollbar{width:10px;height:10px}.xterm-box .xterm-viewport::-webkit-scrollbar-thumb{background:var(--t-scroll,#2e2e2e);border-radius:5px}.xterm-box:focus-within{outline:none}.term-shell:focus-within{border-color:var(--t-ink-line)}.term-bar{display:flex;flex-wrap:wrap;gap:6px 12px;padding:7px 8px 7px 12px;background:var(--t-bar);border-bottom:1px solid var(--t-line);color:var(--t-text);font-size:13px}.term-bar,.term-title{align-items:center;min-width:0}.term-title{display:inline-flex;gap:8px;flex:0 1 auto;overflow-wrap:anywhere}.term-title svg{color:var(--t-ink);flex:none}.term-title strong{font-weight:600;color:var(--t-bright)}.term-state{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 10px;flex:1 1 auto;min-width:0}.term-left{color:var(--t-dim);font-size:12.5px;font-variant-numeric:tabular-nums;white-space:nowrap}.term-left.warn{color:var(--t-warn)}.term-tools{display:inline-flex;align-items:center;gap:4px;margin-left:auto}.term-bar .btn,.term-player-controls .btn{color:var(--t-text);background:transparent;border-color:var(--t-line-2)}.term-bar .btn:hover:not(:disabled),.term-player-controls .btn:hover:not(:disabled){background:var(--t-raise);color:var(--t-bright)}.term-bar .btn.primary,.term-player-controls .btn.primary{color:var(--t-bg);background:var(--t-ink);border-color:var(--t-ink);font-weight:600}.term-bar .btn.primary:hover:not(:disabled),.term-player-controls .btn.primary:hover:not(:disabled){background:var(--t-ink-hi);color:var(--t-bg)}.term-bar .btn.danger{color:var(--t-crit);border-color:var(--t-crit-line)}.term-bar .btn.danger:hover:not(:disabled){background:var(--t-crit-bg);color:var(--t-crit-hi)}.term-bar .icon-btn{color:var(--t-text)}.term-bar .icon-btn:hover:not([aria-disabled]){background:var(--t-raise);color:var(--t-bright)}.term-bar .icon-btn[aria-disabled]{color:var(--t-off)}.term-bar .mono{font-family:var(--mono,ui-monospace,monospace)}.term-bar :focus-visible,.term-markers :focus-visible,.term-player-controls :focus-visible{outline:2px solid var(--t-ink);outline-offset:1px}.term-badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid var(--t-line-2,#3a3a3a);color:var(--t-text,#d6d6d6);white-space:nowrap}.term-badge.read{color:var(--t-info);border-color:var(--t-info-line)}.term-badge.change{color:var(--t-warn);border-color:var(--t-warn-line)}.term-badge.live{color:var(--t-ink);border-color:var(--t-ink-line)}.term-badge.wait{color:var(--t-text)}.term-badge.ended{color:var(--t-dim)}.term-badge .dot{width:7px;height:7px;border-radius:50%;background:currentColor;animation:term-blink 1.6s ease-in-out infinite}.term-badge .spin,.term-overlay .spin{width:10px;height:10px}@keyframes term-blink{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.term-badge .dot{animation:none}}.term-note{margin:0;padding:7px 12px;color:var(--t-text);font-size:12.5px;border-bottom:1px solid var(--t-line)}.term-note .mono{color:var(--t-dim)}.term-shell>.term-note:last-child{border-bottom:0;border-top:1px solid var(--t-line);color:var(--t-dim)}.term-note.crit{color:var(--t-crit)}.term-shell>.term-note.hint{border-top:1px solid var(--t-line);border-bottom:0;color:var(--t-dim);font-size:12px}.term-body{position:relative;min-width:0;display:flex;flex-direction:column;flex:1 1 auto}.term-overlay{position:absolute;inset:0;flex-direction:column;justify-content:center;gap:12px;background:rgba(0,0,0,.82);color:var(--t-ink);font:500 14px var(--mono,ui-monospace,monospace);text-align:center;padding:16px}.term-end,.term-overlay{display:flex;align-items:center}.term-end{flex-wrap:wrap;gap:8px 12px;margin:0;padding:10px 12px;border-top:1px solid var(--t-line);font-size:13px;color:var(--t-text)}.term-end strong{color:var(--t-bright);font-weight:600}.term-end .d{color:var(--t-dim)}.term-end>svg{flex:none;align-self:flex-start;margin-top:2px}.term-end.warn>svg{color:var(--t-warn)}.term-end.crit strong,.term-end.crit>svg{color:var(--t-crit)}.term-end.ok>svg{color:var(--t-ink)}.term-end>span:not(.term-tools){flex:1 1 240px;min-width:0}.term-shell.live .xterm-box{height:clamp(360px,calc(100dvh - 300px),1400px)}.term-shell.live.focus{position:fixed;inset:0;z-index:1000;border-radius:0;border:0}.term-shell.live.focus .xterm-box{height:auto;flex:1 1 auto}.term-player-controls{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;align-items:center;gap:8px 12px;padding:8px 12px;border-top:1px solid var(--t-line);background:var(--t-bar);color:var(--t-text);font-size:12.5px}.tp-main,.tp-side{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tp-play{min-width:64px}.tp-time{color:var(--t-text);font-variant-numeric:tabular-nums;padding:0 4px;white-space:nowrap}.tp-speed{display:inline-flex;align-items:center;gap:6px;color:var(--t-dim)}.tp-seek{width:100%;accent-color:var(--t-ink)}.term-player-controls select{height:26px;background:var(--t-raise);color:var(--t-text);border:1px solid var(--t-line-2);border-radius:5px;padding:0 4px;font:inherit}.term-markers{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 10px;background:var(--t-bar)}.term-markers button{font:500 12px var(--font);color:var(--t-text);background:var(--t-raise);border:1px solid var(--t-line-2);border-radius:999px;padding:2px 10px;cursor:pointer}.term-markers button[aria-current=true]{border-color:var(--t-ink);color:var(--t-ink)}.term-seg{display:inline-flex;border:1px solid var(--t-line-2);border-radius:6px;overflow:hidden;flex:none}.term-seg button{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 11px;border:0;border-left:1px solid var(--t-line-2);background:none;color:var(--t-dim);font:500 12.5px var(--font);cursor:pointer;white-space:nowrap}.term-seg button:first-child{border-left:0}.term-seg button:hover:not([aria-disabled]){color:var(--t-bright);background:var(--t-raise)}.term-seg button[aria-checked=true]{color:var(--t-ink);background:var(--t-raise);font-weight:600}.term-seg button[aria-disabled]{color:var(--t-off);cursor:not-allowed}.term-seg :focus-visible{outline:2px solid var(--t-ink);outline-offset:-2px}.term-go{gap:10px;margin-left:auto}.term-go,.term-hint{display:inline-flex;align-items:center;min-width:0}.term-hint{gap:4px;font-size:12px}.term-help .info-tip,.term-hint,.term-hint .info-tip{color:var(--t-dim)}.term-help .info-tip:hover,.term-hint .info-tip:hover{color:var(--t-bright)}.term-bar .btn.term-connect{min-width:92px;justify-content:center}.term-bar .btn.term-connect[aria-disabled]{background:transparent;color:var(--t-dim);border-color:var(--t-line-2);cursor:not-allowed}.term-bar .btn.term-connect .spin{width:10px;height:10px}.term-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:9px 12px 8px;background:var(--t-bar);border-bottom:1px solid var(--t-line)}.term-field{display:flex;align-items:center;gap:8px;min-width:0;color:var(--t-dim);font-size:12.5px}.term-field>span{flex:none}.term-field .input{height:30px;min-width:0;background:var(--t-bg);color:var(--t-bright);border:1px solid var(--t-line-2);border-radius:6px;padding:0 9px;font:13px var(--font);color-scheme:dark}.term-field.grow .input{flex:1 1 auto;width:100%}.term-field .input::placeholder{color:var(--t-dim)}.term-field .input:focus{outline:none;border-color:var(--t-ink);box-shadow:0 0 0 1px var(--t-ink)}.term-field .input[aria-invalid=true]{border-color:var(--t-crit)}.term-help{grid-column:1/-1;display:flex;align-items:center;gap:4px;margin:0;color:var(--t-dim);font-size:12px}.term-help.bad{color:var(--t-crit)}.term-idle{height:clamp(220px,calc(100dvh - 560px),420px);padding:12px 16px;overflow:auto;font:14px/1.5 JetBrains Mono Variable,ui-monospace,monospace;color:var(--t-ink)}.term-idle p{margin:0}.term-idle .hi{color:var(--t-ink-hi);font-weight:600}.term-idle .d{color:var(--t-dim);margin-bottom:1.5em}.term-idle .warn{color:var(--t-warn)}.term-idle .cursor{display:inline-block;width:.6em;height:1.15em;margin-top:.3em;background:var(--t-ink);vertical-align:text-bottom;animation:term-cursor 1.1s steps(1) infinite}@keyframes term-cursor{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.term-idle .cursor{animation:none}}.console-replay{display:grid;gap:10px}.console-replay-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin:0;font-size:13px}.console-replay-meta .purpose{color:var(--text-2);overflow-wrap:anywhere}.ch-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;width:100%}.term-idle .keys{margin-top:1.5em;margin-bottom:.2em}.ch-filters{display:flex;flex-wrap:wrap;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border)}.ch-card .pill{height:18px;font-size:11.5px;padding:0 6px;flex:none}.console-history{table-layout:auto}.console-history td,.console-history th{padding-top:7px;padding-bottom:7px;vertical-align:middle}.console-history .c-t{width:92px;white-space:nowrap}.console-history thead th:nth-child(2){width:18%}.console-history thead th:nth-child(4){width:72px}.console-history thead th:nth-child(5){width:30%}.ch-sub{color:var(--text-3);font-size:12.5px}.ch-cap{margin:0;padding:8px 16px 0}.console-history .c-act{width:44px;padding-top:2px;padding-bottom:2px}.console-history td.purpose{max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ch-rows .why,.console-history .why{margin-left:8px;color:var(--text-2)}.console-history tr.ch-day th{padding:12px 12px 4px;background:none;border-bottom:1px solid var(--border);font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);text-align:left}.console-history tbody:first-of-type tr.ch-day th{padding-top:8px}.ch-rows li.is-live,.console-history tr.is-live td{background:var(--ok-bg)}.ch-rows li.is-current,.console-history tr.is-current td{background:var(--sel)}.ch-status{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;color:var(--text)}.ch-status svg{flex:none}.ch-status.ok svg{color:var(--ok-ink,var(--ok))}.ch-status.warn svg{color:var(--warn-ink,var(--warn))}.ch-status.crit{color:var(--crit-ink,var(--crit))}.ch-status.off{color:var(--text-3)}.ch-status.live{color:var(--ok-ink,var(--ok));font-weight:600}.ch-status[tabindex]:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:3px}.ch-status .spin{width:9px;height:9px}.icon-btn.on{color:var(--link);background:var(--sel)}.live-dot{width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block;animation:term-blink 1.6s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.live-dot{animation:none}}.ch-rows section+section{margin-top:2px}.ch-day{margin:0;padding:10px 16px 4px;font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}.ch-rows ul{list-style:none;margin:0;padding:0}.ch-rows li{display:grid;grid-template-columns:46px minmax(0,1fr) auto 36px;grid-template-areas:"t who len act" ". st st act";align-items:center;column-gap:8px;row-gap:1px;padding:7px 8px 7px 16px;border-top:1px solid var(--border);font-size:13px;min-width:0}.ch-rows .t{grid-area:t;color:var(--text-2)}.ch-rows .who{grid-area:who;display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ch-rows .len{grid-area:len;color:var(--text-2)}.ch-rows .act{grid-area:act;justify-self:end}.ch-rows .st{grid-area:st;display:flex;align-items:center;min-width:0;font-size:12.5px}.ch-rows .st .why{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}@media (max-width:640px){.term-bar{font-size:12.5px;padding:7px 8px 7px 10px}.term-title{flex-basis:100%}.term-state{flex:1 1 auto}.xterm-box{padding:8px 4px 6px 8px}.term-shell.live .xterm-box{height:clamp(320px,calc(100dvh - 250px),900px)}.term-player-controls{grid-template-columns:1fr}.tp-side{justify-content:flex-start}.term-shell.idle .term-title{flex-basis:auto}.term-shell.idle .term-go{flex-basis:100%;justify-content:space-between;margin-left:0}.term-idle{height:240px;padding:10px 12px;font-size:13px}.term-form{grid-template-columns:minmax(0,1fr);padding:8px 10px}.term-form .term-field:not(.grow){justify-self:start}.ch-filters{padding:10px 12px}}