/* Ad Nullum / traffic simulator overlay */
#atlas-traffic{display:none}
body:not(.traffic-visible) #atlas-sim-traffic,
body:not(.traffic-visible) #atlas-sim-events,
body:not(.traffic-visible) #atlas-active-traffic-route{display:none}
#atlas-sim-traffic,#atlas-sim-events{pointer-events:none}
.sim-vessel.sim-interactive{pointer-events:auto;cursor:pointer;outline:none}
.sim-vessel{transform-box:fill-box;transform-origin:center}
.sim-vessel.is-focused{filter:drop-shadow(0 0 3px rgba(126,208,215,.62))}
.sim-active-route{fill:none;stroke:#86a8a4;stroke-width:.7;stroke-dasharray:2 4;opacity:.48;pointer-events:none}
.sim-route-diagnostics{pointer-events:none}
.sim-route-future-halo,.sim-route-phase,.sim-route-gravity{fill:none;pointer-events:none;vector-effect:non-scaling-stroke}
.sim-route-future-halo{stroke:#8bc8c1;stroke-width:3.2;opacity:.11}
.sim-route-phase{stroke-linecap:round;stroke-linejoin:round}
.sim-route-phase-accel{stroke:#8fd8d2;stroke-width:1.45;opacity:.96}
.sim-route-phase-coast{stroke:#b9cbc5;stroke-width:1.15;stroke-dasharray:5 2.5;opacity:.82}
.sim-route-phase-brake{stroke:#d4a076;stroke-width:1.5;opacity:.97}
.sim-route-phase-maneuver{stroke:#b6a6cf;stroke-width:1.3;stroke-dasharray:2.4 1.8;opacity:.9}
.sim-route-gravity{stroke-width:.78;stroke-linecap:round;opacity:.82}
.sim-route-gravity-assist{stroke:#82c49d}
.sim-route-gravity-drag{stroke:#d0a06f}
.sim-route-event{pointer-events:none}
.sim-route-event-dot,.sim-route-event-ring{fill:#071719;stroke:#c4d3cb;stroke-width:.7;vector-effect:non-scaling-stroke}
.sim-route-event-origin .sim-route-event-dot{fill:#86a8a4;stroke:#d5dfd8;opacity:.72}
.sim-route-event-brake .sim-route-event-dot{stroke:#d4a076}
.sim-route-event-flip .sim-route-event-dot,.sim-route-event-periapsis .sim-route-event-dot{stroke:#b6a6cf}
.sim-route-event-arrival .sim-route-event-ring{fill:none;stroke:#d9c08d;stroke-width:1}
.sim-route-event-label{fill:#d7ddd6;font-size:9px;letter-spacing:.08em;text-transform:uppercase;paint-order:stroke;stroke:#071315;stroke-width:2.4px;stroke-linejoin:round}
.sim-plume-glow,.sim-plume-core{fill:none;stroke-linecap:round;pointer-events:none}
.sim-plume-glow{stroke:#71d9e7;stroke-width:3.1;filter:url(#ship-glow)}
.sim-plume-core{stroke:#d9fbff;stroke-width:.85}

/* Traffic is opt-in. This replaces the old orbital pause control. */
.traffic-toggle{display:flex;align-items:center;gap:8px;color:#899b91;font-size:9px;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;padding:4px 0}
.traffic-toggle:hover{color:var(--paper)}
.traffic-toggle-dot{width:7px;height:7px;border:1px solid #7d9188;border-radius:50%;display:block;box-shadow:0 0 0 0 rgba(116,204,211,0);transition:background .18s,border-color .18s,box-shadow .18s}
.traffic-toggle[aria-pressed=true]{color:#b5c7bd}
.traffic-toggle[aria-pressed=true] .traffic-toggle-dot{background:#7cc4ca;border-color:#a9dde0;box-shadow:0 0 7px rgba(116,204,211,.52)}

/* Corridor-Max — silhouette derived from the recovered freighter geometry. */
.corridor-body{fill:#16282b;stroke:#9bc9c9;stroke-width:.8}
.corridor-radials{fill:none;stroke:#91bcbf;stroke-width:.8;stroke-linecap:round;stroke-linejoin:round}
.corridor-module{fill:#335c60;stroke:#8cb4b3;stroke-width:.35}
.corridor-drive{fill:#75c9d0;stroke:#d1f6f8;stroke-width:.45}
.sim-corridor-max:hover .corridor-body,.sim-corridor-max:focus-visible .corridor-body,.sim-corridor-max.is-focused .corridor-body{stroke:#d0efec;fill:#1d3437}

/* Automated freight train */
.cargo-tug-body{fill:#22383a;stroke:#8fb5b0;stroke-width:.75}
.cargo-tug-radiator{fill:none;stroke:#839e99;stroke-width:.65}
.cargo-tug-drive{fill:#7bc4c9;stroke:#cff4f4;stroke-width:.35}
.cargo-pod{stroke-width:.38;transition:opacity .15s}
.cargo-pod.is-loaded{fill:#7c8e83;stroke:#bbc2aa;opacity:.83}
.cargo-pod.is-empty{fill:none;stroke:#758882;opacity:.42;stroke-dasharray:.7 .7}
.sim-cargo-train:hover .cargo-tug-body,.sim-cargo-train:focus-visible .cargo-tug-body,.sim-cargo-train.is-focused .cargo-tug-body{stroke:#d6e4d9}

/* Belt local craft */
.sim-smallcraft{pointer-events:none;opacity:.48}
.smallcraft-body{fill:#9bb1a8}
.sim-smallcraft.variant-1{opacity:.38}
.sim-smallcraft.variant-2{opacity:.57}

/* Patrol group */
.patrol-ship{fill:#b5c7c1;stroke:#d4ded7;stroke-width:.28}
.sim-patrol-group:hover .patrol-ship,.sim-patrol-group:focus-visible .patrol-ship,.sim-patrol-group.is-focused .patrol-ship{fill:#d4e4df}
.patrol-plume.sim-plume-glow{stroke:#8de7f5}

/* Distress event */
.distress-ring{fill:none;stroke:#d3a578;stroke-width:.8;stroke-dasharray:2 2;transform-origin:center;animation:distressPulse 1.35s ease-in-out infinite}
.distress-core{fill:#ddad78}
.distress-cross{fill:none;stroke:#c79c73;stroke-width:.55;opacity:.85}
.distress-label{fill:#d7ad80;font-size:6px;letter-spacing:1.05px}
@keyframes distressPulse{0%,100%{transform:scale(.82);opacity:.38}50%{transform:scale(1.18);opacity:.95}}

/* Focus telemetry. Deliberately large enough to read as a proper inspection panel. */
.ship-inspector{position:absolute;right:14px;top:14px;width:min(545px,66%);max-height:min(600px,82vh);z-index:4;display:grid;grid-template-columns:142px 1fr;gap:0;background:linear-gradient(92deg,rgba(4,12,14,.985),rgba(7,17,19,.945));border-left:1px solid rgba(126,180,177,.55);border-top:1px solid rgba(126,180,177,.2);box-shadow:-24px 24px 70px rgba(0,0,0,.4);backdrop-filter:blur(7px);overflow:hidden}
.ship-inspector[hidden]{display:none}
.ship-inspector::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0 98%,rgba(183,160,120,.15) 98% 98.6%,transparent 98.6%),repeating-linear-gradient(0deg,transparent 0 29px,rgba(117,175,169,.024) 29px 30px)}
.ship-inspector-close{position:absolute;right:8px;top:7px;z-index:5;width:32px;height:32px;color:#8ba198;font-size:25px;line-height:1}
.ship-inspector-close:hover{color:#e1c99c}
.ship-inspector-art{position:relative;min-height:210px;overflow:hidden;opacity:.94;border-right:1px solid rgba(126,180,177,.09);background:linear-gradient(180deg,rgba(105,166,163,.035),transparent 75%)}
.ship-inspector-art[hidden]{display:none}
.ship-inspector-art img{position:absolute;inset:78px auto auto 50%;width:176px;height:106px;object-fit:contain;transform:translate(-50%,-50%);filter:saturate(.78) brightness(.93);mix-blend-mode:screen}
.ship-inspector-copy{position:relative;z-index:2;padding:24px 30px 26px 22px;min-width:0;min-height:0;max-height:min(600px,82vh);overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(126,180,177,.28) transparent}
.ship-inspector-art[hidden]+.ship-inspector-copy{grid-column:1/-1;padding-left:27px}
.ship-inspector-class{margin:0 0 6px;color:#819d94;font-size:11px;letter-spacing:.17em;text-transform:uppercase}
.ship-inspector-name{display:block;color:#e0e2d6;font-size:17px;font-weight:500;letter-spacing:.075em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:26px}
.ship-inspector-route{margin:8px 0 14px;color:#d0b17c;font-size:11px;letter-spacing:.09em;line-height:1.45;text-transform:uppercase}
.ship-inspector-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0 0 18px;background:rgba(111,157,153,.12);border:1px solid rgba(126,180,177,.13)}
.ship-inspector-stat{min-width:0;padding:9px 9px 8px;background:rgba(7,18,20,.86)}
.ship-inspector-stat span{display:block;color:#6f8980;font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:4px}
.ship-inspector-stat b{display:block;color:#d1ddd5;font-size:12px;font-weight:500;letter-spacing:.055em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ship-inspector-sections{display:grid;gap:15px}
.ship-inspector-section{position:relative;padding:0 0 0 12px}
.ship-inspector-section::before{content:'';position:absolute;left:0;top:3px;bottom:1px;width:1px;background:linear-gradient(180deg,rgba(133,191,187,.52),rgba(133,191,187,.08))}
.ship-inspector-section-commercial::before{background:linear-gradient(180deg,rgba(202,169,111,.62),rgba(202,169,111,.08))}
.ship-inspector-section-mission::before,.ship-inspector-section-contact::before{background:linear-gradient(180deg,rgba(192,131,116,.65),rgba(192,131,116,.08))}
.ship-inspector-section-title{margin:0 0 8px;color:#9fb8ae;font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}
.ship-inspector-section-commercial .ship-inspector-section-title{color:#c3a875}
.ship-inspector-section-mission .ship-inspector-section-title,.ship-inspector-section-contact .ship-inspector-section-title{color:#bd9185}
.ship-inspector-grid{display:grid;grid-template-columns:minmax(112px,.8fr) minmax(0,1.2fr);gap:5px 16px;align-items:baseline}
.ship-inspector-grid span{color:#789087;font-size:11px;letter-spacing:.105em;text-transform:uppercase}
.ship-inspector-grid b{color:#c7d4cc;font-size:12px;font-weight:400;letter-spacing:.045em;text-align:right;line-height:1.35}
@media(max-width:900px){
  .traffic-toggle{font-size:8px}
  .ship-inspector{width:min(500px,76%);grid-template-columns:118px 1fr;right:9px;top:9px;max-height:84vh}
  .ship-inspector-art{min-height:190px}
  .ship-inspector-art img{width:148px;height:90px;inset:70px auto auto 50%}
  .ship-inspector-copy{padding:21px 24px 23px 18px}
  .ship-inspector-art[hidden]+.ship-inspector-copy{padding:22px 25px}
  .ship-inspector-class{font-size:11px}
  .ship-inspector-name{font-size:15px}
  .ship-inspector-route{font-size:10px;margin-bottom:12px}
  .ship-inspector-summary{margin-bottom:15px}
  .ship-inspector-grid span{font-size:10.5px}.ship-inspector-grid b{font-size:11.5px}
}
@media(max-width:650px){
  .ship-inspector{width:min(410px,92vw);max-width:none;grid-template-columns:1fr;right:7px;top:7px;max-height:86vh}
  .ship-inspector-art{display:none}
  .ship-inspector-copy,.ship-inspector-art[hidden]+.ship-inspector-copy{grid-column:1;padding:19px 21px 21px}
  .ship-inspector-class{font-size:10.5px}.ship-inspector-name{font-size:14px}.ship-inspector-route{font-size:10.5px}
  .ship-inspector-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:14px}
  .ship-inspector-stat span{font-size:10px}.ship-inspector-stat b{font-size:11.5px}
  .ship-inspector-sections{gap:13px}
  .ship-inspector-grid{grid-template-columns:minmax(100px,.8fr) minmax(0,1.2fr);gap:5px 11px}
  .ship-inspector-grid span{font-size:10px}.ship-inspector-grid b{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.distress-ring{animation:none}}
