/* 三种布局共用登录表单及认证脚本。 */
.login-platform-logo{display:block;width:144px;height:52px;object-fit:contain;object-position:left center;margin:0 0 26px}.login-platform-logo[hidden]{display:none}
.auth-mark .login-platform-logo{width:auto;max-width:min(260px,100%);height:56px;margin:0;object-fit:contain;flex-shrink:1;min-width:0;border-radius:0}
body[data-logo-layout=square] .auth-mark .login-platform-logo{width:48px;height:48px;flex-shrink:0}
body[data-custom-logo=yes] #login-initial,body[data-custom-logo=yes] #login-avatar{display:none!important}
body[data-brand-text=hide] #login-name{display:none!important}
.login-appearance-preview-note{padding:8px 12px;border:1px solid #b9d2f9;border-radius:8px;color:#245799;background:#edf5ff;font-size:12px}
.auth-card input[type=checkbox]{height:16px;width:16px!important;padding:0;margin:0 7px 0 0;accent-color:#6552dc}
.auth-shell,.auth-panel,.auth-card{min-width:0;max-width:100%;box-sizing:border-box}.auth-panel{grid-template-columns:minmax(0,1fr)}
body[data-login-style=split] .auth-showcase{background:radial-gradient(circle at 10% 10%,#9a8cff70,transparent 60%),linear-gradient(145deg,#5148c5,#24234e)}
body[data-login-style=split] .auth-copy h2{color:#fff}
body[data-login-style=center]{background:radial-gradient(ellipse at 50% 0,#e2edff,transparent 65%),#f6f8fc}
body[data-login-style=center] .auth-shell{display:flex;flex-direction:column;max-width:510px;min-height:0;border-radius:28px;background:#fff}
body[data-login-style=center] .auth-showcase{background:transparent;padding:30px 40px 0;color:#273044}
body[data-login-style=center] .auth-showcase{min-height:0}
body[data-login-style=center] .auth-mark{justify-content:center;color:#273044}
body[data-login-style=center] .auth-showcase::before,body[data-login-style=center] .auth-showcase::after{display:none}
body[data-login-style=center] .auth-copy,body[data-login-style=center] .auth-proof{display:none}
body[data-login-style=center] .auth-panel{padding:30px 42px 40px}
body[data-login-style=center] .auth-card{max-width:none}
body[data-login-style=center] .login-platform-logo{margin:0 auto 24px;object-position:center}
body[data-login-style=night]{background:radial-gradient(ellipse at 15% 25%,#293456,transparent 60%),#10131e}
body[data-login-style=night] .auth-shell{border:1px solid #3e4964;box-shadow:0 28px 90px #0006;grid-template-columns:1.2fr 1fr;background:#1b2132}
body[data-login-style=night] .auth-showcase{background:radial-gradient(circle at 75% 75%,#43668355,transparent 48%),#192236}
body[data-login-style=night] .auth-showcase::before{background:radial-gradient(circle at 30% 30%,#668fad,#294363 65%,transparent 72%)}
body[data-login-style=night] .auth-copy h2{color:#eff5ff}
body[data-login-style=night] .auth-panel{background:#f9fbff}
body[data-login-style=night] #login-submit{background:#253e67;box-shadow:0 8px 24px #142f5926}
body[data-login-style=night] .auth-brand,body[data-login-style=night] .login-links button{color:#315c8f}
@media(max-width:820px){body[data-login-style=night] .auth-shell{grid-template-columns:1fr}body[data-login-style=center] .auth-panel{padding:26px 24px}body[data-login-style=center] .auth-showcase{padding:24px 24px 0}.login-platform-logo{height:42px;margin-bottom:18px}}

/* 背景固定于页面底层，文字及表单维持不透明以保证可读性。 */
.login-background-stage{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden;background:#17213c;--bg-x:50%;--bg-y:50%}
.login-background-stage>img,.login-background-stage>video{width:100%;height:100%;object-fit:cover;display:block}
.login-background-stage.has-media:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,#111b3838,#0f163352)}
.login-background-stage.has-motion:before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(650px circle at var(--bg-x) var(--bg-y),#81a6ff55,transparent 65%),radial-gradient(450px circle at calc(100% - var(--bg-x)) calc(100% - var(--bg-y)),#ad7bff44,transparent 70%)}
body.has-login-background .auth-shell{position:relative;z-index:1;margin-top:48px;margin-bottom:48px;box-shadow:0 24px 90px #070e354d}
body.has-login-background{padding:32px;box-sizing:border-box}
@media(prefers-reduced-motion:reduce){.login-background-stage.has-motion:before{background:radial-gradient(ellipse at center,#81a6ff33,transparent 65%)}}
@media(max-width:600px){body.has-login-background{padding:16px}body.has-login-background .auth-shell{margin-top:20px;margin-bottom:20px}}

.login-motion-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}

.login-background-stage[data-effect=bubbles]{background:linear-gradient(145deg,#f0f8ff,#f5efff 65%,#fff3f2)}
.login-background-stage[data-effect=orbits]{background:linear-gradient(125deg,#fff9ed,#f5f1ff 65%,#edf9f5)}
.login-background-stage[data-effect=meteors]{background:linear-gradient(150deg,#070e28,#181333)}
.login-background-stage[data-effect=fireflies]{background:linear-gradient(140deg,#071d23,#0c2722)}
.login-motion-hint{position:fixed;z-index:3;bottom:14px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:14px;max-width:calc(100% - 32px);padding:8px 12px 8px 18px;border-radius:30px;background:#101d35ed;border:1px solid #cde3ff35;color:#e4eeff;font-size:12px;box-shadow:0 6px 24px #0002}
.login-motion-hint button{border:0;background:transparent;color:inherit;cursor:pointer;font-size:20px;line-height:1;padding:5px}
body[data-motion-tone=light] .login-motion-hint{background:#fffffff2;color:#47516d;border-color:#c9d5e7}
@media(pointer:coarse),(prefers-reduced-motion:reduce){.login-motion-hint{display:none}}

.login-background-stage[data-effect="bubbles-dark"]{background:linear-gradient(145deg,#0b1530,#1d204a 65%,#112d40)}
