@import"https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&display=swap";.login-page[data-v-573a86bb]{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);display:flex;align-items:center;justify-content:center;overflow:hidden;z-index:9998}.login-bg[data-v-573a86bb]{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.glow[data-v-573a86bb]{position:absolute;border-radius:50%;filter:blur(80px);opacity:.35}.glow-1[data-v-573a86bb]{width:520px;height:520px;top:-140px;left:-120px;background:radial-gradient(circle,#00f0ff 0%,transparent 70%);animation:float-573a86bb 12s ease-in-out infinite alternate}.glow-2[data-v-573a86bb]{width:460px;height:460px;bottom:-160px;right:-100px;background:radial-gradient(circle,#7c5cff 0%,transparent 70%);animation:float-573a86bb 16s ease-in-out infinite alternate-reverse}.grid-mask[data-v-573a86bb]{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(circle at 50% 50%,transparent 20%,#000 80%);-webkit-mask-image:radial-gradient(circle at 50% 50%,transparent 20%,#000 80%)}.login-card[data-v-573a86bb]{position:relative;width:420px;max-width:90vw;padding:48px 40px 32px;text-align:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:20px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 30px 80px #00000073,0 0 60px #00f0ff1f}.lock-icon[data-v-573a86bb]{position:relative;width:88px;height:88px;margin:0 auto 22px;display:flex;align-items:center;justify-content:center}.lock-ring[data-v-573a86bb]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid rgba(0,240,255,.35);border-top-color:#00f0ff;animation:spin-573a86bb 3s linear infinite}.lock-body[data-v-573a86bb]{font-size:34px;line-height:1}.login-title[data-v-573a86bb]{margin:0 0 10px;font-size:26px;font-weight:600;color:#fff;letter-spacing:1px}.login-subtitle[data-v-573a86bb]{margin:0 0 28px;font-size:14px;color:#fff9}.login-form[data-v-573a86bb]{display:flex;flex-direction:column;gap:12px}.input-wrap[data-v-573a86bb]{position:relative;display:flex;align-items:center;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:#00000040;transition:border-color .25s ease,box-shadow .25s ease}.input-wrap[data-v-573a86bb]:focus-within{border-color:#00f0ff99;box-shadow:0 0 0 3px #00f0ff1f}.input-wrap.is-error[data-v-573a86bb]{border-color:#ff5252b3;box-shadow:0 0 0 3px #ff52521f}.input-wrap.is-shake[data-v-573a86bb]{animation:shake-573a86bb .45s ease}.login-input[data-v-573a86bb]{flex:1;height:52px;padding:0 46px 0 18px;border:none;outline:none;background:transparent;color:#fff;font-size:16px;letter-spacing:2px}.login-input[data-v-573a86bb]::placeholder{color:#ffffff59;letter-spacing:0}.eye-btn[data-v-573a86bb]{position:absolute;right:8px;width:34px;height:34px;border:none;border-radius:8px;background:transparent;color:#ffffffa6;font-size:15px;cursor:pointer;transition:background .2s ease,color .2s ease}.eye-btn[data-v-573a86bb]:hover{background:#ffffff1a;color:#fff}.login-error[data-v-573a86bb]{margin:0;min-height:18px;font-size:13px;color:#ff6b6b;text-align:left}.login-btn[data-v-573a86bb]{display:flex;align-items:center;justify-content:center;gap:10px;height:52px;margin-top:4px;border:none;border-radius:12px;background:linear-gradient(135deg,#00f0ff,#0f8);color:#04121f;font-size:17px;font-weight:600;letter-spacing:2px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.login-btn[data-v-573a86bb]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 26px #00f0ff4d}.login-btn[data-v-573a86bb]:disabled{opacity:.7;cursor:not-allowed}.spinner[data-v-573a86bb]{width:16px;height:16px;border:2px solid rgba(4,18,31,.3);border-top-color:#04121f;border-radius:50%;animation:spin-573a86bb .8s linear infinite}.login-foot[data-v-573a86bb]{margin-top:22px;font-size:12px;color:#ffffff59}.err-fade-enter-active[data-v-573a86bb],.err-fade-leave-active[data-v-573a86bb]{transition:opacity .25s ease,transform .25s ease}.err-fade-enter-from[data-v-573a86bb],.err-fade-leave-to[data-v-573a86bb]{opacity:0;transform:translateY(-4px)}@keyframes spin-573a86bb{to{transform:rotate(360deg)}}@keyframes float-573a86bb{0%{transform:translate(0) scale(1)}to{transform:translate(40px,30px) scale(1.15)}}@keyframes shake-573a86bb{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.error-page[data-v-6deb88a2]{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);display:flex;align-items:center;justify-content:center;z-index:9999}.error-content[data-v-6deb88a2]{text-align:center;padding:60px;background:#ffffff0d;border-radius:20px;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:600px}.error-icon[data-v-6deb88a2]{font-size:80px;margin-bottom:30px;animation:shake-6deb88a2 .5s ease-in-out infinite alternate}@keyframes shake-6deb88a2{0%{transform:rotate(-5deg)}to{transform:rotate(5deg)}}.error-title[data-v-6deb88a2]{font-size:36px;color:#fff;margin:0 0 20px;font-weight:600}.error-message[data-v-6deb88a2]{font-size:18px;color:#fffc;margin:0 0 30px}.error-message code[data-v-6deb88a2]{background:#00f0ff33;color:#00f0ff;padding:4px 12px;border-radius:6px;font-family:Consolas,monospace}.error-example[data-v-6deb88a2]{background:#0000004d;padding:20px;border-radius:10px;border:1px solid rgba(255,255,255,.1)}.error-example p[data-v-6deb88a2]{color:#fff9;margin:0 0 10px;font-size:14px}.error-example code[data-v-6deb88a2]{display:block;color:#0f8;font-family:Consolas,monospace;font-size:14px;word-break:break-all}.ws-error .error-content[data-v-6deb88a2]{border-color:#ff00644d;box-shadow:0 0 60px #ff006433}.ws-error .error-icon[data-v-6deb88a2]{animation:pulse-6deb88a2 1s ease-in-out infinite}@keyframes pulse-6deb88a2{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.error-detail[data-v-6deb88a2]{margin-bottom:30px;padding:15px;background:#ff00641a;border-radius:8px;border:1px solid rgba(255,0,100,.2)}.error-detail p[data-v-6deb88a2]{margin:0;color:#ffffffb3;font-size:14px}.error-detail code[data-v-6deb88a2]{background:#ff006433;color:#ff6b6b;padding:2px 8px;border-radius:4px;font-family:Consolas,monospace}.error-actions[data-v-6deb88a2]{display:flex;gap:15px;justify-content:center}.retry-btn[data-v-6deb88a2],.clear-btn[data-v-6deb88a2]{padding:12px 30px;font-size:16px;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease}.retry-btn[data-v-6deb88a2]{background:linear-gradient(135deg,#00f0ff,#0f8);color:#000}.retry-btn[data-v-6deb88a2]:hover{transform:translateY(-2px);box-shadow:0 5px 20px #00f0ff66}.clear-btn[data-v-6deb88a2]{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}.clear-btn[data-v-6deb88a2]:hover{background:#fff3;transform:translateY(-2px)}.fade-enter-active[data-v-6deb88a2],.fade-leave-active[data-v-6deb88a2]{transition:opacity .5s ease}.fade-enter-from[data-v-6deb88a2],.fade-leave-to[data-v-6deb88a2]{opacity:0}:root{--primary: #00f0ff;--primary-dark: #0088aa;--secondary: #ff00e6;--accent: #ffd700;--bg-dark: #0a0a1a;--bg-card: rgba(10, 20, 40, .85);--glow-primary: 0 0 20px rgba(0, 240, 255, .5), 0 0 60px rgba(0, 240, 255, .2);--glow-secondary: 0 0 20px rgba(255, 0, 230, .5), 0 0 60px rgba(255, 0, 230, .2)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Microsoft YaHei,PingFang SC,sans-serif;background:var(--bg-dark);color:#fff;overflow:hidden}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:#ffffff0d}::-webkit-scrollbar-thumb{background:var(--primary);border-radius:4px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes glow{0%,to{text-shadow:0 0 10px var(--primary),0 0 20px var(--primary),0 0 40px var(--primary)}50%{text-shadow:0 0 20px var(--primary),0 0 40px var(--primary),0 0 80px var(--primary)}}@keyframes float{0%,to{transform:translateY(0) rotateX(0)}50%{transform:translateY(-15px) rotateX(3deg)}}@keyframes borderFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}
