.login-root{--ink:#1a1410;--ink-soft:#3f3632;--bg:#faf5ec;--bg-warm:#f3e9d5;--bg-deep:#eee2c9;--primary:#c2410c;--primary-bright:#ea580c;--muted:#8a7f78;--muted-light:#bcb0a8;--line:#d9c9b0;--line-soft:#e8dac5;--serif-en:"Fraunces", "Instrument Serif", Georgia, serif;--serif-cn:"Noto Serif SC", "STSongti-SC-Regular", serif;--brand-cn:"ZCOOL XiaoWei", "Noto Serif SC", serif;--sans:"Inter", -apple-system, "PingFang SC", "Hiragino Sans GB", sans-serif;font-family:var(--sans);color:var(--ink);background:#dccfb7;min-height:100vh;line-height:1.5}.login-root *,.login-root :before,.login-root :after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}.login-root .device{background:var(--bg);flex-direction:column;max-width:414px;min-height:100vh;margin:0 auto;display:flex;position:relative;overflow:hidden;box-shadow:0 0 100px #1a14101f}.login-root .device:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#ea580c0d 0%,#0000 70%);width:70%;height:60%;position:absolute;top:-20%;right:-30%}.login-root .device:after{content:"";opacity:.6;pointer-events:none;z-index:1;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.3  0 0 0 0 0.2  0 0 0 0 0.1  0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.login-root .device>*{z-index:2;position:relative}.login-root .status-bar{height:44px;color:var(--ink);justify-content:flex-end;align-items:center;padding:0 24px;font-size:14px;font-weight:600;display:flex}.login-root .status-bar .right{align-items:center;gap:6px;font-size:13px;display:flex}.login-root .mag-bar{font-family:var(--sans);letter-spacing:3.5px;text-transform:uppercase;color:var(--muted);justify-content:flex-end;align-items:center;padding:4px 28px 0;font-size:9.5px;font-weight:600;display:flex}.login-root .mag-bar .right{align-items:center;gap:8px;display:flex}.login-root .mag-bar .tick{background:var(--primary-bright);border-radius:50%;width:3px;height:3px}.login-root .content{flex-direction:column;flex:1;padding:56px 32px 0;display:flex}.login-root .zw-logo{align-items:center;gap:28px;margin-bottom:40px;display:flex}.login-root .zw-cn{font-family:var(--brand-cn);color:var(--ink);letter-spacing:1px;flex-direction:column;align-items:center;gap:3px;font-size:76px;line-height:1.05;display:flex}.login-root .zw-dot{background:var(--primary-bright);border-radius:50%;width:7px;height:7px;margin:4px 0}.login-root .zw-en{border-left:1px solid var(--line);flex-direction:column;gap:10px;padding-left:24px;display:flex}.login-root .zw-en-main{font-family:var(--serif-en);letter-spacing:2px;color:var(--ink);font-variation-settings:"opsz" 40, "SOFT" 50;font-size:28px;font-style:italic;font-weight:300;line-height:1}.login-root .zw-en-sub{font-family:var(--serif-en);color:var(--muted);letter-spacing:4px;font-size:10.5px;font-style:italic}.login-root .rule{align-items:center;gap:14px;margin-bottom:20px;padding-top:4px;display:flex}.login-root .rule:before,.login-root .rule:after{content:"";background:var(--line);flex:1;height:1px}.login-root .rule .mark{font-family:var(--serif-en);color:var(--primary);font-variation-settings:"opsz" 40;letter-spacing:.3px;font-size:13px;font-style:italic;font-weight:500}.login-root .brand-subtitle{font-family:var(--serif-en);letter-spacing:.2px;color:var(--ink-soft);font-variation-settings:"opsz" 24, "SOFT" 60;max-width:260px;font-size:17px;font-style:italic;font-weight:300;line-height:1.55}.login-root .brand-subtitle .em{color:var(--muted);font-weight:400}.login-root .auth-stack{flex-direction:column;gap:10px;margin-top:auto;padding:36px 0 0;display:flex}.login-root .sign-label{font-family:var(--sans);letter-spacing:3px;text-transform:uppercase;color:var(--muted);align-items:center;gap:10px;margin-bottom:14px;padding:0 4px;font-size:10px;font-weight:600;display:flex}.login-root .sign-label:after{content:"";background:var(--line-soft);flex:1;height:1px}.login-root .auth-btn{width:100%;font-family:var(--sans);letter-spacing:.4px;cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:10px;padding:17px 20px;font-size:14.5px;font-weight:600;text-decoration:none;transition:transform .28s cubic-bezier(.4,0,.2,1),box-shadow .28s,background .28s,border-color .28s,color .28s;display:flex}.login-root .auth-wechat{background:var(--ink);color:var(--bg);box-shadow:0 10px 32px -10px #1a141073}.login-root .auth-wechat:hover{transform:translateY(-2px);box-shadow:0 14px 40px -10px #1a141099}.login-root .auth-wechat .icon{width:18px;height:18px;display:inline-flex}.login-root .auth-wechat .icon svg{fill:#07c160;width:100%;height:100%}.login-root .auth-phone{color:var(--ink);border:1.5px solid var(--line);background:0 0}.login-root .auth-phone:hover{border-color:var(--ink);background:#1a141008}.login-root .guest-link{text-align:center;font-family:var(--sans);color:var(--muted);cursor:pointer;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:18px;padding:8px;font-size:13px;text-decoration:none;transition:color .2s;display:inline-flex}.login-root .guest-link:hover{color:var(--primary)}.login-root .guest-link .arrow{font-family:var(--serif-en);font-style:italic;font-weight:300;transition:transform .22s}.login-root .guest-link:hover .arrow{transform:translate(3px)}.login-root .footer{flex-direction:column;gap:8px;padding:22px 32px 28px;display:flex}.login-root .footer .legal{text-align:center;font-family:var(--sans);color:var(--muted);letter-spacing:.2px;font-size:10.5px;line-height:1.7}.login-root .footer .legal a{color:var(--ink-soft);border-bottom:1px dotted var(--muted);padding-bottom:1px;text-decoration:none}.login-root .footer .legal a:hover{color:var(--primary);border-color:var(--primary)}.login-root .footer .copyright{text-align:center;font-family:var(--serif-en);color:var(--muted-light);letter-spacing:.3px;font-size:10px;font-style:italic}@keyframes loginFadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes loginSlideIn{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}.login-root .mag-bar{animation:.5s ease-out .1s both loginFadeUp}.login-root .zw-logo{animation:.9s cubic-bezier(.34,1.56,.64,1) .3s both loginSlideIn}.login-root .rule{animation:.6s ease-out .7s both loginFadeUp}.login-root .brand-subtitle{animation:.7s ease-out .85s both loginFadeUp}.login-root .sign-label{animation:.5s ease-out 1.1s both loginFadeUp}.login-root .auth-wechat{animation:.5s ease-out 1.2s both loginFadeUp}.login-root .auth-phone{animation:.5s ease-out 1.3s both loginFadeUp}.login-root .guest-link{animation:.5s ease-out 1.4s both loginFadeUp}.login-root .footer{animation:.5s ease-out 1.5s both loginFadeUp}@media (prefers-reduced-motion:reduce){.login-root *,.login-root :before,.login-root :after{transition:none!important;animation:none!important}}
