/* REALMFORGE Nexus v0.2 — painted in CSS; no external assets or tracking. */
.scene{--accent:#d7b77c;--halo:rgba(166,123,243,.29);--mist:rgba(68,113,155,.18);--shift-x:0px;--shift-y:0px;transition:background 850ms ease}
.scene[data-realm="forge"]{--accent:#f0ac64;--halo:rgba(239,132,63,.28);--mist:rgba(177,78,30,.2);background:radial-gradient(ellipse at 55% 67%,#59372f,#1e2136 47%,#090c17 83%)}
.scene[data-realm="guild"]{--accent:#e3bd72;--halo:rgba(248,189,102,.27);--mist:rgba(134,95,60,.19);background:radial-gradient(ellipse at 55% 67%,#4e3c33,#172b35 51%,#090c17 86%)}
.scene[data-realm="studio"]{--accent:#9dcbea;--halo:rgba(80,158,237,.27);--mist:rgba(46,111,151,.24);background:radial-gradient(ellipse at 55% 67%,#224457,#17233c 50%,#080d1c 86%)}
.scene[data-realm="academy"]{--accent:#d9a8ff;--halo:rgba(167,93,221,.33);--mist:rgba(111,70,150,.23);background:radial-gradient(ellipse at 55% 67%,#423355,#1d2442 47%,#080d1c 86%)}
.scene[data-realm="sanctum"]{--accent:#e7ba77;--halo:rgba(234,155,82,.33);--mist:rgba(147,85,45,.21);background:radial-gradient(ellipse at 55% 67%,#443045,#19283b 47%,#080d1c 86%)}
.moon{position:absolute;z-index:-2;top:12%;right:13%;width:clamp(85px,11vw,180px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 37% 28%,#fbefcd,#d5cfbe 43%,#958fa8 67%,#514d70);box-shadow:0 0 70px #eac5d35e,0 0 150px #9b9bec44;opacity:.79;transform:translate3d(calc(var(--shift-x)*-.38),calc(var(--shift-y)*-.38),0)}
.cloud{position:absolute;z-index:-2;left:-15%;width:130%;height:25%;pointer-events:none;filter:blur(17px);background:radial-gradient(ellipse,var(--mist),transparent 67%);animation:cloud-pass 28s ease-in-out infinite alternate}
.cloud.a{top:25%}.cloud.b{bottom:8%;animation-duration:42s;animation-direction:alternate-reverse}
.landscape{position:absolute;z-index:-1;inset:auto -8% 0;height:36%;background:linear-gradient(0deg,#080c17 0%,#172337 62%,transparent),linear-gradient(140deg,transparent 35%,#1c2c42 36% 49%,transparent 50%),linear-gradient(29deg,transparent 22%,#253650 23% 47%,transparent 48%);clip-path:polygon(0 59%,12% 37%,20% 55%,30% 22%,43% 59%,58% 30%,70% 58%,84% 23%,100% 55%,100% 100%,0 100%);opacity:.85}
.arc{border-color:#46566c;box-shadow:0 0 0 8px #111b2b,0 0 100px var(--halo),inset 0 0 85px var(--halo);transform:translateX(-50%) translate3d(var(--shift-x),var(--shift-y),0);transition:box-shadow 900ms ease,border-color 900ms ease,transform 260ms ease}
.arc:after{box-shadow:inset 0 0 65px var(--halo);animation:portal-glow 8s ease-in-out infinite alternate}
.rune-ring{position:absolute;z-index:-1;left:50%;top:28%;width:min(35vw,440px);aspect-ratio:1;border:2px dotted color-mix(in srgb,var(--accent),transparent 42%);border-radius:50%;opacity:.32;transform:translateX(-50%);animation:rune-spin 70s linear infinite;pointer-events:none}
.rune-ring:before,.rune-ring:after{content:"";position:absolute;inset:12%;border:1px dashed var(--accent);border-radius:50%}.rune-ring:after{inset:30%;border-style:solid}
.embers{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:-1}
.embers span{position:absolute;bottom:-3%;left:var(--x);height:var(--s);width:var(--s);background:var(--accent);border-radius:50%;opacity:0;box-shadow:0 0 13px 3px var(--accent);animation:rise var(--d) linear infinite;animation-delay:var(--delay)}
.destination{position:relative;overflow:hidden;backdrop-filter:blur(9px)}
.destination:after{content:"";position:absolute;inset:auto 0 0;height:3px;background:linear-gradient(90deg,transparent,var(--accent),transparent);transform:scaleX(0);transition:transform 230ms ease}
.destination:hover:after,.destination:focus-visible:after{transform:scaleX(1)}
.destination strong{color:var(--accent)}
.brand,.eyebrow,.panel h2{color:var(--accent)}
.panel{backdrop-filter:blur(20px);animation:panel-enter 620ms cubic-bezier(.22,1,.36,1) both}
.sigil{font-size:clamp(2rem,5vw,3.2rem);line-height:1;display:block;color:var(--accent);filter:drop-shadow(0 0 17px var(--halo));margin-top:10px}
.progress-line{position:absolute;left:0;top:0;height:3px;width:100%;background:linear-gradient(90deg,transparent,var(--accent),transparent);transform:scaleX(0);transform-origin:left;pointer-events:none}
body.transitioning .progress-line{animation:progress-flare .55s ease both}
@keyframes rise{0%{transform:translateY(0);opacity:0}15%{opacity:.52}80%{opacity:.25}100%{transform:translateY(-105vh) translateX(32px);opacity:0}}
@keyframes rune-spin{to{transform:translateX(-50%) rotate(360deg)}}
@keyframes portal-glow{to{opacity:.72;filter:brightness(1.5)}}
@keyframes cloud-pass{to{transform:translateX(13%)}}
@keyframes panel-enter{from{opacity:0;transform:translateY(25px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes progress-flare{0%{transform:scaleX(0)}70%{transform:scaleX(1)}100%{transform:scaleX(0);transform-origin:right}}
@media(max-width:610px){.rune-ring{width:70vw;top:27%}.moon{right:4%;top:13%}.embers span:nth-child(n+11){display:none}}
@media(prefers-reduced-motion:reduce){.cloud,.rune-ring,.arc:after,.embers span,.panel,.progress-line{animation:none!important}.embers{display:none}}
.static-motion .embers{display:none}
