:root{
  --bg:#faf6ee;
  --surface:#ffffff;
  --surface-2:#f4efe2;
  --ink:#231f17;
  --ink-soft:#7a7263;
  --line:#e9e0cd;
  --accent:#1f9d5a;
  --accent-2:#f2994a;
  --accent-ink:#ffffff;
  --accent-soft:#e2f6ea;
  --danger:#dc2626;
  --danger-soft:#fee2e2;
  --radius:18px;
  --radius-sm:10px;
  --shadow:0 1px 2px rgba(35,31,23,.05), 0 8px 24px -14px rgba(35,31,23,.22);
  --glow:rgba(31,157,90,.18);
  --mesh-1:rgba(31,157,90,.12);
  --mesh-2:rgba(242,153,74,.10);
  --mesh-3:rgba(31,157,90,.06);
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#15190f;--surface:#1c2216;--surface-2:#212a1a;--ink:#f1ede4;--ink-soft:#a8a190;
    --line:#2c3423;--accent:#34c17a;--accent-2:#ffab5e;--accent-ink:#0e1a0f;--accent-soft:#1c3524;
    --danger:#f87171;--danger-soft:#3a1518;
    --shadow:0 1px 2px rgba(0,0,0,.4), 0 12px 32px -14px rgba(0,0,0,.65);
    --glow:rgba(52,193,122,.32);
    --mesh-1:rgba(52,193,122,.18);
    --mesh-2:rgba(255,171,94,.14);
    --mesh-3:rgba(52,193,122,.10);
  }
}
*{box-sizing:border-box}
*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}
::selection{background:var(--accent);color:var(--accent-ink)}
body{
  background:var(--bg);color:var(--ink);font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  margin:0;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;
  background-image:
    radial-gradient(760px circle at 12% -8%, var(--mesh-1), transparent 55%),
    radial-gradient(620px circle at 100% 0%, var(--mesh-2), transparent 50%),
    radial-gradient(900px circle at 30% 120%, var(--mesh-3), transparent 55%);
  background-attachment:fixed;
}
h1,h2{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:700;letter-spacing:-.01em;margin:0 0 4px}
.authCard{
  position:relative;
  background:linear-gradient(160deg, color-mix(in srgb, var(--accent) 4%, var(--surface)) 0%, var(--surface) 55%);
  border:1px solid color-mix(in srgb, var(--line) 80%, transparent);
  border-radius:var(--radius);
  box-shadow:var(--shadow), 0 20px 50px -24px var(--glow);
  padding:32px;max-width:380px;width:100%;
}
.authCard::before{
  content:"";position:absolute;left:32px;top:0;width:40px;height:3px;border-radius:0 0 99px 99px;
  background:linear-gradient(90deg,var(--accent-2),var(--accent));
}
.sub{color:var(--ink-soft);font-size:13px;margin-bottom:20px}
label{font-size:11.5px;color:var(--ink-soft);display:block;margin:14px 0 4px;font-weight:600;text-transform:uppercase;letter-spacing:.02em}
input{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit;transition:box-shadow .12s ease,border-color .12s ease}
input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
button{font:inherit;cursor:pointer}
.btn{
  width:100%;margin-top:18px;padding:11px 14px;border-radius:999px;border:none;
  background:linear-gradient(135deg,var(--accent-2) 0%,var(--accent) 100%);color:var(--accent-ink);font-weight:700;font-size:14px;
  box-shadow:0 8px 20px -8px var(--glow);transition:filter .12s ease, box-shadow .12s ease, transform .1s ease;
}
.btn:hover{filter:brightness(1.08);box-shadow:0 10px 26px -8px var(--glow);transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}
.btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--line);box-shadow:none}
.btn.ghost:hover{background:var(--surface-2);filter:none;box-shadow:none;transform:none}
.err{background:var(--danger-soft);color:var(--danger);border-radius:var(--radius-sm);padding:9px 10px;font-size:12.5px;margin-top:14px;display:none}
.foot{margin-top:16px;font-size:12.5px;color:var(--ink-soft);text-align:center}
.foot a{color:var(--accent);font-weight:600}
.priceLine{display:flex;justify-content:space-between;align-items:baseline;background:var(--surface-2);border-radius:var(--radius-sm);padding:12px 14px;margin:16px 0}
.priceLine .amt{font-family:'IBM Plex Mono',monospace;font-size:20px;font-weight:600}
ul.features{margin:14px 0;padding-left:18px;font-size:13px;color:var(--ink-soft);line-height:1.8}
