.login-page{min-height:100vh;padding:var(--space-6);image-rendering:pixelated;background:linear-gradient(#0f172a8c,#0f172a59),url(/assets/login-bg.jpg) 50%/cover no-repeat fixed;justify-content:center;align-items:center;display:flex}.login-card{-webkit-backdrop-filter:blur(14px)saturate(1.1);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-lg);padding:var(--space-8) var(--space-8) var(--space-6);background:#ffffffa8;border:1px solid #ffffff8c}.login-page>div{width:100%;max-width:400px}.login-logo{text-align:center;margin-bottom:var(--space-4)}.login-logo img{width:auto;height:84px;display:inline-block}.login-card h1{font-size:var(--text-xl);text-align:center;margin-bottom:var(--space-6)}.form-error{background:var(--color-disagree-bg);color:var(--color-danger);font-size:var(--text-sm);border-radius:var(--radius);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-4)}.pw-wrap{position:relative}.pw-wrap .input{padding-right:40px}.pw-toggle{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;padding:4px;font-size:16px;line-height:1;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.login-links{justify-content:center;align-items:center;gap:var(--space-2) var(--space-4);text-align:center;margin-top:var(--space-3);flex-wrap:wrap;display:flex}.login-links a{font-size:var(--text-sm);color:var(--color-primary,#2563eb);text-decoration:none}.login-links a:hover{text-decoration:underline}.auth-lead{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-4);line-height:1.7}.auth-confirm{font-size:var(--text-sm);background:var(--color-agree-bg,#ecfdf5);border-radius:var(--radius);padding:var(--space-3);margin-bottom:var(--space-4);line-height:1.7}.auth-check{margin-bottom:var(--space-4)}.linklike{font-size:var(--text-sm);color:var(--color-primary,#2563eb);cursor:pointer;background:0 0;border:none;padding:0}.linklike:hover:not(:disabled){text-decoration:underline}.linklike:disabled{color:var(--color-text-muted);cursor:default}.login-note{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border);font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.7}.otp-input{letter-spacing:.4em;text-align:center;font-size:var(--text-xl)}.login-disclose{width:100%;margin-bottom:var(--space-3);cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;align-items:center;gap:10px;padding:4px 0;display:flex}.login-disclose:before,.login-disclose:after{content:"";border-top:1px solid var(--color-border);flex:1}.login-disclose__txt{white-space:nowrap;font-size:var(--text-sm);flex:none;justify-content:center;align-items:center;gap:4px;width:12em;display:inline-flex}.login-disclose__caret{font-size:16px;line-height:1;transition:transform .15s}.login-disclose[aria-expanded=true] .login-disclose__caret{transform:rotate(180deg)}.login-reveal{grid-template-rows:0fr;transition:grid-template-rows .2s;display:grid}.login-reveal.is-open{grid-template-rows:1fr}.login-reveal__inner{margin:0 -4px;padding:0 4px;overflow:hidden}@media (prefers-reduced-motion:reduce){.login-reveal,.login-disclose__caret{transition:none}}.login-foot{text-align:center;color:#fff;margin-top:var(--space-5);font-size:var(--text-xs);opacity:.85}.login-foot a{color:#fff;text-decoration:underline}
