.auth-loading-page{background:linear-gradient(180deg,color-mix(in srgb,var(--color-bg-primary)94%,white 6%)0%,color-mix(in srgb,var(--color-bg-tertiary)82%,white 18%)100%);min-height:100vh;padding:clamp(var(--spacing-lg),4vw,var(--spacing-2xl));justify-content:center;align-items:center;display:flex;position:relative}@supports (height:100svh){.auth-loading-page{min-height:100svh}}.auth-loading-page:before{content:"";background:linear-gradient(135deg,color-mix(in srgb,var(--color-accent)78%,white 22%)0%,color-mix(in srgb,var(--color-accent-hover)72%,white 28%)100%);clip-path:polygon(0 0,100% 0,100% 84%,0 100%);opacity:.12;height:32%;position:absolute;top:0;left:0;right:0}.auth-loading-card{background:color-mix(in srgb,var(--color-bg-secondary)90%,white 10%);width:100%;max-width:400px;box-shadow:0 16px 42px color-mix(in srgb,var(--color-accent)8%,transparent),0 0 0 1px color-mix(in srgb,var(--color-border-light)88%,white 12%);align-items:center;gap:var(--spacing-md);text-align:center;border-radius:28px;flex-direction:column;padding:36px 32px;display:flex;position:relative}.auth-loading-logo-wrap{width:min(272px,100%);max-width:100%}.auth-loading-logo{object-fit:contain;width:100%;height:auto;display:block}.auth-loading-spinner{width:30px;height:30px;color:color-mix(in srgb,var(--color-accent)78%,black 22%)}.auth-loading-spinner svg{width:100%;height:100%;display:block}.auth-loading-title{font-size:var(--font-lg);color:var(--color-text-primary);letter-spacing:-.2px;margin:0;font-weight:600}.auth-loading-subtitle{max-width:280px;font-size:var(--font-sm);color:var(--color-text-secondary);text-wrap:balance;margin:0;line-height:1.6}.auth-loading-progress{width:min(220px,100%);height:6px;margin-top:calc(var(--spacing-xs) + 2px);background:color-mix(in srgb,var(--color-accent)10%,transparent);border-radius:999px;position:relative;overflow:hidden}.auth-loading-progress-bar{border-radius:inherit;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--color-accent)82%,white 18%)42%,color-mix(in srgb,white 78%,var(--color-accent)22%)100%);width:38%;animation:1.35s ease-in-out infinite auth-loading-progress-slide;position:absolute;inset:0 auto 0 -38%}@keyframes auth-loading-spin{to{transform:rotate(360deg)}}@keyframes auth-loading-progress-slide{0%{opacity:.3;transform:translate(0)}20%{opacity:.88}to{opacity:.45;transform:translate(420%)}}.native-boot-overlay{z-index:9999;background:#ffffffb8;position:fixed;inset:0}.native-boot-overlay .auth-loading-page{min-height:100%;padding:max(var(--spacing-lg),env(safe-area-inset-top))var(--spacing-lg)max(var(--spacing-lg),env(safe-area-inset-bottom));background:0 0}.native-boot-overlay .auth-loading-page:before{opacity:.08}.native-boot-overlay .auth-loading-card{background:color-mix(in srgb,var(--color-bg-secondary)84%,white 16%);box-shadow:0 12px 32px #0f172a0f,0 0 0 1px color-mix(in srgb,var(--color-border-light)82%,white 18%)}@media (max-width:480px){.auth-loading-card{gap:var(--spacing-md);padding:36px 24px 32px}.auth-loading-logo-wrap{width:min(280px,100%)}}@media (prefers-reduced-motion:reduce){.auth-loading-spinner{animation-duration:1.6s}.auth-loading-progress-bar{animation-duration:2.2s}}.login-page{background:linear-gradient(160deg,var(--color-bg-primary)0%,var(--color-bg-tertiary)100%);min-height:100vh;padding:var(--spacing-lg);justify-content:center;align-items:center;display:flex;position:relative}@supports (height:100svh){.login-page{min-height:100svh}}.login-page:before{content:"";background:linear-gradient(135deg,var(--color-accent)0%,var(--color-accent-hover)100%);clip-path:polygon(0 0,100% 0,100% 70%,0 100%);height:40%;position:absolute;top:0;left:0;right:0}[data-theme=dark] .login-page:before{opacity:.35}@media (prefers-color-scheme:dark){:root:not([data-theme]) .auth-loading-page:before,:root:not([data-theme]) .login-page:before{opacity:.35}}[data-theme=dark] .auth-loading-page:before{opacity:.35}[data-theme=dark] .auth-loading-logo{filter:brightness(2)saturate(1.1)}@media (prefers-color-scheme:dark){:root:not([data-theme]) .auth-loading-logo{filter:brightness(2)saturate(1.1)}}.login-container{background:var(--color-bg-secondary);border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-floating),0 0 0 1px var(--color-border-light);padding:40px;position:relative}.login-header{text-align:center;margin-bottom:var(--spacing-2xl)}.login-logo{width:280px;height:72px;margin:0 auto var(--spacing-xl);border-radius:var(--radius-md);transition:transform var(--transition-base);overflow:hidden}.login-logo:hover{transform:scale(1.02)}.login-logo-img{object-fit:contain;width:100%;height:100%;display:block}[data-theme=dark] .login-logo-img{filter:brightness(2)saturate(1.1)}@media (prefers-color-scheme:dark){:root:not([data-theme]) .login-logo-img{filter:brightness(2)saturate(1.1)}}.login-title{font-size:var(--font-2xl);color:var(--color-text-primary);letter-spacing:-.5px;margin:0;font-weight:700}.login-subtitle{font-size:var(--font-base);color:var(--color-text-secondary);margin:var(--spacing-sm)0 0}.login-form{gap:var(--spacing-xl);--login-control-height:40px;flex-direction:column;display:flex}.login-form .form-group{gap:var(--spacing-sm);flex-direction:column;display:flex}.login-form label{font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--color-text-secondary)}.login-form input:not([type=checkbox]){height:var(--login-control-height);padding:0 var(--spacing-lg);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-base);background:var(--color-bg-tertiary);transition:all var(--transition-fast)}.login-form input:not([type=checkbox]):focus{border-color:var(--color-link);background:var(--color-bg-secondary);box-shadow:0 0 0 4px var(--glow-border-color);outline:none}.login-form input:not([type=checkbox])::placeholder{color:var(--color-text-tertiary)}.privacy-accept-row{align-items:center;gap:var(--spacing-sm);font-size:var(--font-sm);color:var(--color-text-secondary);line-height:1.4;display:flex}.privacy-accept-row input[type=checkbox]{width:16px;height:16px;margin-top:0}.sms-input-row{gap:var(--spacing-md);display:flex}.btn-login,.btn-sms,.tab{transition:all var(--transition-base)!important}.login-form .btn-login,.login-form .btn-sms{height:var(--login-control-height);min-height:var(--login-control-height);padding-top:0;padding-bottom:0}.btn-login.is-booting{position:relative;overflow:hidden}.btn-login.is-booting:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff38,#0000);animation:1.1s ease-in-out infinite btn-login-booting;position:absolute;inset:0;transform:translate(-120%)}@keyframes btn-login-booting{0%{transform:translate(-120%)}to{transform:translate(260%)}}.btn-login:hover:not(:disabled),.btn-sms:hover:not(:disabled){box-shadow:var(--shadow-md);filter:brightness(1.05);transform:translateY(-1px)}.btn-login:active:not(:disabled),.btn-sms:active:not(:disabled){box-shadow:var(--shadow-sm);filter:brightness(.95);transform:translateY(0)}.sms-input-row input{flex:1}.login-backend-unavailable{justify-content:space-between;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md)var(--spacing-lg);background:#fff4db;background:color-mix(in srgb,var(--color-warning,#f59e0b)12%,white);border:1px solid var(--color-warning,#f59e0b);border-radius:var(--radius-lg);color:var(--color-text-primary);font-size:var(--font-sm);text-align:left;display:flex}.login-backend-unavailable-text{flex:1}.login-backend-retry{flex-shrink:0}.login-error{padding:var(--spacing-md)var(--spacing-lg);background:var(--color-error-light);border:1px solid var(--color-error);border-radius:var(--radius-lg);color:var(--color-error);font-size:var(--font-sm);text-align:center}.login-status{padding:var(--spacing-md)var(--spacing-lg);background:var(--color-success-light);border:1px solid var(--color-success);border-radius:var(--radius-lg);color:var(--color-success-dark);font-size:var(--font-sm);text-align:center}.login-divider{align-items:center;gap:var(--spacing-lg);margin:var(--spacing-xl)0;color:var(--color-text-tertiary);font-size:var(--font-sm);display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--color-border-light);flex:1;height:1px}.login-footer{margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border-light);text-align:center}.login-footer p{margin:var(--spacing-xs)0;font-size:var(--font-sm);color:var(--color-text-tertiary)}.login-copyright{font-family:var(--font-mono),monospace;opacity:.6;letter-spacing:.5px;margin-top:var(--spacing-md)!important;font-size:11px!important}.login-link{color:var(--color-link);text-decoration:none}.login-link:hover{text-decoration:underline}.login-link-inline{color:var(--color-link);text-decoration:none}.login-link-inline:hover{text-decoration:underline}.login-tabs{gap:var(--spacing-xs);background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-xs);margin-bottom:var(--spacing-lg);display:flex}.login-tabs .tab{padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;flex:1}.login-tabs .tab:hover{color:var(--color-text-primary)}.login-tabs .tab.btn-ghost:hover:not(:disabled),.login-tabs .tab.btn-ghost:active:not(:disabled){background:0 0;transform:none}.login-tabs .tab.active{background:var(--color-bg-primary);color:var(--color-accent);box-shadow:var(--shadow-sm)}.wechat-qr-wrap{align-items:center;gap:var(--spacing-md);flex-direction:column;display:flex}.wechat-qr-container{background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);justify-content:center;align-items:center;width:260px;min-height:260px;display:flex;overflow:hidden}.wechat-qr-container iframe{border:none;width:260px;height:260px}.server-status-row{justify-content:center;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm)var(--spacing-md);margin-bottom:var(--spacing-md);border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-bg-primary);color:var(--color-text-secondary);cursor:pointer;display:flex}.server-status-row:hover{background:var(--color-gray-50)}.server-status-dot{border-radius:50%;flex:0 0 8px;width:8px;height:8px}.server-status-dot.ok{background:var(--color-success)}.server-status-dot.fail{background:var(--color-error)}.server-status-dot.unknown{background:var(--color-text-tertiary)}.server-status-text{font-size:var(--font-sm)}.server-settings-panel{text-align:left;margin-bottom:var(--spacing-md)}.login-register-link{text-align:center;margin-top:var(--spacing-lg);font-size:var(--font-sm);color:var(--color-text-secondary)}.login-register-link span{margin-right:var(--spacing-xs)}.login-link-highlight{color:var(--color-link);font-weight:var(--font-semibold);transition:all var(--transition-fast);text-decoration:none}.login-link-highlight:hover{color:var(--color-link-hover);text-decoration:underline}.register-success-notice{text-align:center;padding:var(--spacing-2xl)var(--spacing-lg)}.register-success-notice .success-icon{width:64px;height:64px;margin:0 auto var(--spacing-lg);background:var(--color-success-light);color:var(--color-success);font-size:var(--font-2xl);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.register-success-notice h3{font-size:var(--font-xl);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-md)}.register-success-notice p{color:var(--color-text-secondary);margin:0 0 var(--spacing-sm);font-size:var(--font-base)}.register-success-notice .notice-hint{font-size:var(--font-sm);color:var(--color-text-tertiary)}