/* V4 additions: a distant station, a fuller skirmish and arrivals from the right. */
.tiix-solar .solar-v4-layer {
  position:absolute; inset:0; width:100%; height:100%; overflow:hidden;
  pointer-events:none; fill:none; contain:layout style; isolation:isolate;
}
.tiix-solar .solar-station-field-v4 { z-index:0; }
.tiix-solar .solar-battle-v4 { z-index:2; }
.tiix-solar .solar-arrivals-v4 { z-index:2; }
.tiix-solar .solar-v4-mobile { display:none; }
.tiix-solar .solar-station-v4 {
  opacity:.73; transform-box:fill-box; transform-origin:center;
  animation:solar-station-drift-v4 46s ease-in-out infinite;
}
.tiix-solar .solar-station-image-v4 { opacity:1; }
.tiix-solar .solar-station-rim-v4 {
  fill:none; stroke:#87d7ea; stroke-width:.7; stroke-dasharray:1 7;
  opacity:.19; vector-effect:non-scaling-stroke;
}
/* Supersede the three older isolated shots with a single coherent battle layer. */
.tiix-solar .solar-local-shot, .tiix-solar .solar-laser { display:none; }
.tiix-solar .solar-bolt-v4 {
  stroke:var(--bolt-color,#9ceaff); stroke-width:var(--bolt-width,1.25);
  stroke-linecap:round; stroke-dasharray:var(--bolt-length,21) 160;
  stroke-dashoffset:18; opacity:0; fill:none;
  vector-effect:non-scaling-stroke;
  animation:solar-bolt-sweep-v4 var(--bolt-cycle,3.3s) linear var(--bolt-delay,0s) infinite;
}
.tiix-solar .solar-battle-hit-v4 {
  opacity:0; transform-origin:center; transform-box:fill-box;
  animation:solar-battle-hit-v4 var(--hit-cycle,4.4s) ease-out var(--hit-delay,-1s) infinite;
}
.tiix-solar .solar-arrival-craft-v4 {
  --arrival-rest:0%; --arrival-cycle:24s; --arrival-delay:0s;
  offset-path:var(--arrival-route); offset-distance:var(--arrival-rest); offset-rotate:auto;
  offset-anchor:0px 0px; transform-box:view-box; transform-origin:0 0;
  opacity:0;
  animation:solar-arrival-flight-v4 var(--arrival-cycle) linear var(--arrival-delay) infinite;
}
.tiix-solar .solar-arrival-model-v4 {
  transform-box:fill-box; transform-origin:center;
  animation:solar-arrival-depth-v4 var(--arrival-cycle) ease-in-out var(--arrival-delay) infinite;
}
.tiix-solar .arrival-one-v4 {
  --arrival-route:path("M1110 112 C1005 120 910 250 634 235 S285 150 170 185");
  --arrival-cycle:24s; --arrival-delay:-3s;
}
.tiix-solar .arrival-two-v4 {
  --arrival-route:path("M1100 145 C940 112 785 305 510 312 S300 180 265 85");
  --arrival-cycle:27s; --arrival-delay:-13s; --ship-accent:#ff7fae;
}
.tiix-solar .arrival-three-v4 {
  --arrival-route:path("M1110 29 C1030 38 918 28 825 30");
  --arrival-cycle:20s; --arrival-delay:-7s;
}
.tiix-solar .arrival-four-v4 {
  --arrival-route:path("M1110 200 C1014 274 875 325 765 279");
  --arrival-cycle:26s; --arrival-delay:-20s;
}
.tiix-solar .arrival-five-v4 {
  --arrival-route:path("M1110 218 C970 243 787 98 600 140");
  --arrival-cycle:23s; --arrival-delay:-17s; --ship-accent:#ff7fae;
}
@keyframes solar-station-drift-v4 {
  0%,100% { translate:0 0; rotate:-2deg; }
  50% { translate:2px -3px; rotate:0deg; }
}
/* Three independently phased sets keep a few local bolts alive at once. */
@keyframes solar-bolt-sweep-v4 {
  0% { opacity:0; stroke-dashoffset:18; }
  3% { opacity:.92; stroke-dashoffset:4; }
  21% { opacity:.86; stroke-dashoffset:-91; }
  25%,100% { opacity:0; stroke-dashoffset:-120; }
}
@keyframes solar-battle-hit-v4 {
  0%,21%,39%,100% { opacity:0; scale:.3; }
  27% { opacity:.35; scale:.8; }
  38% { opacity:0; scale:1.1; }
}
/* The first part reads as distant traffic; the model approaches, banks, then leaves. */
@keyframes solar-arrival-flight-v4 {
  0% { offset-distance:0%; opacity:0; }
  9% { opacity:.16; }
  25% { opacity:.64; }
  52% { opacity:.95; }
  78% { opacity:.64; }
  91%,100% { offset-distance:100%; opacity:0; }
}
@keyframes solar-arrival-depth-v4 {
  0% { transform:scale(.13) rotate(-5deg) skewY(5deg); }
  17% { transform:scale(.32) rotate(-2deg) skewY(3deg); }
  54% { transform:scale(1.04) rotate(5deg) skewY(-5deg); }
  81% { transform:scale(.76) rotate(-3deg) skewY(3deg); }
  100% { transform:scale(.16) rotate(-5deg) skewY(4deg); }
}
@media (min-width:761px) {
  .tiix-solar .solar-v4-mobile * { animation:none!important; }
}
@media (max-width:760px) {
  .tiix-solar .solar-v4-desktop { display:none; }
  .tiix-solar .solar-v4-desktop * { animation:none!important; }
  .tiix-solar .solar-v4-mobile { display:block; }
  .tiix-solar .solar-station-v4 { opacity:.69; }
  .tiix-solar .solar-bolt-v4 {
    stroke-width:var(--bolt-width,1.1); stroke-dasharray:var(--bolt-length,22) 160;
    animation-name:solar-bolt-sweep-mobile-v4;
  }
  .tiix-solar .arrival-one-v4 {
    --arrival-route:path("M358 150 C300 158 302 279 185 304 S78 248 67 250");
    --arrival-cycle:26s; --arrival-delay:-4s;
  }
  .tiix-solar .arrival-two-v4 {
    --arrival-route:path("M358 95 C280 60 130 101 75 65");
    --arrival-cycle:23s; --arrival-delay:-13s;
  }
  .tiix-solar .arrival-three-v4 {
    --arrival-route:path("M358 210 C300 235 260 308 185 320");
    --arrival-cycle:28s; --arrival-delay:-21s;
  }
  .tiix-solar .solar-arrival-model-v4 { animation-name:solar-arrival-depth-mobile-v4; }
}
@keyframes solar-bolt-sweep-mobile-v4 {
  0% { opacity:0; stroke-dashoffset:18; }
  4% { opacity:.9; stroke-dashoffset:4; }
  28% { opacity:.82; stroke-dashoffset:-91; }
  33.333%,100% { opacity:0; stroke-dashoffset:-120; }
}
@keyframes solar-arrival-depth-mobile-v4 {
  0% { transform:scale(.16) rotate(-4deg) skewY(4deg); }
  20% { transform:scale(.36) rotate(-1deg) skewY(2deg); }
  56% { transform:scale(.9) rotate(4deg) skewY(-4deg); }
  81% { transform:scale(.65) rotate(-2deg) skewY(2deg); }
  100% { transform:scale(.13) rotate(-4deg) skewY(4deg); }
}
.tiix-solar.solar-ready:not(.solar-in-view) .solar-v4-layer * { animation-play-state:paused!important; }
.motion-paused .tiix-solar .solar-v4-layer * { animation-play-state:paused!important; }
@media (prefers-reduced-motion:reduce) {
  html:not(.motion-enabled) .tiix-solar .solar-v4-layer * { animation:none!important; transition:none!important; }
  html:not(.motion-enabled) .tiix-solar .solar-bolt-v4,
  html:not(.motion-enabled) .tiix-solar .solar-battle-hit-v4,
  html:not(.motion-enabled) .tiix-solar .solar-arrival-craft-v4 { opacity:0; }
}
@media print {
  .tiix-solar .solar-v4-layer { display:none!important; }
}

.tiix-solar { scroll-margin-top:110px; }
@media(max-width:760px) { .tiix-solar { scroll-margin-top:95px; } }
/* A brighter laser core stays legible against the layered space background. */
.tiix-solar .solar-bolt-v4 { stroke-width:1.7; filter:drop-shadow(0 0 1px #9cffe880); }
@media(max-width:760px) { .tiix-solar .solar-bolt-v4 { stroke-width:1.35; filter:none; } }
