:root { font-size:17px; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--text); background:var(--bg); }
* { box-sizing:border-box; } body { margin:0; } main { width:min(100%,680px); margin:auto; padding:28px 20px 48px; }
nav { display:flex; justify-content:space-between; align-items:center; margin-bottom:28px; } a { color:var(--link); text-decoration:none; }
h1 { font-size:26px; font-weight:600; line-height:1.2; } p,.policy { color:var(--text-2); font-size: var(--type-secondary); line-height:1.6; }
details { padding:16px; border:1px solid var(--line); border-radius:14px; margin:24px 0; } summary { cursor:pointer; font-size: var(--type-body); }
.policy { white-space:pre-wrap; margin-top:16px; } label { display:block; margin:20px 0 8px; font-size: var(--type-secondary); }
input,textarea,select { width:100%; min-width:0; max-width:100%; border:1px solid var(--line-strong); border-radius:10px; background:var(--surface-2); color:inherit; padding:12px; font:inherit; font-size: var(--type-action); }
textarea { resize:vertical; } .check { display:flex; gap:12px; line-height:1.5; } .check input { width:20px; height:20px; flex:0 0 20px; margin-top:2px; }
.note { font-size: var(--type-small); } button { border:0; border-radius:12px; background:var(--accent); color:white; min-height:46px; padding:12px 20px; font:inherit; cursor:pointer; }
button:disabled { opacity:.5; cursor:wait; } footer { margin-top:32px; font-size: var(--type-caption); } :focus-visible { outline:2px solid #9bccff; outline-offset:3px; }
