*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:#f1f1ef;color:#292929;font:16px/1.8 -apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",sans-serif}a{color:inherit}header{background:#30302e;color:#fff;padding:22px max(24px,calc((100% - 1100px)/2));display:flex;justify-content:space-between;align-items:center;gap:24px}header a{text-decoration:none}.logo{font:bold 24px/1.2 Arial;letter-spacing:.04em}header nav{font-size:14px}main{max-width:820px;margin:0 auto;padding:48px 24px 70px}.breadcrumb{font-size:14px;margin-bottom:32px;color:#595959}.kicker{font:12px/1.5 Arial;letter-spacing:.16em}h1{font-size:clamp(25px,4vw,36px);font-weight:500;line-height:1.5;margin:14px 0 18px}h2{font-size:20px}p{margin:0 0 18px}.intro{margin-bottom:32px;color:#515151}.fields{background:white;padding:32px;border:1px solid #d8d8d4}.grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field{margin-bottom:24px;min-width:0}.grid .field{margin:0 0 24px}label{display:block;margin-bottom:8px;font-size:15px;font-weight:600}.req{font-size:12px;margin-left:10px;font-weight:400;color:#666}input,select,textarea{display:block;width:100%;border:1px solid #aaa;border-radius:0;background:#fff;color:#292929;padding:12px;font:inherit;line-height:1.5;font-family:inherit;font-size:16px}textarea{resize:vertical;min-height:150px}input:focus,select:focus,textarea:focus{outline:2px solid #333;outline-offset:2px}.hint{font-size:13px;color:#666;margin:8px 0 0}.privacy{border-top:1px solid #ddd;padding-top:20px;margin-top:8px;font-size:14px}.consent{display:flex;align-items:flex-start;gap:12px;margin:24px 0;font-weight:400}.consent input{width:20px;height:20px;flex-shrink:0;margin-top:3px}button,.back-link{display:inline-block;background:#30302e;color:white;border:1px solid #30302e;padding:16px 26px;font:inherit;text-decoration:none;cursor:pointer}button{width:100%}button:hover{background:#484846}button:disabled{opacity:.65}.error{color:#8a2929;margin-top:12px}.trap{display:none}footer{border-top:1px solid #d0d0cc;padding:24px;text-align:center;font-size:13px;color:#666}footer a{margin:0 10px}.athlete[hidden]{display:none}.athlete{border-top:1px solid #ddd;padding-top:24px}@media(max-width:600px){.grid{grid-template-columns:1fr;gap:0}.fields{padding:22px 18px}main{padding:32px 18px 48px}header{padding:20px 18px}.logo{font-size:20px}header nav{font-size:13px}}