/* Efeitos decorativos: nenhuma camada intercepta cliques. */
.reading-light{position:absolute;inset:auto 0 -1px;height:2px;background:linear-gradient(90deg,var(--gold-lo),var(--gold-hi));transform:scaleX(var(--reading,0));transform-origin:left;box-shadow:0 0 12px #ecc98d80;pointer-events:none}
.fx-light{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;background:radial-gradient(320px circle at var(--light-x,50%) var(--light-y,50%),#edcf981c,transparent 72%);transition:opacity .35s}
.fx-lit>.fx-light{opacity:1}
.elyri-visual:before,.elyri-visual:after{content:'';position:absolute;z-index:-1;pointer-events:none;left:50%;top:42%;width:min(85%,320px);aspect-ratio:1;border-radius:50%;border:1px solid color-mix(in srgb,var(--affinity) 30%,transparent);transition:border-color .6s,box-shadow .6s;transform:translate(-50%,-50%)}
.elyri-visual:before{border-style:dashed;box-shadow:0 0 45px color-mix(in srgb,var(--affinity) 12%,transparent),inset 0 0 35px color-mix(in srgb,var(--affinity) 10%,transparent);animation:ether-orbit 48s linear infinite}
.elyri-visual:after{width:min(94%,360px);border-color:transparent;background:radial-gradient(circle at 50% 2%,var(--affinity) 0 2px,transparent 4px),radial-gradient(circle at 92% 76%,var(--affinity) 0 2px,transparent 4px),radial-gradient(circle at 8% 76%,var(--affinity) 0 1px,transparent 4px);animation:ether-orbit 32s linear infinite reverse}
.elyri-portrait{animation:ether-float 6s ease-in-out infinite}
.affinity-tabs button{transition:background .25s,border-color .25s,color .25s,box-shadow .25s}
.affinity-tabs button:hover,.affinity-tabs button:focus-visible{border-color:var(--affinity);color:var(--affinity);box-shadow:0 0 20px color-mix(in srgb,var(--affinity) 15%,transparent)}
.affinity-tabs button[aria-selected=true]{box-shadow:inset 0 0 18px color-mix(in srgb,var(--affinity) 8%,transparent)}
.fx-enter{opacity:0;translate:0 18px;transition:opacity .8s,translate .8s}
.fx-enter.fx-entered{opacity:1;translate:0 0}
.story-index ol a{transition:color .25s,background .25s,box-shadow .25s}
.story-index ol a[aria-current]{box-shadow:-2px 0 12px #c6a77716}
.fx-offscreen,.fx-offscreen:before,.fx-offscreen:after,.fx-offscreen .elyri-portrait{animation-play-state:paused!important}
body.fx-hidden *,body.fx-hidden *:before,body.fx-hidden *:after{animation-play-state:paused!important}
body.motion-paused .fx-enter{opacity:1;translate:none;transition:none}
body.motion-paused .fx-light{display:none}
body.motion-paused .elyri-portrait{translate:none;animation:none}
body.motion-paused .affinity-tabs button{transition:none}
body.motion-paused .reveal{opacity:1;transform:none;transition:none}
@keyframes ether-orbit{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes ether-float{0%,100%{translate:0 0}50%{translate:0 -9px}}
@media(hover:hover) and (pointer:fine){
  .world-main>img{transition:filter .6s}
  .world-main:hover>img{filter:brightness(.8) saturate(.9)}
}
@media(max-width:640px){.elyri-visual:before{width:260px}.elyri-visual:after{width:290px}.fx-light{display:none}}
@media(prefers-reduced-motion:reduce){
  .elyri-visual:before,.elyri-visual:after,.elyri-portrait{animation:none!important}
  .fx-enter{opacity:1;translate:none;transition:none}
  .fx-light{display:none}
}

