/* Stable menu hit targets. Moving the hovered target can cause hover oscillation. */
#map-white-route-proof .desktop-menu>summary,
#map-white-route-proof .desktop-menu>summary:is(:hover,:focus-visible),
#map-white-route-proof .desktop-menu .proof-main-nav a,
#map-white-route-proof .desktop-menu .proof-main-nav a:is(:hover,:focus-visible,:active){transform:none!important;animation:none!important;transition:color .18s ease,background-color .18s ease,box-shadow .18s ease!important}
#map-white-route-proof .desktop-menu .proof-main-nav{max-height:65vh;max-height:65dvh;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;isolation:isolate}
#map-white-route-proof .desktop-menu .proof-main-nav a:is(:hover,:focus-visible){background:#e5f4f9!important;color:#006b8f!important;-webkit-text-fill-color:#006b8f!important;box-shadow:inset 0 0 12px #009bcb22!important}
#map-white-route-proof .desktop-menu .proof-main-nav a:nth-child(even):is(:hover,:focus-visible){background:#f4e5ee!important;color:#88004b!important;-webkit-text-fill-color:#88004b!important;box-shadow:inset 0 0 12px #a5006022!important}
/* 14s: five flashes (0–2), route (2–9.8), original X finale (9.5–12), rest (12–14). */
#map-white-route-proof .approved-ink-route{--cycle:14s}
#map-white-route-proof .route-catch{animation:map-repeat-flashes 14s steps(1,end) infinite!important}
#map-white-route-proof .route-light,#map-white-route-proof .route-core{animation:map-repeat-flow 14s linear infinite!important}
#map-white-route-proof .route-top-neon{animation:map-repeat-tip 14s steps(1,end) infinite!important}
#map-white-route-proof .ink-treasure>img:not(.original-tail){animation:map-repeat-finale 14s linear infinite!important}
#map-white-route-proof .neon-shard{animation:map-repeat-burst 14s linear infinite!important}
#map-white-route-proof .route-catch,#map-white-route-proof .route-light,#map-white-route-proof .route-core,#map-white-route-proof .route-top-neon,#map-white-route-proof .ink-treasure>img:not(.original-tail),#map-white-route-proof .neon-shard{animation-delay:0s!important;animation-fill-mode:backwards!important;animation-play-state:paused!important}
#map-white-route-proof.neon-ready .route-catch,#map-white-route-proof.neon-ready .route-light,#map-white-route-proof.neon-ready .route-core,#map-white-route-proof.neon-ready .route-top-neon,#map-white-route-proof.neon-ready .ink-treasure>img:not(.original-tail),#map-white-route-proof.neon-ready .neon-shard{animation-play-state:running!important}
@keyframes map-repeat-flashes{0%,2.857143%,5.714286%,8.571429%,11.428571%{opacity:1}1.428571%,4.285714%,7.142857%,10%,12.857143%,100%{opacity:0}}
@keyframes map-repeat-flow{0%,14.285714%{stroke-dashoffset:1;opacity:0}14.3%{stroke-dashoffset:1;opacity:1}70%,85.714285%{stroke-dashoffset:0;opacity:1}85.714286%,100%{stroke-dashoffset:1;opacity:0}}
@keyframes map-repeat-tip{0%,2.857143%,5.714286%,8.571429%,11.428571%{opacity:1}1.428571%,4.285714%,7.142857%,10%,12.857143%{opacity:.08}14.285714%,85.714285%{opacity:1}85.714286%,100%{opacity:.08}}
@keyframes map-repeat-finale{0%,67.857143%{opacity:1;filter:none;transform:scale(.52)}72.142857%{opacity:1;filter:brightness(2) drop-shadow(0 0 6px #00a9ed);transform:scale(.6)}74.285714%{opacity:1;filter:brightness(3) drop-shadow(0 0 8px #00baff) drop-shadow(0 0 20px #0097e8);transform:scale(.7)}75%,81.428571%{opacity:0;transform:scale(.52)}85.714286%,100%{opacity:1;filter:none;transform:scale(.52)}}
@keyframes map-repeat-burst{0%,74.285714%{opacity:0;transform:translate3d(0,0,0) scale(.52)}75%{opacity:1;filter:brightness(2) drop-shadow(0 0 5px #00baff);transform:translate3d(0,0,5px) scale(.7)}78.571429%{opacity:.8;filter:none;transform:translate3d(var(--dx),var(--dy),95px) rotateX(var(--rx)) rotateY(var(--ry)) scale(.8)}81.428571%,100%{opacity:0;transform:translate3d(var(--dx),var(--dy),140px) rotateX(var(--rx)) rotateY(var(--ry)) scale(.9)}}
@media(prefers-reduced-motion:reduce){
#map-white-route-proof .route-catch,#map-white-route-proof .route-light,#map-white-route-proof .route-core,#map-white-route-proof .route-top-neon,#map-white-route-proof .ink-treasure>img:not(.original-tail),#map-white-route-proof .neon-shard{animation:none!important}
#map-white-route-proof .route-catch,#map-white-route-proof .neon-shard{opacity:0!important}
#map-white-route-proof .route-light,#map-white-route-proof .route-core{stroke-dashoffset:0;opacity:1;visibility:visible!important}
#map-white-route-proof .ink-treasure>img:not(.original-tail){opacity:1;transform:scale(.52)}
}
