﻿/* Shared login and registration surface. */
html{min-height:100%;background:#f4f7fd}
html body.auth-page{margin:0;max-width:none;min-height:100vh;min-height:100dvh;padding:0;color:#243550;background:radial-gradient(ellipse at 85% 0,#d8e7ff 0,transparent 48%),radial-gradient(ellipse at 0 30%,#edf0ff 0,transparent 55%),#f6f8fc;font-family:"Microsoft YaHei",Arial,sans-serif}
html body.auth-page .auth-main{width:100%;max-width:480px;margin:auto;padding:48px 22px 100px;display:flex;flex-direction:column;align-items:center}
.auth-brand{text-align:center;margin-bottom:28px}.auth-page .auth-brand .logo{display:block;width:66px;height:66px;margin:0 auto 16px;border:4px solid #fff;border-radius:20px;background:#fff var(--site-logo-image) center/cover no-repeat;font-size:0;color:transparent;box-shadow:0 8px 24px #7ba8f92b}
.auth-brand h1{margin:0 0 8px;font-size:26px;line-height:1.4;font-weight:700;letter-spacing:1px}.auth-brand p{margin:0;font-size:12px;letter-spacing:4px;color:#8b9bb3}
.auth-card{width:100%;padding:28px 22px;border:1px solid #fff;border-radius:24px;background:#ffffffeb;box-shadow:0 16px 48px #668ac012}
.auth-heading{margin-bottom:26px}.auth-heading h2{margin:0 0 9px;font-size:21px;line-height:1.5;color:#253653}.auth-heading span{display:block;font-size:12px;color:#98a4b7;line-height:1.8}
.auth-field{display:block;margin-bottom:20px}.auth-field>span{display:block;margin-bottom:9px;font-size:13px;font-weight:500;color:#566681}.auth-field input{width:100%;height:50px;min-width:0;padding:0 14px;border:1px solid #e8edf6;border-radius:12px;background:#f5f7fb;color:#263754;font:inherit;font-size:16px;transition:border-color .18s,box-shadow .18s}.auth-field input::placeholder{font-size:13px;color:#a4afc1}.auth-field input:focus{outline:none;border-color:#7BA8F9;box-shadow:0 0 0 3px #7ba8f922;background:white}.auth-field input:-webkit-autofill{-webkit-text-fill-color:#263754;box-shadow:0 0 0 1000px #f5f7fb inset}
.sms-code-row{display:flex;gap:10px;align-items:stretch}.sms-code-row input{flex:1}.sms-code-row button{flex:0 0 108px;border:1px solid #d6e4ff;border-radius:12px;background:#eef4ff;color:#5989dc;font:inherit;font-size:12px;cursor:pointer}.sms-code-row button:disabled{opacity:.65;cursor:wait}
.auth-submit{display:block;width:100%;min-height:50px;margin-top:8px;border:0;border-radius:13px;background:#7BA8F9;color:white;font:inherit;font-size:16px;font-weight:700;box-shadow:0 6px 16px #7ba8f933;cursor:pointer}.auth-submit:hover{background:#6a9aed}.auth-submit:disabled{opacity:.65;cursor:wait}.auth-submit:active{transform:translateY(1px)}
.auth-switch{margin:19px 0 0;color:#99a5b8;font-size:11px;text-align:center;line-height:1.9}.auth-switch a{color:#638fd8;text-decoration:none}.auth-back{display:block;width:max-content;margin:17px auto 0;padding:6px 12px;font-size:12px;color:#7c91af;text-decoration:none}
.auth-error,.auth-success{margin-bottom:18px;padding:11px 12px;border-radius:10px;font-size:12px;line-height:1.7}.auth-error{background:#fff1f2;border:1px solid #ffdce1;color:#c54a5c}.auth-success{background:#edf4ff;border:1px solid #d9e6ff;color:#507cc3}#auth-feedback[hidden]{display:none}
.auth-password{position:relative}.auth-password input{padding-right:58px}.auth-password button{position:absolute;inset:0 8px 0 auto;padding:0 8px;border:0;background:transparent;font-size:12px;color:#648bc7;cursor:pointer}
.auth-page a:focus-visible,.auth-page button:focus-visible{outline:2px solid #7BA8F9;outline-offset:3px}
@media(min-width:769px){html body.auth-page .auth-main{max-width:1040px;min-height:100vh;min-height:100dvh;padding:64px 40px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:80px}.auth-brand{text-align:left;margin:0}.auth-page .auth-brand .logo{width:94px;height:94px;margin:0 0 26px;border-radius:26px}.auth-brand h1{font-size:40px;margin-bottom:16px}.auth-brand p{font-size:15px;letter-spacing:5px}.auth-brand:after{content:'\4e09\89d2\6d32\884c\52a8\8d26\53f7\4ea4\6613\5e73\53f0';display:block;margin-top:30px;padding-top:25px;border-top:1px solid #dce5f3;color:#9aa9bf;font-size:14px}.auth-card{padding:34px 30px}}
@media(max-width:360px){html body.auth-page .auth-main{padding:32px 14px 90px}.auth-card{padding:24px 18px}.auth-heading h2{font-size:19px}.sms-code-row{gap:7px}.sms-code-row button{flex-basis:96px}}
@media(prefers-reduced-motion:reduce){.auth-field input{transition:none}}
