/* Reference-derived vector identity; provider names, routes and sessions stay unchanged. */
:root { --stellar-teal: #077f85; --stellar-ink: #111820; }
html[data-theme="dark"] { --stellar-teal: #64cbbf; --stellar-ink: #edf3f6; }
.stellar-symbol { display: block; flex: none; width: 43px; height: 43px; color: var(--stellar-teal); }
.stellar-wordmark { display: block; width: 157px; height: auto; aspect-ratio: 393 / 39; overflow: visible; color: var(--stellar-ink); }
.stellar-wordmark-wrap { display: inline-flex; align-items: center; line-height: 1; }
.brand, .opsagon-auth-brand { gap: 13px; }
.topbar .brand { gap: 11px; }
.topbar .brand-mark { display: flex; align-items: center; filter: none; }
.topbar .stellar-symbol { width: 37px; height: 37px; }
.topbar .stellar-wordmark { width: 134px; }
.topbar .brand-text strong { display: flex; min-height: 19px; }
.topbar .brand-text em { margin-top: 4px; font-size: 10px; letter-spacing: .025em; }
.opsagon-auth-brand .stellar-symbol { width: 42px; height: 42px; }
.opsagon-auth-brand .stellar-wordmark { width: 150px; }
.site-footer .stellar-symbol { width: 36px; height: 36px; }
.site-footer .stellar-wordmark { width: 142px; }
.hero-identity .hero-mark { width: 81%; max-width: 320px; margin: 0; }
.hero-identity .stellar-hero-symbol { width: 100%; height: auto; aspect-ratio: 450 / 435; }
.hero-identity .stellar-hero-name { width: 87%; max-width: 365px; margin: 29px 0 25px; }
.hero-identity .stellar-hero-name .stellar-wordmark { width: 100%; height: auto; }
.hero-identity .identity-signature { margin-top: 0; font-size: 12px; letter-spacing: .1em; }
.closing-inner > .stellar-symbol { width: 230px; height: auto; aspect-ratio: 450 / 435; }
@media (max-width: 900px) {
  .site-header .brand { gap: 9px; }
  .site-header .stellar-symbol { width: 36px; height: 36px; }
  .site-header .stellar-wordmark { width: 129px; }
}
@media (max-width: 600px) {
  .site-header .stellar-symbol { width: 33px; height: 33px; }
  .site-header .stellar-wordmark { width: 112px; }
  .topbar .stellar-symbol { width: 32px; height: 32px; }
  .topbar .stellar-wordmark { width: 113px; }
  .hero-identity .hero-mark { width: 76%; max-width: 250px; }
  .hero-identity .stellar-hero-name { max-width: 290px; margin-top: 24px; }
  .hero-identity .identity-signature { font-size: 10px; }
  .closing-inner > .stellar-symbol { width: 160px; }
}

/* Starfield and responsive light counterpart are scoped to the homepage. */
body.stellar-space-home { position: relative; isolation: isolate; background: #eaf0f7; }
.stellar-space-home::before,
.stellar-space-home::after { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: -1; }
.stellar-space-home::before {
  background: url('/shared/stellar-stars-light.jpg') center top / cover no-repeat;
  filter: none; opacity: 1;
}
.stellar-space-home::after { background: linear-gradient(90deg,rgba(247,249,252,.80),rgba(247,249,252,.46) 35%,rgba(247,249,252,0) 72%), linear-gradient(0deg,rgba(247,249,252,.92),rgba(247,249,252,.62) 25%,rgba(247,249,252,.08) 65%); }
html[data-theme="dark"] body.stellar-space-home { background: #03070b; }
html[data-theme="dark"] .stellar-space-home::before { background-image: url('/shared/stellar-stars.jpg'); filter: none; opacity: .88; }
html[data-theme="dark"] .stellar-space-home::after { background: linear-gradient(90deg,rgba(3,7,11,.90),rgba(3,7,11,.73) 35%,rgba(3,7,11,.10) 73%,rgba(3,7,11,.18)); }
.stellar-space-home .site-header { background: rgba(249,251,253,.86); backdrop-filter: blur(14px); }
html[data-theme="dark"] .stellar-space-home .site-header { background: rgba(3,7,11,.69); }
.stellar-space-home .hero { min-height: 610px; }
.stellar-space-home .hero-identity .hero-mark { width: 120%; max-width: 500px; margin: -28px 0 -32px; }
.stellar-space-home .hero-identity .stellar-hero-symbol { width: 100%; aspect-ratio: 1; overflow: visible; }
.stellar-space-home .hero-identity .stellar-hero-name { margin: 5px 0 24px; }
.stellar-orbit-core { filter: drop-shadow(0 5px 15px rgba(3,10,24,.14)); }
html[data-theme="dark"] .stellar-orbit-core { filter: drop-shadow(0 0 11px rgba(124,165,230,.12)); }
.stellar-engine { opacity: 0; }
.stellar-orbit-active .stellar-engine { opacity: .5; animation: stellar-engine-pulse .75s ease-in-out infinite alternate; }
@keyframes stellar-engine-pulse { from { opacity: .2; } to { opacity: .62; } }
.stellar-motion-paused .stellar-engine { animation-play-state: paused; opacity: 0; }
@media (prefers-reduced-motion: reduce) { .stellar-engine { animation: none !important; opacity: 0 !important; } }
@media (max-width: 900px) {
  .stellar-space-home .hero { gap: 24px; }
  .stellar-space-home .hero-identity .hero-mark { width: 106%; }
}
@media (max-width: 620px) {
  .stellar-space-home .hero { padding-top: 38px; padding-bottom: 34px; }
  .stellar-space-home .hero-identity .hero-mark { max-width: 340px; margin-top: -9px; }
  .stellar-space-home .hero-identity .stellar-hero-name { margin-top: 2px; }
  .stellar-space-home::before { background-position: 65% top; }
  .stellar-space-home::after { background: linear-gradient(180deg,rgba(247,249,252,.72),rgba(247,249,252,.64) 42%,rgba(247,249,252,.14) 66%,rgba(247,249,252,.75)); }
  html[data-theme="dark"] .stellar-space-home::after { background: rgba(3,7,11,.47); }
}
@media (max-width: 620px) {
  .stellar-space-home .site-header .opsagon-account-slot { display: none; }
  .stellar-space-home .header-inner { gap: 10px; }
  .stellar-space-home .theme-toggle { margin-left: auto; width: 34px; min-height: 34px; padding: 7px; }
  .stellar-space-home .theme-toggle > span { display: none; }
  .stellar-space-home .menu-button { flex: none; width: 34px; height: 34px; margin-left: 0; }
  html[data-theme="dark"] .stellar-space-home::after { background: rgba(3,7,11,.65); }
}
