:root { --bg:#fff7f1; --fg:#4a2733; --card:#fffdfa; --line:#f6d5df; --accent:#d9557e; --fgb:#fff; }
@media (prefers-color-scheme: dark) {
  :root { --bg:#2a1820; --fg:#fbe9ee; --card:#35202a; --line:#512e3c; --accent:#f59ab5; --fgb:#2a1820; }
}
* { box-sizing: border-box; }
body { margin:0; min-height:100vh; display:grid; place-items:center; color:var(--fg);
  background:radial-gradient(700px 400px at 90% 0,#ffe2ec,transparent 60%),var(--bg); font:16px/1.4 system-ui, sans-serif; }
.card { width:min(360px, calc(100vw - 32px)); background:var(--card); border:1.5px solid var(--line);
  border-radius:20px 20px 20px 6px; padding:28px; display:grid; gap:12px; box-shadow:0 6px 18px rgba(217,85,126,.15); }
h1 { margin:0 0 8px; font-size:1.3rem; color:var(--accent); display:flex; align-items:center; gap:8px; }
input, button { font:inherit; padding:11px 14px; border-radius:12px; border:1.5px solid var(--line); background:var(--bg); color:var(--fg); }
input:focus { outline:none; border-color:var(--accent); }
button { background:var(--accent); color:var(--fgb); border-color:var(--accent); cursor:pointer; font-weight:700; min-height:44px; }
#err { margin:0; color:var(--accent); font-size:.9rem; }
