:root{color-scheme:dark;font-family:Arial,'Noto Sans JP',sans-serif;background:#080708;color:#fff}*{box-sizing:border-box}body{margin:0;min-height:100dvh;display:grid;place-items:center;padding:36px 18px;background:radial-gradient(ellipse at 50% 0,#29111e 0,transparent 55%),#080708}.auth-card{width:min(100%,480px);padding:40px;border:1px solid #38232e;border-radius:16px;background:#100c0f;box-shadow:0 20px 90px #0007}.auth-card.wide{max-width:680px}.auth-brand{font-size:32px;letter-spacing:-1.7px;font-weight:900;text-decoration:none;color:#ff008e}.eyebrow{font-size:10px;letter-spacing:2.5px;color:#a67f94;margin:12px 0 40px}h1{font-size:25px;margin:0 0 12px}.intro,.auth-note{color:#b9a6b1;font-size:13px;line-height:1.9}.auth-note{margin-top:28px;font-size:12px}label{display:grid;gap:10px;margin:24px 0;font-size:13px;color:#ead4e1}input{font:inherit;font-size:16px;width:100%;padding:13px;border:1px solid #48303e;border-radius:6px;background:#1c1319;color:white}input:focus{outline:2px solid #ff008e;outline-offset:2px}input[readonly]{opacity:.7}button{cursor:pointer;width:100%;padding:14px;font:inherit;font-weight:700;border:0;border-radius:7px;background:#f9008e;color:white;margin-top:10px;min-height:48px}.auth-error{border:1px solid #94465b;background:#3a1823;padding:14px;border-radius:6px;line-height:1.8;font-size:13px}fieldset{border:0;border-top:1px solid #3c2833;padding:22px 0 0;margin:24px 0}legend{font-size:16px;padding-right:12px}details{font-size:12px;color:#ac929f;line-height:1.8;margin-top:24px}.info-box{padding:14px;background:#24151e;border:1px solid #4e2f41;border-radius:6px;font-size:13px;line-height:1.8}.requirements{padding-left:20px;font-size:13px;line-height:2;color:#cbb3c0}@media(max-width:500px){.auth-card{padding:28px 22px}.auth-brand{font-size:30px}}

.checkbox-field{display:flex;align-items:center;gap:10px}.checkbox-field input{width:18px;height:18px;accent-color:#ff008e}.auth-note a{color:#f2a4d0}button:disabled{opacity:.45;cursor:wait}#login-turnstile{min-height:70px;margin-top:24px}#turnstile-status{margin:10px 0}.turnstile-retry{background:#30202a;border:1px solid #684253;font-size:13px}button[hidden]{display:none}
