:root{--fx-canvas: #fafaf7;--fx-paper: #ffffff;--fx-ink: #0a0a0a;--fx-muted: #686862;--fx-faint: #9b9b93;--fx-rule: rgba(0, 0, 0, .07);--fx-rule-strong: rgba(0, 0, 0, .14);--fx-serif: "Noto Serif SC", "Songti SC", "Source Han Serif SC", "Songti TC", STSong, SimSun, serif;--fx-mono: ui-monospace, "JetBrains Mono", "SF Mono", Menlo, Monaco, "Cascadia Mono", monospace}.fx-auth-container{background:var(--fx-canvas);color:var(--fx-ink);min-height:100vh}.fx-auth-card{background:var(--fx-paper);border:1px solid var(--fx-rule-strong);border-radius:0;box-shadow:none}.fx-auth-title{color:var(--fx-ink)!important;font-family:var(--fx-serif)!important;font-weight:400!important;font-size:clamp(1.8rem,3vw,2.4rem)!important;line-height:1.15!important;letter-spacing:-.01em}.fx-auth-subtitle{color:var(--fx-muted)!important;font-size:14px!important;line-height:1.7!important}.fx-auth-primary-button{background:var(--fx-ink)!important;border:1px solid var(--fx-ink)!important;border-radius:0!important;color:#fff!important;font-size:14px!important;font-weight:500!important;transition:background .2s ease!important}.fx-auth-primary-button:hover{background:#292929!important;border-color:#292929!important}.fx-auth-primary-button:disabled{opacity:.5!important;cursor:not-allowed!important}.fx-auth-secondary-button{background:transparent!important;border:1px solid var(--fx-rule-strong)!important;border-radius:0!important;color:var(--fx-ink)!important;font-size:14px!important;transition:border-color .2s ease!important}.fx-auth-secondary-button:hover{border-color:var(--fx-ink)!important}.fx-auth-text-button{background:transparent!important;border:none!important;color:var(--fx-muted)!important;font-size:13px!important;text-decoration:underline;-webkit-text-decoration-color:var(--fx-rule-strong);text-decoration-color:var(--fx-rule-strong);text-underline-offset:3px;padding:0!important}.fx-auth-text-button:hover{color:var(--fx-ink)!important;-webkit-text-decoration-color:var(--fx-ink);text-decoration-color:var(--fx-ink)}.fx-auth-divider{border-color:var(--fx-rule)!important;color:var(--fx-muted)!important;font-size:12px!important}.fx-auth-form .semi-input-wrapper{border-color:var(--fx-rule-strong)!important;border-radius:0!important;transition:border-color .2s ease}.fx-auth-form .semi-input-wrapper:hover{border-color:var(--fx-ink)!important}.fx-auth-form .semi-input-wrapper-focus{border-color:var(--fx-ink)!important;box-shadow:none!important}.fx-auth-form .semi-input{font-size:14px!important;color:var(--fx-ink)!important}.fx-auth-form .semi-input::placeholder{color:var(--fx-faint)!important}.fx-auth-form .semi-form-field-label-text{color:var(--fx-ink)!important;font-size:13px!important;font-weight:500!important}.fx-auth-link{color:var(--fx-ink);text-decoration:underline;-webkit-text-decoration-color:var(--fx-rule-strong);text-decoration-color:var(--fx-rule-strong);text-underline-offset:3px;font-weight:500;transition:all .2s ease}.fx-auth-link:hover{color:var(--fx-ink);-webkit-text-decoration-color:var(--fx-ink);text-decoration-color:var(--fx-ink)}.fx-auth-oauth-button{border:1px solid var(--fx-rule-strong)!important;border-radius:0!important;background:transparent!important;color:var(--fx-ink)!important;font-size:14px!important;transition:all .2s ease!important}.fx-auth-oauth-button:hover{border-color:var(--fx-ink)!important;background:#00000005!important}.fx-auth-sidebar-title{font-family:var(--fx-serif);font-weight:400;letter-spacing:-.02em}.fx-auth-sidebar-text{color:#ffffffb3;font-size:15px;line-height:1.8}.fx-auth-sidebar-feature{border:1px solid rgba(255,255,255,.15);background:#ffffff0d;transition:all .25s ease}.fx-auth-sidebar-feature:hover{background:#ffffff14;border-color:#ffffff40}.fx-auth-nav-button{background:var(--fx-paper)!important;border:1px solid var(--fx-rule-strong)!important;border-radius:0!important;color:var(--fx-ink)!important;transition:all .2s ease!important}.fx-auth-nav-button:hover{border-color:var(--fx-ink)!important;background:var(--fx-paper)!important}@media (max-width: 767px){.fx-auth-title{font-size:1.6rem!important}.fx-auth-card{border-left:0;border-right:0}}@keyframes fxAuthFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fx-auth-fade-in{animation:fxAuthFadeIn .6s cubic-bezier(.22,1,.36,1) forwards}@media (prefers-reduced-motion: reduce){.fx-auth-fade-in{animation:none!important;opacity:1!important;transform:none!important}}
