/* Scoped original welcome art direction. All text stays independent of the moving scene. */
.magical-welcome{--welcome-ivory:#f3efe3;--welcome-gold:#d8bb82;position:relative;isolation:isolate;overflow:hidden;background:#081713;color:var(--welcome-ivory);min-height:760px;padding:34px clamp(24px,5.5vw,92px) 24px;font-family:'Mona Sans','Manrope',Arial,sans-serif}
.magical-welcome[hidden]{display:none!important}.magical-welcome *{box-sizing:border-box}.welcome-scene{position:absolute;inset:0;z-index:-1;overflow:hidden;background:radial-gradient(ellipse at 73% 40%,#42645455,transparent 48%),linear-gradient(160deg,#081c19,#102e25 58%,#091511)}
.welcome-scene::before{content:'';position:absolute;inset:0;background:url('/assets/welcome/starlight-poster.webp') 50% 35%/cover;opacity:.36;filter:saturate(.35)}.welcome-nebula,.welcome-footage{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.welcome-nebula{opacity:.74}.welcome-footage{opacity:.46;mix-blend-mode:screen;filter:saturate(.38);object-position:50% 35%}.welcome-scene.has-footage .welcome-nebula{opacity:.18}.welcome-footage[hidden]{display:none}
.welcome-starfield{position:absolute;inset:0;opacity:.65}.welcome-starfield i{position:absolute;width:var(--star-size);height:var(--star-size);background:#f5edda;border-radius:50%;box-shadow:0 0 7px #e9ddc999}.welcome-scene.has-footage .welcome-starfield{opacity:.2}
.welcome-sunrise{position:absolute;left:40%;top:30%;width:65%;height:60%;background:radial-gradient(ellipse at 55% 40%,#b5aa6840,transparent 50%);filter:blur(20px)}
.welcome-orbital{position:absolute;left:73%;top:43%;width:min(62vw,820px);aspect-ratio:1;transform:translate(-50%,-50%)}
.welcome-astrolabe{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#d4b57b;stroke-width:.65;opacity:.5;animation:welcome-orbit 200s linear infinite;animation-play-state:paused;transform-origin:50% 50%}
.welcome-astrolabe .welcome-ticks{opacity:.75;stroke-width:1}.welcome-zodiac{fill:none;stroke:#e3cd9c;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.welcome-astrolabe .welcome-axis{opacity:.14}.welcome-astrolabe .welcome-inner-star{opacity:.3;stroke-width:.5}
.welcome-lunar{position:absolute;width:45%;aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%);filter:drop-shadow(-22px 8px 50px #e4c48a18)}
.welcome-lunar img{position:absolute;width:100%;height:100%;object-fit:cover;border-radius:50%}.welcome-lunar canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0}.welcome-lunar.moon-ready canvas{opacity:1}.welcome-lunar.moon-ready img{visibility:hidden}
.welcome-orbit-dot{position:absolute;inset:10%;border-radius:50%;animation:welcome-orbit 110s linear reverse infinite;animation-play-state:paused}.welcome-orbit-dot::before{content:'';position:absolute;left:50%;top:0;width:5px;height:5px;background:#f7dfaa;border-radius:50%;box-shadow:0 0 12px #edca80,0 0 32px #edca8066}
.welcome-haze{position:absolute;width:130%;height:45%;left:-20%;bottom:5%;background:radial-gradient(ellipse at 15% 65%,#83a78d22,transparent 38%),radial-gradient(ellipse at 65% 40%,#a1b69226,transparent 42%),radial-gradient(ellipse at 88% 62%,#7a9d7a29,transparent 40%);filter:blur(24px);animation:welcome-mist 22s ease-in-out alternate infinite;animation-play-state:paused;pointer-events:none}
.haze-two{left:0;bottom:11%;opacity:.65;transform:scaleY(.6);animation-duration:29s;animation-direction:alternate-reverse}.welcome-horizon{position:absolute;left:-10%;right:-10%;bottom:0;height:30%;background:linear-gradient(0deg,#081713 10%,#081713cf 45%,transparent)}
.welcome-readability{position:absolute;inset:0;background:linear-gradient(90deg,#081713e8 0%,#081713c9 27%,#08171377 48%,transparent 70%),linear-gradient(0deg,#081713b8,transparent 35%)}
.welcome-topline{position:relative;display:flex;justify-content:space-between;align-items:center;gap:16px}.welcome-signature{display:flex;align-items:center;gap:15px;font-size:12px;letter-spacing:.15em;line-height:1.4}.welcome-signature>svg{width:33px;height:33px;fill:none;stroke:var(--welcome-gold);stroke-width:1}.welcome-signature small{display:block;font-size:10px;font-weight:400;letter-spacing:.035em;color:#c9cfbf;margin-top:4px}
.welcome-motion{width:44px;height:44px;border:1px solid #c6b37a42;color:#e9dcc0;background:#0a1b15c9;border-radius:50%;display:grid;place-content:center;cursor:pointer}.welcome-motion svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.4;fill:none}.welcome-motion:disabled{opacity:.55;cursor:default}.welcome-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.welcome-preferences{position:relative;z-index:5}.welcome-preferences summary{width:44px;height:44px;display:grid;place-content:center;border:1px solid #c6b37a42;border-radius:50%;background:#0a1b15c9;color:#d8c59b;cursor:pointer;list-style:none}.welcome-preferences summary::-webkit-details-marker{display:none}.welcome-preferences summary svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.2}.welcome-preferences .welcome-motion{position:absolute;right:0;top:52px;display:flex;align-items:center;gap:12px;width:max-content;max-width:230px;padding:12px 16px;height:auto;min-height:48px;border-radius:5px;font-size:12px;background:#13291f;box-shadow:0 10px 35px #0005}.welcome-preferences .welcome-motion .welcome-sr{position:static;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal}.welcome-preferences .welcome-motion svg{flex-shrink:0}
.welcome-content{max-width:710px;position:relative;padding:99px 0 79px;z-index:2}.welcome-eyebrow{color:#c4cdb8;font-size:10px;letter-spacing:.21em;font-weight:500;display:flex;align-items:center;gap:16px;margin:0 0 26px}.welcome-eyebrow::before{content:'';width:34px;height:1px;background:#b19b64}
.magical-welcome h1{font-family:'Bitter',Georgia,serif;font-weight:350;letter-spacing:-.065em;line-height:1.08;font-size:clamp(44px,5.9vw,88px);margin:0 0 28px;max-width:12ch;color:var(--welcome-ivory)}.magical-welcome h1>span,.magical-welcome h1>em{display:block}.magical-welcome h1>em{color:var(--welcome-gold);font-style:italic;font-weight:350}
.welcome-lead{font-size:15px;line-height:1.8;color:#c9d0c3;max-width:39ch;margin:0 0 30px}.welcome-actions{display:flex;align-items:center;flex-wrap:wrap;gap:15px 27px}.magical-welcome a{text-decoration:none}.welcome-primary{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;background:#ddc38f;color:#0b211b;border:1px solid #ddc38f;border-radius:3px;padding:16px 23px;font-size:12px;font-weight:600;min-height:50px}.welcome-primary:hover{background:#f0d8a4}.welcome-secondary{color:#e7dfcb;font-size:12px;display:inline-flex;gap:15px;align-items:center;min-height:46px;border-bottom:1px solid #b7a47966}
.welcome-bottom{display:flex;justify-content:space-between;gap:20px;position:relative;margin:0 0 18px}.welcome-caption{font-size:9px;letter-spacing:.2em;color:#bac4b2}.welcome-worlds{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-block:1px solid #acb79540;background:#0b211b85;backdrop-filter:blur(8px)}
.welcome-worlds>a{color:var(--welcome-ivory);min-height:110px;padding:18px 22px;display:grid;grid-template-columns:1fr auto;align-content:center;position:relative;gap:13px 10px;border-right:1px solid #acb7952b;transition:background .25s}.welcome-worlds>a:last-child{border-right:0}.welcome-worlds>a:hover{background:#c7b37c12}.welcome-world-number{color:#b3bda8;font-size:9px;letter-spacing:.08em}.welcome-worlds svg{width:30px;height:30px;fill:none;stroke:#dcc28b;stroke-width:1.1;grid-row:1/3;grid-column:2}.welcome-world-name{font-size:12px;font-weight:500;line-height:1.6}.welcome-world-arrow{display:none}.welcome-credit{display:block;position:relative;text-align:right;margin-top:14px;font-size:9px;color:#b9c3ad;letter-spacing:.02em}
.magical-welcome :focus-visible{outline:2px solid #f6d99c;outline-offset:6px}.welcome-running .welcome-astrolabe,.welcome-running .welcome-orbit-dot,.welcome-running .welcome-haze{animation-play-state:running}
.has-magical-welcome>.cosmic-hero .cosmic-copy{display:none}.has-magical-welcome>.cosmic-hero .cosmic-inner{padding-top:44px}.has-magical-welcome>.cosmic-hero .topic-portals::before{content:none}
body.welcome-standalone{margin:0;background:#081713;color:#f3efe3}.welcome-preview-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px clamp(24px,5.5vw,92px);border-bottom:1px solid #788d6930;font:12px 'Mona Sans','Manrope',sans-serif}.welcome-preview-toolbar a{color:#d9c18c;text-decoration:none;min-height:40px;display:flex;align-items:center}.welcome-preview-toolbar button{color:#cbd4c3;border:0;background:none;min-width:44px;min-height:40px;font:inherit;cursor:pointer}.welcome-preview-toolbar button[aria-pressed=true]{color:#edcf91;border-bottom:1px solid #edcf91}
.welcome-standalone .language-choice{color:#f1ecde;background:radial-gradient(ellipse at 50% 0,#254636,#0b1b16 65%);border:1px solid #ac936151;border-radius:16px;padding:44px;width:min(480px,calc(100% - 36px));font-family:'Mona Sans','Manrope',Arial,sans-serif;text-align:center;box-shadow:0 30px 100px #0008}.welcome-standalone .language-choice::backdrop{background:#06100ef5}.welcome-standalone .language-choice h2{font-family:'Bitter',Georgia,serif;font-size:30px;font-weight:400}.welcome-standalone .language-choice-mark svg{width:70px;height:70px;fill:none;stroke:#d8bb82;stroke-width:.6}.welcome-standalone .language-choice-subtitle{color:#c4cdb9;font-size:13px;line-height:1.8}.welcome-standalone .language-choice-options{display:grid;gap:10px;margin:26px 0}.welcome-standalone .language-choice-options button{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;min-height:50px;background:#213b2e;border:1px solid #89996a50;border-radius:4px;color:#f3e8ce;font-size:14px;cursor:pointer}.welcome-standalone #language-choice-help{font-size:10px;color:#b6c2aa;line-height:1.8}.welcome-standalone .language-choice :focus-visible{outline:2px solid #e9c786;outline-offset:3px}
@keyframes welcome-orbit{to{transform:rotate(360deg)}}@keyframes welcome-mist{from{transform:translate3d(-4%,0,0) scale(1)}to{transform:translate3d(7%,-4%,0) scale(1.08)}}
@media(min-width:1700px){.magical-welcome{min-height:870px}.welcome-content{padding-block:125px 110px}.welcome-orbital{width:940px}}
@media(max-width:1000px){.welcome-content{padding-top:90px;max-width:58%}.magical-welcome h1{font-size:56px}.welcome-orbital{left:79%;top:38%;width:76vw}.welcome-worlds>a{padding:16px 13px}.welcome-worlds svg{width:22px;height:22px}.welcome-world-name{font-size:11px}.welcome-secondary{font-size:11px}.welcome-lead{font-size:14px}}
@media(max-width:620px){.magical-welcome{padding:24px 24px 20px;min-height:0}.welcome-signature{font-size:10px;gap:10px}.welcome-signature small{font-size:9px}.welcome-signature>svg{width:27px;height:27px}.welcome-orbital{width:min(500px,135vw);left:71%;top:185px;opacity:.84}.welcome-lunar{width:40%}.welcome-readability{background:linear-gradient(90deg,#081713c7,transparent),linear-gradient(0deg,#081713 10%,#08171377 46%,transparent 75%)}.welcome-content{max-width:none;padding:206px 0 39px}.magical-welcome h1{font-size:clamp(39px,10.5vw,64px);max-width:none;letter-spacing:-.055em}.welcome-eyebrow{font-size:8px;letter-spacing:.14em;gap:11px;margin-bottom:20px}.welcome-eyebrow::before{width:20px}.welcome-lead{max-width:34ch;font-size:14px;line-height:1.8}.welcome-actions{gap:12px 20px}.welcome-primary{font-size:11px;padding:15px 18px;gap:20px}.welcome-secondary{font-size:11px}.welcome-bottom{margin:0 0 16px}.welcome-caption{font-size:8px;letter-spacing:.1em}.welcome-worlds{grid-template-columns:1fr;backdrop-filter:none;background:#0a1c16bf}.welcome-worlds>a{display:grid;grid-template-columns:22px 30px 1fr 16px;min-height:64px;padding:12px 14px;gap:14px;align-items:center;border-right:0;border-bottom:1px solid #acb7952b}.welcome-worlds>a:last-child{border-bottom:0}.welcome-worlds svg{grid-column:2;grid-row:1;width:28px;height:28px}.welcome-world-name{font-size:13px}.welcome-world-arrow{display:block;color:#d8bb82}.welcome-credit{text-align:left;font-size:9px}.welcome-haze{bottom:36%;height:36%;filter:blur(14px)}.welcome-footage{object-position:65% 0}.welcome-preview-toolbar{padding-block:8px;font-size:10px}.welcome-standalone .language-choice{padding:28px 22px}.welcome-standalone .language-choice h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){.magical-welcome *,.magical-welcome *::before{animation:none!important;transition:none!important}.welcome-motion{display:none}}
