.auth{max-width:480px;margin:var(--sp-4) auto var(--sp-6);text-align:left}
.auth .ptitle{margin-top:0}
.auth form{display:flex;flex-direction:column;gap:var(--sp-3);margin:0;padding:var(--sp-4);background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--r-md)}
.auth label.f{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-sm);font-weight:600;color:var(--fg-muted)}
.auth label.f input{width:100%;min-height:52px;padding:0 var(--sp-3);font-size:var(--fs-md);color:var(--fg)}
.auth label.f input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.auth label.f input:user-invalid{border-color:#e05a4e}
.auth .hint{margin:0;font-size:var(--fs-xs);font-weight:400;color:var(--fg-dim)}
.auth label.c{display:flex;align-items:flex-start;gap:var(--sp-3);min-height:var(--tap);font-size:var(--fs-sm);line-height:1.45;cursor:pointer}
.auth label.c input{flex:0 0 24px;width:24px;height:24px;margin:2px 0 0;accent-color:var(--accent)}
.auth input[type=submit]{width:100%;min-height:56px;margin-top:var(--sp-1);font-size:var(--fs-lg)}
.auth .part{margin:var(--sp-3) 0 0;padding:0;box-shadow:none;border:0;color:var(--fg-muted);font-size:var(--fs-sm)}
.auth .part a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.auth .flash{margin:0 0 var(--sp-3)}

.rules{max-width:760px;margin:0 auto var(--sp-6);text-align:left}
.rules .lead-box{margin-top:0}
.rules h2{margin:var(--sp-4) 0 var(--sp-2);font-size:var(--fs-lg);color:var(--fg)}
.rules ol,.rules ul{margin:0 0 var(--sp-3);padding-left:22px}
.rules li{margin:0 0 var(--sp-2)}
.rules .rules-cta{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-4)}