/* Reference hero: perspective asteroid belt with HTML/SVG links and real model labels. */
html:root[data-theme] .of-intro.of-asteroid-intro{padding:0;gap:0;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);overflow:hidden;align-items:stretch;background:var(--brand-surface);border-color:var(--brand-line)}
.of-asteroid-intro .of-intro-copy{padding:40px 32px;align-self:center}.of-asteroid-intro .of-intro-copy:before{content:'';display:block;width:28px;height:3px;background:var(--brand-accent);border-radius:2px;margin-bottom:25px}
html:root[data-theme] .of-asteroid-intro h1{font-weight:350;font-size:clamp(30px,3.5vw,52px);letter-spacing:-.05em;line-height:1.12}.of-asteroid-intro h1 strong{font-weight:730}.of-asteroid-intro .of-intro-copy>p{font-size:12px;line-height:1.9}.of-asteroid-intro .of-intro-bottom{display:block}.of-asteroid-intro .of-totals{margin-bottom:25px;gap:22px}.of-asteroid-intro .of-totals span{font-size:10px}.of-asteroid-intro .of-totals strong{font-size:24px}
html:root[data-theme] .of-domain-orbit.of-asteroid-belt{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:24px 14px;margin:0;border:0;border-radius:0;background:#050b16;color:#fff;overflow:hidden}
.of-asteroid-belt:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,#030a18ab,#030a1866),url('/shared/stellar-stars.jpg') center/cover}
.of-belt-overline{display:flex;justify-content:space-between;gap:12px;padding:0 12px;color:#b4c0d4;font:7px ui-monospace,monospace;letter-spacing:.12em}.of-asteroid-belt svg{display:block;width:100%;overflow:visible;margin:20px 0 0}.of-belt-orbit{fill:none;stroke:#bdcde752;stroke-width:.6;stroke-dasharray:2 5}.of-belt-planet{fill:#121e31;stroke:#afc3e044;stroke-width:1}
.of-belt-domain{outline:none;cursor:pointer}.of-belt-hit{fill:transparent}.of-belt-rock{filter:drop-shadow(0 6px 8px #000a);transition:filter .2s}.of-belt-target{stroke:var(--beacon);stroke-width:1.5;fill:var(--beacon);fill-opacity:.17;filter:drop-shadow(0 0 4px var(--beacon))}.of-belt-pin{stroke:var(--beacon);stroke-width:1;opacity:.85}.of-belt-beacon{fill:#f0f5ff;stroke:var(--beacon);stroke-width:2;filter:drop-shadow(0 0 4px var(--beacon))}.of-belt-label{fill:#050c19df;stroke:var(--beacon);stroke-opacity:.5;stroke-width:.6}.of-belt-code{fill:#f5f7fd;font:600 12px system-ui;text-anchor:middle}.of-belt-weight{fill:#d6e0f0;font:10px system-ui;text-anchor:middle}.of-belt-domain:hover .of-belt-rock,.of-belt-domain:focus-visible .of-belt-rock{filter:drop-shadow(0 0 6px var(--beacon))}.of-belt-domain:focus-visible .of-belt-hit{stroke:#fff;stroke-width:1;stroke-dasharray:3 4}.of-belt-domain:hover .of-belt-label{stroke-opacity:1;fill:#12213bf5}
html:root[data-theme] .of-asteroid-belt figcaption{margin:8px 0 0;text-align:center;padding:0 15px}.of-asteroid-belt figcaption strong{display:block;font-size:12px;color:#e7eef9}.of-asteroid-belt figcaption span{font-size:9px;line-height:1.7;color:#a9b8ce}
@media(max-width:1150px){html:root[data-theme] .of-intro.of-asteroid-intro{grid-template-columns:1fr}.of-asteroid-intro .of-intro-copy{padding:30px}.of-asteroid-intro .of-intro-copy>p{max-width:700px}.of-asteroid-intro .of-intro-bottom{display:flex;align-items:center;justify-content:space-between}.of-asteroid-intro .of-totals{margin:0}.of-asteroid-belt svg{max-height:560px}}
@media(max-width:620px){.of-asteroid-intro .of-intro-copy{padding:26px 22px}.of-asteroid-intro .of-intro-bottom{display:block}.of-asteroid-intro .of-totals{margin:0 0 22px}.of-asteroid-belt{overflow-x:auto!important;align-items:stretch}.of-asteroid-belt svg{width:680px;min-width:680px}.of-belt-overline{min-width:640px}.of-asteroid-belt figcaption{position:sticky;left:0;max-width:calc(100vw - 94px)}}
/* Immersive authentication shares one full scene, with a legible theme-aware panel. */
html:root[data-theme] body.student-page #authView.student-auth-layout{position:relative;isolation:isolate;background:#050b16;grid-template-columns:minmax(0,1.2fr) minmax(400px,.95fr);padding:28px clamp(24px,4vw,64px);gap:clamp(24px,3vw,54px);box-sizing:border-box;align-items:center}
html:root[data-theme] body.student-page #authView:before{content:'';position:absolute;inset:0;z-index:-2;background:#050b16 url('/shared/stellar-login-cosmos.v2.webp') center/cover}
html:root[data-theme] body.student-page #authView:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#02081422,#02081405 45%,#02081466 70%),linear-gradient(0deg,#02081488,transparent 45%)}
html:root[data-theme] body.student-page #authView .student-auth-intro{min-height:calc(100dvh - 150px);padding:0 0 25px;background:transparent;isolation:auto;overflow:visible;justify-content:flex-end}
html:root[data-theme] body.student-page #authView .student-auth-intro:before,html:root[data-theme] body.student-page #authView .student-auth-intro:after{display:none}
html:root[data-theme] body.student-page #authView .student-auth-intro h1{font-size:clamp(34px,4vw,58px);font-weight:400;line-height:1.1;letter-spacing:-.05em;max-width:650px;text-shadow:0 2px 28px #0007}
html:root[data-theme] body.student-page #authView .student-auth-intro h1:first-line{font-weight:700}
html:root[data-theme] body.student-page #authView .student-auth-intro>p{font-size:13px;line-height:1.9;max-width:450px;color:#d6e0ef}
html:root[data-theme] body.student-page #authView .student-auth-intro>.student-text-link{top:0;left:0;background:#07122266}
html:root[data-theme] body.student-page #authView .student-auth-benefits{max-width:490px;margin-top:24px;border-color:#c1d0e330}
html:root[data-theme] body.student-page #authView .student-auth-card{position:relative;width:100%;max-width:520px;padding:clamp(28px,3.5vw,52px);border:1px solid #bccce95c;border-radius:20px;background:#fffffff2;backdrop-filter:blur(22px);box-shadow:0 20px 65px #0004,inset 0 0 40px #cbdaf015;color:#111722}
html:root[data-theme=dark] body.student-page #authView .student-auth-card{background:#080e19d9;border-color:#b7cdf16b;box-shadow:0 20px 65px #0005,inset 0 0 40px #acc9ff08;color:#f2f5fc}
html:root[data-theme] body.student-page #authView .student-auth-card .student-eyebrow{font-size:8px;letter-spacing:.22em;color:#697384}
html:root[data-theme=dark] body.student-page #authView .student-auth-card .student-eyebrow{color:#bbc8dd}
html:root[data-theme] body.student-page #authView .student-auth-card :is(h2,label,.student-text-link){color:#141b28}
html:root[data-theme=dark] body.student-page #authView .student-auth-card :is(h2,label,.student-text-link){color:#f2f5fc}
html:root[data-theme] body.student-page #authView .student-auth-card :is(.student-muted,.student-auth-footnote){color:#5b6779}
html:root[data-theme=dark] body.student-page #authView .student-auth-card :is(.student-muted,.student-auth-footnote){color:#aebbd0}
html:root[data-theme] body.student-page #authView .student-auth-card input{background:#ffffffb8;color:#172030;border-color:#b4bdcd}
html:root[data-theme=dark] body.student-page #authView .student-auth-card input{background:#050a13a6;color:#edf2fc;border-color:#71839e66}
html:root[data-theme] body.student-page #authView .student-auth-card input::placeholder{color:#667389;opacity:1}
html:root[data-theme=dark] body.student-page #authView .student-auth-card input::placeholder{color:#9baac0}
html:root[data-theme] body.student-page #authView [data-auth-provider=google]{background:transparent;color:#152033;border-color:#aab8ca}
html:root[data-theme=dark] body.student-page #authView [data-auth-provider=google]{color:#edf3ff;border-color:#91a5c16e;background:#0d152330}
html:root[data-theme] body.student-page #authView .stellar-auth-divider{color:#657286}
html:root[data-theme=dark] body.student-page #authView .stellar-auth-divider{color:#afbdd2}
@media(max-width:850px){html:root[data-theme] body.student-page #authView.student-auth-layout{grid-template-columns:1fr 1fr;padding:24px;gap:24px}html:root[data-theme] body.student-page #authView .student-auth-card{padding:30px 24px}html:root[data-theme] body.student-page #authView .student-auth-intro h1{font-size:36px}}
@media(max-width:680px){html:root[data-theme] body.student-page #authView.student-auth-layout{grid-template-columns:1fr;padding:24px 16px 36px;gap:24px}html:root[data-theme] body.student-page #authView:before{background-position:28% top;background-size:auto 700px;background-repeat:no-repeat}html:root[data-theme] body.student-page #authView .student-auth-intro{min-height:265px;padding:50px 8px 0;justify-content:flex-end}html:root[data-theme] body.student-page #authView .student-auth-intro h1{font-size:34px;max-width:100%}html:root[data-theme] body.student-page #authView .student-auth-intro>.student-text-link{left:8px;top:0}html:root[data-theme] body.student-page #authView .student-auth-card{max-width:520px;justify-self:center}html:root[data-theme] body.student-page #authView .student-auth-benefits{display:none}}
@media(prefers-reduced-motion:reduce){.of-belt-rock{transition:none}}
html:root[data-theme] .of-domain-orbit.of-asteroid-belt>svg{max-width:none;width:100%;height:auto}
html:root[data-theme] .of-asteroid-belt .of-belt-domain .of-belt-code{fill:#f5f7fd;font:600 12px system-ui;text-anchor:middle;letter-spacing:0}
html:root[data-theme] .of-asteroid-belt .of-belt-domain .of-belt-weight{fill:#d6e0f0;font:10px system-ui;text-anchor:middle;letter-spacing:0}
html:root[data-theme] .of-asteroid-belt figcaption span{color:#a9b8ce}
@media(max-width:620px){html:root[data-theme] .of-domain-orbit.of-asteroid-belt>svg{width:680px;min-width:680px;max-width:none}}

html:root[data-theme] .of-asteroid-belt .of-belt-domain .of-belt-code{font-size:14px}html:root[data-theme] .of-asteroid-belt .of-belt-domain .of-belt-weight{font-size:12px}
html:root[data-theme=dark] body.student-page #authView .student-auth-card:after{content:'';position:absolute;inset:-1px;border-radius:20px;pointer-events:none;border:1px solid #b9d4ff28;background:radial-gradient(ellipse at 100% 0,#a9caff15,transparent 30%)}
.of-belt-domain:hover .of-belt-target,.of-belt-domain:focus-visible .of-belt-target{stroke-width:2.5;fill-opacity:.35;filter:drop-shadow(0 0 8px var(--beacon))}

/* The scene now owns one continuous background and reflows all 18 links on phones. */
html:root[data-theme] .of-domain-orbit.of-asteroid-belt{padding:24px 0;background:#050b16;overflow:hidden!important}
html:root[data-theme] .of-asteroid-belt:before{display:none}
html:root[data-theme] .of-belt-overline{padding:0 22px;min-width:0;font-size:8px;flex-wrap:wrap}
html:root[data-theme] .of-domain-orbit.of-asteroid-belt>svg{width:100%;min-width:0;max-width:none;max-height:none;overflow:hidden;margin:10px 0 0}
html:root[data-theme] .of-belt-orbit{stroke:#a8c1e129;stroke-dasharray:1 8}
html:root[data-theme] .of-belt-domain .of-belt-label{fill:#080f1ee8;stroke-opacity:.38}
html:root[data-theme] .of-belt-domain .of-belt-code{font-size:15px;font-weight:650}
html:root[data-theme] .of-belt-domain .of-belt-weight{font-size:12px}
html:root[data-theme] .of-belt-target{fill-opacity:.08;stroke-opacity:.8;stroke-width:1}
html:root[data-theme] .of-asteroid-belt figcaption{position:static;max-width:none;padding:10px 20px;margin:0}
@media(max-width:620px){html:root[data-theme] .of-belt-domain .of-belt-code{font-size:18px}html:root[data-theme] .of-belt-domain .of-belt-weight{font-size:15px}html:root[data-theme] .of-belt-overline{font-size:7px;padding:0 16px}}
html:root[data-theme] .of-asteroid-intro .of-totals{flex-wrap:nowrap;gap:16px}html:root[data-theme] .of-asteroid-intro .of-totals strong{font-size:22px}
.of-scenario-toolbar label{min-width:0}.of-scenario-toolbar #scenarioDomain{min-width:0;width:100%;box-sizing:border-box}
