:root { color-scheme: light; --ink:#242428; --muted:#73767e; --line:#e6e7e9; --surface:#ffffff; --focus:#374151; font-family:Inter, -apple-system, BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; font-size:15px; -webkit-font-smoothing:antialiased; }
* { box-sizing:border-box; }
html,body { min-height:100%; padding:0; margin:0; }
body { color:var(--ink);background:var(--surface); }
button,input { font:inherit; }
button { cursor:pointer; }
a { color:#343842;text-underline-offset:3px; }
a:hover { color:#111111; }
[hidden] { display:none!important; }
.auth-shell { min-height:100dvh; display:flex; flex-direction:column; }
.auth-topbar { min-height:78px; display:flex; align-items:center; justify-content:space-between; padding:18px clamp(20px,4vw,64px); gap:16px; }
.wordmark { font-size:20px; font-weight:700; letter-spacing:-.55px; color:#19191d; text-decoration:none; }
.wordmark span { font-weight:600;letter-spacing:.04em;margin-left:3px; }
.product-name { font-size:13px; color:#85878d; }
.auth-main { flex:1; display:flex; align-items:center; justify-content:center; padding:32px 18px 64px; }
.auth-panel { width:min(100%,430px);padding:8px 6px; }
.heading { text-align:center; margin-bottom:32px; }
.eyebrow { font-size:11px;letter-spacing:.16em;color:#a0a2a8;font-weight:650;margin:0 0 12px; }
h1 { font-size:32px;line-height:1.25;letter-spacing:-.65px;font-weight:600;margin:0 0 12px;color:#202024; }
.heading p:last-child { margin:0;line-height:1.6;font-size:14px;color:var(--muted); }
form { display:flex;flex-direction:column;gap:10px; }
label { color:#383b42;font-size:13px;font-weight:600;margin-top:10px; }
input { width:100%;border:1px solid var(--line);border-radius:12px;padding:13px 15px;min-height:49px;background:#fff;color:#23252c;outline:0; transition:border-color .15s,box-shadow .15s; }
input::placeholder {color:#a1a4ad;}
input:focus { border-color:#7d8490;box-shadow:0 0 0 3px rgba(55,65,81,.09); }
input[aria-invalid="true"] { border-color:#b45353; }
.label-row { display:flex;justify-content:space-between;align-items:center;margin-top:10px; }
.label-row label {margin:0;}
.label-row a {font-size:12px;text-decoration:none;color:#70747c;}
.password-wrap {position:relative;}
.password-wrap input {padding-right:65px;}
.reveal {position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;padding:7px 9px;font-size:12px;color:#777b83;}
.primary,.secondary {width:100%;min-height:50px;border-radius:12px;border:1px solid #232428;font-weight:600;margin-top:16px;}
.primary {background:#232428;color:#fff;transition:background .15s,transform .12s;}
.primary:hover:not(:disabled) {background:#3b3c42;}
.primary:active:not(:disabled) {transform:scale(.995);}
button:disabled { opacity:.55;cursor:not-allowed; }
.secondary {background:#fff;color:#282a31;}
.secondary:hover {background:#f5f5f6;}
.form-status {min-height:20px;font-size:13px;line-height:1.6;margin:4px 0 0;color:#5b626d;overflow-wrap:anywhere;}
.form-status.error {color:#a33a3a;}
.form-status.success {color:#276d46;}
.switch-link {margin:22px 0 0;text-align:center;color:#797c85;font-size:13px;}
.switch-link a {font-weight:600;text-decoration:none;}
.code-row {display:flex;gap:10px;}
.code-row input {flex:1;min-width:0;}
.code-send {flex:0 0 112px;border:1px solid var(--line);background:#f8f8f9;border-radius:12px;font-size:12px;font-weight:600;color:#454750;padding:8px;}
.code-send:hover:not(:disabled) {background:#f0f1f2;}
.captcha-area { min-height:70px; display:flex;align-items:center;margin:10px 0 2px; }
.captcha-area:empty::after {content:"正在准备验证…";color:#989aa2;font-size:12px;}
.fine-print {font-size:11.5px;line-height:1.7;color:#878a92;margin:4px 0;}
.account-card {border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:9px;}
.account-label {font-size:12px;color:var(--muted);}
.account-card strong {font-size:16px;font-weight:600;overflow-wrap:anywhere;}
.account-hint {font-size:13px;color:var(--muted);line-height:1.8;margin:18px 0 8px;}
.auth-footer {min-height:58px;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px clamp(20px,4vw,64px);font-size:12px;color:#a0a2a8;}
@media(max-width:580px) { .auth-topbar {min-height:64px;padding:16px 20px;} .wordmark {font-size:18px;} .auth-main {align-items:flex-start;padding:10vh 20px 40px;} .heading {margin-bottom:26px;} h1 {font-size:29px;} .auth-panel {padding:0;} .auth-footer {padding:15px 20px;} .auth-footer span:last-child {display:none;} }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after {transition:none!important;animation:none!important;} }

/* V1.2 public beta notices; registration only, no other page restyling. */
.beta-consent {display:flex;flex-direction:column;gap:11px;padding:15px 15px 13px;border:1px solid #e3e5e8;border-radius:13px;background:#fafafb;margin-top:10px;}
.beta-notice {font-size:12.5px;line-height:1.7;color:#555b65;margin:0 0 2px;}
.consent-row {display:flex;align-items:flex-start;gap:9px;margin:0;font-size:12.5px;line-height:1.65;font-weight:400;color:#343943;cursor:pointer;}
.consent-row input {flex:0 0 16px;min-height:16px;width:16px;height:16px;margin:3px 0 0;accent-color:#30333a;padding:0;}
.consent-row a {text-decoration:underline;font-weight:600;}
.beta-legal-note {max-width:780px;margin:0 auto;padding:35px 24px 64px;line-height:1.85;font-size:15px;}
.beta-legal-note h1 {font-size:27px;margin-bottom:15px;}
.beta-legal-note h2 {font-size:19px;margin:25px 0 9px;}
.beta-legal-note p {margin:11px 0;}
.beta-legal-note ul {padding-left:22px;}
.beta-legal-note small {color:#777;}

/* V1.2.1: standalone Turnstile verification page; login/register visual baseline untouched. */
.verify-panel { max-width:430px; }
.verify-icon {width:64px;height:64px;border-radius:50%;margin:0 auto 20px;background:#f6f7f8;display:flex;align-items:center;justify-content:center;color:#363b42;}
.verify-card {border:1px solid #e6e7ea;border-radius:16px;padding:21px 20px;background:#fff;text-align:center;}
.verify-card-title {font-size:15px;font-weight:600;color:#23262c;margin:0 0 7px;}
.verify-card-desc {font-size:13px;line-height:1.8;color:#777d88;margin:0 0 17px;}
.verify-captcha {min-height:65px;display:flex;align-items:center;justify-content:center;max-width:100%;}
.verify-retry {margin-top:8px;}
.verify-privacy {font-size:12px;color:#9398a2;text-align:center;line-height:1.8;margin:20px auto 0;}
@media(max-width:580px){.verify-card{padding:20px 10px;}.verify-captcha{overflow:hidden;}}

/* V1.2.2: informative OTP notice; no registration consent checks until final submit. */
.otp-notice{font-size:12px;line-height:1.65;color:#808691;margin:7px 0 16px;}
.otp-notice a{color:#505968;text-decoration:underline;text-underline-offset:2px;}
