:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.login-container{display:flex;min-height:100vh;width:100vw;margin:0;padding:0;background:#f0f2f5;overflow-x:hidden}.login-left{flex:1;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:60px;overflow:hidden}.login-background{position:absolute;inset:0;background-image:radial-gradient(circle at 20% 50%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.1) 0%,transparent 50%);animation:backgroundMove 20s ease infinite}@keyframes backgroundMove{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.1) rotate(5deg)}}.login-left-content{position:relative;z-index:1;max-width:600px;color:#fff;text-align:center}.platform-logo{font-size:48px;font-weight:700;margin-bottom:24px;text-shadow:0 4px 12px rgba(0,0,0,.2);animation:fadeInDown 1s ease}.platform-slogan{font-size:20px;margin-bottom:48px;opacity:.95;animation:fadeInUp 1s ease .2s both}.platform-features{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px}.feature-item{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:24px;border-radius:12px;border:1px solid rgba(255,255,255,.2);transition:all .3s ease;animation:fadeIn 1s ease}.feature-item:nth-child(1){animation-delay:.4s}.feature-item:nth-child(2){animation-delay:.5s}.feature-item:nth-child(3){animation-delay:.6s}.feature-item:nth-child(4){animation-delay:.7s}.feature-item:hover{background:#ffffff26;transform:translateY(-4px)}.feature-icon{font-size:36px;margin-bottom:12px}.feature-title{font-size:16px;font-weight:600;margin-bottom:8px}.feature-desc{font-size:14px;opacity:.85}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.login-right{width:480px;display:flex;flex-direction:column;justify-content:center;align-items:stretch;background:#fff;padding:40px 48px;box-shadow:-4px 0 24px #00000014}.login-card{width:100%;max-width:100%;background:transparent;border:none;box-shadow:none}.login-card .ant-card-body{padding:0}.qr-code-wrapper{position:relative;padding:20px;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;transition:all .3s ease}.qr-code-wrapper:hover{box-shadow:0 6px 16px #00000026}.qr-code-wrapper canvas{display:block;transition:opacity .3s ease}.qr-code-wrapper .qr-scanned{opacity:.3}.qr-overlay{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background:#ffffffe6;border-radius:12px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.qr-placeholder{width:240px;height:240px;display:flex;justify-content:center;align-items:center;background:#f5f5f5;border-radius:12px;border:2px dashed #d9d9d9}.qr-placeholder.qr-expired{background:#fff;border-color:#ff4d4f}.refresh-link{color:#1890ff;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.refresh-link:hover{color:#40a9ff;transform:translateY(-2px)}.refresh-link:active{transform:translateY(0)}.login-tips{padding:12px 20px;background:#f0f2f5;border-radius:8px;text-align:center}@media(max-width:1024px){.login-container{flex-direction:column}.login-left{min-height:40vh;padding:40px 20px}.platform-logo{font-size:36px}.platform-slogan{font-size:16px}.platform-features{grid-template-columns:1fr 1fr;gap:16px;margin-top:32px}.feature-item{padding:16px}.feature-icon{font-size:28px}.login-right{width:100%;padding:40px 20px}}@media(max-width:768px){.login-left{padding:32px 16px}.platform-logo{font-size:28px}.platform-slogan{font-size:14px;margin-bottom:32px}.platform-features{grid-template-columns:1fr;gap:12px}.feature-item{padding:16px}.login-right{padding:32px 16px}.qr-code-wrapper{padding:15px}.qr-placeholder{width:200px;height:200px}}.ant-spin{color:#1890ff}.ant-spin-text{color:#666;margin-top:12px}
