:root { color-scheme: light; --ink:#172033; --muted:#5f6b7a; --bg:#f7f5f1; --card:#ffffff; --accent:#6146ff; --accent-dark:#4b35d8; --good:#087f5b; --bad:#c92a2a; }
* { box-sizing: border-box; }
body { margin:0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: radial-gradient(circle at top left, #ede8ff, transparent 30rem), var(--bg); color:var(--ink); line-height:1.6; }
main { max-width: 880px; margin: 0 auto; padding: 64px 22px; }
article, .card { background:rgba(255,255,255,.92); border:1px solid rgba(23,32,51,.08); border-radius:28px; padding:clamp(28px,5vw,56px); box-shadow:0 24px 80px rgba(31,26,66,.08); }
.eyebrow { color:var(--accent); font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:.78rem; }
h1 { font-size:clamp(2.2rem,6vw,4rem); line-height:1.05; margin:.25rem 0 1rem; }
h2 { margin-top:2rem; font-size:1.25rem; }
h3 { margin-top:1.4rem; font-size:1.05rem; }
ul { color:var(--muted); padding-left:1.35rem; }
p, li { color:var(--muted); font-size:1.03rem; }
a { color:var(--accent); }
.notice { background:#f2efff; border-left:4px solid var(--accent); padding:1rem 1.2rem; border-radius:14px; margin:1.5rem 0; }
form { display:grid; gap:1rem; margin-top:2rem; }
label { display:grid; gap:.35rem; font-weight:700; color:var(--ink); }
input { width:100%; border:1px solid rgba(23,32,51,.16); border-radius:14px; padding:.9rem 1rem; font:inherit; color:var(--ink); background:#fff; }
input:focus { outline:3px solid rgba(97,70,255,.18); border-color:var(--accent); }
button { border:0; border-radius:999px; padding:.95rem 1.35rem; font:inherit; font-weight:800; color:#fff; background:var(--accent); cursor:pointer; justify-self:start; }
button:hover { background:var(--accent-dark); }
button:disabled { opacity:.65; cursor:wait; }
.help { font-size:.92rem; color:var(--muted); margin:0; }
.status { display:none; margin-top:1.25rem; padding:1rem 1.2rem; border-radius:14px; font-weight:650; }
.status.show { display:block; }
.status.ok { color:var(--good); background:#e6fcf5; }
.status.err { color:var(--bad); background:#fff5f5; }
footer { margin-top:2rem; color:var(--muted); font-size:.95rem; }
