/* The original London lines sit in little imagined skies. Paper facts stay still. */
.route-choices .route-sky{position:absolute;top:22px;left:20px;width:calc(100% - 40px);height:174px;border-radius:18px;overflow:hidden;pointer-events:none;z-index:0}
.route-orbit-active .route-choices .route-sky{top:32px;left:28px;width:calc(100% - 56px);height:190px}
.route-choices button[data-sky] .mini-route{background:transparent;z-index:1}
.route-sky .sky-cloud{fill:#e4def2;fill-opacity:.15;stroke:#eee5f3;stroke-opacity:.2;stroke-width:.7;animation:sky-drift 12s ease-in-out infinite;animation-play-state:paused}
.route-sky .sky-cloud-far{animation-delay:-5s;animation-duration:16s}
.route-sky .sky-moon{fill:#f1cea5;opacity:.32}
.route-sky .sky-stars{fill:#f9e6c5;stroke:#f9e6c5;stroke-linecap:round;stroke-width:1;opacity:.42}
.route-sky .sky-air{fill:none;stroke:#e6edf1;stroke-width:1;opacity:.25}
.route-sky .sky-rain{fill:none;stroke:#ddeaf2;stroke-width:1;stroke-linecap:round;opacity:.27;animation:sky-rain 2.4s linear infinite;animation-play-state:paused}
[data-sky-motion=on] .sky-cloud,[data-sky-motion=on] .sky-rain{animation-play-state:running}
@keyframes sky-drift{0%,100%{transform:translateX(-5px)}50%{transform:translateX(6px)}}
@keyframes sky-rain{0%{transform:translateY(-15px);opacity:0}20%,70%{opacity:.27}100%{transform:translateY(18px);opacity:0}}
.forest-resident[data-route-reveal] .resident-spirit,.forest-resident[data-route-reveal] .resident-character{transition:none}
.forest-resident[data-route-reveal] .spirit-thread{animation:none}
.memory-film{position:absolute;inset:0;width:100%;height:100%;z-index:3;display:block;object-fit:contain;background:var(--paper)}
.memory-film[hidden]{display:none}
.memory-film text{fill:var(--ink);font-family:Fredoka,ui-rounded,sans-serif;font-weight:600}
.memory-film text.hand{font-family:Caveat,cursive;font-weight:500}
.demo-screen.has-memory .demo-native-still{visibility:hidden}
.memory-paper,.memory-friend{transform-box:fill-box;transform-origin:50% 100%}
.memory-line{stroke-dasharray:100 100;stroke-dashoffset:0}
@media(max-width:767px){.route-orbit-active .route-choices .route-sky{top:22px;left:22px;width:calc(100% - 44px);height:161px}}
body[data-motion=off] .route-sky *,body[data-hidden=true] .route-sky *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.route-sky .sky-cloud,.route-sky .sky-rain{animation:none}}
