@keyframes fadeIn{from{opacity:0;transform:translateY(12px)}}
@keyframes load{to{width:100%}}
@keyframes float{50%{transform:translateY(-10px)}}
@keyframes moveDash{to{stroke-dashoffset:-200}}
@keyframes scan{from{top:0}to{top:100%}}
.boot__logo{opacity:0;animation:fadeIn .8s .15s forwards}
.boot__track span{animation:load 2.2s .3s forwards}
.step{animation:fadeIn .45s var(--ease) both}
.system-node--pulse{animation:float 3.6s ease-in-out infinite}
.system-wires line{animation:moveDash 8s linear infinite}
.scanline{animation:scan 4s linear infinite}
.orbital{position:absolute;width:min(78vw,980px);aspect-ratio:1}
.orbital__ring{position:absolute;border:1px solid rgba(255,255,255,.04);border-radius:50%}
.orbital__ring--1{inset:0}.orbital__ring--2{inset:16%}.orbital__ring--3{inset:32%}
.orbital__dot{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--amber);box-shadow:0 0 24px var(--amber);animation:float 4s ease-in-out infinite}
.orbital__dot--1{left:12%;top:32%}.orbital__dot--2{right:13%;top:23%;animation-delay:.8s}.orbital__dot--3{left:25%;bottom:12%;animation-delay:1.5s}

@keyframes selectPulse{0%{box-shadow:0 0 0 0 rgba(224,163,62,.55)}100%{box-shadow:0 0 0 16px rgba(224,163,62,0)}}

.route-card{animation:fadeIn .5s var(--ease) both}
.route-card:nth-child(1){animation-delay:.04s}
.route-card:nth-child(2){animation-delay:.1s}
.route-card:nth-child(3){animation-delay:.16s}
.route-card:nth-child(4){animation-delay:.22s}

.option{animation:fadeIn .32s var(--ease) both}
.option:nth-child(1){animation-delay:.02s}
.option:nth-child(2){animation-delay:.06s}
.option:nth-child(3){animation-delay:.1s}
.option:nth-child(4){animation-delay:.14s}
.option:nth-child(5){animation-delay:.18s}
.option:nth-child(6){animation-delay:.22s}
.option--selected{animation:fadeIn .32s var(--ease) both, selectPulse .5s ease-out}

/* Respect reduced-motion preference: keep state changes, drop decorative motion */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}
