:root {
  color-scheme: dark;
  --bg-0: #090b1a;
  --bg-1: #0f1230;
  --bg-2: #191743;
  --surface: rgba(25, 27, 59, .62);
  --surface-strong: rgba(31, 34, 74, .82);
  --surface-soft: rgba(255, 255, 255, .055);
  --border: rgba(212, 218, 255, .13);
  --border-strong: rgba(213, 201, 255, .25);
  --text: #f4f3ff;
  --text-muted: #b8b9d5;
  --text-faint: #8588ab;
  --indigo: #8995ff;
  --lilac: #c4a6ff;
  --mint: #91dfc2;
  --danger: #ff9ca7;
  --shadow: 0 24px 70px rgba(0, 0, 0, .35);
  --glow: 0 12px 42px rgba(110, 101, 255, .15);
  --radius-lg: 28px;
  --radius-md: 18px;
  --radius-sm: 12px;
  --space-1: 6px;
  --space-2: 10px;
  --space-3: 16px;
  --space-4: 24px;
  --space-5: 36px;
}

* { box-sizing: border-box; }
html { background: var(--bg-0); }
body { min-width: 320px; margin: 0; color: var(--text); background: var(--bg-0); font-family: "DM Sans", system-ui, sans-serif; }
body::before, body::after { position: fixed; z-index: -2; width: 62vw; height: 62vw; content: ""; border-radius: 50%; filter: blur(44px); opacity: .42; pointer-events: none; }
body::before { top: -34vw; left: -18vw; background: #343286; }
body::after { right: -24vw; bottom: -36vw; background: #3c1e6c; }
::selection { color: #fff; background: rgba(154, 139, 255, .48); }

.glass-panel { border: 1px solid var(--border); border-radius: var(--radius-lg); background: linear-gradient(145deg, rgba(48, 49, 96, .56), rgba(18, 21, 52, .72)); box-shadow: var(--shadow), inset 0 1px 0 rgba(255, 255, 255, .08); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); }
.eyebrow { margin: 0 0 var(--space-1); color: var(--lilac); font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
input, select, button { min-height: 42px; border-radius: var(--radius-sm); font: inherit; }
input, select { width: 100%; padding: 9px 12px; border: 1px solid rgba(206, 209, 255, .14); outline: 0; color: var(--text); background: rgba(7, 9, 29, .42); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035); }
input::placeholder { color: var(--text-faint); }
input:focus, select:focus { border-color: rgba(174, 164, 255, .72); box-shadow: 0 0 0 4px rgba(142, 132, 255, .15), inset 0 1px 0 rgba(255, 255, 255, .05); }
button { padding: 9px 14px; border: 1px solid rgba(217, 213, 255, .2); color: #17142d; background: linear-gradient(135deg, #d7cdfd, #9eacff); box-shadow: 0 8px 22px rgba(118, 109, 255, .22), inset 0 1px 0 rgba(255, 255, 255, .55); font-weight: 700; cursor: pointer; }
button:hover { filter: brightness(1.07); transform: translateY(-1px); }
button:active { transform: translateY(0); }
button:focus-visible { outline: 3px solid rgba(158, 172, 255, .5); outline-offset: 2px; }
button:disabled { opacity: .5; cursor: not-allowed; transform: none; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }
