/* Shared motion and centred portal layout. */
.account-page main{display:flex;flex-direction:column;align-items:center;gap:35px;padding-top:45px;animation:account-enter .85s ease both}.account-page .intro{text-align:center;max-width:760px;padding:0;margin:0}.account-page .intro .eyebrow{justify-content:center}.account-page .intro h1{font-size:clamp(40px,6vw,68px);margin-bottom:20px}.account-page .intro .lead{margin-left:auto;margin-right:auto}.account-page .register{width:100%;max-width:520px;margin:0 auto}.account-page .site-header{justify-content:center;flex-wrap:wrap;gap:25px}.account-page .site-header nav{margin:0}.account-page footer{justify-content:center;text-align:center;flex-wrap:wrap}@keyframes account-enter{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}
.portal{padding-bottom:84px;isolation:isolate;overflow-x:clip}.portal .top{position:relative;left:auto;transform:none;margin:auto;justify-content:center;flex-wrap:wrap;padding:20px 28px;gap:18px 35px;background:#081421e8}.portal .top nav{margin:0;gap:30px}.portal .account{margin:0}.portal .hero{min-height:980px;flex-direction:column;justify-content:center;gap:42px;padding:90px 24px 110px;text-align:center;background-image:linear-gradient(0deg,#081421 0%,#08142135 55%,#0814218c),url('/static/assets/astra-celestial-v4.webp');background-position:center;background-attachment:scroll}.portal .hero-content{max-width:800px;z-index:1}.portal h1{font-size:clamp(48px,7vw,94px);line-height:1.08}.portal h1 em{background:linear-gradient(100deg,#a4eddf,#fff8d7,#92dbea,#a4eddf);background-size:250% auto;background-clip:text;-webkit-background-clip:text;color:transparent;animation:title-shimmer 7s ease-in-out infinite}.portal .actions{justify-content:center}.portal .world-card{flex:auto;width:min(640px,100%);text-align:center;position:relative;z-index:1;backdrop-filter:blur(18px)}.portal .world-card dl{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 26px}.portal .world-card>a span{float:none;margin-left:12px}.portal .section{position:relative;max-width:1180px;text-align:center;padding:95px 32px}.portal .section-head{display:flex;flex-direction:column;align-items:center;gap:5px;margin-bottom:38px}.portal .section-head>div{max-width:800px}.portal .section-head>p{max-width:620px;margin:0 auto}.portal .feature,.portal .news-card,.portal .community-box,.portal .start-grid article{transition:transform .4s ease,border-color .4s ease,box-shadow .4s ease}.portal .feature:hover,.portal .news-card:hover,.portal .community-box:hover{transform:translateY(-9px);border-color:#a4eddf90;box-shadow:0 20px 55px #0004,0 0 24px #a4eddf13}.portal .community{display:flex;flex-direction:column;gap:32px}.portal .community>div>p:not(.eyebrow){max-width:620px;margin-left:auto;margin-right:auto}.portal .community-box{width:min(620px,100%)}.portal footer{justify-content:center;text-align:center;flex-direction:column;gap:15px}.portal .button{position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s}.portal .button:not([aria-disabled]){animation:button-glow 4s ease-in-out infinite}.portal .button:not([aria-disabled]):after{content:'';position:absolute;inset:-50% auto -50% -70%;width:35%;background:linear-gradient(90deg,transparent,#fff9,transparent);transform:skewX(-20deg);animation:button-sheen 6s ease-in-out infinite}.portal .scroll-cue span{animation:cue-bounce 2s ease-in-out infinite}.portal .top nav a{position:relative;padding:8px 0}.portal .top nav a:after{content:'';height:2px;position:absolute;bottom:0;left:50%;width:0;background:var(--mint);transition:width .3s,left .3s}.portal .top nav a[aria-current=true]:after,.portal .top nav a:hover:after{width:100%;left:0}
.sky-motion{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.sky-motion:before,.sky-motion:after{content:'';position:absolute;width:65vw;height:65vw;min-width:600px;min-height:600px;border-radius:50%;background:radial-gradient(ellipse,#91e6db24,transparent 65%);filter:blur(35px);animation:sky-drift 18s ease-in-out infinite alternate;left:-25%;top:-20%}.sky-motion:after{left:auto;right:-25%;top:10%;background:radial-gradient(ellipse,#e8cdbb28,transparent 65%);animation-delay:-9s}.sky-motion i{position:absolute;left:var(--x);bottom:-25px;width:var(--size);height:var(--size);background:#d4fff2;border-radius:50%;box-shadow:0 0 16px 3px #a4eddf55;animation:star-rise var(--duration) linear infinite;animation-delay:var(--delay)}
.motion-ready .motion-reveal{opacity:0;transform:translateY(38px) scale(.98);transition:opacity .8s ease,transform .85s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}.motion-ready .motion-reveal.is-visible{opacity:1;transform:none}
.section-pager{position:fixed;z-index:20;bottom:20px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:15px;width:max-content;max-width:calc(100% - 24px);padding:10px 13px;background:#0b2032ed;border:1px solid #a4eddf55;border-radius:40px;box-shadow:0 10px 45px #0006;backdrop-filter:blur(20px);color:#eff7fa;font:12px 'Segoe UI',sans-serif}.section-pager button{width:36px;height:36px;border:1px solid #a4eddf3d;border-radius:50%;background:#17394c;color:#d5fff4;font-size:20px;cursor:pointer;transition:background .25s,transform .25s}.section-pager button:hover{background:#2b5968;transform:scale(1.1)}.section-pager button:disabled{opacity:.3;cursor:default;transform:none}.pager-title{min-width:120px;text-align:center}.pager-title span{color:#a4eddf;margin-right:7px}.pager-dots{display:flex;gap:7px}.pager-dots button{width:8px;height:8px;padding:0;border:0;background:#6b8798;transition:width .35s,background .35s;border-radius:8px;font-size:0}.pager-dots button[aria-current=true]{width:24px;background:#a4eddf}.page-transition{pointer-events:none;position:fixed;z-index:100;inset:0;background:radial-gradient(ellipse at center,#214b5a,#071421 75%);opacity:0;transition:opacity .26s ease}.page-transition.active{opacity:1}.page-transition:after{content:'✦';display:grid;place-items:center;height:100%;font-size:48px;color:#a4eddf}.portal.is-turning main{animation:page-turn .55s ease both}
@keyframes title-shimmer{0%,100%{background-position:0% center}50%{background-position:100% center}}@keyframes button-glow{50%{box-shadow:0 0 32px #a4eddf42,0 8px 30px #74e5d027}}@keyframes button-sheen{0%,65%{left:-70%}90%,100%{left:140%}}@keyframes cue-bounce{50%{transform:translateY(10px)}}@keyframes sky-drift{to{transform:translate(20%,15%) scale(1.25)}}@keyframes star-rise{0%{transform:translate3d(0,0,0);opacity:0}10%{opacity:.8}90%{opacity:.6}100%{transform:translate3d(55px,-1050px,0);opacity:0}}@keyframes page-turn{0%{filter:brightness(1)}35%{filter:brightness(.55)}100%{filter:brightness(1)}}
@media(max-width:760px){.portal .top{padding:18px 20px;gap:15px}.portal .top nav{order:3;width:100%;flex-basis:100%;justify-content:center;flex-wrap:wrap;gap:8px 22px}.portal .hero{padding:65px 22px 100px;min-height:950px;gap:28px}.portal .world-card{margin-top:0}.portal .section{padding:65px 22px}.portal .news-card{display:block}.portal .news-art{min-height:0;height:160px}.section-pager{gap:9px;bottom:12px}.pager-title{min-width:105px}.pager-dots{gap:5px}.portal .section-head{display:flex}.portal .features{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.portal .features{grid-template-columns:1fr}.portal .world-card dl{grid-template-columns:1fr}.portal .hero{min-height:1000px}.pager-dots{display:none}.portal .actions{flex-direction:column;gap:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .motion-reveal{opacity:1;transform:none}.page-transition{display:none}.sky-motion i{display:none}}

/* Continuous sky: animated only with compositor transforms, no page-wide filters. */
:root{--bg:#10283e;--muted:#c9dce8;--mint:#b7f5eb;--line:#d1ecff38}
.portal{background:#15354d}.portal main,.portal footer{position:relative;z-index:1}.portal .top{background:#102b43cf;backdrop-filter:blur(16px);border-color:#dcf5ff40}
.portal .hero{background:none}.portal .sky-motion{position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,#12315020,#102b485e 50%,#12354ec9);height:100vh;height:100svh}
.sky-motion:before{inset:-7%;width:auto;height:auto;min-width:0;min-height:0;border-radius:0;background:linear-gradient(180deg,#0b284438,#0d2c4155),url('/static/assets/astra-sky-sharp.webp') center/cover;filter:none;animation:living-sky 32s ease-in-out infinite;will-change:transform}
.sky-motion:after{inset:-25%;width:auto;height:auto;min-width:0;min-height:0;border-radius:0;background:radial-gradient(ellipse at 22% 62%,#d9faff55,transparent 32%),radial-gradient(ellipse at 75% 30%,#ffe4a738,transparent 30%);filter:none;animation:cloud-light 22s ease-in-out infinite;will-change:transform;mix-blend-mode:screen}
.sky-motion i{z-index:1;box-shadow:0 0 12px 2px #c7fff4aa;animation-name:sky-speck}
@keyframes living-sky{0%,100%{transform:translate3d(-1.8%,0,0) scale(1.02)}50%{transform:translate3d(1.8%,-1%,0) scale(1.07)}}
@keyframes cloud-light{0%,100%{transform:translate3d(-5%,-2%,0);opacity:.5}50%{transform:translate3d(5%,3%,0);opacity:.95}}
@keyframes sky-speck{0%{transform:translate3d(0,0,0);opacity:0}15%,75%{opacity:.8}100%{transform:translate3d(70px,-110vh,0);opacity:0}}
.portal h1{font-family:Georgia,'Times New Roman',serif;font-weight:500;letter-spacing:-2px;text-shadow:0 2px 1px #0b253e,0 8px 26px #041a32bf,0 0 50px #b5e7ff38}.portal h1 em{background-image:linear-gradient(100deg,#c4fff0,#fff2cb,#ccf0ff,#c4fff0);filter:drop-shadow(0 3px 1px #164657)}
.portal h2{font-family:Georgia,'Times New Roman',serif;font-weight:500;letter-spacing:.2px;color:#fff4dc;text-shadow:0 2px 2px #082139,0 0 25px #ffe2ad25}.portal h3{color:#f3f8ff;text-shadow:0 2px 2px #09233c}.portal .eyebrow{color:#d1fff3;text-shadow:0 1px 8px #092c48}.portal .hero-copy{color:#f2f8ff;text-shadow:0 2px 8px #071c32,0 0 24px #071c32}.portal .hero-content{padding:20px 12px;background:radial-gradient(ellipse,#12365565,transparent 72%)}
.portal .section{border-color:#d2edff30}.portal .section-head{padding:22px;border-radius:20px;background:radial-gradient(ellipse,#12334ad9,transparent 75%)}
.portal .world-card,.portal .feature,.portal .news-card,.portal .community-box,.portal .start-grid article{background:linear-gradient(135deg,#315872e8,#142f48ed);border:1px solid #dbf3ff45;box-shadow:inset 0 1px 0 #e5f8ff36,inset 0 -1px 0 #061b3655,0 12px 32px #051b344d;border-radius:16px;transition:border-color .35s,box-shadow .35s}
.portal .start-grid article{padding:28px 22px}.portal .feature:hover,.portal .news-card:hover,.portal .community-box:hover{transform:none;border-color:#b9f3eaa1;box-shadow:inset 0 1px 0 #fff5,0 12px 32px #051b344d,0 0 22px #b7f5eb18}.portal .news-art{background-image:linear-gradient(0deg,#173950a6,transparent),url('/static/assets/astra-sky-sharp.webp')}.portal .feature-no,.portal .big-number{color:#f0dcb4;text-shadow:0 2px 10px #f7dc9c22}.portal .button:not([aria-disabled]){animation:none;box-shadow:inset 0 1px 0 #fff9,0 4px 0 #397d8c,0 12px 25px #061c3655}.portal .button:after{display:none}.portal .button:hover{transform:none}.portal .scroll-cue span{animation:none}.portal .final-cta{background:linear-gradient(0deg,#14344bd9,#173d5570)}.portal footer{background:#102b43dc}.section-pager{background:#1d4058ed;box-shadow:inset 0 1px 0 #fff2,0 8px 30px #061c3655}.section-pager button:hover{transform:none}.pager-dots{width:81px}.portal.is-turning main{animation:none}
.motion-ready .motion-reveal{transform:none;transition:opacity .7s ease;transition-delay:0ms}.motion-ready .motion-reveal.is-visible{transform:none}
@media(max-width:760px){.portal h1{letter-spacing:-1.5px}.portal .hero{min-height:950px}.sky-motion:before{background-position:38% center}.portal .section-head{padding:16px 0}.portal .section{padding-top:60px;padding-bottom:60px}}
@media(prefers-reduced-motion:reduce){.sky-motion:before,.sky-motion:after{animation:none!important}.motion-ready .motion-reveal{opacity:1}}

.portal h1 em{text-shadow:none;filter:drop-shadow(0 2px 2px #12364d)}

/* Stationary landscape, independent seamlessly tiled cloud planes. */
.sky-motion:before{animation:none;transform:none;will-change:auto}
.sky-motion:after{animation:none;opacity:.22;transform:none;will-change:auto}
.cloud-stream{position:absolute;left:0;width:calc(100% + 1600px);height:520px;background:url('/static/assets/astra-cloud-layer.svg') 0 0/1600px 520px repeat-x;pointer-events:none;will-change:transform;animation:cloud-flow 65s linear infinite;z-index:1}
.cloud-stream--far{top:-130px;opacity:.48;animation-duration:100s;animation-delay:-35s}
.cloud-stream--middle{top:24%;opacity:.62;animation-duration:70s;animation-delay:-42s}
.cloud-stream--near{bottom:-100px;opacity:.78;animation-duration:48s;animation-delay:-12s}
@keyframes cloud-flow{from{transform:translate3d(-1600px,0,0)}to{transform:translate3d(0,0,0)}}
@media(max-width:760px){.cloud-stream{background-size:1000px 400px;height:400px;width:calc(100% + 1000px);animation-name:cloud-flow-mobile}.cloud-stream--near{bottom:-80px;animation-duration:45s}.cloud-stream--middle{top:22%}.cloud-stream--far{top:-100px}@keyframes cloud-flow-mobile{from{transform:translate3d(-1000px,0,0)}to{transform:translate3d(0,0,0)}}}
@media(prefers-reduced-motion:reduce){.cloud-stream{animation:none!important;will-change:auto}}

/* Moonlight edition: natural document flow and full-width landscape. */
:root{--bg:#0b1929;--muted:#b8c8d9;--mint:#c1dfdf;--line:#c1d8ed28}
html{overflow-y:auto;scroll-padding-top:24px}.portal{background:#0b1929;overflow-x:hidden;overflow-y:visible;min-height:100vh;padding-bottom:90px}
.portal .top{width:100%;max-width:none;padding:14px max(24px,calc((100vw - 1160px)/2));gap:20px 38px;background:linear-gradient(180deg,#091726e8,#09172695);border-bottom:1px solid #d3e7ff20;backdrop-filter:blur(10px);flex-wrap:wrap}.portal .logo{width:140px}.portal .top nav{gap:25px}.portal .account{background:#182c4059;border-color:#b5cddd40}
.portal .sky-motion{position:absolute;inset:0 0 auto;height:max(900px,64vw);z-index:0;background:#0b1929;overflow:hidden;pointer-events:none}
.sky-motion:before{inset:0;background:linear-gradient(180deg,#06142218 0%,#0b192910 50%,#0b1929 100%),url('/static/assets/astra-moonlight-v5.png') center top/100% auto no-repeat;animation:none;filter:none;transform:none}
.sky-motion:after{inset:0;background:linear-gradient(90deg,#08152420,transparent 22%,transparent 78%,#08152420);opacity:1;animation:none;mix-blend-mode:normal}
.portal .top,.portal main,.portal footer{position:relative;z-index:2}
.portal .hero{min-height:0;height:auto;overflow:visible;padding:60px 24px 75px;gap:28px;background:none;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.portal .hero-content{max-width:850px;padding:0;background:none}.portal h1{font-size:clamp(42px,5.5vw,76px);line-height:1.12;letter-spacing:-1.5px;font-weight:500;margin-bottom:20px;text-shadow:0 3px 16px #06121fc9}.portal h1 em{color:#d3e9e9;background:none;animation:none;filter:none;text-shadow:0 2px 12px #071724}.portal .hero .eyebrow{margin-bottom:18px;color:#c8dbdd}.portal .hero-copy{font-size:16px;line-height:1.7;color:#d9e5f0;text-shadow:0 2px 6px #091625}.portal .actions{margin-top:22px}.portal .hero-note{margin-top:18px;color:#adc3d2}.portal .world-card{width:min(640px,100%);max-width:640px;padding:22px 28px;margin:0;background:linear-gradient(145deg,#182f43e8,#0c1e30ed);backdrop-filter:blur(10px)}.portal .world-card h2{font-size:26px}.portal .world-card>p:not(.eyebrow){display:none}.portal .world-card dl{margin:10px 0}.portal .world-card>a{padding-top:12px;margin-top:12px}.portal .world-card>a.quiet{padding:0;margin-top:8px}.portal .world-card .eyebrow{margin-bottom:8px}
.portal .scroll-cue{position:static;transform:none;display:block;margin:0;font-size:9px}.portal .scroll-cue span{margin:0}
.portal .section{padding:65px 28px}.portal .section-head{background:none;padding:0}.portal h2{color:#e2dfd4}.portal .feature,.portal .news-card,.portal .community-box,.portal .start-grid article{background:linear-gradient(140deg,#1a3043e8,#102235ef);border-color:#bfd9ef30;box-shadow:inset 0 1px 0 #dceeff14,0 14px 35px #030c1745}.portal .news-art{background-image:linear-gradient(0deg,#102132a0,transparent),url('/static/assets/astra-moonlight-v5.png')}.portal .final-cta{background:radial-gradient(ellipse at bottom,#26435165,transparent 70%)}.portal footer{background:#0b1929}.portal .motion-reveal,.motion-ready .motion-reveal{opacity:1;transform:none;transition:none}
.cloud-stream{height:440px;background-size:1600px 440px;filter:brightness(.72);animation-duration:38s;opacity:.28}.cloud-stream--far{top:120px;animation-duration:65s;animation-delay:-20s;opacity:.22}.cloud-stream--middle{top:300px;animation-duration:43s;animation-delay:-30s;opacity:.32}.cloud-stream--near{top:500px;bottom:auto;animation-duration:30s;animation-delay:-9s;opacity:.4}
.motion-toggle{position:relative;z-index:3;display:inline-flex;align-items:center;gap:8px;margin:0 auto;padding:7px 13px;border:1px solid #bed8ec40;border-radius:30px;background:#0e2236c9;color:#cadce7;font:11px 'Segoe UI',sans-serif;cursor:pointer}.motion-toggle:hover{background:#203a50}.motion-toggle:focus-visible{outline:2px solid #c1dfdf;outline-offset:4px}.portal[data-sky-motion="off"] .cloud-stream,.portal[data-sky-motion="off"] .sky-motion i{animation-play-state:paused!important}.portal[data-sky-motion="on"] .cloud-stream{animation-name:cloud-flow!important;animation-iteration-count:infinite!important;animation-timing-function:linear!important;animation-play-state:running!important}.portal[data-sky-motion="on"] .cloud-stream--far{animation-duration:65s!important}.portal[data-sky-motion="on"] .cloud-stream--middle{animation-duration:43s!important}.portal[data-sky-motion="on"] .cloud-stream--near{animation-duration:30s!important}
@media(max-width:760px){.portal .top{padding:12px 18px;gap:12px 22px}.portal .logo{width:120px}.portal .top nav{gap:10px 18px}.portal .hero{min-height:0;padding:35px 20px 45px;gap:24px}.portal .hero-copy{font-size:15px}.portal .hero .actions{gap:18px}.portal .hero h1{font-size:clamp(40px,8vw,58px)}.portal .sky-motion{height:1000px}.sky-motion:before{background-size:auto,auto 650px;background-position:center top,center top}.portal .world-card{padding:22px}.portal .section{padding:48px 22px}.cloud-stream{width:calc(100% + 1600px);background-size:1600px 440px;animation-name:cloud-flow}.cloud-stream--far{top:60px}.cloud-stream--middle{top:260px}.cloud-stream--near{top:480px}}
@media(max-height:500px) and (min-width:761px){.portal .hero{padding-top:25px}.portal .hero h1{font-size:48px}.portal .top{padding-top:8px;padding-bottom:8px}.portal .logo{width:110px}}

.portal .hero-content .motion-toggle{margin-top:18px}

/* Clearer silver cloud silhouettes, restrained warm lights on the buildings. */
.cloud-stream{filter:brightness(.61)}
.cloud-stream--far{opacity:.27}.cloud-stream--middle{opacity:.40}.cloud-stream--near{opacity:.49}
.portal[data-sky-motion="on"] .cloud-stream--far{animation-duration:56s!important}
.portal[data-sky-motion="on"] .cloud-stream--middle{animation-duration:36s!important}
.portal[data-sky-motion="on"] .cloud-stream--near{animation-duration:25s!important}
.temple-lights{position:absolute;top:0;left:0;width:100%;aspect-ratio:1672/941;z-index:2;pointer-events:none;mix-blend-mode:screen}
.temple-lights svg{display:block;width:100%;height:100%;overflow:visible}
.portal[data-sky-motion="on"] .temple-lamp{animation:temple-lamplight var(--lamp-duration) ease-in-out var(--lamp-delay) infinite!important;will-change:opacity}
@keyframes temple-lamplight{0%,100%{opacity:.2}45%{opacity:.85}65%{opacity:.58}80%{opacity:.72}}
@media(max-width:760px){.temple-lights{width:calc(650px * 1672 / 941);height:650px;left:50%;transform:translateX(-50%)}}

.temple-lamp{--lamp-duration:3.6s;--lamp-delay:-1s}.temple-lamp:nth-of-type(2n){--lamp-duration:4.3s;--lamp-delay:-2.7s}.temple-lamp:nth-of-type(3n){--lamp-duration:5.1s;--lamp-delay:-3.5s}.temple-lamp:nth-of-type(4n){--lamp-duration:3.2s;--lamp-delay:-.6s}

/* Fade at the image edge, rather than at the taller sky container edge. */
.sky-motion:before{bottom:auto;height:56.2799vw;background:linear-gradient(180deg,#06142218,#0b192910 50%),url('/static/assets/astra-moonlight-v5.png') center top/100% auto no-repeat;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 58%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 58%,transparent 100%)}
.portal .sky-motion{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 55%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 55%,transparent 100%)}
.temple-lights{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 58%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 58%,transparent 100%)}
@media(max-width:760px){.sky-motion:before{height:650px;background-size:auto,auto 650px;background-position:center top,center top}}
