/* Shared N-01 / N-02 / N-03 satellite station; SERAPH records remain independent. */
.eidolon-lab .ei-nest-recon{display:none}
.eidolon-lab[data-ei-nest="small"]:not(.seraph-mode) .ei-nest-recon{display:block}
.eidolon-lab[data-ei-nest="small"]:not(.seraph-mode) .ei-nest-topology{display:none}
.eidolon-lab[data-ei-nest="medium"]:not(.seraph-mode) .ei-nest-recon{display:block}
.eidolon-lab[data-ei-nest="medium"]:not(.seraph-mode) .ei-nest-topology{display:none}
.eidolon-lab[data-ei-nest="grand"]:not(.seraph-mode) .ei-nest-recon{display:block}
.eidolon-lab[data-ei-nest="grand"]:not(.seraph-mode) .ei-nest-topology{display:none}
.ei-nest-recon{
  position:relative;isolation:isolate;min-height:390px;margin-top:9px;
  border:1px solid #49606b;overflow:hidden;color:#d4e5e9;
  background:radial-gradient(ellipse at 50% 45%,#25373f 0%,#101a20 42%,#050a0e 100%)
}
.ei-nest-recon::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.37;
  background-image:linear-gradient(#61808d35 1px,transparent 1px),linear-gradient(90deg,#61808d35 1px,transparent 1px);
  background-size:28px 28px;transform:perspective(500px) rotateX(38deg) scale(1.3)
}
.ei-nest-recon::after{
  content:"";position:absolute;inset:0;z-index:6;pointer-events:none;opacity:.2;
  background:repeating-linear-gradient(0deg,#c5eaff07 0 1px,transparent 2px 6px)
}
.ei-nest-recon-view{
  position:absolute;inset:42px 0 48px;z-index:1;overflow:hidden;
  mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%)
}
.ei-nest-recon model-viewer{
  display:block;width:100%;height:100%;opacity:0;
  --poster-color:transparent;background:transparent;
  filter:contrast(1.09) saturate(.9);transition:opacity .35s,filter .35s
}
.ei-nest-recon.loaded model-viewer{opacity:1}
.ei-nest-recon[data-mode="thermal"] model-viewer{filter:contrast(1.5) saturate(2.1) brightness(1.06)}
/* Keep the real 3D structure visible throughout the scan. */
.ei-nest-recon.loaded[data-scan-phase="link"] model-viewer{opacity:.2;filter:grayscale(.85) brightness(.65)}
.ei-nest-recon.loaded[data-scan-phase="terrain"] model-viewer{opacity:.38;filter:grayscale(.7) brightness(.8)}
.ei-nest-recon.loaded[data-scan-phase="wire"] model-viewer{opacity:.65;filter:grayscale(.4)}
.ei-nest-recon.loaded[data-scan-phase="acquire"] model-viewer{opacity:.86}
.ei-nest-recon-sweep{
  position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0;
  background:linear-gradient(180deg,transparent 35%,#a8edff24 39%,#bdf9ffbe 40%,#bdf9ff1c 41%,transparent 47%)
}
.ei-nest-recon.scanning .ei-nest-recon-sweep{animation:eiNestReconSweep 1.6s ease-in-out}
@keyframes eiNestReconSweep{
  0%{opacity:0;transform:translateY(-70%)}
  15%{opacity:1}
  88%{opacity:.95}
  100%{opacity:0;transform:translateY(80%)}
}
.ei-nest-recon-reticle{
  position:absolute;z-index:3;left:50%;top:48%;width:144px;height:144px;
  transform:translate(-50%,-50%);border:1px dashed #8cbbc378;border-radius:50%;
  box-shadow:0 0 0 50px #89b7c40a,0 0 0 110px #89b7c407;pointer-events:none
}
.ei-nest-recon-reticle::before{
  content:"";position:absolute;inset:-16px;border:1px solid #90b9c636;border-radius:50%
}
.ei-nest-recon-reticle::after{
  content:"+";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  color:#c3e2ea;font-size:17px;text-shadow:0 0 14px #d5faff
}
.ei-nest-recon-head,.ei-nest-recon-foot{
  position:absolute;left:0;right:0;z-index:7;padding:10px 13px;
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  background:#050a0ecf
}
.ei-nest-recon-head{top:0;border-bottom:1px solid #718c9c6a}
.ei-nest-recon-foot{bottom:0;border-top:1px solid #718c9c6a}
.ei-nest-recon-head span,.ei-nest-recon-foot span{
  font:750 10px ui-monospace,SFMono-Regular,monospace;letter-spacing:.07em;color:#d2e7ea
}
.ei-nest-recon-head b{color:#a6c3c9;font:700 9px ui-monospace,SFMono-Regular,monospace}
.ei-nest-recon-foot b{font:800 10px ui-monospace,SFMono-Regular,monospace;color:#dfedf1}
.ei-nest-recon-meter{
  position:absolute;left:14px;right:14px;bottom:51px;height:3px;z-index:7;background:#33454b
}
.ei-nest-recon-meter i{display:block;width:0;height:100%;background:#9bd6e8;box-shadow:0 0 13px #89cae4;transition:width .25s ease}
.ei-nest-recon-tools{
  position:absolute;z-index:8;left:14px;top:56px;display:grid;gap:5px;width:110px
}
.ei-nest-recon-tools button{
  cursor:pointer;padding:8px 9px;text-align:left;color:#afc8d0;
  background:#071117e8;border:1px solid #60747b91;
  font:750 10px ui-monospace,SFMono-Regular,monospace;letter-spacing:.04em
}
.ei-nest-recon-tools button.active{background:#21333c;border-color:#a1d8eb;color:#e7faff;box-shadow:inset 2px 0 #95d7eb}
.ei-nest-recon[data-level="medium"]{min-height:420px}
.ei-nest-recon[data-level="grand"]{min-height:440px;border-color:#6d5356}
.ei-nest-recon[data-level="grand"] .ei-nest-recon-meter i{background:#d6a6aa;box-shadow:0 0 12px #d17d8566}
.ei-nest-recon-tools button:focus-visible,.ei-nest-recon-local:focus-visible{outline:2px solid #b2ebff;outline-offset:3px}
.ei-nest-recon-log{
  position:absolute;z-index:7;right:12px;top:56px;max-width:45%;
  padding:9px 11px;background:#051016d9;border-left:2px solid #a4d8e5;
  font:700 10px/1.5 ui-monospace,SFMono-Regular,monospace;color:#daeff3
}
.ei-nest-recon-fallback{
  position:absolute;z-index:8;left:50%;top:49%;
  width:min(84%,330px);transform:translate(-50%,-50%);
  padding:18px;background:#091216f2;border:1px solid #779ca9;text-align:center;
  box-shadow:0 18px 35px #0008
}
.ei-nest-recon-fallback[hidden]{display:none}
.ei-nest-recon-fallback strong,.ei-nest-recon-fallback p{display:block;margin:0 0 10px}
.ei-nest-recon-fallback strong{font-size:15px;letter-spacing:.03em}
.ei-nest-recon-fallback p{font-size:11px;line-height:1.6;color:#bdced4}
.ei-nest-recon-local{
  cursor:pointer;padding:10px 15px;border:1px solid #a4d9eb;
  background:#1b3a47;color:#f3fbff;font:700 11px ui-monospace,SFMono-Regular,monospace
}
.ei-nest-recon-legal{
  position:absolute;right:10px;bottom:60px;z-index:7;
  color:#b5c7ce;font:700 9px ui-monospace,SFMono-Regular,monospace;text-align:right;
  text-shadow:0 0 12px #000
}
@media(max-width:820px){
  .eidolon-lab .ei-nest-recon{min-height:370px}
  .ei-nest-recon-head{padding:10px}
  .ei-nest-recon-head span{font-size:9px}
  .ei-nest-recon-head b{font-size:8px}
  .ei-nest-recon-foot span{font-size:8px}
  .ei-nest-recon-foot b{font-size:9px}
  .ei-nest-recon-tools{left:9px;top:54px;width:88px}
  .ei-nest-recon-tools button{padding:7px 5px;font-size:9px}
  .ei-nest-recon-log{right:9px;top:54px;max-width:42%;font-size:9px}
  .ei-nest-recon-reticle{width:112px;height:112px}
  .ei-nest-recon-legal{bottom:64px;font-size:8px}
  .ei-nest-recon-meter{left:9px;right:9px}
  .ei-nest-recon[data-level="medium"]{min-height:390px}
  .ei-nest-recon[data-level="grand"]{min-height:410px}
}
@media(prefers-reduced-motion:reduce){
  .ei-nest-recon.scanning .ei-nest-recon-sweep{animation:none!important}
  .ei-nest-recon model-viewer,.ei-nest-recon-meter i{transition:none!important}
}
