:root{color-scheme:dark;--red:#f3263c;--bg:#101012;--line:#303034;--muted:#95959e}
*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;color:#f5f5f7;background:var(--bg);font:14px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
a{color:inherit}button,input{font:inherit}button,a,input{outline-offset:4px}
a:focus-visible,button:focus-visible{outline:2px solid #fa6271}
header{max-width:1160px;margin:auto;padding:30px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:6px;text-decoration:none;font:italic 900 29px/.9 Impact,'Arial Black',sans-serif}
.brand b{background:var(--red);padding:4px;font:900 11px/1 Arial,sans-serif}
.back{color:var(--muted);font-size:12px;text-decoration:none}.back:hover{color:#fff}
.auth-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
.auth-page header{width:100%;max-width:none;padding:30px 40px}
.account-layout{width:100%;flex:1;display:flex;align-items:center;justify-content:center;padding:48px 24px 72px}
.account-card{width:100%;max-width:360px}
.account-card h1{font-size:30px;line-height:1.2;letter-spacing:-1px;font-weight:650;margin:0 0 10px}
.account-card h1:focus{outline:none}
#account-description{margin:0 0 30px;color:var(--muted);font-size:14px;line-height:1.65}
label{display:block;font-size:13px;margin:20px 0 8px;font-weight:500;color:#dddde2}
input:not([type=checkbox]){width:100%;height:48px;background:#19191d;border:1px solid #333338;color:#fff;border-radius:8px;padding:0 14px;transition:border-color .15s,box-shadow .15s}
input::placeholder{color:#777780}input:not([type=checkbox]):hover{border-color:#4a4a50}
input:focus{border-color:#f34c5e!important;outline:none;box-shadow:0 0 0 3px #f3263c15}
.field-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.field-heading a{font-size:12px;text-decoration:none;color:#aaaab3}.field-heading a:hover{color:#fff;text-decoration:underline}
.password-wrap{position:relative}.password-wrap input{padding-right:78px}
.password-wrap button{position:absolute;right:5px;top:4px;height:40px;color:#aaaab3;background:transparent;border:0;cursor:pointer;font-size:11px;padding:0 10px;border-radius:5px}.password-wrap button:hover{color:#fff}
small{display:block;color:var(--muted);font-size:12px;margin-top:8px}
.privacy-check{display:flex;align-items:flex-start;gap:10px;font-weight:normal;font-size:12px;line-height:1.6;color:#aaaab3}
.privacy-check input{accent-color:var(--red);margin-top:4px;width:16px;height:16px;flex-shrink:0}
.primary{width:100%;min-height:48px;border:0;border-radius:8px;padding:12px 16px;color:#fff;background:var(--red);font-weight:600;margin-top:26px;cursor:pointer;transition:background .15s}
.primary:hover{background:#dd2035}.primary:disabled{opacity:.45;cursor:not-allowed}.primary[aria-busy=true]{cursor:wait}
.account-links{display:flex;flex-direction:column;align-items:center;gap:12px;font-size:13px;color:#b3b3bc}.account-links a{margin-top:22px;text-decoration:none}.account-links a:hover{text-decoration:underline;color:#fff}
.account-switch{margin-top:28px;text-align:center;font-size:13px;color:#85858e}.account-switch a{margin-left:4px;color:#e7e7eb;text-decoration:none;font-weight:500}.account-switch a:hover{text-decoration:underline}
.notice{padding:12px 14px;border:1px solid #3a3a42;border-radius:8px;color:#ccccd5;font-size:12px;background:#1b1b20;line-height:1.6;margin:0 0 20px}.notice[data-error=true]{border-color:#71303a;color:#ffc1c9;background:#29191f}
footer{max-width:1060px;display:flex;justify-content:space-between;margin:35px auto;padding:0 32px;color:#777780;font-size:11px}
.auth-page footer{width:100%;max-width:none;padding:20px 40px;margin:0;gap:20px}.auth-page footer div{display:flex;align-items:center;gap:14px}.auth-page footer a{text-decoration:none}.auth-page footer a:hover{color:#ccc}
.eyebrow{font-size:10px;font-weight:bold;letter-spacing:2px;color:#fb6270}
.legal{max-width:860px;margin:30px auto 60px;padding:0 32px}.legal h1{font-size:38px;line-height:1.2;letter-spacing:-1px}.legal h2{margin-top:35px;font-size:21px}.legal p,.legal li{font-size:14px;color:#bfc0c9}.legal a{color:#fd7b86}.legal .notice{margin:25px 0}.legal nav{display:flex;gap:15px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;font-size:12px}
@media(max-width:520px){.auth-page header,header{padding:24px}.brand{font-size:25px}.brand b{font-size:10px}.back{font-size:11px}.account-layout{padding:40px 24px 60px}.account-card h1{font-size:28px}.auth-page footer{padding:20px 24px}.legal{padding:0 24px}.legal h1{font-size:30px}}
@media(max-height:650px) and (min-width:521px){.auth-page header{padding:20px 32px}.account-layout{padding:24px 24px 40px}}
@media(prefers-reduced-motion:reduce){input,.primary{transition:none}}
