:root { color-scheme: light dark; --ink:#1d1d1f; --muted:#6e6e73; --ground:#fff; --surface:#f5f5f7; --rule:rgba(0,0,0,.12); --accent:#6a61f6; }
@media(prefers-color-scheme:dark) { :root { --ink:#f5f5f7; --muted:#a1a1a6; --ground:#000; --surface:#1c1c1e; --rule:rgba(255,255,255,.18); --accent:#a59fff; } }
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--ground); color:var(--ink); font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif; font-size:17px; line-height:1.5; -webkit-font-smoothing:antialiased; }
main { max-width:468px; margin:0 auto; padding:clamp(64px,14vh,140px) 24px 40px; text-align:center; }
.mark { height:68px; width:auto; max-width:100%; display:block; margin:0 auto 32px; }
h1 { font-size:32px; line-height:1.15; letter-spacing:-.025em; font-weight:600; margin:0 0 16px; text-wrap:balance; }
p { margin:0 0 28px; color:var(--muted); text-wrap:pretty; }
.actions { display:grid; gap:12px; margin-top:30px; }
button,.button { appearance:none; display:flex; align-items:center; justify-content:center; width:100%; min-height:52px; padding:13px 18px; border:1px solid transparent; border-radius:14px; background:var(--ink); color:var(--ground); font:inherit; font-weight:600; text-decoration:none; cursor:pointer; }
.secondary { background:var(--surface); color:var(--ink); border-color:var(--rule); }
button:disabled { opacity:.5; cursor:default; }
button:focus-visible,a:focus-visible,input:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
form { text-align:left; margin-top:30px; }
label { display:block; margin-bottom:9px; font-size:15px; font-weight:600; }
input { width:100%; min-height:54px; padding:14px 16px; border:1px solid var(--rule); border-radius:14px; background:var(--surface); color:var(--ink); font:inherit; }
form button { margin-top:16px; }
.hint { margin:10px 0 0; font-size:14px; }
.notice { margin:24px 0 0; min-height:24px; font-size:15px; overflow-wrap:anywhere; }
.notice.error { color:light-dark(#b42318,#ff9087); }
.quiet { display:inline-flex; align-items:center; justify-content:center; min-height:44px; margin-top:14px; color:var(--accent); font-size:15px; text-underline-offset:3px; }
footer { border-top:1px solid var(--rule); margin-top:48px; padding-top:20px; font-size:13px; color:var(--muted); }
footer a { color:inherit; display:inline-block; min-height:44px; padding:10px; }
[hidden] { display:none !important; }
.privacy { max-width:660px; text-align:left; padding-top:clamp(48px,10vh,96px); }
.privacy header { text-align:center; margin-bottom:44px; }
.privacy section { padding:24px 0; border-top:1px solid var(--rule); }
.privacy h2 { font-size:20px; line-height:1.3; letter-spacing:-.015em; font-weight:600; margin:0 0 12px; }
.privacy section p { margin:0 0 16px; }
.privacy section p:last-child { margin-bottom:0; }
.privacy footer { text-align:center; margin-top:24px; }
