/* ============================================================
   Ambition — Login ("The Living Consequence") — staging copy
   Pulled from the live app's login-upgrade.css (app-only @imports removed).
   ============================================================ */
@property --amb-glow{syntax:'<color>';inherits:true;initial-value:rgba(47,201,140,.0)}

html[data-theme="light"]{
  --sky-top:#eaf4ee;--sky-mid:#e6f1ea;--sky-bot:#dcefe2;
  --sun:rgba(255,247,222,.95);--sun-bloom:rgba(120,210,150,.55);
  --hill-1:#9fd6ad;--hill-2:#7cc48d;--hill-3:#5fb178;--hill-4:#3f9a63;--mote:rgba(40,90,60,.30);
  --ink:#21251f;--ink-soft:#4c5a4f;--ink-faint:#7f8d82;
  --glass:rgba(255,255,255,.62);--glass-bd:rgba(20,45,30,.10);--glass-sh:0 40px 90px -40px rgba(25,50,35,.45);
  --field:#fff;--field-bd:rgba(20,45,30,.16);--field-ph:#9aa9a0;
  --cta:#1f9d66;--cta-2:#2fe39b;--cta-ink:#04130d;
  --seg-bg:rgba(255,255,255,.55);--seg-bd:rgba(20,45,30,.12);--seg-fg:#3a5547;--seg-on:#1f8f63;--seg-on-fg:#fff;
  --q:#3a4742;--q-by:#1f8f63;
}
html[data-theme="dark"]{
  --sky-top:#0a1411;--sky-mid:#0b1a14;--sky-bot:#08100d;
  --sun:rgba(80,200,150,.9);--sun-bloom:rgba(47,227,155,.45);
  --hill-1:#173a2a;--hill-2:#13311f;--hill-3:#0f2719;--hill-4:#0a1c12;--mote:rgba(120,230,170,.45);
  --ink:#f1efe7;--ink-soft:#b9c3bb;--ink-faint:#7e8c83;
  --glass:rgba(12,18,15,.46);--glass-bd:rgba(255,255,255,.10);--glass-sh:0 50px 120px -50px rgba(0,0,0,.8);
  --field:rgba(255,255,255,.05);--field-bd:rgba(255,255,255,.14);--field-ph:#7e8c83;
  --cta:#2fe39b;--cta-2:#16b083;--cta-ink:#04130d;
  --seg-bg:rgba(255,255,255,.07);--seg-bd:rgba(255,255,255,.14);--seg-fg:#aeb6c8;--seg-on:#2fe39b;--seg-on-fg:#062016;
  --q:#cdd6cd;--q-by:#2fe39b;
}
:root{--ease:cubic-bezier(.22,.8,.2,1)}

#auth{position:relative!important;overflow:hidden!important;background:transparent!important;min-height:100vh;min-height:100dvh;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:20px}

.amb-world{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;
  background:linear-gradient(180deg,var(--sky-top) 0%,var(--sky-mid) 46%,var(--sky-bot) 100%);transition:background 1.2s var(--ease)}
.amb-world::before{content:'';position:absolute;inset:0;background:radial-gradient(1200px 720px at 50% 8%,var(--amb-glow),transparent 60%);animation:amb-drift 18s var(--ease) infinite alternate}
@keyframes amb-drift{from{--amb-glow:rgba(47,201,140,.30)}to{--amb-glow:rgba(150,210,80,.20)}}
.amb-sun{position:absolute;left:50%;top:55%;width:380px;height:380px;transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle at 50% 50%,var(--sun) 0%,var(--sun-bloom) 34%,transparent 68%);filter:blur(2px);animation:amb-sun 9s ease-in-out infinite}
@keyframes amb-sun{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.92}50%{transform:translate(-50%,-52%) scale(1.06);opacity:1}}
.amb-hills{position:absolute;left:0;right:0;bottom:0;height:60%}
.amb-hill{position:absolute;left:-6%;right:-6%;border-radius:50% 50% 0 0/100% 100% 0 0;transition:background 1.2s var(--ease)}
.ah1{bottom:-30%;height:80%;background:var(--hill-1);opacity:.55;filter:blur(1px);animation:amb-sway 22s ease-in-out infinite}
.ah2{bottom:-34%;height:74%;left:-18%;right:8%;background:var(--hill-2);opacity:.7;animation:amb-sway 18s ease-in-out infinite reverse}
.ah3{bottom:-40%;height:70%;left:6%;right:-20%;background:var(--hill-3);opacity:.85;animation:amb-sway 26s ease-in-out infinite}
.ah4{bottom:-46%;height:66%;background:var(--hill-4)}
@keyframes amb-sway{0%,100%{transform:translateX(0)}50%{transform:translateX(2.2%)}}
.amb-motes{position:absolute;inset:0}
.amb-mote{position:absolute;border-radius:50%;background:var(--mote);filter:blur(.3px);animation:amb-float linear infinite;opacity:0}
@keyframes amb-float{0%{transform:translateY(20px);opacity:0}12%{opacity:1}88%{opacity:1}100%{transform:translateY(-120px);opacity:0}}
.amb-vig{position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 40%,transparent 55%,rgba(0,0,0,.16) 100%)}
@media (prefers-reduced-motion:reduce){.amb-world::before,.amb-sun,.ah1,.ah2,.ah3,.amb-mote{animation:none!important}}

#auth .auth-card{position:relative!important;z-index:2!important;max-width:418px!important;width:100%;
  padding:40px 36px 30px!important;border-radius:30px!important;text-align:center!important;
  background:var(--glass)!important;border:1px solid var(--glass-bd)!important;box-shadow:var(--glass-sh)!important;
  -webkit-backdrop-filter:blur(26px) saturate(1.25);backdrop-filter:blur(26px) saturate(1.25);
  animation:amb-rise 1s var(--ease) both}
@keyframes amb-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
#auth .auth-card .amb-orb{display:inline-grid;width:72px;height:72px;margin:0 auto 18px}
#auth .auth-card h1{font-family:'Italiana',Georgia,serif!important;font-weight:400!important;font-size:46px!important;letter-spacing:.04em!important;line-height:1!important;color:var(--ink)!important}
#auth .auth-card p{font-family:'Instrument Sans',system-ui,sans-serif!important;font-size:14.5px!important;line-height:1.55!important;color:var(--ink-soft)!important;max-width:330px;margin:12px auto 0!important}

#auth > .amb-quote{position:relative;z-index:2;max-width:470px;margin:26px 16px 0;padding:12px 22px;border-radius:16px;
  display:flex;flex-direction:column;gap:6px;text-align:center;opacity:1;transition:opacity .5s ease;
  background:rgba(8,16,12,.36);border:1px solid rgba(255,255,255,.10);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}
#auth > .amb-quote .amb-q-text{font-family:'Instrument Sans',system-ui,sans-serif;font-weight:500;font-size:14px;line-height:1.5;color:rgba(255,255,255,.94);text-shadow:0 1px 10px rgba(0,0,0,.35)}
#auth > .amb-quote .amb-q-by{font-family:'Instrument Sans',system-ui,sans-serif;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.6)}

#auth .auth-card input{width:100%!important;height:52px!important;padding:0 18px!important;border-radius:14px!important;margin-top:10px;
  border:1px solid var(--field-bd)!important;background:var(--field)!important;color:var(--ink)!important;
  font-family:'Instrument Sans',system-ui,sans-serif!important;font-size:15px!important;text-align:center!important;outline:none!important;transition:.2s;box-sizing:border-box}
#auth .auth-card input::placeholder{color:var(--field-ph)!important}
#auth .auth-card input:focus{border-color:var(--cta)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--cta) 18%,transparent)!important}
#auth .auth-card .btn-primary{width:100%!important;height:52px!important;margin-top:12px!important;border:0!important;border-radius:14px!important;cursor:pointer;
  font-family:'Instrument Sans',system-ui,sans-serif!important;font-weight:700!important;font-size:15px!important;color:var(--cta-ink)!important;
  background:linear-gradient(180deg,var(--cta-2),var(--cta))!important;box-shadow:0 16px 34px -14px color-mix(in srgb,var(--cta) 70%,transparent)!important;transition:.2s transform var(--ease),.2s filter}
#auth .auth-card .btn-primary:hover{transform:translateY(-1px);filter:brightness(1.04)}
#auth .auth-card .btn{width:100%!important;height:50px!important;margin-top:10px!important;border-radius:14px!important;
  background:transparent!important;color:var(--ink)!important;border:1px solid var(--field-bd)!important;font-family:'Instrument Sans',system-ui,sans-serif!important;font-weight:600!important;cursor:pointer}
#auth .auth-card .muted{color:var(--ink-faint)!important;cursor:pointer;font-size:13px;display:block;margin-top:10px;transition:color .2s}
#auth .auth-card .muted:hover{color:var(--ink-soft)!important}
#auth .auth-card #authToggle{margin-top:18px;color:var(--cta)!important;font-weight:600}
#auth .auth-card .auth-msg{color:var(--cta)!important;font-size:13px!important;margin-top:12px!important;min-height:16px}

.amb-theme-seg{display:inline-flex;gap:2px;margin:22px auto 2px;padding:3px;border-radius:999px;background:var(--seg-bg);border:1px solid var(--seg-bd);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.amb-theme-seg button{font-family:'Instrument Sans',system-ui,sans-serif;font-size:12px;font-weight:600;padding:6px 14px;border-radius:999px;border:0;background:transparent;color:var(--seg-fg);cursor:pointer;letter-spacing:.02em;transition:.2s}
.amb-theme-seg button[aria-pressed="true"]{background:var(--seg-on);color:var(--seg-on-fg)}

@media (max-width:480px){#auth .auth-card h1{font-size:38px!important}#auth .auth-card{padding:34px 22px 26px!important}.amb-sun{width:300px;height:300px}}
