.portal-page-index .path-grid > div{position:relative;isolation:isolate}
.portal-page-index .path-grid > div::after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),var(--violet),transparent);box-shadow:0 0 18px rgba(171,115,243,.45);transform-origin:left;transform:scaleX(1)}
.portal-experience .portal-page-index .path-grid > div::after{transform:scaleX(0);transition:transform .85s cubic-bezier(.16,1,.3,1)}
.portal-experience .portal-page-index .path-grid > div.is-illuminated::after{transform:scaleX(1)}
.portal-experience .portal-page-index .path-grid > div:nth-child(2)::after{transition-delay:.14s}
.portal-experience .portal-page-index .path-grid > div:nth-child(3)::after{transition-delay:.28s}
.portal-page-index .path-grid > div.is-illuminated span{text-shadow:0 0 19px rgba(227,201,148,.38)}
.portal-page-index .section-caption .caption-line{position:relative;overflow:hidden}
.portal-page-index .section-caption .caption-line::after{content:"";position:absolute;inset:0 auto 0 -24%;width:24%;background:linear-gradient(90deg,transparent,rgba(230,207,255,.8),transparent);opacity:0}
.portal-experience .portal-page-index .is-in-view .section-caption .caption-line::after{animation:portal-line-awaken 1.15s ease-out both}
@keyframes portal-line-awaken{0%{left:-24%;opacity:0}16%{opacity:.8}85%{opacity:.8}100%{left:100%;opacity:0}}
.portal-page-index .panel-card::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(210px circle at var(--cursor-x,50%) var(--cursor-y,50%),rgba(213,180,255,.29),transparent 72%);opacity:0;transition:opacity .25s}
.portal-page-index .panel-card:hover::after,.portal-page-index .panel-card:focus-visible::after{opacity:1}
.portal-page-index .panel-card-copy,.portal-page-index .panel-card-arrow{z-index:1}
.portal-page-index .panel-card:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-color:var(--violet-bright)}
.portal-page-index .discovery-art::after{background:radial-gradient(280px circle at var(--cursor-x,50%) var(--cursor-y,50%),rgba(193,139,255,.22),transparent 74%),linear-gradient(0deg,rgba(9,7,18,.5),transparent 60%);opacity:.78;transition:opacity .3s}
.portal-page-index .discovery-card:hover .discovery-art::after,.portal-page-index .discovery-card:focus-within .discovery-art::after{opacity:1}
.portal-page-index .art-corner{transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .4s}
.portal-page-index .discovery-card:hover .art-corner,.portal-page-index .discovery-card:focus-within .art-corner{border-color:var(--gold)}
.portal-page-index .discovery-card:hover .art-corner-a,.portal-page-index .discovery-card:focus-within .art-corner-a{transform:translate(-4px,-4px)}
.portal-page-index .discovery-card:hover .art-corner-b,.portal-page-index .discovery-card:focus-within .art-corner-b{transform:translate(4px,4px)}
.portal-page-index .sidebar-links a:focus-visible,.portal-page-index .discovery-copy .inline-link:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.portal-page-index .portal-next-step::after{content:"";position:absolute;top:50%;left:50%;width:min(52vw,530px);aspect-ratio:1;border:1px solid rgba(211,169,255,.17);border-radius:50%;box-shadow:0 0 0 28px rgba(190,136,255,.025),0 0 0 74px rgba(190,136,255,.018),inset 0 0 90px rgba(114,60,172,.08);background:repeating-conic-gradient(from 0deg,rgba(220,190,255,.16) 0deg 1deg,transparent 1deg 30deg);-webkit-mask:radial-gradient(circle,transparent 0 65%,#000 66%);mask:radial-gradient(circle,transparent 0 65%,#000 66%);pointer-events:none;opacity:.8;transform:translate(-50%,-50%) rotate(0deg);animation:portal-seal-turn 60s linear infinite}
.portal-page-index .next-step-inner{z-index:1}
@keyframes portal-seal-turn{to{transform:translate(-50%,-50%) rotate(360deg)}}
.portal-page-index .portal-download-preview{position:relative}
.portal-page-index .portal-download-preview::before{content:"";position:absolute;top:0;left:0;width:min(280px,50%);height:1px;background:linear-gradient(90deg,var(--gold),var(--violet),transparent);box-shadow:0 0 18px rgba(171,115,243,.35)}
.has-js .intro-screen{animation:intro-fallback 2s step-end forwards;transition:opacity .55s ease,visibility .55s ease}
.has-js .intro-screen::before{content:"";position:absolute;width:min(440px,78vw);aspect-ratio:1;border-radius:50%;border:1px solid rgba(210,166,255,.26);background:repeating-conic-gradient(from 0deg,rgba(225,191,255,.35) 0deg 1deg,transparent 1deg 30deg);-webkit-mask:radial-gradient(circle,transparent 0 62%,#000 63%);mask:radial-gradient(circle,transparent 0 62%,#000 63%);filter:drop-shadow(0 0 25px rgba(177,102,255,.7));animation:intro-gate 1.3s cubic-bezier(.16,1,.3,1) both}
.has-js .intro-screen::after{content:"";position:absolute;width:min(460px,80vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(189,119,255,.24),rgba(148,74,220,.07) 45%,transparent 70%);animation:intro-flare 1.25s ease-out both}
.intro-screen .intro-logo,.intro-screen .intro-monogram{position:relative;z-index:1;animation:intro-mark .95s cubic-bezier(.16,1,.3,1) both}
.intro-screen .intro-rule{z-index:2}
@keyframes intro-gate{from{opacity:0;transform:scale(.35) rotate(-50deg)}55%{opacity:.9}to{opacity:.55;transform:scale(1) rotate(0deg)}}
@keyframes intro-flare{from{opacity:0;transform:scale(.3)}55%{opacity:1}to{opacity:.45;transform:scale(1.25)}}
@keyframes intro-mark{from{opacity:0;transform:scale(.7);filter:blur(14px) drop-shadow(0 0 0 rgba(173,100,255,0))}to{opacity:1;transform:scale(1);filter:blur(0) drop-shadow(0 0 40px rgba(173,100,255,.5))}}
.portal-page-index .portal-header::after{content:"";position:absolute;left:0;bottom:-1px;width:var(--portal-progress,0%);height:2px;background:linear-gradient(90deg,var(--gold),var(--violet-bright));box-shadow:0 0 16px rgba(193,139,255,.75);pointer-events:none}
.portal-page-index .hero-scene{scale:1.07;translate:var(--scene-x,0px) var(--scene-y,0px);transition:translate .6s ease-out;animation:hero-landscape-drift 18s ease-in-out infinite alternate}
.portal-page-index .hero-video{position:absolute;inset:0;z-index:-4;width:100%;height:100%;object-fit:cover;object-position:center 48%;pointer-events:none;opacity:0;filter:saturate(.85) brightness(.55);transition:opacity .9s ease}
.portal-page-index .hero-video.is-playing{opacity:1}
.portal-page-index .hero-characters{translate:var(--figure-x,0px) var(--figure-y,0px);transition:translate .45s ease-out}
.portal-page-index .hero-magic{position:absolute;inset:0;z-index:-2;display:grid;place-items:center;pointer-events:none;opacity:.58;translate:var(--magic-x,0px) var(--magic-y,0px);transition:translate .55s ease-out}
.portal-page-index .magic-ring{position:absolute;width:min(48vw,610px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(220,187,255,.26);box-shadow:0 0 35px rgba(158,81,228,.12),inset 0 0 45px rgba(158,81,228,.08)}
.portal-page-index .magic-ring-outer{background:repeating-conic-gradient(from 0deg,rgba(225,193,255,.3) 0deg 1deg,transparent 1deg 18deg);-webkit-mask:radial-gradient(circle,transparent 0 69%,#000 70%);mask:radial-gradient(circle,transparent 0 69%,#000 70%);animation:hero-ring-turn 75s linear infinite}
.portal-page-index .magic-ring-inner{width:min(36vw,450px);border-style:dashed;border-color:rgba(231,195,255,.29);animation:hero-ring-reverse 58s linear infinite}
.portal-page-index .magic-core{width:min(40vw,500px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(175,105,252,.27),rgba(119,57,207,.08) 40%,transparent 70%);animation:hero-core-pulse 6s ease-in-out infinite}
.portal-page-index .hero-embers{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.portal-page-index .hero-embers i{position:absolute;width:3px;height:3px;border-radius:50%;background:#efcfaa;box-shadow:0 0 10px 2px rgba(236,176,125,.62),0 0 24px rgba(173,100,255,.56);opacity:0;animation:hero-ember-rise 8s linear infinite}
.portal-page-index .hero-embers i:nth-child(1){left:7%;bottom:8%;animation-delay:-1s}.portal-page-index .hero-embers i:nth-child(2){left:14%;bottom:34%;animation-delay:-5s}.portal-page-index .hero-embers i:nth-child(3){left:21%;bottom:16%;animation-delay:-2s}.portal-page-index .hero-embers i:nth-child(4){left:29%;bottom:8%;animation-delay:-6s}.portal-page-index .hero-embers i:nth-child(5){left:38%;bottom:26%;animation-delay:-3s}.portal-page-index .hero-embers i:nth-child(6){left:46%;bottom:12%;animation-delay:-7s}.portal-page-index .hero-embers i:nth-child(7){left:54%;bottom:32%;animation-delay:-4s}.portal-page-index .hero-embers i:nth-child(8){left:63%;bottom:7%;animation-delay:-8s}.portal-page-index .hero-embers i:nth-child(9){left:72%;bottom:23%;animation-delay:-2.5s}.portal-page-index .hero-embers i:nth-child(10){left:79%;bottom:5%;animation-delay:-6.5s}.portal-page-index .hero-embers i:nth-child(11){left:87%;bottom:28%;animation-delay:-4.5s}.portal-page-index .hero-embers i:nth-child(12){left:94%;bottom:10%;animation-delay:-7.5s}.portal-page-index .hero-embers i:nth-child(13){left:11%;bottom:57%;animation-delay:-3.5s}.portal-page-index .hero-embers i:nth-child(14){left:89%;bottom:52%;animation-delay:-5.5s}
.portal-page-index .hero-game-logo.is-visible{animation:hero-logo-breathe 5s ease-in-out infinite}
.portal-experience .portal-page-index .discovery-card.reveal-on-scroll{opacity:0;transform:translateY(34px) scale(.985);filter:blur(4px);transition:opacity .8s ease,transform .8s cubic-bezier(.16,1,.3,1),filter .8s ease,border-color .3s,box-shadow .3s}
.portal-experience .portal-page-index .discovery-card.reveal-on-scroll.is-visible{opacity:1;transform:none;filter:none}
.portal-experience .portal-page-index .discovery-card.reveal-on-scroll.is-visible:hover{transform:translateY(-5px)}
.portal-experience .portal-page-index .portal-intro-grid,.portal-experience .portal-page-index .discovery-heading-grid{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.16,1,.3,1)}
.portal-experience .portal-page-index .is-in-view .portal-intro-grid,.portal-experience .portal-page-index .is-in-view .discovery-heading-grid{opacity:1;transform:none}
@keyframes hero-landscape-drift{to{scale:1.11}}
@keyframes hero-ring-turn{to{transform:rotate(360deg)}}
@keyframes hero-ring-reverse{to{transform:rotate(-360deg)}}
@keyframes hero-core-pulse{50%{opacity:.55;scale:1.09}}
@keyframes hero-ember-rise{0%{opacity:0;transform:translate3d(0,30px,0) scale(.6)}15%{opacity:.7}65%{opacity:.48}100%{opacity:0;transform:translate3d(19px,-170px,0) scale(1.25)}}
@keyframes hero-logo-breathe{50%{translate:0 -5px;filter:drop-shadow(0 12px 26px rgba(0,0,0,.75)) drop-shadow(0 0 42px rgba(190,125,255,.55))}}
.motion-toggle{display:none;position:fixed;right:18px;bottom:18px;z-index:100;align-items:center;gap:9px;min-height:39px;padding:0 14px;border:1px solid rgba(227,201,148,.45);border-radius:100px;background:rgba(18,12,34,.94);box-shadow:0 9px 30px rgba(0,0,0,.35);color:#f1e9ff;font:800 10px var(--font-ui);letter-spacing:.08em;cursor:pointer}
.motion-toggle span:first-child{color:var(--gold);font-size:15px}
.motion-toggle:hover,.motion-toggle:focus-visible{border-color:var(--gold);background:#27153e}
@media(prefers-reduced-motion:reduce){.motion-toggle{display:flex}}
@media(max-width:850px){.portal-page-index .portal-next-step::after{width:75vw}.portal-page-index .path-grid > div::after{bottom:0}}
@media(max-width:850px){.portal-page-index .hero-video{display:none}.portal-page-index .hero-magic{opacity:.34}.portal-page-index .magic-ring{width:75vw}.portal-page-index .magic-ring-inner{width:56vw}.portal-page-index .magic-core{width:65vw}}
@media(max-width:600px){.portal-page-index .portal-next-step::after{width:92vw;opacity:.45}.portal-page-index .discovery-art::after{background:linear-gradient(0deg,rgba(9,7,18,.5),transparent 60%)}.portal-page-index .panel-card::after{display:none}.portal-page-index .hero-magic{opacity:.22}.portal-page-index .hero-embers i{width:2px;height:2px}.portal-page-index .hero-embers i:nth-child(n+8){display:none}}
@media(prefers-reduced-motion:reduce){
html:not(.portal-motion-override) .portal-page-index .path-grid > div::after,html:not(.portal-motion-override).portal-experience .portal-page-index .path-grid > div::after{transform:none;transition:none}
html:not(.portal-motion-override) .portal-page-index .section-caption .caption-line::after{display:none}
html:not(.portal-motion-override) .portal-page-index .portal-next-step::after,html:not(.portal-motion-override) .portal-page-index .hero-scene,html:not(.portal-motion-override) .portal-page-index .magic-ring,html:not(.portal-motion-override) .portal-page-index .magic-core,html:not(.portal-motion-override) .portal-page-index .hero-game-logo.is-visible{animation:none}
html:not(.portal-motion-override) .portal-page-index .hero-embers,html:not(.portal-motion-override).has-js .intro-screen::before,html:not(.portal-motion-override).has-js .intro-screen::after{display:none}
html:not(.portal-motion-override) .portal-page-index .hero-video{display:none}
html:not(.portal-motion-override) .portal-page-index .hero-scene{scale:1;translate:none}
html:not(.portal-motion-override) .portal-page-index .art-corner,html:not(.portal-motion-override) .portal-page-index .panel-card::after,html:not(.portal-motion-override) .portal-page-index .discovery-art::after{transition:none}
html:not(.portal-motion-override).portal-experience .portal-page-index .discovery-card.reveal-on-scroll,html:not(.portal-motion-override).portal-experience .portal-page-index .portal-intro-grid,html:not(.portal-motion-override).portal-experience .portal-page-index .discovery-heading-grid{opacity:1;transform:none;filter:none;transition:none}
html:not(.portal-motion-override) .portal-page-index .discovery-card:hover .art-corner-a,html:not(.portal-motion-override) .portal-page-index .discovery-card:focus-within .art-corner-a,html:not(.portal-motion-override) .portal-page-index .discovery-card:hover .art-corner-b,html:not(.portal-motion-override) .portal-page-index .discovery-card:focus-within .art-corner-b{transform:none}
}
