/* Login-only layout; shared site controls keep their existing styles. */
.login-screen {--text:#0b0b0b;--bg:#fcfcfb;--surface:#fff;--recessed:#f7f7f4;--secondary:#52514e;--muted:#73716b;--line:#e3e3e2;--control:#f0f0ed;--input:#fff;--input-line:#d3d3ce;--primary:#0b0b0b;--on-primary:#fff;--focus:#2a78d6;--error:#be3b2b;--error-bg:#fbefec;--card-shadow:0 4px 24px #00000004,0 4px 32px #00000004,0 2px 64px #00000003,0 16px 32px #00000003;background:var(--bg)}
[data-theme=dark] .login-screen {--text:#f0efec;--bg:#151515;--surface:#171717;--recessed:#191919;--secondary:#c3c2b7;--muted:#aaa79f;--line:#ffffff1a;--control:#2b2b2b;--input:#ffffff0d;--input-line:#ffffff1a;--primary:#f0efec;--on-primary:#151515;--error:#f0876f;--error-bg:#3b2621}
.login-layout button{font:inherit;cursor:pointer;color:inherit;background:none;border:0}
.login-layout svg,.login-dialog svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.login-layout p,.login-layout h1,.login-layout h2,.login-layout figure{margin:0}
.login-screen .icon-definitions{position:absolute;width:0;height:0;overflow:hidden}
.login-screen .sr-only,.login-screen .field>label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.login-screen .login-layout{max-width:1240px;min-height:calc(100dvh - 130px);margin:auto;padding:28px 36px 34px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.94fr);gap:clamp(48px,6vw,90px);align-items:center}.login-screen .login-column{min-width:0;container-type:inline-size}.login-screen .intro{text-align:center;margin-bottom:34px}.login-screen h1{font-family:'Songti SC','STSong','SimSun',serif;font-size:clamp(30px,14.8cqi,64px);line-height:1.3;font-weight:400;letter-spacing:1px;width:max-content;position:relative;left:50%;transform:translateX(-50%);white-space:nowrap}.login-screen .intro-copy{font-family:'Songti SC','STSong','SimSun',serif;font-size:clamp(15px,4.5cqi,22px);line-height:1.6;color:var(--secondary);margin-top:15px}.login-screen .login-card{width:100%;max-width:448px;margin:auto;background:var(--surface);border:1px solid var(--line);border-radius:32px;padding:28px 28px 22px;box-shadow:var(--card-shadow)}.login-screen .login-tabs{display:flex;gap:4px;padding:4px;margin-bottom:22px;border-radius:12px;background:var(--control)}.login-screen .login-tabs button{flex:1;padding:7px 12px;border-radius:9px;color:var(--muted);font-size:13px;line-height:20px}.login-screen .login-tabs button[aria-selected=true]{color:var(--text);background:var(--surface);font-weight:500;box-shadow:0 1px 3px #0000000d}.login-screen .field{margin-bottom:16px}.login-screen .field>input,.login-screen .password-input input{width:100%;height:40px;min-width:0;border:0;border-radius:10px;background:var(--input);box-shadow:inset 0 0 0 1px var(--input-line);color:var(--text);caret-color:var(--text);padding:0 14px;line-height:normal;font-size:15px;transition:box-shadow .15s}.login-screen .field input::placeholder{color:var(--muted);font-size:13px}.login-screen .field input:focus{outline:0;box-shadow:inset 0 0 0 1px var(--surface),0 0 0 1px var(--focus),0 0 6px 1px #2a78d640}.login-screen .field input[aria-invalid=true]{box-shadow:inset 0 0 0 1px var(--error)}.login-screen .field-hint,.login-screen .field-error,.login-screen .field-warning{font-size:11px;line-height:1.6;margin:6px 0 0}.login-screen .field-hint{color:var(--muted)}.login-screen .field-error{color:var(--error)}.login-screen .field-warning{color:var(--secondary)}.login-screen .text-button{padding:0;font-size:12px;font-weight:400;color:var(--secondary);display:inline-flex;align-items:center;gap:6px;text-underline-offset:4px}.login-screen .text-button:hover{color:var(--text);text-decoration:underline}.login-screen .text-button svg{width:14px;height:14px}.login-screen .password-input{position:relative}.login-screen .password-input input{padding-right:44px}.login-screen .reveal-button{position:absolute;right:3px;top:3px;width:34px;height:34px;display:grid;place-items:center;border-radius:7px;color:var(--secondary)}.login-screen .reveal-button svg{width:18px;height:18px}.login-screen .reveal-button:hover{background:var(--control)}.login-screen .form-options{display:flex;justify-content:space-between;align-items:center;margin:2px 0 20px}.login-screen .form-options .text-button{font-size:11px}.login-screen .remember{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--secondary);font-weight:400}.login-screen .remember input{accent-color:var(--primary);width:14px;height:14px;margin:0}.login-screen .primary-button{min-height:40px;width:100%;border-radius:10px;background:var(--primary);color:var(--on-primary);display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 16px;font-size:14px;font-weight:500;transition:opacity .15s}.login-screen .primary-button svg{width:16px;height:16px}.login-screen .primary-button:hover{opacity:.84}.login-screen .primary-button[aria-busy=true]:before{content:'';width:15px;height:15px;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:login-spin .7s linear infinite}.login-screen .primary-button[aria-busy=true] svg{display:none}@keyframes login-spin{to{transform:rotate(360deg)}}.login-screen .card-footer{margin-top:22px;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.login-screen .card-footer button{font-size:11px}.login-screen .form-error{margin:0 0 16px;background:var(--error-bg);color:var(--error);padding:10px 12px;font-size:12px;border-radius:7px}.login-screen .art-space{min-width:0;width:100%;max-width:500px;justify-self:end}.login-screen .art-frame{position:relative;width:100%;overflow:hidden;border-radius:20px;aspect-ratio:80/101;min-height:0;background:#eceee3}.login-screen .art-frame canvas{display:block;width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.login-screen .art-pause{position:absolute;right:16px;bottom:16px;width:32px;height:32px;display:grid;place-items:center;background:#eceee3eb;color:#242621;border:1px solid #1d201f20;border-radius:50%;opacity:.65}.login-screen .art-pause:hover,.login-screen .art-pause:focus-visible{opacity:1}.login-screen .art-pause svg{width:15px;height:15px}.login-screen .art-space figcaption{padding:10px 2px 0;font-size:10px;color:var(--muted)}
.login-screen .login-layout .primary-button,.login-screen .login-dialog .primary-button{background:var(--primary);color:var(--on-primary)}
.login-screen .login-card{box-sizing:border-box}
.login-screen .login-dialog{width:min(450px,calc(100% - 32px));padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);max-height:calc(100dvh - 40px)}
.login-dialog::backdrop{background:#00000050}
.login-dialog .dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.login-dialog h2{font-size:21px;margin:0}
.login-dialog .dialog-copy{font-size:13px;line-height:1.8;color:var(--secondary);margin-bottom:23px}
.login-screen .toast-region{right:24px;bottom:24px;width:min(540px,calc(100vw - 48px))}
.login-screen .toast-card{min-height:66px;border-radius:18px;padding:14px 20px 14px 24px;background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 24px #00000012}
.login-screen .toast-copy strong{font-size:20px;font-weight:550}
.login-screen .site-header details[open] .mega-menu,.login-screen .site-header details[open] .mobile-site-menu-panel{display:none}
@media(min-width:1500px){.login-screen .login-layout{max-width:1370px;gap:110px;padding:45px 48px}.login-screen .art-space{max-width:540px}}
@media(max-width:1000px){.login-screen .login-layout{padding:28px 24px;gap:28px;grid-template-columns:minmax(0,1fr) minmax(0,.85fr)}.login-screen .login-card{padding:23px 20px 20px}}
@media(max-width:620px){.login-screen .login-layout{display:flex;flex-direction:column;gap:38px;min-height:0;max-width:510px;padding:68px 24px 32px}.login-screen .login-column{width:100%}.login-screen .intro{margin-bottom:28px}.login-screen .intro h1{font-size:clamp(38px,12cqi,52px);line-height:1.35}.login-screen h1 span{display:block}.login-screen .login-card{padding:25px 25px 21px;border-radius:28px}.login-screen .art-space{width:100%;max-width:448px}.login-screen .field>input,.login-screen .password-input input{font-size:16px}}
@media(max-width:390px){.login-screen .login-layout{padding:60px 18px 28px;gap:30px}.login-screen .login-card{padding:22px 22px 20px}}
@media(prefers-reduced-motion:reduce){.login-screen .login-layout *{transition:none!important;animation:none!important}}

@media(prefers-color-scheme:dark){html:not([data-theme=light]) .login-screen {--text:#f0efec;--bg:#151515;--surface:#171717;--recessed:#191919;--secondary:#c3c2b7;--muted:#aaa79f;--line:#ffffff1a;--control:#2b2b2b;--input:#ffffff0d;--input-line:#ffffff1a;--primary:#f0efec;--on-primary:#151515;--error:#f0876f;--error-bg:#3b2621}}

@media(max-width:620px){.login-screen .site-header .inner{gap:6px;padding-left:14px;padding-right:14px}.login-screen .site-header .brand{flex:none}.login-screen .site-header .brand-name{font-size:13px;max-width:none}.login-screen .mobile-site-menu>summary{white-space:nowrap;padding:0 3px;gap:3px;font-size:11px}.login-screen .site-header .header-action{width:26px;min-width:26px;height:28px}.login-screen .site-header .header-actions{gap:3px}}
