.study-hud .equipment-row{clip-path:polygon(4% 0,96% 0,100% 13%,100% 87%,96% 100%,51.4% 100%,49.8% 94.3%,31.4% 94.3%,29.8% 100%,4% 100%,0 87%,0 13%);grid-template-columns:30% minmax(0,1fr) 35%;gap:8px;padding:17px 12px 15px;overflow:hidden}.study-hud .equipment-row:before{clip-path:inherit;background:linear-gradient(105deg,#080d13e8,#080c11e0)}.study-hud .equipment-thumbnail{aspect-ratio:auto;clip-path:polygon(8% 0,100% 0,100% 100%,8% 100%,0 87%,0 13%);pointer-events:none;background:0 0;width:42%;height:auto;position:absolute;inset:2px auto 2px 2px;-webkit-mask-image:linear-gradient(90deg,#000 40%,#0000 100%);mask-image:linear-gradient(90deg,#000 40%,#0000 100%)}.study-hud .equipment-copy{z-index:1;text-shadow:0 1px 5px #000;grid-column:2;min-width:0;position:relative}.study-hud .equipment-copy:before{content:"";background:var(--accent);width:15px;height:2px;margin-bottom:9px;display:block}.study-hud .equipment-row .equipment-copy strong{letter-spacing:.055em;margin-bottom:7px;font-size:clamp(9px,.75vw,12px)}.study-hud .equipment-row .equipment-copy>span{font-size:clamp(9px,.72vw,12px);line-height:1.45}.study-hud .equipment-schematic-detailed{opacity:1;mix-blend-mode:normal;pointer-events:none;grid-column:3;width:100%;height:clamp(78px,6.7vw,108px);display:block;position:relative}.study-hud .equipment-index{z-index:1;text-shadow:0 1px 5px #000,0 0 8px #000;font-size:11px;top:12px;left:12px}.study-hud .equipment-row:hover:before,.study-hud .equipment-row.selected:before{background:linear-gradient(105deg,#10121ae8,color-mix(in srgb,var(--accent) 10%,#080c11))}.study-hud .discovery-hint{text-align:right;letter-spacing:.12em}@media (min-width:1101px){.study-hud .equipment-panel.tactical-panel{width:29.5%;max-width:500px}}@media (max-width:1100px){.study-hud .equipment-row{gap:7px;min-height:132px;padding:16px 10px}.study-hud .equipment-schematic-detailed{height:96px}.study-hud .equipment-row .equipment-copy strong,.study-hud .equipment-row .equipment-copy>span{font-size:10px}}
.equipment-coachmark-slot,.coachmark-target{display:none}@media (max-width:1100px){.equipment-discovery{position:relative}.equipment-coachmark-slot{z-index:5;pointer-events:none;width:min(248px,100% - 16px);display:block;position:absolute;bottom:calc(100% - 8px);right:8px}.equipment-coachmark-clip{overflow:visible}.equipment-coachmark{isolation:isolate;opacity:0;visibility:hidden;pointer-events:none;width:100%;min-height:84px;padding:11px 29px 21px 43px;transition:opacity .2s,transform .35s cubic-bezier(.16,1,.3,1),visibility .2s;position:relative;transform:translateY(5px)}.equipment-coachmark[data-visible=true]{opacity:1;visibility:visible;pointer-events:auto;transform:none}.coachmark-frame{z-index:-1;filter:drop-shadow(0 3px 7px #0008);pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.coachmark-frame path{vector-effect:non-scaling-stroke}.coachmark-surface{fill:#101019fa;stroke:none}.coachmark-outline{stroke:var(--accent);stroke-width:1.4px}.coachmark-inset{stroke:var(--accent);opacity:.16;stroke-width:.7px}.coachmark-corners{stroke:var(--accent);stroke-width:2.4px}.equipment-coachmark[data-visible=true] .coachmark-outline{stroke-dasharray:100;animation:.65s ease-out both coachmark-frame-enter}.coachmark-icon{width:25px;height:25px;color:var(--accent);stroke:currentColor;stroke-width:1.3px;position:absolute;top:16px;left:10px}.coachmark-icon circle:first-child{opacity:.65}.coachmark-icon .coachmark-pointer{fill:currentColor;stroke:#101019;stroke-width:1.5px}.coachmark-copy{text-align:left;position:relative}.coachmark-title{letter-spacing:.12em;color:#e4daf8;margin:0 0 4px;font:600 9px/1.5 Orbitron,sans-serif}.coachmark-description{color:#c1bdce;letter-spacing:.01em;margin:0;font-size:11px;font-weight:400;line-height:1.45}.coachmark-close{color:#d9d5e5;cursor:pointer;touch-action:manipulation;background:0 0;border:0;place-items:center;width:32px;height:32px;padding:0;transition:color .15s;display:grid;position:absolute;top:5px;right:5px}.coachmark-close:hover{color:var(--accent)}.coachmark-close:focus-visible{outline:1px solid var(--accent);outline-offset:-5px}.equipment-discovery[data-coachmark-visible=true] .equipment-row:first-child .card-corners{stroke:var(--accent);stroke-width:2px;animation:1.6s ease-in-out 2 coachmark-card-pulse}.equipment-discovery[data-coachmark-visible=true] .equipment-row:first-child .card-frame>path:first-child{stroke:var(--accent);opacity:.85}.equipment-discovery[data-coachmark-visible=true] .coachmark-target{width:18px;height:18px;color:var(--accent);z-index:2;pointer-events:none;animation:.5s ease-out both coachmark-target-enter;display:block;position:absolute;top:9px;left:30px}@keyframes coachmark-frame-enter{0%{stroke-dashoffset:100px;opacity:0}to{stroke-dashoffset:0;opacity:1}}@keyframes coachmark-card-pulse{0%,to{opacity:.6}50%{opacity:1;filter:drop-shadow(0 0 3px var(--accent))}}@keyframes coachmark-target-enter{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}}@media (prefers-reduced-motion:reduce){.equipment-coachmark-slot,.equipment-coachmark{transition:none}.equipment-coachmark{transform:none}.equipment-coachmark *,.equipment-discovery .coachmark-target,.equipment-discovery .card-corners{animation:none!important}}
.signal-loader{z-index:100;color:#e7dcef;isolation:isolate;opacity:1;background:#050609;transition:opacity .55s;position:fixed;inset:0;overflow:hidden}.signal-loader[data-exiting=true]{opacity:0;pointer-events:none}.signal-loader-ambient{pointer-events:none;background:radial-gradient(38% 36% at 50% 48%,#3c1b6114,#0000 75%);position:absolute;inset:0}.signal-loader-artwork{aspect-ratio:1240/300;contain:layout paint;pointer-events:none;width:min(64.584vw,1240px);position:absolute;top:49%;left:50%;transform:translate(-50%,-50%)}.signal-loader-artwork svg{width:100%;height:100%;display:block}.signal-loader-fallback{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.signal-loader-fallback img{width:52%;height:auto;transform:translateY(-1%)}.signal-loader-error-panel{text-align:center;width:330px;max-width:85%;position:absolute;top:66%;left:50%;transform:translate(-50%)}.signal-loader-error-panel p{letter-spacing:.02em;color:#b6a7c6;margin:0 0 14px;font-size:12px;line-height:1.7}.signal-loader-error-panel button{color:#e0cbf8;letter-spacing:.12em;cursor:pointer;background:#1b1226;border:1px solid #a77ad16b;padding:11px 18px;font-size:10px}.signal-loader-error-panel button:focus-visible{outline-offset:4px;outline:2px solid #b482f6}.showcase-world{min-height:inherit;opacity:1;width:100%;height:100%;transition:opacity .55s ease-out;position:relative}.showcase[data-booting=true]{height:100svh;overflow:hidden}.showcase[data-booting=true] .showcase-world{opacity:0;pointer-events:none}.showcase[data-booting=true] .hud-panels *{animation-play-state:paused!important}.showcase .scene-canvas{transition:opacity .32s ease-out}.showcase[data-unit-loading=true] .scene-canvas{opacity:0;pointer-events:none}.unit-loading{text-align:center;pointer-events:none;place-content:center;display:grid;position:absolute;inset:0}.unit-loading-reticle{border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);width:68px;height:68px;margin:0 auto 22px;position:relative;overflow:hidden}.unit-loading-reticle:before{content:"";background:var(--accent);height:1px;box-shadow:0 -8px color-mix(in srgb,var(--accent) 15%,transparent),0 8px color-mix(in srgb,var(--accent) 15%,transparent);position:absolute;top:33px;left:15px;right:15px}.unit-loading-reticle:after{content:"";background:linear-gradient(0deg,transparent,color-mix(in srgb,var(--accent) 20%,transparent),transparent);animation:2s ease-in-out infinite unit-scan;position:absolute;inset:0;transform:translateY(-100%)}.unit-loading>p{letter-spacing:.2em;color:var(--accent);margin:0 0 15px;font-size:9px}.unit-loading progress{width:180px;height:2px;accent-color:var(--accent);margin:auto}.asset-state .asset-message{align-self:center}.asset-state .asset-message span{color:#cfc3db}@keyframes unit-scan{to{transform:translateY(100%)}}@media (max-width:1100px){.showcase{padding-bottom:0}.showcase-world{height:auto;padding-bottom:85px}.signal-loader-artwork{width:80vw}.signal-loader-fallback img{width:65%}}@media (prefers-reduced-motion:reduce){.signal-loader,.showcase-world,.showcase .scene-canvas{transition-duration:60ms}.unit-loading-reticle:after{animation:none;transform:none}}
.scene-backdrop-current.is-transitioning{opacity:0;transition:opacity .46s ease-in-out}.scene-backdrop-current.is-transitioning[data-ready=true]{opacity:1}.model-presentation{z-index:1;opacity:1;position:absolute;inset:0}.model-presentation[inert]{pointer-events:none}.showcase .scene-canvas{transition:none}.showcase[data-transition=acquiring] .model-presentation{opacity:0;visibility:hidden}.showcase[data-transition=exiting] .model-presentation{animation:.22s cubic-bezier(.4,0,.8,1) both signal-model-release}.showcase[data-transition=arriving] .model-presentation{animation:.82s cubic-bezier(.2,.55,.35,1) both signal-model-arrive}.signal-scan-field{z-index:2;pointer-events:none;opacity:0;color:var(--accent);position:absolute;inset:0 29%;overflow:hidden}.signal-scan-field[data-phase=exiting],.signal-scan-field[data-phase=arriving]{opacity:1}.signal-scan-band{opacity:0;position:absolute;inset:0}.signal-scan-band:before{content:"";background:currentColor;height:1px;position:absolute;top:14%;left:7%;right:7%;box-shadow:0 0 6px}.signal-scan-band>span{background:linear-gradient(transparent,color-mix(in srgb,var(--accent) 18%,transparent),transparent);height:25px;position:absolute;top:calc(14% - 12px);left:7%;right:7%}.signal-scan-band>i,.signal-scan-band>b{background:currentColor;width:5px;height:7px;position:absolute;top:calc(14% - 3px)}.signal-scan-band>i{left:5%}.signal-scan-band>b{right:5%}.signal-scan-field[data-phase=exiting] .signal-scan-band{animation:.22s ease-in both signal-scan-release}.signal-scan-field[data-phase=arriving] .signal-scan-band{animation:.82s cubic-bezier(.2,.55,.35,1) both signal-scan-arrive}.signal-scan-guide{opacity:0;border-top:1px solid;border-bottom:1px solid;width:9px;position:absolute;top:17%;bottom:12%}.signal-scan-guide-left{border-left:1px solid;left:4%}.signal-scan-guide-right{border-right:1px solid;right:4%}.signal-scan-field[data-phase=arriving] .signal-scan-guide{animation:.9s ease-out both signal-registration}.signal-acquisition{z-index:3;text-align:center;width:min(300px,44vw);color:var(--accent);pointer-events:none;animation:.18s .14s both signal-acquisition-enter;position:absolute;top:49%;left:50%;transform:translate(-50%,-50%)}.acquisition-reticle{stroke:currentColor;stroke-width:1.25px;width:clamp(112px,12vw,164px);margin:0 auto 18px;display:block;overflow:visible}.acquisition-brackets{opacity:.65;stroke-width:1.6px}.acquisition-ticks{opacity:.24;stroke-width:3px}.acquisition-arc{transform-origin:80px 80px}.acquisition-arc-one{stroke-width:1.6px;animation:4s linear infinite signal-orbit}.acquisition-arc-two{opacity:.4;animation:6s linear infinite reverse signal-orbit}.acquisition-arc-three{opacity:.7;animation:9s linear infinite signal-orbit}.acquisition-core{transform-origin:80px 80px;animation:2.4s ease-in-out infinite signal-core}.acquisition-label{letter-spacing:.2em;margin:0 0 12px;font:500 9px/1.5 Orbitron,sans-serif}.acquisition-track{background:#ffffff15;width:116px;height:2px;margin:0 auto;display:block;position:relative;overflow:hidden}.acquisition-track>i{background:currentColor;width:40%;height:100%;animation:1.7s ease-in-out infinite signal-track;display:block}.acquisition-recovery{color:#d7d2e0;pointer-events:auto;background:#080a10eb;border:1px solid #ffffff25;max-width:270px;margin:20px auto 0;padding:14px}.acquisition-recovery p{margin:0 0 12px;font-size:11px;line-height:1.6}.acquisition-recovery button{border:1px solid var(--accent);color:var(--accent);letter-spacing:.12em;cursor:pointer;background:#111019;padding:10px 14px;font-size:9px}.showcase .tactical-panel{transition:opacity .2s ease-out,transform .2s ease-out}.showcase[data-transition=exiting] .tactical-panel{opacity:0;transform:translateY(-5px)}.showcase[data-transition=acquiring] .hud-panels *{animation:none!important}.showcase[data-transition=acquiring] .identity-main>:not(.identity-frame),.showcase[data-transition=acquiring] .combat-profile>:not(.profile-frame),.showcase[data-transition=acquiring] .protocol-header>*,.showcase[data-transition=acquiring] .equipment-row>:not(.card-frame),.showcase[data-transition=acquiring] .discovery-hint{opacity:0;visibility:hidden}.showcase[data-transition=acquiring] .tactical-panel{opacity:.32}.showcase[data-transition=acquiring] .hud-decoration,.showcase[data-transition=acquiring] .card-frame{opacity:.6}.showcase[data-transition=acquiring] .identity-main{min-height:320px}.showcase[data-transition=acquiring] .combat-profile{min-height:215px}.showcase[data-transition=acquiring] .protocol-header{min-height:180px}.showcase .roster-card.active{border-color:var(--roster-accent,var(--accent));box-shadow:inset 0 -2px var(--roster-accent,var(--accent)),0 0 14px color-mix(in srgb,var(--roster-accent,var(--accent)) 12%,transparent)}.showcase .roster-card.active .roster-index{color:var(--roster-accent,var(--accent))}.showcase .roster-card:hover{border-color:var(--roster-accent,var(--accent))}.showcase[data-motion-paused=true] .model-presentation,.showcase[data-motion-paused=true] .signal-scan-field *,.showcase[data-motion-paused=true] .signal-acquisition,.showcase[data-motion-paused=true] .signal-acquisition *,.showcase[data-motion-paused=true] .hud-panels *{animation-play-state:paused!important}@keyframes signal-model-release{0%{opacity:1;clip-path:inset(0)}to{opacity:0;clip-path:inset(92% 0 0)}}@keyframes signal-model-arrive{0%{opacity:.15;clip-path:inset(0 0 86%)}16%{opacity:1}to{opacity:1;clip-path:inset(0)}}@keyframes signal-scan-release{0%{opacity:0;transform:translateY(0)}18%{opacity:.8}85%{opacity:.6}to{opacity:0;transform:translateY(80%)}}@keyframes signal-scan-arrive{0%{opacity:0;transform:translateY(0)}10%{opacity:.85}84%{opacity:.65}to{opacity:0;transform:translateY(80%)}}@keyframes signal-registration{0%,to{opacity:0}22%,68%{opacity:.3}}@keyframes signal-acquisition-enter{0%{opacity:0}to{opacity:1}}@keyframes signal-orbit{to{transform:rotate(360deg)}}@keyframes signal-core{0%,to{opacity:.55}50%{opacity:1}}@keyframes signal-track{0%{transform:translate(-110%)}to{transform:translate(350%)}}@media (max-width:1100px){.signal-scan-field{left:5%;right:5%}.signal-acquisition{width:min(280px,85vw);top:46%}.acquisition-reticle{width:126px}.showcase[data-transition=acquiring] .identity-main{min-height:0}}@media (prefers-reduced-motion:reduce){.showcase[data-transition=exiting] .model-presentation{animation:.1s both signal-simple-out}.showcase[data-transition=arriving] .model-presentation{animation:.1s both signal-simple-in}.signal-scan-field{display:none}.signal-acquisition,.signal-acquisition *{animation:none!important}.scene-backdrop-current.is-transitioning,.showcase .tactical-panel{transition-duration:.1s}}@keyframes signal-simple-out{to{opacity:0}}@keyframes signal-simple-in{0%{opacity:0}to{opacity:1}}
.mobile-roster-trigger,.mobile-roster-dialog{display:none}.roster-portraits{gap:10px;display:flex;position:relative}@media (min-width:1101px){.showcase .roster{bottom:2%}.showcase .roster-card{width:clamp(110px,10.5vw,165px)}}@media (max-width:1100px){.showcase{overflow-anchor:none}.showcase .roster{margin:555px 10px 0;scroll-margin-top:16px}.showcase .identity-panel.tactical-panel{margin-top:28px}.showcase .roster-arrow{opacity:.8;flex:none;place-items:center;width:28px;min-height:44px;display:grid}.roster-portraits{scrollbar-width:none;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;flex:1;gap:8px;min-width:0;margin:-6px;padding:6px;overflow-x:auto}.roster-portraits::-webkit-scrollbar{display:none}.showcase .roster-portraits>.roster-card{scroll-snap-align:center;flex:0 0 clamp(96px,25vw,160px);width:auto;min-width:0}.showcase .roster-card strong{letter-spacing:.08em;font-size:7px;line-height:1.4}.showcase .rotation-hint{letter-spacing:.15em;justify-content:center;gap:10px;font-size:9px;top:565px;left:0;right:0}.rotation-gesture{color:var(--accent);align-items:center;gap:3px;display:flex}.rotation-copy{gap:5px;display:grid}.rotation-copy small{letter-spacing:.08em;color:#a6adbd;font-size:8px}.mobile-roster-trigger:not([hidden]){z-index:8;bottom:calc(18px + env(safe-area-inset-bottom));border:1px solid var(--accent);min-height:46px;color:var(--accent);letter-spacing:.14em;cursor:pointer;background:#0a0e16f5;border-radius:24px;align-items:center;gap:10px;padding:0 20px;font-size:10px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 5px 22px #0009}.mobile-roster-dialog[open]{width:100%;max-width:none;height:100%;max-height:none;color:var(--text-primary);background:0 0;border:0;align-items:end;margin:0;padding:0;display:grid;position:fixed;inset:0}.mobile-roster-dialog::backdrop{background:#03050bb8}.mobile-roster-sheet{border-top:1px solid var(--accent);width:100%;max-height:85svh;padding:10px 18px calc(22px + env(safe-area-inset-bottom));background:linear-gradient(150deg,#141923,#080b12);border-radius:20px 20px 0 0;animation:.24s ease-out both roster-sheet-enter;overflow:auto;box-shadow:0 -12px 50px #0008}.sheet-grip{background:#8090a15c;border-radius:3px;width:34px;height:3px;margin:0 auto 22px;display:block}.mobile-roster-sheet header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;display:flex}.sheet-eyebrow{color:var(--accent);letter-spacing:.17em;font-size:8px}.mobile-roster-sheet h2{letter-spacing:.04em;margin:7px 0 0;font:600 16px Orbitron,sans-serif}.sheet-close{cursor:pointer;background:#ffffff05;border:1px solid #ffffff25;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.sheet-portraits{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.showcase .sheet-portraits .roster-card{width:100%;height:125px}.mobile-roster-sheet p{color:#9ba7ba;text-align:center;margin:17px 0 0;font-size:11px}.showcase-world{padding-bottom:110px}}@keyframes roster-sheet-enter{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.mobile-roster-sheet{animation:none}}
