/* 浅色磨砂玻璃入口：沿用全站五种配色，表单与下一步保持清楚。 */
body[data-page="login"]{--space-text:var(--text);--space-muted:var(--muted);--space-accent:var(--accent);--space-danger:#b23a42;background:transparent;color:var(--text);color-scheme:light;font-family:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC",sans-serif;min-height:100svh;display:flex;flex-direction:column}
body[data-page="login"] [hidden]{display:none!important}
.login-header{width:min(1120px,100%);margin:0 auto;padding:32px 40px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.login-header .brand{display:flex;align-items:center;gap:12px;white-space:normal;color:var(--text);font-size:18px;font-weight:700;line-height:1.4;text-decoration:none;letter-spacing:0;text-align:left}
.login-header .brand img{width:43px;height:43px;object-fit:contain;filter:none}
.login-header .brand small{display:block;margin-top:3px;font-size:12px;font-weight:400;color:var(--muted)}
.login-layout{width:min(1060px,100%);padding:40px;margin:auto;display:grid;grid-template-columns:1fr minmax(0,420px);align-items:center;gap:88px}
.login-introduction{padding-bottom:24px}
.login-introduction h2{font-size:clamp(38px,4.2vw,55px);font-weight:700;letter-spacing:-.045em;line-height:1.3;color:var(--text);margin:0}
.login-introduction>p{max-width:320px;margin:25px 0 0;font-size:17px;line-height:1.8;color:var(--muted)}
.login-learning-points{display:flex;gap:19px;list-style:none;padding:0;margin:36px 0 0;font-size:13px;color:var(--muted)}
.login-learning-points span{color:var(--accent);margin-right:3px}
.login-stage{min-width:0;width:100%}
.login-panel{width:100%;min-width:0;background:var(--glass-panel);border:1px solid var(--glass-border);border-radius:22px;padding:35px 34px 28px;box-shadow:0 18px 55px #314d7020,inset 0 1px 0 #ffffff80;-webkit-backdrop-filter:blur(24px) saturate(1.12);backdrop-filter:blur(24px) saturate(1.12)}
.login-panel:focus{outline:none}
.login-welcome{margin-bottom:29px;text-align:left}
.login-welcome h1{color:var(--text);font-size:28px;font-weight:700;line-height:1.4;margin:0;letter-spacing:-.02em}
.login-welcome p{font-size:14px;line-height:1.7;color:var(--muted);margin:8px 0 0}
.login-panel form>label,.login-email-fields label{display:block;font-size:14px;font-weight:600;color:var(--text);margin-bottom:9px}
.login-input-wrap{position:relative}
.login-input-wrap>svg{position:absolute;left:15px;top:16px;width:19px;height:19px;color:var(--muted);pointer-events:none}
.login-input-wrap input,.login-email-fields input{width:100%;min-width:0;min-height:52px;border:1px solid var(--accent-line);border-radius:10px;background:#ffffffb8;color:var(--text);caret-color:var(--accent);font-size:16px;padding:12px 14px;line-height:1.6}
.login-input-wrap input{padding-left:43px}
.login-panel input::placeholder{color:var(--muted);font-size:14px;opacity:1}
.login-panel input:focus{border-color:var(--accent);outline:2px solid var(--accent-line);outline-offset:2px;box-shadow:none;background:#ffffffd9}
.login-panel input[aria-invalid="true"]{border-color:#b23a42}
.login-panel input:-webkit-autofill{-webkit-text-fill-color:var(--text);caret-color:var(--accent);box-shadow:0 0 0 1000px #f8fbfd inset}
.login-field-help{font-size:12px;line-height:1.7;color:var(--muted);margin:8px 0 0}
.login-error{font-size:13px;line-height:1.7;color:#b23a42;margin:12px 0 0;overflow-wrap:anywhere}
.login-error:empty,.login-cloud-result:empty{display:none}
.login-panel .login-submit{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;padding:12px 18px;margin-top:23px;border:1px solid var(--accent);border-radius:10px;background:var(--accent);color:#fff;box-shadow:none;font-size:16px;font-weight:600;line-height:1.5;text-decoration:none}
.login-panel .login-submit:hover:not(:disabled){background:var(--accent-deep);border-color:var(--accent-deep);transform:none;box-shadow:none}
.login-panel .login-submit:active:not(:disabled){background:var(--accent-deep)}
.login-panel .login-submit:disabled{cursor:not-allowed;background:var(--soft);border-color:var(--glass-border);color:var(--muted);opacity:1}
.login-preview-info{display:flex;gap:8px;align-items:flex-start;margin-top:16px}
.login-preview-info svg{width:16px;height:16px;flex:none;color:var(--muted);margin-top:3px}
.login-preview-info p{font-size:12px;line-height:1.8;color:var(--muted);margin:0}
.login-email-notice{border:1px solid var(--glass-border);border-radius:10px;padding:13px 14px;background:var(--soft);margin-bottom:20px}
.login-email-notice strong{display:block;font-size:14px;font-weight:600;color:var(--text)}
.login-email-notice p,.login-email-help{font-size:12px;line-height:1.8;color:var(--muted);margin:7px 0 0;overflow-wrap:anywhere}
.login-cloud-entry{padding:20px 0 0;margin:21px 0 0;border:0;border-top:1px solid var(--glass-border);border-radius:0;background:transparent}
.login-panel .login-secondary{display:flex;align-items:center;justify-content:center;min-height:44px;width:100%;padding:9px 12px;margin:11px 0 0;border:1px solid var(--accent-line);border-radius:9px;background:var(--soft);color:var(--accent-deep);font-size:14px;font-weight:600;box-shadow:none;text-decoration:none}
.login-panel .login-secondary:hover{background:var(--selected);border-color:var(--accent-line);transform:none;box-shadow:none}
.login-details{font-size:12px;line-height:1.8;color:var(--muted);margin-top:17px}
.login-details summary{width:fit-content;cursor:pointer;min-height:28px;padding:3px 0;color:var(--muted)}
.login-details p{margin:7px 0 0;font-size:12px;line-height:1.8;color:var(--muted)}
.login-details[open] summary{color:var(--accent-deep)}
.login-auth-modes{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin:12px -4px 0}
.login-auth-modes button,.login-panel .space-plain{min-height:44px;border:0;border-radius:6px;padding:9px 4px;background:transparent;color:var(--accent-deep);font-size:13px;font-weight:500;box-shadow:none}
.login-auth-modes button:hover:not(:disabled),.login-panel .space-plain:hover{color:var(--accent-deep);background:var(--soft)}
.login-auth-modes button:disabled,.login-panel .space-plain:disabled{color:var(--muted);cursor:not-allowed;opacity:1}
.login-email-fields{border:0;margin:0;padding:0;min-width:0}
.login-email-fields>div+div{margin-top:19px}
.login-email-fields input:disabled{background:var(--soft);color:var(--muted);cursor:not-allowed}
.login-email-fields .login-submit{margin-top:25px}
.login-cloud-result{font-size:13px;line-height:1.8;color:#276247;margin:14px 0 0;overflow-wrap:anywhere}
#login-cloud-session p{font-size:14px;line-height:1.8;color:var(--muted);overflow-wrap:anywhere;margin:0}
#login-current-email{color:var(--text)}
.login-session-actions{display:flex;flex-wrap:wrap;gap:22px;margin-top:9px}
.login-panel .space-warning{margin-top:17px;background:#fff8e9;border-color:#dbc68f;color:#795714;font-size:13px}
.login-footer{display:flex;justify-content:space-between;gap:20px;width:min(1120px,100%);margin:0 auto;padding:30px 40px;font-size:12px;line-height:1.8;color:var(--muted)}
.login-footer a{color:var(--muted);text-decoration:none}
.login-footer a:hover{text-decoration:underline;color:var(--accent-deep)}
.login-header :focus-visible,.login-footer :focus-visible,.login-panel :focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:900px){.login-layout{gap:40px;grid-template-columns:1fr minmax(0,390px)}.login-learning-points{flex-direction:column;gap:13px;margin-top:27px}.login-introduction h2{font-size:40px}}
@media(max-width:720px){.login-header{padding:23px 22px;gap:12px;flex-wrap:wrap}.login-header .brand{font-size:16px}.login-header .brand img{width:37px;height:37px}.login-layout{display:block;margin:10px auto auto;padding:12px 22px 30px;max-width:464px}.login-introduction{display:none}.login-panel{padding:29px 25px 25px;border-radius:16px;box-shadow:0 12px 36px #314d7016,inset 0 1px 0 #ffffff80}.login-welcome{margin-bottom:24px}.login-welcome h1{font-size:26px}.login-footer{padding:20px 22px;font-size:11px}.login-panel .login-submit{min-height:50px}}
@media(max-width:360px){.login-header{padding-inline:17px}.login-layout{padding-inline:17px}.login-panel{padding-inline:22px}.login-header .brand{font-size:15px}}
@media(prefers-reduced-motion:reduce){body[data-page="login"] *,body[data-page="login"] *:before{animation:none!important;transition:none!important}}

/* 全站原生配色选择器，手机可自然换行。 */
.login-header label:has(select){display:flex;align-items:center;gap:8px;margin-left:auto;flex:none;color:var(--muted);font-size:12px}
.login-header select{min-height:44px;max-width:150px;border:1px solid var(--glass-border);border-radius:10px;padding:9px 30px 9px 11px;background:#ffffff8c;color:var(--text);font-size:13px;box-shadow:0 4px 14px #314d7008;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.login-header select option{background:#fff;color:var(--text)}
@media(max-width:720px){.login-header .brand{gap:9px;min-width:0;font-size:15px}.login-header .brand img{width:34px;height:34px}.login-header .brand small{font-size:11px}.login-header label:has(select){gap:5px;font-size:11px}.login-header select{max-width:122px;font-size:12px;padding-right:24px}}
