:root{--bg:#050505;--panel:#101012;--raised:#19191c;--line:#303034;--text:#eee;--muted:#9ca3af;--accent:#facc15;--soft:#facc1515}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}button,input{font:inherit}button{cursor:pointer;color:inherit;background:transparent;border:1px solid var(--line);border-radius:7px;padding:10px 12px}button:hover{background:#252526;border-color:#737373}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:disabled{opacity:.45;cursor:default}button.active{border-color:var(--accent);background:var(--soft);color:var(--accent)}button[hidden],[hidden]{display:none!important}.topbar{height:80px;display:flex;align-items:center;padding:14px 22px;gap:36px;background:#080808;border-bottom:1px solid #3d351a}.brand{display:flex;align-items:center;gap:13px;min-width:350px}.brand img{width:86px;height:49px;object-fit:contain;border-radius:5px;background:var(--accent)}.brand strong{display:block;font-size:18px;letter-spacing:.035em}.brand span{display:block;font-size:10px;color:#9a9aa0;letter-spacing:.12em;margin-top:7px}.brand b{color:var(--accent);margin-left:5px}nav{display:flex;gap:7px}nav button{font-size:12px;font-weight:bold;padding:11px 16px}.review-status{margin-left:auto;white-space:nowrap;font-size:10px;letter-spacing:.08em}.review-status i{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin-right:7px}.review-status span{display:block;color:#737378;font-size:9px;margin-top:7px;text-align:right}.app-body{display:grid;grid-template-columns:235px minmax(400px,1fr) 350px;height:calc(100% - 80px)}.left-panel{display:flex;flex-direction:column;padding:18px 12px;background:#0b0b0c;border-right:1px solid var(--line);overflow:auto}.search-wrap{position:relative;margin-bottom:26px}.search-wrap input{border:1px solid #414145;border-radius:6px;background:#151518;color:white;padding:11px 10px;width:100%;font-size:12px}#results{position:fixed;top:138px;left:12px;width:355px;max-height:440px;overflow:auto;z-index:30;background:#202023;border:1px solid #69603d;box-shadow:0 14px 30px #000a;border-radius:6px}#results button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #39393c;border-radius:0;font-size:12px;line-height:1.4}.section-label,.eyebrow{font-size:9px;letter-spacing:.15em;color:#98989e;font-weight:bold}.section-label{margin:0 10px 12px}.zone-button{width:100%;display:flex;align-items:center;text-align:left;gap:12px;border-color:transparent;margin-bottom:4px;padding:10px 9px;border-radius:6px;font-size:12px}.zone-symbol{display:flex;align-items:center;justify-content:center;width:24px;height:25px;color:#8e8e95;font-size:17px}.zone-button small{display:block;color:#777780;font-size:10px;margin-top:4px}.zone-button.active small{color:#b4a36b}.zone-button.active .zone-symbol{color:var(--accent)}.left-bottom{margin-top:auto;padding-top:25px}.left-bottom p{font-size:10px;color:#717179;line-height:1.7;padding:0 10px}.left-bottom button{font-size:11px;margin:9px 10px}.rail-key{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:5px 10px}.rail-key span{font-size:10px;color:#ababaf;display:flex;gap:7px;align-items:center}.rail-key span:before{content:'';display:inline-block;width:17px;height:4px;background:var(--rail);border:1px solid #7775;border-radius:2px}main{min-width:0;position:relative;display:flex;flex-direction:column;background:#101014}.stage-toolbar{height:45px;display:flex;align-items:center;justify-content:space-between;gap:5px;border-bottom:1px solid #29292d;padding:0 14px;flex:none;background:#121215;z-index:3}.stage-toolbar button{border:0;font-size:10px;padding:7px 8px;color:#adadb5}.stage-toolbar button:hover{color:var(--accent)}#breadcrumb{display:flex;align-items:center;gap:3px;overflow:hidden;white-space:nowrap}#breadcrumb span{color:#626269;font-size:11px}.view-tools{display:flex;align-items:center}.view-tools #cancel-travel{color:var(--accent)}#physical-stage,#master-stage{position:relative;flex:1;min-height:0}#van-canvas{position:absolute;inset:0}#van-canvas canvas{display:block}#stage-caption{position:absolute;top:27px;left:29px;pointer-events:none;max-width:350px;text-shadow:0 1px 8px #000}#stage-caption .eyebrow{color:#b4a559;font-size:9px}h1{font-size:25px;letter-spacing:-.035em;margin:10px 0}#stage-caption p{font-size:12px;color:#92929b;line-height:1.6;margin-top:10px;max-width:295px}#stage-caption.compact h1{font-size:22px}#stage-caption.compact p{display:none}.orbit-hint{position:absolute;bottom:16px;left:20px;color:#909099;font-size:10px;background:#0b0b0bb5;padding:8px 10px;border:1px solid #343438;border-radius:6px;pointer-events:none}#loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:#111115;z-index:15}#loading strong{font-size:16px}#loading span{font-size:12px;color:var(--muted)}.loading-wheel{width:36px;height:36px;border:2px solid #333;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#journey{position:absolute;bottom:58px;left:20px;right:20px;display:flex;align-items:center;gap:13px;background:#131313ef;border:1px solid #69603d;border-left:4px solid var(--accent);box-shadow:0 8px 22px #0004;border-radius:8px;padding:13px 15px;pointer-events:none}#journey-code{color:var(--accent);font-family:monospace;font-size:15px;white-space:nowrap}#journey-title{display:block;font-size:12px;line-height:1.4}#journey-note{display:block;color:#9e9ea5;font-size:10px;margin-top:5px;line-height:1.4}#master-frame{width:100%;height:100%;border:0;background:white}.inspector{background:var(--panel);border-left:1px solid var(--line);padding:24px 21px;overflow:auto}.inspector h2{font-size:25px;letter-spacing:-.025em;line-height:1.2;margin:12px 0}.inspector h3{font-size:12px;letter-spacing:.04em;margin:24px 0 12px}.inspector .lede{font-size:13px;line-height:1.7;color:#a3a3ab}.intro-step{display:flex;gap:14px;line-height:1.6;font-size:12px;color:#adadb6;margin-top:23px}.intro-step b{color:var(--accent);font-size:15px}.review-note{font-size:11px;line-height:1.6;color:#aba394;border:1px solid #4d432a;background:#211d1450;border-radius:7px;padding:13px;margin-top:22px}.device-button{display:flex;width:100%;align-items:center;gap:11px;text-align:left;border-color:#343438;background:#171719;margin:8px 0;padding:12px 10px}.device-button:hover{border-color:#d0b43d}.device-button strong{display:block;font-size:12px;line-height:1.3}.device-button small{display:block;font-size:10px;color:#80808b;line-height:1.4;margin-top:5px}.device-glyph{flex:0 0 37px;height:35px;background:#273c49;border:1px solid #66808c;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:bold;color:#b9d7e3}.device-glyph.power{color:#facc15;background:#453c18;border-color:#8c782c}.status-pill{display:inline-block;padding:5px 7px;font-size:9px;letter-spacing:.04em;border:1px solid #45454d;border-radius:4px;color:#a8a8b2;line-height:1.4}.status-pill.pending{color:#d6be70;border-color:#655630;background:#332c1945}.connection-count{font-size:10px;color:#72727c;float:right;margin-top:2px}.terminal-link{margin:10px 0;padding:13px;border:1px solid #35353a;border-left:3px solid var(--rail);border-radius:7px;background:#171719}.terminal-link.selected{border-color:var(--accent);background:#262111}.terminal-meta{display:flex;justify-content:space-between;gap:6px;color:#8e8e99;font-size:9px;margin-bottom:9px}.terminal-meta b{font-family:monospace;color:#c8c8ce;font-size:11px}.terminal-link .local-terminal{font-size:11px;color:#a2a2ad;line-height:1.4}.destination{display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;border-radius:0;text-align:left;width:100%;padding:10px 0;background:transparent!important;color:white;font-size:14px;font-weight:bold;line-height:1.35}.destination span:last-child{font-size:23px;color:var(--accent)}.remote-terminal{font-size:11px;color:#b3b3ba;line-height:1.5}.core-buttons{display:flex;gap:6px;margin-top:10px}.core-buttons button{font-size:10px;background:#202025;padding:6px 10px;border-color:#43434a}.core-buttons button:hover{color:var(--accent);border-color:var(--accent)}.terminal-help{font-size:10px;color:#83838d;line-height:1.5;margin-top:9px}.full-width{width:100%;margin:14px 0;font-size:11px}.back-link{padding:5px 0;border:0;color:#b9a957;font-size:11px}.device-context{font-size:11px;line-height:1.6;color:#898995;margin:12px 0 5px}.inspector details{font-size:10px;color:#8c8c97;line-height:1.5;margin:15px 0}.inspector summary{cursor:pointer;color:#b5b5bf}.board-key{font-size:10px;line-height:1.6;border:1px solid #48412b;padding:10px;border-radius:6px;color:#c2b575}.zone-label{font-size:12px!important}dialog{max-width:560px;background:#151518;color:var(--text);border:1px solid #7a6830;border-radius:12px;padding:32px;box-shadow:0 20px 80px #000b}dialog::backdrop{background:#0009}dialog h2{font-size:25px}dialog p{font-size:13px;color:#b3b3bc;line-height:1.7}dialog a{color:var(--accent)}.dialog-close{float:right;padding:0 6px;font-size:23px;border:0}#error-box{position:absolute;inset:120px 50px auto;padding:25px;background:#231d15;border:1px solid #a37a32;z-index:20;line-height:1.6}@media(max-width:1150px){.app-body{grid-template-columns:190px minmax(350px,1fr) 310px}.topbar{gap:16px;padding:12px}.brand{min-width:285px}.brand strong{font-size:15px}.brand img{width:65px}.review-status{display:none}.inspector{padding:20px 16px}.left-panel{padding:15px 8px}}@media(max-width:850px){.app-body{grid-template-columns:150px 1fr}.inspector{position:absolute;right:0;top:125px;bottom:0;width:280px;background:#111114f8;z-index:12;transform:translateX(100%);transition:transform .2s}.inspector.open{transform:none}.topbar nav button{font-size:10px;padding:9px}.brand{min-width:240px}.brand strong{font-size:13px}.left-panel .section-label{font-size:8px}.zone-button{font-size:10px}.zone-symbol{display:none}.rail-key{grid-template-columns:1fr}.left-bottom p{display:none}}

.van-3d-context{display:none!important}.inspector-heading{position:sticky;top:-24px;background:#101012f5;z-index:3;margin:-2px -3px 12px;padding:3px 3px 10px;border-bottom:1px solid #353539}.inspector-heading h2{font-size:22px;margin:10px 0 3px}.inspector-heading .eyebrow{margin-top:10px}#stage-caption{background:#18181bcc;padding:10px 13px;border-radius:6px;max-width:calc(100% - 60px)}#stage-caption h1{font-size:23px}#inspect-route,#finish-route{color:var(--accent)}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}

.terminal-link{scroll-margin-top:175px}.view-tools{flex-shrink:0}#breadcrumb{min-width:0}.demo-button{border-color:#6d5b29;color:#facc15}

.master-mode .app-body{grid-template-columns:235px minmax(400px,1fr)}.master-mode .inspector{display:none}

/* P3.1 — area, device and route levels share an interior camera. */
.device-mode .app-body{grid-template-columns:minmax(340px,1fr) 385px}.device-mode .left-panel,.journey-mode .left-panel{display:none}
.journey-mode .app-body{grid-template-columns:1fr}.journey-mode .inspector{display:none}
.device-mode #van-canvas{top:92px;bottom:119px}.device-mode #physical-stage{background:#252628}
.device-mode #stage-caption{top:14px;left:22px;padding:7px 11px;background:#171719d9}.device-mode #stage-caption h1{font-size:22px;margin:7px 0 3px}
.device-mode .orbit-hint{display:none}.device-mode #journey{display:none!important}
.device-mode .inspector h3{margin-top:16px}.device-mode .inspector .device-context{margin:9px 0;font-size:10px}
.device-mode .inspector-heading h2{font-size:22px}.device-mode .terminal-link{padding:11px 13px;margin:9px 0}
.device-mode .local-terminal{color:#f1f1f3;font-size:13px;font-weight:bold}.device-mode .destination{font-size:13px;padding:7px 0}.device-mode .terminal-meta{font-size:9px}
.device-mode .terminal-help{font-size:9px}.device-mode .terminal-link details{margin:9px 0 0}.device-mode .core-buttons{margin-top:8px}
.device-thumbnail{width:42px;height:40px;object-fit:contain;background:#eff0ed;border-radius:4px;padding:2px;flex-shrink:0}
#device-ports{position:absolute;bottom:0;left:0;right:0;background:#121214ed;border-top:1px solid #464130;padding:13px 21px;min-height:110px;z-index:5}
.port-strip-label{font-size:9px;font-weight:bold;letter-spacing:.13em;color:#d8bf62;margin-bottom:10px}.port-strip-label span{font-weight:normal;letter-spacing:0;color:#92929b;margin-left:15px}
.port-strip-scroll{display:flex;gap:8px;overflow:auto;padding-bottom:2px}.port-strip-scroll button{flex-shrink:0;text-align:left;border-left:3px solid var(--rail);padding:8px 11px;background:#222226;min-width:95px}.port-strip-scroll b{font-size:11px;display:block}.port-strip-scroll small{font-size:9px;display:block;color:#bbb2a0;margin-top:5px}
#device-reference{position:absolute;inset:98px 18px 125px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:13px;background:#1c1d20fa;z-index:4;border-radius:9px;border:1px solid #444047;text-align:center;padding:22px}
#device-reference img{width:230px;height:215px;background:#f1f2ee;border-radius:9px;padding:18px;max-height:65%;object-fit:contain}#device-reference strong{font-size:18px}#device-reference span{font-size:11px;color:#b5a779}
.journey-mode #stage-caption{max-width:470px}.journey-mode #journey{left:30px;right:30px;bottom:35px;padding:15px 19px}.journey-mode .orbit-hint{display:none}
.route-progress-track{position:absolute;bottom:0;left:0;right:0;height:3px;background:#393527;border-radius:0 0 8px 8px;overflow:hidden}#route-progress{height:100%;width:0%;background:#facc15;transition:width .1s linear}
@media(max-width:850px){.device-mode .app-body{grid-template-columns:minmax(260px,1fr) 295px}.device-mode .inspector{position:static;width:auto;transform:none;display:block;padding:15px}.device-mode #stage-caption h1{font-size:17px}.port-strip-label span{display:none}}

/* P3.2 — flowing cable, destination cue and expandable terminal references. */
.van-destination-label{position:absolute;transform:translate(-50%,-50%);z-index:8;pointer-events:none;color:#171717;background:#facc15;border:1px solid #fff2a4;border-radius:5px;box-shadow:0 3px 20px #0009;padding:9px 12px;max-width:300px;font-size:11px;font-weight:bold;line-height:1.35;text-align:center}
.van-destination-label[data-offscreen="true"]{background:#242013;color:#facc15;border-color:#baa130}
.terminal-symbol{width:58px;height:40px;flex-shrink:0;display:block}
.device-mode #van-canvas{bottom:147px}#device-ports{height:142px;padding:12px 18px}.port-strip-label{display:flex;align-items:center;gap:10px;margin-bottom:10px}.port-strip-label span{margin:0;flex:1}.port-strip-label button{font-size:10px;color:#facc15;padding:5px 8px;letter-spacing:0}.port-strip-scroll button.terminal-dock-link{display:flex;align-items:center;gap:9px;max-width:300px;min-height:70px}.terminal-dock-link b{white-space:normal;line-height:1.4}.terminal-dock-link .terminal-symbol{width:48px;height:35px}.port-strip-scroll small{font-family:monospace}.device-mode #device-reference{bottom:151px}
.connector-summary{margin:17px 0 20px;border:1px solid #494335;border-radius:7px;overflow:hidden;background:#1b1a16}.connector-heading{display:flex;align-items:center;justify-content:space-between;padding:7px 10px}.connector-heading h3{font-size:10px!important;margin:0!important;color:#d8c56f}.connector-heading button{font-size:10px;padding:5px 7px;color:#facc15;border:0}.connector-photo{display:block;width:100%;padding:0;border:0;border-radius:0;background:#fff;overflow:hidden;text-align:left}.connector-photo img{display:block;width:100%;height:180px;object-fit:contain;background:#fafaf8;padding:8px}.connector-photo span{display:block;padding:9px 10px;background:#252521;color:#d6d5ce;font-size:10px;line-height:1.4}.connector-photo b{color:#facc15;float:right}.connector-photo:hover span{background:#383226;color:#fff}.reference-note{font-size:10px;line-height:1.55;color:#b8ae91;margin:10px!important;padding:0}.reference-credit{font-size:9px;color:#aaa49b;line-height:1.5;display:block;margin:8px 10px 12px}.no-photo{padding:12px;display:flex;align-items:center;gap:10px;color:#c2bda9;font-size:11px;line-height:1.5}.no-photo small{font-size:10px;color:#99958b}
#terminal-dialog{width:calc(100vw - 54px);height:calc(100vh - 54px);max-width:1500px;max-height:none;padding:0;overflow:hidden;border-radius:12px;background:#151518}#terminal-dialog-content{height:100%;display:flex;flex-direction:column}.terminal-dialog-head{display:flex;align-items:center;justify-content:space-between;padding:20px 25px;flex-shrink:0;border-bottom:1px solid #454034;background:#111113}.terminal-dialog-head h2{margin:8px 0 0;font-size:22px}.terminal-dialog-head button{font-size:28px;padding:0 9px}.terminal-workspace{display:grid;grid-template-columns:minmax(0,1fr) 335px;flex:1;min-height:0}.terminal-artwork{overflow:auto;padding:20px}.reference-zoom{min-height:230px;height:clamp(250px,48vh,670px);background:#fafaf8;border-radius:7px;overflow:auto;display:flex;align-items:center;justify-content:center}.reference-zoom img{display:block;width:100%;height:100%;object-fit:contain;padding:10px}.terminal-artwork h3{font-size:15px;margin:17px 0 5px}.terminal-artwork p{font-size:11px;line-height:1.6;margin:7px 0;color:#b9b3a2}.terminal-artwork .reference-credit{margin:8px 0 13px}.reference-thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px}.reference-thumbs .connector-photo{border-radius:6px;border:1px solid #454545}.reference-thumbs .connector-photo img{height:85px}.reference-thumbs .connector-photo span{font-size:9px;min-height:44px}.terminal-functions{border-left:1px solid #3e3b34;overflow:auto;padding:20px 17px;background:#101012}.terminal-functions h3{font-size:12px;letter-spacing:.06em;margin:0 0 12px}.terminal-functions h3 span{float:right;color:#facc15}.terminal-functions>p{font-size:11px;line-height:1.6;color:#a5a39a;margin:8px 0 18px}.functional-terminals{display:grid;gap:8px}.functional-terminal{display:flex;align-items:center;gap:8px;background:#202024;padding:10px 9px;text-align:left;min-width:0}.functional-terminal .terminal-symbol{width:46px}.functional-terminal span{flex:1;min-width:0}.functional-terminal b{font-size:11px;display:block;line-height:1.45}.functional-terminal small{font-size:10px;font-family:monospace;color:#bea96a;display:block;margin-top:5px}.functional-terminal em{font-style:normal;color:#facc15;font-size:20px}.functional-terminal:hover{border-color:#facc15}.reference-missing{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:300px}.reference-missing>img{max-height:250px;max-width:280px;margin-top:15px;background:#eee;padding:12px;border-radius:7px}.reference-missing p{max-width:380px}
@media(max-width:850px){#terminal-dialog{width:calc(100vw - 20px);height:calc(100vh - 20px)}.terminal-workspace{grid-template-columns:minmax(0,1fr) 265px}.terminal-artwork{padding:12px}.terminal-functions{padding:14px 10px}.reference-zoom{height:35vh}.device-mode .port-strip-label span{display:none}.device-mode .port-strip-label button{margin-left:auto}}
@media(max-width:560px){.terminal-workspace{display:block;overflow:auto}.terminal-functions{overflow:visible;border-left:0;border-top:1px solid #3e3b34}.terminal-artwork{overflow:visible}.reference-zoom{height:35vh;min-height:200px}.terminal-dialog-head{padding:13px}.terminal-dialog-head h2{font-size:16px}.device-mode .app-body{grid-template-columns:minmax(170px,1fr) 230px}}
.reference-zoom{display:block;--image-zoom:1}.reference-zoom img{width:calc(100% * var(--image-zoom));height:calc(100% * var(--image-zoom));max-width:none}.reference-zoom-tools{display:flex;align-items:center;gap:6px;margin-bottom:10px}.reference-zoom-tools span{flex:1;font-size:9px;color:#ada58f;letter-spacing:.12em}.reference-zoom-tools button{font-size:10px;padding:5px 10px;color:#facc15}

/* P3.3 physical connection labels retain accessible DOM targets. */
.physical-port-layer{position:absolute;inset:0;pointer-events:none;overflow:auto;z-index:6}
.physical-port{position:absolute;pointer-events:auto;background:#202a30ed;color:#f1f2ed;border:1px solid #819094;border-left:3px solid #facc15;border-radius:4px;padding:4px 7px;font:10px/1.3 system-ui;max-width:218px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}
.physical-port:hover,.physical-port.arrival{background:#facc15;color:#161a1c;border-color:white}

.physical-port{font-size:9px;padding:2px 5px;max-width:195px}

/* P3.4 graphical technical panel: labels stay outside the product viewport. */
body.device-mode .app-body{grid-template-columns:minmax(340px,1fr) 380px}body.device-mode .inspector{width:auto}body.device-mode main{margin-right:0}
.technical-section h3{font-size:12px;letter-spacing:.1em;color:#f3ce63;border-bottom:1px solid #353535;padding-bottom:8px}.technical-card{border:1px solid #34363b;border-left:3px solid var(--rail);border-radius:7px;padding:10px;margin:9px 0;display:grid;grid-template-columns:42px 1fr;gap:8px}.technical-icon svg{width:40px;height:35px}.technical-card b{font-size:12px}.technical-card small{display:block;font-size:10px;color:#a8afb4;margin:5px 0}.technical-card button{font-size:11px;text-align:left}.technical-card .core-buttons,.technical-card details{grid-column:1/-1}.technical-card details p{font-size:11px}.technical-section .muted{font-size:11px;color:#71777b}.evidence-drawer{margin-top:24px;padding:12px;border:1px solid #49402b}.star-schedule table{font-size:11px;border-collapse:collapse;width:100%}.star-schedule td,.star-schedule th{border-bottom:1px solid #333;padding:6px;text-align:left}.star-schedule td button{font-size:11px}body.device-mode #device-ports{height:48px}body.device-mode #van-canvas{bottom:48px}body.device-mode #stage-caption h1{font-size:20px}#solo-cable[aria-pressed=true]{background:#f4cd60;color:#171717}

nav a{color:#e5c653;text-decoration:none;font-size:12px} .reference-section{border-top:1px solid #555;padding-top:16px}

.advanced-tools{position:relative;font-size:11px}.advanced-tools summary{cursor:pointer;padding:8px}.advanced-tools[open] button{position:absolute;right:0;top:30px;z-index:50;width:175px;background:#24292d}#export-markup{color:#f1cd64}.view-tools{flex-wrap:wrap}

.stage-toolbar{height:auto;min-height:74px;flex-wrap:wrap;padding:5px 12px;gap:2px}#breadcrumb{flex:1 0 100%;overflow-x:auto;min-height:27px}.view-tools{flex:1;flex-shrink:1;flex-wrap:wrap;gap:2px}

/* P4.3 readable device labels in the 3D view. */
.physical-port-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:6}
.device-terminal-rail{position:absolute;left:12px;top:12px;bottom:70px;width:min(270px,34%);overflow:auto;pointer-events:auto;background:#141a20ed;border:1px solid #6e6852;border-radius:9px;padding:12px;box-sizing:border-box;scrollbar-width:thin}
.terminal-rail-title{display:block;color:#f4ce67;font:700 15px/1.35 system-ui;margin-bottom:8px}
.device-terminal-rail>small{display:block;font:11px/1.4 system-ui;color:#b9c4cd;margin-bottom:10px}
.port-circuit{border-top:1px solid #4c5255;margin-top:10px;padding-top:9px}.port-circuit>b{display:block;font:800 17px/1.3 system-ui;color:#f8d167;margin-bottom:6px}
.physical-port{display:block;position:relative;left:auto;top:auto;width:100%;max-width:none;white-space:normal;overflow:visible;text-overflow:clip;margin:5px 0;padding:9px 8px;font:600 14px/1.3 system-ui;border-left:3px solid #facc15;cursor:pointer}
.physical-port span{display:block}.physical-port small{display:block;font:12px/1.4 system-ui;color:#c6d2da;margin-top:5px}.physical-port:hover small,.physical-port.arrival small{color:#26323b}.terminal-leader-overlay{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
body.device-mode #stage-caption{left:calc(min(270px,34%) + 30px)}
