/* Equipment inspector 2.0: fullscreen, named parts and staged disassembly */
.gl-eqi__fullscreen{min-width:32px!important;width:32px!important;padding:0!important}.gl-eqi__fullscreen svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.gl-eqi__fullscreen[aria-pressed=true]{border-color:var(--twin-accent)!important;background:var(--twin-accent)!important;color:#062226!important}
.gl-eqi__assembly{position:absolute;z-index:3;top:63px;bottom:auto;inset-inline-end:8px;width:220px;padding:8px;border:1px solid rgba(109,213,205,.24);border-radius:11px;background:rgba(5,27,30,.91);box-shadow:0 16px 38px rgba(0,0,0,.2);backdrop-filter:blur(12px);pointer-events:auto}.gl-eqi__assembly[hidden]{display:none!important}.gl-eqi__assembly header{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:6px}.gl-eqi__assembly header>span{display:grid;place-items:center;width:21px;height:21px;border-radius:6px;background:rgba(183,230,59,.12);color:var(--twin-accent);font:900 .44rem/1 var(--font-display,inherit)}.gl-eqi__assembly header b{color:#fff;font-size:.48rem}.gl-eqi__assembly output{color:var(--twin-accent);font:800 .4rem/1 var(--font-display,inherit);direction:ltr}.gl-eqi__assembly>div{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin:8px 0 7px;direction:ltr}.gl-eqi__assembly button{display:grid;place-items:center;height:28px;padding:0;border:1px solid rgba(255,255,255,.11);border-radius:6px;background:#0a2225;color:#9eb5b0;cursor:pointer}.gl-eqi__assembly button:hover,.gl-eqi__assembly button[aria-pressed=true]{border-color:var(--twin-accent);background:#12383b;color:var(--twin-accent)}.gl-eqi__assembly input{display:block;width:100%;height:4px;margin:0;accent-color:var(--twin-accent);cursor:ew-resize}
.gl-eqi__parts>div button>span:last-child{display:grid;min-width:0;gap:2px}.gl-eqi__parts>div button small{display:block;color:#678a84;font-size:.34rem;direction:ltr;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gl-eqi__parts>div button.is-active small{color:#a8cac4}
.gl-eqi__part-labels{position:absolute;z-index:4;inset:0;overflow:hidden;pointer-events:none}.gl-eqi__part-labels[hidden]{display:none!important}.gl-eqi__part-label{position:absolute;display:grid;grid-template-columns:21px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:1px 6px;width:145px;min-height:38px;padding:5px 7px;border:1px solid rgba(111,220,210,.38);border-radius:7px;transform:translate(-50%,-50%);background:rgba(4,25,28,.87);color:#eaf6f4;text-align:start;box-shadow:0 9px 24px rgba(0,0,0,.2);backdrop-filter:blur(9px);pointer-events:auto;cursor:pointer;transition:border-color .18s,background .18s,opacity .18s}.gl-eqi__part-label:after{content:"";position:absolute;top:50%;width:26px;height:1px;background:linear-gradient(90deg,var(--twin-accent),transparent)}.gl-eqi__part-label[data-side=left]:after{right:-27px}.gl-eqi__part-label[data-side=right]:after{left:-27px;transform:scaleX(-1)}.gl-eqi__part-label>span{grid-row:1/3;display:grid;place-items:center;width:21px;height:21px;border-radius:5px;background:var(--twin-accent);color:#08272b;font:900 .37rem/1 var(--font-display,inherit)}.gl-eqi__part-label b{min-width:0;font-size:.42rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gl-eqi__part-label small{min-width:0;color:#83a29d;font-size:.31rem;direction:ltr;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gl-eqi__part-label:hover,.gl-eqi__part-label.is-active{border-color:var(--twin-accent);background:#0d3a3e}.gl-eqi__part-label.is-active{box-shadow:0 0 0 2px color-mix(in srgb,var(--twin-accent) 30%,transparent),0 12px 28px rgba(0,0,0,.28)}
.gl-eqi.is-exploded:before{content:"EXPLODED ASSEMBLY / PART IDENTIFICATION";position:absolute;z-index:1;top:58px;left:50%;transform:translateX(-50%);color:rgba(31,105,108,.32);font:900 clamp(.55rem,1.1vw,.82rem)/1 var(--font-display,inherit);letter-spacing:.18em;white-space:nowrap;pointer-events:none}.gl-eqi.is-exploded .gl-eqi__clip{opacity:.48}
.gl-eqi-scroll-lock{overflow:hidden!important}.gl-twin__stage:fullscreen,.gl-twin__stage.is-eqi-pseudo-fullscreen{position:fixed!important;z-index:2147483000!important;inset:0!important;width:100vw!important;max-width:none!important;height:100vh!important;height:100svh!important;min-height:100vh!important;margin:0!important;border:0!important;border-radius:0!important;background:#dce9e7!important}.gl-twin__stage:fullscreen canvas,.gl-twin__stage.is-eqi-pseudo-fullscreen canvas{display:block!important;width:100%!important;height:100%!important}.gl-twin__stage:fullscreen .gl-eqi,.gl-twin__stage.is-eqi-pseudo-fullscreen .gl-eqi{width:100%!important;max-width:none!important;height:100%!important}.gl-twin__stage:fullscreen .gl-eqi__head,.gl-twin__stage.is-eqi-pseudo-fullscreen .gl-eqi__head{top:12px;right:12px;left:12px;min-height:54px}.gl-twin__stage:fullscreen .gl-eqi__parts,.gl-twin__stage.is-eqi-pseudo-fullscreen .gl-eqi__parts{top:78px;bottom:145px;inset-inline-start:12px;width:240px}.gl-twin__stage:fullscreen .gl-eqi__assembly,.gl-twin__stage.is-eqi-pseudo-fullscreen .gl-eqi__assembly{top:78px;inset-inline-end:12px;width:245px}.gl-twin__stage:fullscreen .gl-eqi__console,.gl-twin__stage.is-eqi-pseudo-fullscreen .gl-eqi__console{right:12px;bottom:12px;left:12px;min-height:122px}.gl-twin__stage:fullscreen .gl-eqi__part-label,.gl-twin__stage.is-eqi-pseudo-fullscreen .gl-eqi__part-label{width:170px;min-height:42px}.gl-twin__stage:fullscreen .gl-eqi__part-label b,.gl-twin__stage.is-eqi-pseudo-fullscreen .gl-eqi__part-label b{font-size:.48rem}
@media(max-width:980px){.gl-eqi__fullscreen{min-width:28px!important;width:28px!important}.gl-eqi__fullscreen svg{width:13px;height:13px}.gl-eqi__assembly{top:119px!important;right:5px!important;left:5px!important;width:auto!important;height:43px;padding:4px 5px;display:grid;grid-template-columns:minmax(95px,1fr) 110px minmax(75px,1fr);align-items:center;gap:5px}.gl-eqi__assembly header{grid-template-columns:17px 1fr auto}.gl-eqi__assembly header>span{width:17px;height:17px;font-size:.34rem}.gl-eqi__assembly header b{font-size:.36rem}.gl-eqi__assembly output{font-size:.33rem}.gl-eqi__assembly>div{margin:0;gap:2px}.gl-eqi__assembly button{height:25px}.gl-eqi__assembly input{min-width:0}.gl-eqi__parts>div button small{font-size:.29rem}.gl-eqi__part-label{width:94px;min-height:31px;padding:3px 4px;grid-template-columns:15px minmax(0,1fr);gap:0 3px}.gl-eqi__part-label>span{width:15px;height:15px;font-size:.28rem}.gl-eqi__part-label b{font-size:.31rem}.gl-eqi__part-label small{display:none}.gl-eqi__part-label:after{width:14px}.gl-eqi__part-label[data-side=left]:after{right:-15px}.gl-eqi__part-label[data-side=right]:after{left:-15px}.gl-eqi.is-exploded:before{display:none}.gl-twin__stage:fullscreen .gl-eqi__head,.gl-twin__stage.is-eqi-pseudo-fullscreen .gl-eqi__head{top:5px;right:5px;left:5px}.gl-twin__stage:fullscreen .gl-eqi__parts,.gl-twin__stage.is-eqi-pseudo-fullscreen .gl-eqi__parts{top:52px!important;right:5px!important;left:5px!important;width:auto!important;height:62px!important}.gl-twin__stage:fullscreen .gl-eqi__assembly,.gl-twin__stage.is-eqi-pseudo-fullscreen .gl-eqi__assembly{top:119px!important;right:5px!important;left:5px!important;width:auto!important}.gl-twin__stage:fullscreen .gl-eqi__console,.gl-twin__stage.is-eqi-pseudo-fullscreen .gl-eqi__console{right:5px;bottom:5px;left:5px;min-height:118px}.gl-twin__stage:fullscreen .gl-eqi__part-label,.gl-twin__stage.is-eqi-pseudo-fullscreen .gl-eqi__part-label{width:100px;min-height:32px}}
@media(max-width:520px){.gl-eqi__head>div:first-child{max-width:84px}.gl-eqi__head strong{max-width:84px!important}.gl-eqi__views button{min-width:27px!important;width:auto;height:28px;padding:0 3px!important}.gl-eqi__fullscreen{width:27px!important}.gl-eqi__assembly{grid-template-columns:82px 96px minmax(60px,1fr)}.gl-eqi__assembly header b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gl-eqi__part-label{width:82px}}
@media(prefers-reduced-motion:reduce){.gl-eqi__part-label{transition:none}}

/* Persistent fullscreen control in the digital-twin header. */
.gl-twin__viewer-head>div:first-child{min-width:0}
.gl-twin__fullscreen{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:94px;height:32px;margin-inline-start:auto;padding:0 10px;border:1px solid rgba(56,201,213,.42);border-radius:8px;background:#0b3034;color:#d8eeea;font:800 .5rem/1 var(--font-display,inherit);white-space:nowrap;cursor:pointer;transition:border-color .2s,background .2s,color .2s,transform .2s}
.gl-twin__fullscreen:hover{border-color:var(--twin-accent);background:#123e42;color:#fff;transform:translateY(-1px)}
.gl-twin__fullscreen svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gl-twin__fullscreen[aria-pressed=true]{border-color:var(--twin-accent);background:var(--twin-accent);color:#062226}
@media(max-width:980px){.gl-twin__fullscreen{min-width:30px;width:30px;height:29px;margin-inline-start:auto;padding:0}.gl-twin__fullscreen span{display:none}.gl-twin__fullscreen svg{width:13px;height:13px}}

/* Fullscreen applies to the complete digital-twin cockpit, not only the WebGL stage. */
.gl-twin:fullscreen,.gl-twin.is-eqi-pseudo-fullscreen{position:fixed!important;z-index:2147483000!important;inset:0!important;display:grid!important;width:100vw!important;max-width:none!important;height:100vh!important;height:100svh!important;min-height:0!important;margin:0!important;border:0!important;border-radius:0!important;background:#081d20!important;overflow:hidden!important;grid-template-columns:clamp(210px,16vw,280px) minmax(0,1fr) clamp(240px,19vw,320px)!important;grid-template-rows:minmax(0,1fr)!important}
.gl-twin:fullscreen .gl-twin__viewer,.gl-twin.is-eqi-pseudo-fullscreen .gl-twin__viewer{height:100%!important;min-height:0!important;overflow:hidden!important}
.gl-twin:fullscreen .gl-twin__rail,.gl-twin.is-eqi-pseudo-fullscreen .gl-twin__rail{height:100%!important;min-height:0!important}
.gl-twin:fullscreen .gl-twin__stage,.gl-twin.is-eqi-pseudo-fullscreen .gl-twin__stage{position:relative!important;inset:auto!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;margin:0!important;border:0!important;border-radius:0!important}
.gl-twin:fullscreen .gl-twin__stage canvas,.gl-twin.is-eqi-pseudo-fullscreen .gl-twin__stage canvas{display:block!important;width:100%!important;height:100%!important}
.gl-twin:fullscreen .gl-eqi,.gl-twin.is-eqi-pseudo-fullscreen .gl-eqi{width:100%!important;max-width:none!important;height:100%!important}

@media(max-width:980px){
 .gl-twin:fullscreen,.gl-twin.is-eqi-pseudo-fullscreen{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:51px minmax(0,1fr)!important}
 .gl-twin:fullscreen>.gl-twin__mobile-nav,.gl-twin.is-eqi-pseudo-fullscreen>.gl-twin__mobile-nav{display:grid!important;grid-column:1!important;grid-row:1!important}
 .gl-twin:fullscreen[data-mobile-panel=viewer]>.gl-twin__viewer,.gl-twin.is-eqi-pseudo-fullscreen[data-mobile-panel=viewer]>.gl-twin__viewer{display:grid!important;grid-column:1!important;grid-row:2!important;height:100%!important;min-height:0!important;grid-template-rows:43px minmax(0,1fr) 0!important}
 .gl-twin:fullscreen.is-inspection-open .gl-twin__viewer,.gl-twin.is-eqi-pseudo-fullscreen.is-inspection-open .gl-twin__viewer{grid-template-rows:43px minmax(0,1fr) 0!important}
 .gl-twin:fullscreen .gl-twin__stage,.gl-twin.is-eqi-pseudo-fullscreen .gl-twin__stage{height:auto!important;min-height:0!important}
}
