:root { --bg: #0e0a09; --card: #1a1413; --cream: #fff4ef; --cream2: #cbb9b2; --coral: #c93623; --line: rgba(255,255,255,0.08); }
* { box-sizing: border-box; }
html { background: var(--bg); }
body { margin: 0; min-height: 100vh; color: var(--cream); font: 17px/1.5 ui-rounded, 'SF Pro Rounded', system-ui, -apple-system, sans-serif; background: radial-gradient(900px 600px at 20% -10%, #3a1712 0%, transparent 60%), var(--bg); }
main { max-width: 440px; margin: 0 auto; padding: 56px 16px 40px; display: grid; gap: 16px; }
h1 { margin: 0; font-size: 32px; line-height: 1.2; font-weight: 900; }
p { margin: 0; color: var(--cream2); }
.card { background: var(--card); border: 1px solid var(--line); border-radius: 24px; padding: 20px; display: grid; gap: 12px; }
.brand { font-weight: 900; letter-spacing: 0.2px; color: var(--cream2); }
.button { display: block; text-align: center; min-height: 52px; line-height: 52px; border-radius: 26px; background: var(--cream); color: #1e1412; font-weight: 800; text-decoration: none; border: 0; font-size: 17px; width: 100%; font-family: inherit; }
.button:disabled { opacity: 0.6; }
.link { color: var(--cream); font-weight: 700; }
input[type=email] { width: 100%; min-height: 52px; border-radius: 16px; border: 1px solid var(--line); background: #0e0a09; color: var(--cream); padding: 0 16px; font-size: 17px; font-family: inherit; }
input[type=email]:focus-visible, .button:focus-visible, .link:focus-visible { outline: 3px solid var(--coral); outline-offset: 2px; }
.small { font-size: 13px; line-height: 1.4; }
.note { font-size: 15px; color: var(--cream); }
.note.bad { color: #ffb4a8; }
[hidden] { display: none !important; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
