/* Desktop-only decorative enhancement. Base diagram is the mobile/reduced-motion fallback. */
.lg-reading__orbit>.lg-magic-layer{display:none}
@media(min-width:960px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .lg-site .lg-reading__orbit[data-lg-magic]{--lg-magic-glow:color-mix(in srgb,var(--lg-reading-accent,#d3c3f1) 36%,transparent)}
 .lg-site .lg-reading__orbit[data-lg-magic]>.lg-magic-layer{position:absolute;inset:0 auto auto 0;display:block;width:100%;height:auto;aspect-ratio:1;z-index:0;overflow:visible;pointer-events:none;fill:none;stroke:currentColor;stroke-width:.8;opacity:.9}
 .lg-site .lg-reading__orbit[data-lg-magic]>.lg-magic-base{position:relative;z-index:1;opacity:.56;filter:drop-shadow(0 0 2px currentColor);animation:lg-magic-base-breathe 12s ease-in-out infinite}
 .lg-site .lg-reading__orbit[data-lg-magic]>.lg-orbit-element{z-index:2;animation:lg-magic-node 10s ease-in-out infinite;animation-delay:0s}
 .lg-site .lg-reading__orbit[data-lg-magic]>.lg-orbit-wood{animation-delay:2s}
 .lg-site .lg-reading__orbit[data-lg-magic]>.lg-orbit-water{animation-delay:4s}
 .lg-site .lg-reading__orbit[data-lg-magic]>.lg-orbit-fire{animation-delay:6s}
 .lg-site .lg-reading__orbit[data-lg-magic]>.lg-orbit-earth{animation-delay:8s}
 .lg-site .lg-reading__orbit[data-lg-magic] .lg-magic-motion,.lg-site .lg-reading__orbit[data-lg-magic]>.lg-magic-base,.lg-site .lg-reading__orbit[data-lg-magic]>.lg-orbit-element{animation-play-state:paused}
 .lg-site .lg-reading__orbit[data-lg-magic-playing=true] .lg-magic-motion,.lg-site .lg-reading__orbit[data-lg-magic-playing=true]>.lg-magic-base,.lg-site .lg-reading__orbit[data-lg-magic-playing=true]>.lg-orbit-element{animation-play-state:running}
 .lg-magic-layer .lg-magic-outer,.lg-magic-layer .lg-magic-inner{transform-box:view-box;transform-origin:50% 50%}
 .lg-magic-layer .lg-magic-outer{animation:lg-magic-spin 48s linear infinite}
 .lg-magic-layer .lg-magic-inner{animation:lg-magic-spin 32s linear infinite reverse;opacity:.62}
 .lg-magic-layer .lg-magic-arc{stroke-width:1.35;stroke-linecap:round;opacity:.8;filter:drop-shadow(0 0 3px currentColor)}
 .lg-magic-layer .lg-magic-halo{animation:lg-magic-halo 12s ease-in-out infinite}
 .lg-magic-layer .lg-magic-flow{stroke-width:1.35;stroke-linecap:round;stroke-dasharray:20 480;animation:lg-magic-travel 12s linear infinite;filter:drop-shadow(0 0 2px currentColor)}
 .lg-magic-layer .lg-magic-trace{stroke-width:3;stroke-linecap:round;stroke-dasharray:1 499;animation:lg-magic-travel 16s linear infinite reverse;filter:drop-shadow(0 0 4px currentColor)}
 .lg-magic-layer .lg-magic-seal{animation:lg-magic-core 8s ease-in-out infinite;stroke-width:.85}
 .lg-magic-layer .lg-magic-dust{fill:currentColor;stroke:none;animation:lg-magic-dust 8s ease-in-out infinite;animation-delay:var(--lg-magic-delay,0s)}
}
@keyframes lg-magic-spin{to{transform:rotate(360deg)}}
@keyframes lg-magic-travel{from{stroke-dashoffset:0}to{stroke-dashoffset:-1000}}
@keyframes lg-magic-base-breathe{0%,100%{opacity:.48}50%{opacity:.72}}
@keyframes lg-magic-halo{0%,100%{opacity:.45}50%{opacity:.95}}
@keyframes lg-magic-core{0%,100%{opacity:.32}50%{opacity:.85}}
@keyframes lg-magic-dust{0%,100%{opacity:0;transform:translateY(3px)}35%{opacity:.55}65%{opacity:.2;transform:translateY(-5px)}}
@keyframes lg-magic-node{0%,24%,100%{box-shadow:0 0 0 0 transparent}8%{box-shadow:0 0 0 3px var(--lg-magic-glow),0 0 23px var(--lg-magic-glow),inset 0 0 12px var(--lg-magic-glow)}}
@media(prefers-reduced-motion:reduce){.lg-reading__orbit>.lg-magic-layer{display:none!important}.lg-reading__orbit[data-lg-magic]>.lg-orbit-element,.lg-reading__orbit>.lg-magic-base{animation:none!important}}
