/* Desktop pre-auth shell fix.
   Prevents the auth/onboarding card margin from collapsing into body and
   exposing a mismatched strip at the top of the page. */

@media (min-width: 900px) {
  body:has(#root .nv-route-stage > :is(.nv-auth-v4, .nv-onboarding-v5, .nv-profile-setup-v8)) {
    min-height: 100dvh;
    overflow: hidden;
    background:
      radial-gradient(circle at 8% 10%, rgba(138, 115, 246, 0.16), transparent 28%),
      radial-gradient(circle at 88% 78%, rgba(201, 244, 61, 0.08), transparent 24%),
      #050706;
  }

  #root:has(.nv-route-stage > :is(.nv-auth-v4, .nv-onboarding-v5, .nv-profile-setup-v8)),
  #root .nv-route-stage:has(> :is(.nv-auth-v4, .nv-onboarding-v5, .nv-profile-setup-v8)) {
    min-height: 100dvh;
    background:
      radial-gradient(circle at 8% 10%, rgba(138, 115, 246, 0.16), transparent 28%),
      radial-gradient(circle at 88% 78%, rgba(201, 244, 61, 0.08), transparent 24%),
      #050706;
  }

  #root .nv-route-stage:has(> :is(.nv-auth-v4, .nv-onboarding-v5, .nv-profile-setup-v8)) {
    box-sizing: border-box;
    display: grid;
    place-items: center;
    width: 100%;
    height: 100dvh;
    padding: 24px;
    overflow: hidden;
  }

  #root .nv-route-stage > :is(.nv-auth-v4, .nv-onboarding-v5, .nv-profile-setup-v8).nv-screen {
    margin: 0 auto !important;
    width: min(1180px, calc(100vw - 48px)) !important;
    min-height: calc(100dvh - 48px) !important;
    height: calc(100dvh - 48px) !important;
  }
}

@media (min-width: 900px) and (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) body:has(#root .nv-route-stage > :is(.nv-auth-v4, .nv-onboarding-v5, .nv-profile-setup-v8)) {
    background:
      radial-gradient(circle at 8% 10%, rgba(138, 115, 246, 0.12), transparent 28%),
      radial-gradient(circle at 88% 78%, rgba(138, 172, 22, 0.14), transparent 24%),
      #e8ebe4;
  }

  :root:not([data-theme="dark"]) #root:has(.nv-route-stage > :is(.nv-auth-v4, .nv-onboarding-v5, .nv-profile-setup-v8)),
  :root:not([data-theme="dark"]) #root .nv-route-stage:has(> :is(.nv-auth-v4, .nv-onboarding-v5, .nv-profile-setup-v8)) {
    background:
      radial-gradient(circle at 8% 10%, rgba(138, 115, 246, 0.12), transparent 28%),
      radial-gradient(circle at 88% 78%, rgba(138, 172, 22, 0.14), transparent 24%),
      #e8ebe4;
  }
}

@media (min-width: 900px) {
  :root[data-theme="light"] body:has(#root .nv-route-stage > :is(.nv-auth-v4, .nv-onboarding-v5, .nv-profile-setup-v8)) {
    background:
      radial-gradient(circle at 8% 10%, rgba(138, 115, 246, 0.12), transparent 28%),
      radial-gradient(circle at 88% 78%, rgba(138, 172, 22, 0.14), transparent 24%),
      #e8ebe4;
  }

  :root[data-theme="light"] #root:has(.nv-route-stage > :is(.nv-auth-v4, .nv-onboarding-v5, .nv-profile-setup-v8)),
  :root[data-theme="light"] #root .nv-route-stage:has(> :is(.nv-auth-v4, .nv-onboarding-v5, .nv-profile-setup-v8)) {
    background:
      radial-gradient(circle at 8% 10%, rgba(138, 115, 246, 0.12), transparent 28%),
      radial-gradient(circle at 88% 78%, rgba(138, 172, 22, 0.14), transparent 24%),
      #e8ebe4;
  }
}
