/**
 * FM-POLISH-005A — Welcome Atmosphere Refinement
 * Same composition. Softer integration: floating institutional paper, not a modal.
 */

:root {
  --fm-p5a-deep: #0E2A21;
  --fm-p5a-forest: #102E24;
  --fm-p5a-green: #1E4A38;
  --fm-p5a-graphite: #3F4542;
  --fm-p5a-sage: #7F9288;
  --fm-p5a-paper: #EFE9DC;
  --fm-p5a-paper-deep: #E8E1D2;
  --fm-p5a-glow: rgba(245, 241, 232, 0.42);
  --fm-p5a-btn-top: #285640;
  --fm-p5a-btn-mid: #214B39;
  --fm-p5a-btn-bot: #183D2E;
  --fm-p5a-sec-bg: #F3EEE3;
}

body.fm-polish-005-auth,
body.fm-polish-005a-auth {
  --fm-p5-ivory: var(--fm-p5a-paper);
}

/* Deeper, living atmosphere — forest → graphite → sage → warm logo glow */
body.fm-polish-005a-auth #auth-session-overlay.fm-ds-001c-overlay,
body.fm-polish-005-auth.fm-polish-005a-auth #auth-session-overlay.fm-ds-001c-overlay {
  background-color: var(--fm-p5a-forest) !important;
  background-image:
    radial-gradient(ellipse 70% 55% at 50% 28%, rgba(245, 241, 232, 0.28) 0%, rgba(245, 241, 232, 0.08) 36%, transparent 62%),
    radial-gradient(ellipse 90% 70% at 50% 55%, rgba(127, 146, 136, 0.22) 0%, transparent 58%),
    radial-gradient(ellipse 80% 60% at 0% 0%, rgba(16, 46, 36, 0.9) 0%, transparent 55%),
    radial-gradient(ellipse 75% 55% at 100% 100%, rgba(63, 69, 66, 0.82) 0%, transparent 55%),
    linear-gradient(168deg, var(--fm-p5a-deep) 0%, var(--fm-p5a-forest) 28%, var(--fm-p5a-green) 52%, #35403b 78%, var(--fm-p5a-graphite) 100%) !important;
  padding: max(36px, env(safe-area-inset-top)) 36px max(36px, env(safe-area-inset-bottom)) !important;
}

/* Soft fog + vignette + nearly invisible grain */
body.fm-polish-005a-auth #auth-session-overlay.fm-ds-001c-overlay::before,
body.fm-polish-005-auth.fm-polish-005a-auth #auth-session-overlay.fm-ds-001c-overlay::before {
  background:
    radial-gradient(ellipse 120% 90% at 50% 40%, transparent 35%, rgba(10, 28, 22, 0.38) 100%),
    linear-gradient(180deg, rgba(14, 42, 33, 0.22) 0%, transparent 34%),
    linear-gradient(0deg, rgba(14, 42, 33, 0.28) 0%, transparent 30%),
    url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  opacity: 1;
  mix-blend-mode: normal;
}

/* Warm bloom — brightest behind the logo (upper card), not the buttons */
body.fm-polish-005a-auth #auth-session-overlay.fm-ds-001c-overlay::after,
body.fm-polish-005-auth.fm-polish-005a-auth #auth-session-overlay.fm-ds-001c-overlay::after {
  left: 50%;
  top: 30%;
  width: min(620px, 84vw);
  height: min(420px, 52vh);
  transform: translate(-50%, -50%);
  background:
    radial-gradient(ellipse at 50% 35%, rgba(250, 246, 236, 0.48) 0%, rgba(245, 241, 232, 0.16) 38%, transparent 68%),
    radial-gradient(ellipse at 50% 50%, rgba(127, 146, 136, 0.2) 0%, transparent 62%);
  filter: blur(40px);
  opacity: 1;
}

/* Narrower root — ~10% less width, more visible atmosphere */
body.fm-polish-005a-auth #fm-ds-001c-root.fm-polish-005-root,
body.fm-polish-005-auth.fm-polish-005a-auth #fm-ds-001c-root.fm-polish-005-root,
body.fm-polish-005a-auth #fm-ds-001c-root.fm-ds-002-root {
  width: min(560px, 100%) !important;
}

/* Quieter watermark */
body.fm-polish-005a-auth .fm-polish-005-watermark {
  top: 52%;
  width: min(360px, 58vw);
  opacity: 0.014;
}

/* Floating institutional paper — hugs content */
body.fm-polish-005a-auth .fm-auth-card,
body.fm-polish-005-auth.fm-polish-005a-auth .fm-auth-card {
  background-color: #EDE6D6 !important;
  background-image:
    linear-gradient(180deg, rgba(255, 252, 245, 0.28) 0%, transparent 30%),
    linear-gradient(180deg, #EFE9DC 0%, #E6DFCF 100%) !important;
  border: 1px solid rgba(53, 83, 67, 0.10) !important;
  border-radius: 25px !important;
  padding: 26px 32px 20px !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.48),
    0 1px 1px rgba(14, 35, 27, 0.04),
    0 8px 22px rgba(14, 35, 27, 0.08),
    0 28px 70px rgba(12, 30, 24, 0.12),
    0 -20px 60px rgba(245, 241, 232, 0.12) !important;
}

body.fm-polish-005a-auth .fm-auth-card::before {
  height: 1.5px;
  opacity: 0.85;
  background: linear-gradient(90deg, transparent, rgba(127, 146, 136, 0.45) 24%, rgba(30, 74, 56, 0.55) 50%, rgba(63, 69, 66, 0.4) 76%, transparent);
}

/* Welcome card — extra outer breath + logo space (importance via space) */
body.fm-polish-005a-auth .fm-auth-card[data-testid="fm-ds-001c-welcome"] {
  padding: 28px 34px 20px !important;
}
body.fm-polish-005a-auth .fm-auth-card[data-testid="fm-ds-001c-welcome"] .fm-auth-brand {
  padding-top: 8px;
  margin-bottom: 0;
}
body.fm-polish-005a-auth .fm-auth-card[data-testid="fm-ds-001c-welcome"] .fm-auth-mark {
  margin-bottom: 2px;
  padding: 8px 0 2px !important;
}
body.fm-polish-005a-auth .fm-auth-card[data-testid="fm-ds-001c-welcome"] .fm-auth-name {
  margin-top: 14px;
}
body.fm-polish-005a-auth .fm-auth-card[data-testid="fm-ds-001c-welcome"] .fm-auth-tagline {
  margin-top: 7px;
}
body.fm-polish-005a-auth .fm-auth-card[data-testid="fm-ds-001c-welcome"] .fm-auth-title {
  margin-top: 24px;
}
body.fm-polish-005a-auth .fm-auth-card[data-testid="fm-ds-001c-welcome"] .fm-auth-purpose {
  margin-top: 10px;
  max-width: 30em;
}
body.fm-polish-005a-auth .fm-auth-card[data-testid="fm-ds-001c-welcome"] .fm-auth-actions {
  margin-top: 22px;
  gap: 11px;
}
body.fm-polish-005a-auth .fm-auth-card[data-testid="fm-ds-001c-welcome"] .fm-auth-legal-footer {
  margin-top: 20px;
}

/* Buttons — lighting only; keep dimensions */
body.fm-polish-005a-auth .fm-auth-btn-primary {
  background: linear-gradient(180deg, var(--fm-p5a-btn-top) 0%, var(--fm-p5a-btn-mid) 48%, var(--fm-p5a-btn-bot) 100%);
  border: 1px solid rgba(16, 46, 36, 0.65);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.18),
    inset 0 -1px 0 rgba(0, 0, 0, 0.08),
    0 8px 18px rgba(16, 46, 36, 0.16);
}
body.fm-polish-005a-auth .fm-auth-btn-primary:hover {
  background: linear-gradient(180deg, #2f6449 0%, #214b39 52%, #163528 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.2),
    0 10px 22px rgba(16, 46, 36, 0.2);
}
body.fm-polish-005a-auth .fm-auth-btn-secondary {
  background: var(--fm-p5a-sec-bg);
  border: 1.5px solid #2B5A43;
  color: #214B39;
}
body.fm-polish-005a-auth .fm-auth-btn-secondary:hover {
  background: #E8EFE9;
}

/* Form cards stay slightly tighter */
body.fm-polish-005a-auth .fm-auth-card[data-testid="fm-ds-001c-signin"],
body.fm-polish-005a-auth .fm-auth-card[data-testid="fm-ds-001c-create"],
body.fm-polish-005a-auth .fm-auth-card[data-testid="fm-ds-001c-forgot"],
body.fm-polish-005a-auth .fm-auth-card[data-testid="fm-ds-001c-reset"] {
  padding: 24px 28px 20px !important;
}

@media (max-width: 900px) {
  body.fm-polish-005a-auth #fm-ds-001c-root.fm-polish-005-root {
    width: calc(100% - 72px) !important;
  }
  body.fm-polish-005a-auth #auth-session-overlay.fm-ds-001c-overlay {
    padding: 28px 28px !important;
  }
}

@media (max-width: 640px) {
  body.fm-polish-005a-auth #fm-ds-001c-root.fm-polish-005-root {
    width: calc(100% - 32px) !important;
  }
  body.fm-polish-005a-auth #auth-session-overlay.fm-ds-001c-overlay {
    padding: max(20px, env(safe-area-inset-top)) 16px max(20px, env(safe-area-inset-bottom)) !important;
  }
  body.fm-polish-005a-auth .fm-auth-card {
    border-radius: 22px !important;
    padding: 24px 18px 18px !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.5),
      0 1px 2px rgba(14, 35, 27, 0.05),
      0 14px 40px rgba(12, 30, 24, 0.14) !important;
  }
  body.fm-polish-005a-auth .fm-auth-card[data-testid="fm-ds-001c-welcome"] {
    padding: 24px 18px 18px !important;
  }
  body.fm-polish-005a-auth .fm-auth-card[data-testid="fm-ds-001c-welcome"] .fm-auth-title {
    margin-top: 22px;
  }
}
