:root{color-scheme:light;--bg:#f1f5fb;--panel:#e9f1fd;--surface:#fff;--text:#14243e;--muted:#52647c;--line:#d4dfed;--primary:#2563eb;--error:#b42335}
:root[data-theme="dark"]{color-scheme:dark;--bg:#081220;--panel:#0d213d;--surface:#102037;--text:#eff5ff;--muted:#a6b8d0;--line:#334a68;--primary:#73a7ff;--error:#ff9aa6}
*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:var(--text);background:radial-gradient(ellipse at 10% 20%,color-mix(in srgb,var(--primary) 12%,transparent),transparent 45%),linear-gradient(145deg,var(--bg),var(--panel))}
button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}::selection{background:color-mix(in srgb,var(--primary) 25%,transparent)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--primary);outline-offset:3px}input{caret-color:var(--primary)}
.theme-button{position:fixed;top:22px;right:24px;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;color:var(--text);background:var(--surface);cursor:pointer}.theme-button svg{width:21px;height:21px}
.login-layout{width:min(1120px,calc(100% - 64px));min-height:100svh;margin:auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);align-items:center;gap:90px;padding:72px 0}
.brand-panel{padding:20px 0}.brand-mark{display:block;border-radius:15px;margin-bottom:32px}h1{margin:0;font-size:clamp(42px,5.2vw,68px);line-height:1.2;letter-spacing:-.03em;font-weight:800}p{line-height:1.7}.subtitle{font-size:21px;margin:22px 0 16px}.brand-description{color:var(--muted);max-width:38em;font-size:15px}.brand-sources{margin-top:34px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:14px;line-height:2}
.login-card{background:var(--surface);padding:36px;border-radius:16px;box-shadow:0 24px 70px rgb(30 57 94 / .15)}.card-mark{border-radius:10px;margin-bottom:22px}h2{margin:0;font-size:27px;letter-spacing:-.02em}.login-note{margin:10px 0 28px;color:var(--muted);font-size:14px}form{display:grid;gap:10px}label{font-size:14px;font-weight:650}input{width:100%;height:48px;padding:0 14px;margin-bottom:10px;border:1px solid var(--line);border-radius:10px;color:var(--text);background:var(--bg)}input:focus{border-color:var(--primary)}
.login-button{height:48px;border:0;border-radius:10px;color:#fff;background:#2563eb;font-weight:700;cursor:pointer}.login-button:hover{background:#1d4ed8}.login-button:disabled{opacity:.65;cursor:wait}.login-error{margin:0 0 8px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--error) 35%,transparent);border-radius:8px;color:var(--error);font-size:14px}.account-note{font-size:12px;color:var(--muted);margin-top:22px}.site-name{display:block;margin-top:24px;font-size:12px;text-align:center;color:var(--muted);text-underline-offset:4px}
@media(max-width:800px){.login-layout{width:min(470px,calc(100% - 32px));grid-template-columns:1fr;gap:24px;padding:72px 0 32px}.brand-panel{padding:0}.brand-mark{width:42px;height:42px;margin-bottom:16px}h1{font-size:32px}h1 br{display:none}.subtitle{font-size:16px;margin:12px 0 0}.brand-description,.brand-sources{display:none}.login-card{padding:28px}.card-mark{display:none}.theme-button{top:16px;right:16px}}
@media(prefers-reduced-motion:no-preference){.login-card{animation:arrive .3s cubic-bezier(.16,1,.3,1)}@keyframes arrive{from{transform:translateY(8px);opacity:.75}to{transform:translateY(0);opacity:1}}}
