:root{--pink:#e8466b;--ink:#2b2230;--muted:#6f6475;--bg:#fff7f9;--card:#fff;--line:#f1dfe5}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:18px/1.65 "Be Vietnam Pro",system-ui,-apple-system,"Segoe UI",sans-serif}
header{background:linear-gradient(135deg,#e8466b,#ff8a65);color:#fff;padding:28px 20px}
header h1{margin:0;font-size:26px}
header p{margin:6px 0 0;opacity:.9}
main{max-width:760px;margin:-16px auto 40px;background:var(--card);border-radius:18px;padding:24px 22px;box-shadow:0 8px 30px rgba(232,70,107,.12)}
h2{font-size:21px;margin:28px 0 8px;color:var(--pink)}
h2:first-child{margin-top:0}
p,li{color:var(--ink)}
small,.muted{color:var(--muted)}
a{color:var(--pink)}
.box{border:1px solid var(--line);border-radius:14px;padding:18px;margin:16px 0;background:#fffafb}
label{display:block;font-weight:600;margin:12px 0 6px}
input{width:100%;font-size:22px;padding:14px 16px;border:2px solid var(--line);border-radius:12px;outline:none}
input:focus{border-color:var(--pink)}
button{margin-top:14px;width:100%;font-size:20px;font-weight:700;padding:16px;border:0;border-radius:14px;background:var(--pink);color:#fff;cursor:pointer}
button.ghost{background:#fff;color:var(--pink);border:2px solid var(--pink)}
button:disabled{opacity:.5}
.ok{color:#1d8a4b;font-weight:700}
.err{color:#c62828;font-weight:600}
footer{text-align:center;color:var(--muted);font-size:15px;padding-bottom:30px}
