:root{
  --bg:#f5f5f1;--surface:#fff;--ink:#0f1115;--ink-2:#2a2d35;--muted:#6b6f7b;--line:#e6e6e0;
  --accent:#5b5bf6;--accent-soft:#ecebff;--pink:#ff8ec7;--pink-soft:#ffe0ef;--peach:#ffe2cf;--sky:#dbeaff;
  --r-lg:32px;--r-md:22px;
  --shadow:0 1px 2px rgba(15,17,21,.04),0 12px 40px -12px rgba(15,17,21,.12);
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:"Plus Jakarta Sans",system-ui,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased;min-height:100vh}
a{color:inherit;text-decoration:none}
h1,h2,h3{letter-spacing:-.035em;line-height:1.08}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.05rem;letter-spacing:-.02em}
.logo{width:32px;height:32px;border-radius:10px;background:var(--ink);display:grid;place-items:center}
.logo svg{width:18px;height:18px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 22px;border-radius:999px;font:600 .95rem "Plus Jakarta Sans",sans-serif;border:1px solid transparent;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{transform:translateY(-2px);box-shadow:0 12px 24px -10px rgba(15,17,21,.5)}
.btn-dark:disabled{opacity:.6;transform:none;cursor:wait}
.btn-light{background:var(--surface);border-color:var(--line)}
.btn-light:hover{background:#fafaf7}
.bg-blobs{position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(40% 45% at 15% 20%,var(--sky),transparent 70%),
             radial-gradient(35% 40% at 85% 15%,var(--pink-soft),transparent 70%),
             radial-gradient(30% 40% at 60% 90%,var(--peach),transparent 70%)}
.notice{background:#fff7e6;border:1px solid #f5d9a0;color:#7a5200;border-radius:16px;padding:14px 16px;font-size:.9rem}
.error{background:#ffeef3;border:1px solid #f7c3d4;color:#a3184d;border-radius:14px;padding:12px 14px;font-size:.88rem}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
