
.map-home .journey-paths>a::after{content:none}
.map-home .journey-paths .path-word{padding-right:0}
.map-home .journey-paths>a strong::after{font-size:1rem;opacity:.65}
/* Twelve seconds of activity, followed by eight seconds of quiet. */
.map-home .approved-ink-route{--cycle:20s}
.map-home .ink-slice>img{animation:ignite var(--cycle) steps(1,end) infinite}
@property --flow{syntax:'<percentage>';inherits:false;initial-value:-10%}
.map-home .neon-sweep{--flow:-10%;position:absolute;inset:0;pointer-events:none;opacity:0;animation:travel var(--cycle) linear 2s infinite;mask-image:linear-gradient(to bottom,transparent calc(var(--flow) - 9%),#000 calc(var(--flow) - 3%),#000 calc(var(--flow) + 3%),transparent calc(var(--flow) + 9%));-webkit-mask-image:linear-gradient(to bottom,transparent calc(var(--flow) - 9%),#000 calc(var(--flow) - 3%),#000 calc(var(--flow) + 3%),transparent calc(var(--flow) + 9%))}
.map-home .neon-sweep img{filter:brightness(2.8) saturate(1.5) drop-shadow(0 0 2px #51e6ff)}
.map-home .ink-map .neon-sweep{animation-delay:4.5s}
.map-home .ink-exit .neon-sweep{animation-delay:7s}
.map-home .ink-treasure{transform:none;overflow:visible;perspective:350px}
.map-home .ink-treasure img{top:0;height:100%;clip-path:none;transform-origin:51.5% 50%}
.map-home .ink-treasure>img:not(.original-tail){animation:finale var(--cycle) linear infinite}
.map-home .ink-treasure .original-tail{animation:ignite var(--cycle) steps(1,end) infinite}
.map-home .ink-treasure .neon-sweep{animation:none;display:none}
.map-home .neon-spark{display:none}
.map-home .neon-shard{position:absolute;inset:0;opacity:0;transform-origin:51.5% 50%;pointer-events:none;--dx:-28px;--dy:-12px;--rx:-25deg;--ry:-30deg;animation:burst var(--cycle) ease-out infinite}
.map-home .neon-shard img{filter:none}
.map-home .shard-1{--dx:28px;--ry:30deg}
.map-home .shard-2{--dy:12px;--rx:25deg}
.map-home .shard-3{--dx:28px;--dy:12px;--rx:25deg;--ry:30deg}
/* Five brief electrical catches, with a visible blue baseline between them. */
@keyframes ignite{
 0%{opacity:var(--ink-idle-opacity,.75);filter:var(--ink-idle-filter,brightness(1.35) saturate(1.5))}
 1%{opacity:1;filter:var(--ink-flash-filter,brightness(3) saturate(1.6) drop-shadow(0 0 3px #52dcff))}
 1.6%{opacity:var(--ink-idle-opacity,.75);filter:var(--ink-idle-filter,brightness(1.35) saturate(1.5))}
 2.6%{opacity:1;filter:var(--ink-flash-filter,brightness(3.2) saturate(1.6) drop-shadow(0 0 3px #52dcff))}
 3.2%{opacity:var(--ink-idle-opacity,.75);filter:var(--ink-idle-filter,brightness(1.35) saturate(1.5))}
 4.3%{opacity:1;filter:var(--ink-flash-filter,brightness(3) saturate(1.6) drop-shadow(0 0 3px #52dcff))}
 4.9%{opacity:var(--ink-idle-opacity,.75);filter:var(--ink-idle-filter,brightness(1.35) saturate(1.5))}
 6.2%{opacity:1;filter:var(--ink-flash-filter,brightness(3.2) saturate(1.6) drop-shadow(0 0 3px #52dcff))}
 6.8%{opacity:var(--ink-idle-opacity,.75);filter:var(--ink-idle-filter,brightness(1.35) saturate(1.5))}
 8.25%{opacity:1;filter:var(--ink-flash-filter,brightness(3.1) saturate(1.6) drop-shadow(0 0 3px #52dcff))}
 8.85%{opacity:var(--ink-idle-opacity,.75);filter:var(--ink-idle-filter,brightness(1.35) saturate(1.5))}
 10%,59.9%{opacity:1;filter:var(--ink-on-filter,brightness(1.5) saturate(1.5))}
 60%,100%{opacity:var(--ink-idle-opacity,.75);filter:var(--ink-idle-filter,brightness(1.35) saturate(1.5))}
}
/* Feathered mask replaces the harsh rectangular clipping of the old beam. */
@keyframes travel{
 0%{opacity:0;--flow:-10%}
 .4%{opacity:1}
 12.1%{opacity:1}
 12.5%{opacity:0;--flow:110%}
 13%,100%{opacity:0;--flow:110%}
}
@keyframes finale{
 0%,47.5%{opacity:1;filter:none;transform:scale(.52)}
 50.5%{opacity:1;filter:brightness(2) drop-shadow(0 0 6px #b8ff68);transform:scale(.6)}
 52%{opacity:1;filter:brightness(3) drop-shadow(0 0 8px #caff83) drop-shadow(0 0 20px #6eff7d);transform:scale(.7)}
 52.5%,57%{opacity:0;transform:scale(.52)}
 60%,100%{opacity:1;filter:none;transform:scale(.52)}
}
@keyframes burst{
 0%,52%{opacity:0;transform:translate3d(0,0,0) scale(.52)}
 52.5%{opacity:1;filter:brightness(2) drop-shadow(0 0 5px #a9ff75);transform:translate3d(0,0,5px) scale(.7)}
 55%{opacity:.8;filter:none;transform:translate3d(var(--dx),var(--dy),95px) rotateX(var(--rx)) rotateY(var(--ry)) scale(.8)}
 57%,100%{opacity:0;transform:translate3d(var(--dx),var(--dy),140px) rotateX(var(--rx)) rotateY(var(--ry)) scale(.9)}
}
.map-home.neon-restarting .approved-ink-route *{animation:none!important}
@media(prefers-reduced-motion:reduce){.map-home .ink-slice>img,.map-home .ink-treasure>img{animation:none;opacity:1;filter:brightness(1.35) saturate(1.5)}.map-home .ink-treasure>img:not(.original-tail){transform:scale(.52);filter:none}.map-home .neon-sweep,.map-home .neon-shard{display:none;animation:none}}
.map-home .ink-entrance,.map-home .ink-map,.map-home .ink-exit{transform:none}

/* Desktop receives a brighter blue tube and a fuller halo. Mobile defaults
   and the five flickers, trail speed, finale, and quiet interval stay intact. */
@media(min-width:1101px){
 .map-home .approved-ink-route{
  --ink-idle-opacity:.9;
  --ink-idle-filter:brightness(1.65) saturate(1.8) drop-shadow(0 0 2px #159dda);
  --ink-on-filter:brightness(1.9) saturate(1.8) drop-shadow(0 0 3px #26caff);
  --ink-flash-filter:brightness(3.6) saturate(1.9) drop-shadow(0 0 4px #52dcff) drop-shadow(0 0 7px #19bfff);
 }
 .map-home .neon-sweep img{filter:brightness(3.4) saturate(1.8) drop-shadow(0 0 3px #51e6ff) drop-shadow(0 0 6px #14bfff)}
}
