.reg { max-width:520px; margin:0 auto; padding:28px 18px 40px; min-height:100vh; }
.rh .k { font-size:12px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--mute); }
.rh h1 { font-family:'Oswald'; font-weight:700; text-transform:uppercase; font-size:44px; line-height:1.02; margin:10px 0 14px; }
.logo { display:inline-grid; place-items:center; width:46px; height:46px; background:var(--up); color:var(--ink); font-size:34px; margin-right:12px; vertical-align:top; line-height:1; }
.when { display:flex; flex-direction:column; gap:2px; background:var(--up); color:var(--ink); padding:12px 16px; font-weight:800; font-size:16px; }
.when span:first-child { font-family:'Oswald'; font-size:26px; text-transform:uppercase; }
.facts { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:14px 0; }
.facts div { background:var(--panel); padding:12px 14px; }
.facts b { display:block; font-family:'JetBrains Mono'; font-size:26px; font-weight:700; }
.facts span { font-size:13px; color:var(--mute); line-height:1.35; display:block; margin-top:2px; }
.late { font-size:14px; font-weight:700; color:var(--down); margin:-4px 0 12px; }
.rules { display:block; background:var(--panel2); color:var(--txt); padding:14px 16px; font-weight:700; text-decoration:none; margin-bottom:20px; font-size:16px; }
.form label { display:block; font-weight:700; font-size:16px; margin-bottom:14px; }
.form small { display:block; color:var(--mute); font-weight:500; font-size:13px; margin:2px 0 6px; }
.form input:not([type=checkbox]) { width:100%; height:52px; background:var(--panel); border:2px solid var(--line); color:var(--txt); font:600 17px 'Manrope'; padding:0 14px; border-radius:0; }
.form input:focus { outline:none; border-color:var(--up); }
.form .chk { display:flex; gap:12px; font-weight:600; font-size:15px; align-items:flex-start; }
.chk input { -webkit-appearance:none; appearance:none; width:24px; height:24px; flex:none; border:2px solid var(--mute); background:var(--panel); display:grid; place-items:center; margin:0; cursor:pointer; }
.chk input:checked { background:var(--up); border-color:var(--up); }
.chk input:checked::after { content:''; width:6px; height:12px; border:solid var(--ink); border-width:0 3px 3px 0; transform:translateY(-2px) rotate(45deg); }
.chk input:focus-visible { outline:2px solid var(--up); outline-offset:2px; }
.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.form button { width:100%; height:58px; background:var(--up); color:var(--ink); border:0; font:700 22px 'Oswald'; text-transform:uppercase; letter-spacing:.08em; margin-top:6px; cursor:pointer; }
.form button:disabled { opacity:.5; }
.msg { min-height:1.4em; margin-top:10px; font-weight:700; color:var(--bad); }
.done { background:var(--panel); border-left:6px solid var(--up); padding:18px; margin-top:8px; }
.done b { font-family:'Oswald'; font-size:30px; text-transform:uppercase; color:var(--up); }
.done p { margin-top:6px; color:var(--mute); line-height:1.45; }
.cnt { text-align:center; font-size:14px; color:var(--mute); margin-top:14px; }
.cnt b { color:var(--up); font-family:'JetBrains Mono'; }
/* текстовые страницы */
.doc { max-width:680px; margin:0 auto; padding:28px 18px 50px; line-height:1.55; }
.doc h1 { font-family:'Oswald'; text-transform:uppercase; font-size:34px; line-height:1.1; margin:8px 0 16px; }
.doc h2 { font-family:'Oswald'; font-weight:500; text-transform:uppercase; letter-spacing:.06em; font-size:20px; color:var(--up); margin:22px 0 8px; }
.doc p, .doc li { color:#cfd5e2; margin-bottom:8px; }
.doc ul, .doc ol { padding-left:22px; }
.doc .back { font-weight:700; text-decoration:none; }
