.modal-overlay[data-v-27e76343]{position:fixed;inset:0;background:#0000008c;backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content[data-v-27e76343]{background:var(--card-bg);border:1px solid var(--border);border-radius:20px;padding:28px;width:100%;max-width:460px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 60px #00000040}.modal-header[data-v-27e76343]{margin-bottom:24px}.modal-header h2[data-v-27e76343]{margin:0 0 6px;font-size:1.45rem;color:var(--text)}.modal-subtitle[data-v-27e76343]{margin:0;color:var(--text-secondary);font-size:.9rem}.modal-form[data-v-27e76343]{display:flex;flex-direction:column;gap:16px}.form-row[data-v-27e76343]{display:flex;flex-direction:column;gap:6px}.form-label[data-v-27e76343]{font-size:.9rem;color:var(--text-secondary)}.form-input[data-v-27e76343]{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:10px;background:var(--input-bg);color:var(--text);font-size:1rem;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.form-input[data-v-27e76343]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #ff6fa926}.form-input[data-v-27e76343]:disabled{opacity:.55;cursor:not-allowed}.form-textarea[data-v-27e76343]{resize:vertical;min-height:80px}.input-row[data-v-27e76343]{display:flex;gap:10px}.input-row .form-input[data-v-27e76343]{flex:1}.code-btn[data-v-27e76343]{white-space:nowrap;padding:0 14px;font-size:.85rem}.error-msg[data-v-27e76343]{color:#ff4757;font-size:.9rem;padding:10px 12px;background:#ff47571a;border-radius:10px}.form-actions[data-v-27e76343]{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.btn[data-v-27e76343]{padding:11px 22px;border-radius:10px;font-size:.95rem;cursor:pointer;transition:all .2s;border:none;font-weight:500}.btn[data-v-27e76343]:disabled{opacity:.55;cursor:not-allowed}.btn-primary[data-v-27e76343]{background:linear-gradient(135deg,#ffb3d1,#ff6fa9);color:#fff}.btn-primary[data-v-27e76343]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #ff6fa952}.btn-secondary[data-v-27e76343]{background:var(--btn-bg);border:1px solid var(--border);color:var(--text)}.btn-secondary[data-v-27e76343]:hover:not(:disabled){background:var(--hover-bg)}.btn-ghost[data-v-27e76343]{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}.btn-ghost[data-v-27e76343]:hover:not(:disabled){background:var(--btn-bg);color:var(--text)}.modal-fade-enter-active[data-v-27e76343],.modal-fade-leave-active[data-v-27e76343]{transition:opacity .25s ease}.modal-fade-enter-from[data-v-27e76343],.modal-fade-leave-to[data-v-27e76343]{opacity:0}::-webkit-scrollbar{width:0;height:0}html{scrollbar-width:none}.app-shell{position:relative;min-height:100vh;display:flex;flex-direction:column;color:var(--text);background:var(--bg);overflow-x:hidden}.app-main{flex:1;display:flex;flex-direction:column}.app-foot{text-align:center;padding:18px;font-size:.8rem;color:var(--text-secondary)}.spotlight{position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(600px circle at var(--mx, 50%) var(--my, 50%),rgba(255,179,209,.15),transparent 40%)}.site-bg{position:fixed;inset:0;z-index:-2;background:url(/background.jpg) center/cover no-repeat;opacity:.3;pointer-events:none}.fade-enter-active,.fade-leave-active{transition:opacity .25s ease,transform .25s ease}.fade-enter-from,.fade-leave-to{opacity:0;transform:translateY(8px)}.subtitle[data-v-012b424a]{opacity:.65;font-size:.9em;margin-top:4px}.error-text[data-v-012b424a]{color:#ff6fa9;font-size:.85em;word-break:break-all}.actions[data-v-012b424a]{display:flex;justify-content:center;margin-top:1rem}:root{--pink-50: #fff5fa;--pink-100: #ffe6f1;--pink-200: #ffcce0;--pink-300: #ffb3d1;--pink-400: #ff8fbf;--pink-500: #ff6fa9;--pink-600: #e85a93;--bg-1: #fff7fb;--bg-2: #fdebf4;--fg-1: #1c1620;--fg-2: #4a3f4f;--fg-3: #7a6f80;--border: rgba(255, 143, 191, .18);--glass-bg: rgba(255, 255, 255, .55);--glass-bg-strong: rgba(255, 255, 255, .7);--card-bg: rgba(255, 255, 255, .28);--glass-border: rgba(255, 255, 255, .6);--glass-shadow: 0 8px 32px rgba(255, 111, 169, .18);--glass-highlight: inset 0 1px 0 rgba(255, 255, 255, .7);--refract-1: rgba(255, 200, 224, .55);--refract-2: rgba(255, 255, 255, 0);--radius: 18px;--radius-sm: 12px;--radius-lg: 24px;--nav-h: 64px;--max-w: 1080px;--mx: 0;--my: 0}[data-theme=dark]{--bg-1: #15101a;--bg-2: #1f1726;--fg-1: #f4ecf2;--fg-2: #c9bcc6;--fg-3: #8a7d8a;--border: rgba(255, 143, 191, .22);--glass-bg: rgba(40, 24, 38, .45);--glass-bg-strong: rgba(50, 30, 48, .65);--card-bg: rgba(30, 18, 28, .38);--glass-border: rgba(255, 200, 224, .18);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .4);--glass-highlight: inset 0 1px 0 rgba(255, 200, 224, .12);--refract-1: rgba(255, 143, 191, .18);--refract-2: rgba(255, 255, 255, 0)}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Helvetica Neue,Arial,Microsoft YaHei,sans-serif;color:var(--fg-1);background:var(--bg-1);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body:before{content:"";position:fixed;inset:-20vmax;z-index:-2;background:radial-gradient(40vmax 40vmax at 15% 20%,var(--pink-200) 0%,transparent 60%),radial-gradient(36vmax 36vmax at 85% 10%,var(--pink-100) 0%,transparent 60%),radial-gradient(50vmax 50vmax at 50% 90%,var(--pink-300) 0%,transparent 60%),linear-gradient(180deg,var(--bg-1),var(--bg-2));filter:saturate(1.05);animation:p2f-drift 24s ease-in-out infinite alternate;will-change:transform;transform:translateZ(0);contain:strict}[data-theme=dark] body:before{background:radial-gradient(40vmax 40vmax at 15% 20%,rgba(255,111,169,.25) 0%,transparent 60%),radial-gradient(36vmax 36vmax at 85% 10%,rgba(255,143,191,.18) 0%,transparent 60%),radial-gradient(50vmax 50vmax at 50% 90%,rgba(255,179,209,.15) 0%,transparent 60%),linear-gradient(180deg,#15101a,#1f1726)}@keyframes p2f-drift{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(2vmax,-2vmax,0) scale(1.05)}to{transform:translate3d(-2vmax,1vmax,0) scale(1.02)}}body:after{content:"";position:fixed;inset:-30vmax;z-index:-2;background:radial-gradient(28vmax 28vmax at 70% 60%,rgba(255,200,224,.55) 0%,transparent 65%),radial-gradient(22vmax 22vmax at 30% 70%,rgba(255,230,241,.45) 0%,transparent 65%);filter:blur(2px);animation:p2f-drift2 36s ease-in-out infinite alternate;will-change:transform;transform:translateZ(0);pointer-events:none;contain:strict}[data-theme=dark] body:after{background:radial-gradient(28vmax 28vmax at 70% 60%,rgba(255,111,169,.18) 0%,transparent 65%),radial-gradient(22vmax 22vmax at 30% 70%,rgba(255,143,191,.12) 0%,transparent 65%)}@keyframes p2f-drift2{0%{transform:translateZ(0) scale(1.02)}to{transform:translate3d(-3vmax,2vmax,0) scale(1.08)}}.site-bg{position:fixed;inset:0;z-index:-2;background-image:url(/background.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;opacity:.3;pointer-events:none;contain:strict}.spotlight{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(30vmax 30vmax at calc(50% + var(--mx) * 20vmax) calc(50% + var(--my) * 20vmax),#ffc8e047,#ffc8e000 60%);transition:background-position .1s linear;will-change:background-position;contain:strict}[data-theme=dark] .spotlight{background:radial-gradient(30vmax 30vmax at calc(50% + var(--mx) * 20vmax) calc(50% + var(--my) * 20vmax),#ff8fbf2e,#ff8fbf00 60%)}.app-shell{min-height:100%;display:flex;flex-direction:column}.app-main{flex:1;width:100%;max-width:var(--max-w);margin:0 auto;padding:24px 20px 80px}.app-foot{text-align:center;padding:16px;color:var(--fg-3);font-size:12px}.glass{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--glass-shadow),var(--glass-highlight);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease,background .25s ease;will-change:transform;transform:translateZ(0);contain:layout style paint}.glass-strong{background:var(--glass-bg-strong)}.glass:hover{transform:translate3d(0,-2px,0);box-shadow:0 14px 40px #ff6fa940,var(--glass-highlight)}.glass:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,var(--refract-1) 0%,var(--refract-2) 40%);opacity:0;pointer-events:none;transition:opacity .2s ease .05s;will-change:opacity}.glass:hover:after{opacity:1}.navbar{position:sticky;top:12px;z-index:50;width:calc(100% - 24px);max-width:var(--max-w);margin:12px auto 0;height:var(--nav-h);padding:0 18px;display:flex;align-items:center;gap:16px;border-radius:var(--radius-lg);animation:nav-drop .6s cubic-bezier(.2,.8,.2,1) both}@keyframes nav-drop{0%{opacity:0;transform:translate3d(0,-16px,0)}to{opacity:1;transform:translateZ(0)}}.nav-brand{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--fg-1);text-decoration:none;font-size:16px;letter-spacing:.5px;transition:opacity .2s ease,transform .2s ease}.nav-brand:hover{opacity:.85;transform:translate3d(0,-1px,0)}.nav-logo{position:relative;width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,var(--pink-300),var(--pink-500));display:grid;place-items:center;color:#fff;font-weight:800;font-size:12px;box-shadow:0 4px 14px #ff6fa959;animation:logo-breathe 3.6s ease-in-out infinite;will-change:transform,box-shadow;overflow:hidden}.nav-logo:after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:skew(-20deg);animation:logo-shine 4.2s linear infinite;will-change:transform,left}@keyframes logo-breathe{0%,to{transform:scale(1);box-shadow:0 4px 14px #ff6fa959}50%{transform:scale(1.06);box-shadow:0 6px 22px #ff6fa98c}}@keyframes logo-shine{0%{left:-120%}60%{left:120%}to{left:120%}}.nav-links{display:flex;align-items:center;gap:4px;margin-left:8px}.nav-link{position:relative;padding:8px 14px;border-radius:999px;color:var(--fg-2);text-decoration:none;font-size:14px;font-weight:500;transition:background .2s ease,color .2s ease,transform .2s ease}.nav-link:hover{background:#ff8fbf1f;color:var(--fg-1);transform:translate3d(0,-1px,0)}.nav-link.active{background:#ff8fbf38;color:var(--pink-600)}[data-theme=dark] .nav-link.active{color:var(--pink-300)}.nav-spacer{flex:1}.nav-actions{display:flex;align-items:center;gap:8px}.icon-btn,.btn{position:relative;overflow:hidden;isolation:isolate}.icon-btn{height:36px;min-width:36px;padding:0 12px;border:1px solid var(--glass-border);background:var(--glass-bg);border-radius:999px;color:var(--fg-1);display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:13px;cursor:pointer;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.icon-btn:hover{background:#ff8fbf2e;transform:translate3d(0,-1px,0)}.icon-btn:active{transform:translateZ(0) scale(.97)}.icon-btn.primary{background:linear-gradient(135deg,var(--pink-400),var(--pink-600));color:#fff;border-color:transparent;box-shadow:0 6px 18px #ff6fa966}.icon-btn.primary:hover{filter:brightness(1.05);transform:translate3d(0,-2px,0)}.icon-btn .ripple,.btn .ripple{position:absolute;border-radius:50%;pointer-events:none;background:#ffffff8c;transform:translate(-50%,-50%) scale(0);opacity:.7;animation:ripple .6s ease-out forwards;will-change:transform,opacity;z-index:-1}@keyframes ripple{to{transform:translate(-50%,-50%) scale(2.6);opacity:0}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:999px;border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--fg-1);font-size:14px;font-weight:600;cursor:pointer;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.btn:hover{transform:translate3d(0,-2px,0);background:#ff8fbf26}.btn:active{transform:translateZ(0) scale(.98)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg,var(--pink-400),var(--pink-600));color:#fff;border-color:transparent;box-shadow:0 8px 22px #ff6fa966}.btn-primary:hover{filter:brightness(1.05);transform:translate3d(0,-2px,0);box-shadow:0 12px 30px #ff6fa980}.btn-primary:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:translate(-100%);transition:transform 0s}.btn-primary.loading:before{animation:btn-shine 1.4s linear infinite}@keyframes btn-shine{to{transform:translate(100%)}}.input{width:100%;height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--glass-border);background:#ffffff73;color:var(--fg-1);font-size:14px;outline:none;transition:border-color .2s ease,background .2s ease,transform .2s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}[data-theme=dark] .input{background:#ffffff0f}.input:focus{border-color:var(--pink-400);background:#fff9;transform:translateZ(0)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;color:var(--fg-2);font-weight:500;padding-left:4px}.section{padding:22px;border-radius:var(--radius);margin-bottom:18px}.section h2{margin:0 0 6px;font-size:18px}.section p{margin:0;color:var(--fg-2);font-size:14px;line-height:1.6}.stagger>*{opacity:0;transform:translate3d(0,14px,0);animation:stagger-in .55s cubic-bezier(.2,.8,.2,1) forwards;will-change:transform,opacity}.stagger>*:nth-child(1){animation-delay:.05s}.stagger>*:nth-child(2){animation-delay:.15s}.stagger>*:nth-child(3){animation-delay:.25s}.stagger>*:nth-child(4){animation-delay:.35s}.stagger>*:nth-child(5){animation-delay:.45s}.stagger>*:nth-child(6){animation-delay:.55s}@keyframes stagger-in{to{opacity:1;transform:translateZ(0)}}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media(max-width:720px){.grid-2{grid-template-columns:1fr}}.tilt{transform-style:preserve-3d;transform:perspective(1000px) rotateX(0) rotateY(0);transition:transform .2s ease,box-shadow .2s ease;will-change:transform}.tilt:hover{transform:perspective(1000px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateZ(0)}.kv{display:flex;align-items:center;justify-content:space-between;padding:8px 0}.kv+.kv{border-top:1px dashed var(--border)}.kv .k{color:var(--fg-3);font-size:13px}.kv .v{color:var(--fg-1);font-size:14px;font-weight:600}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;background:var(--pink-400);box-shadow:0 0 0 4px #ff8fbf38}.dot.online{background:#4ad991;box-shadow:0 0 0 4px #4ad99138;animation:dot-pulse 2s ease-in-out infinite;will-change:transform,opacity}.dot.offline{background:#c14a6a;box-shadow:0 0 0 4px #c14a6a38}.dot.checking{animation:dot-pulse 1.2s ease-in-out infinite;will-change:opacity,transform}@keyframes dot-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.18);opacity:.75}}ul.rules{margin:8px 0 0;padding-left:20px;color:var(--fg-2)}ul.rules li{margin:6px 0;font-size:14px;line-height:1.6}.login-wrap{min-height:calc(100vh - var(--nav-h) - 120px);display:grid;place-items:center;padding:12px 0}.login-card{width:min(400px,100%);padding:22px 24px;border-radius:var(--radius-lg);background:var(--card-bg)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:card-rise .65s cubic-bezier(.2,.8,.2,1) both}@keyframes card-rise{0%{opacity:0;transform:translate3d(0,24px,0) scale(.96)}to{opacity:1;transform:translateZ(0) scale(1)}}.login-card h1{margin:0 0 4px;font-size:24px;letter-spacing:.3px;background:linear-gradient(135deg,var(--pink-500),var(--pink-300));-webkit-background-clip:text;background-clip:text;color:transparent}.login-card .sub{color:var(--fg-2);font-size:13px;margin-bottom:18px;line-height:1.6}.login-form{display:flex;flex-direction:column;gap:12px}.login-error{color:#c14a6a;background:#c14a6a14;border:1px solid rgba(193,74,106,.2);padding:8px 12px;border-radius:10px;font-size:13px;animation:shake .4s ease;will-change:transform}@keyframes shake{0%,to{transform:translateZ(0)}25%{transform:translate3d(-4px,0,0)}75%{transform:translate3d(4px,0,0)}}.login-hint{margin-top:14px;font-size:12px;color:var(--fg-3);line-height:1.6;padding:12px;border-radius:12px;background:#ff8fbf14;border:1px dashed rgba(255,143,191,.3)}.fade-enter-active,.fade-leave-active{transition:opacity .22s ease,transform .22s ease;will-change:opacity,transform}.fade-enter-from{opacity:0;transform:translate3d(0,8px,0)}.fade-leave-to{opacity:0;transform:translate3d(0,-8px,0)}.center-row{display:flex;align-items:center;gap:8px}.muted{color:var(--fg-3)}.tag{display:inline-block;padding:2px 10px;font-size:12px;border-radius:999px;background:#ff8fbf2e;color:var(--pink-600);transition:background .2s ease,transform .2s ease}.tag:hover{background:#ff8fbf47;transform:translate3d(0,-1px,0)}[data-theme=dark] .tag{color:var(--pink-300)}.counter{display:inline-block;overflow:hidden;vertical-align:bottom}.counter .digit-track{display:inline-flex;flex-direction:column;transition:transform .6s cubic-bezier(.2,.8,.2,1);will-change:transform}.icon-btn .copied-flash{position:absolute;inset:0;background:#4ad99166;border-radius:inherit;animation:flash .6s ease-out;pointer-events:none;will-change:opacity}@keyframes flash{0%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}body:before,body:after,.spotlight,.nav-logo{animation:none!important}.stagger>*{opacity:1;transform:none}}
