.login-page[data-v-9f1deeae]{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card[data-v-9f1deeae]{background:var(--bg-elevated);border:1px solid var(--border);width:min(100%,400px);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;gap:18px;padding:36px 32px;display:flex}.brand[data-v-9f1deeae]{text-align:center;margin-bottom:8px}.logo[data-v-9f1deeae]{background:linear-gradient(135deg, var(--accent), #2a6fdb);border-radius:12px;place-items:center;width:48px;height:48px;margin-bottom:12px;font-size:1.4rem;font-weight:700;display:inline-grid}.brand h1[data-v-9f1deeae]{letter-spacing:-.02em;margin:0;font-size:1.6rem}.brand p[data-v-9f1deeae]{color:var(--text-muted);margin:6px 0 0;font-size:.95rem}label[data-v-9f1deeae]{color:var(--text-muted);flex-direction:column;gap:6px;font-size:.85rem;display:flex}input[data-v-9f1deeae]{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);outline:none;padding:12px 14px;transition:border-color .15s}input[data-v-9f1deeae]:focus{border-color:var(--border-focus)}button[data-v-9f1deeae]{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;margin-top:6px;padding:12px 16px;font-weight:600;transition:background .15s;display:inline-flex}button[data-v-9f1deeae]:hover:not(:disabled){background:var(--accent-hover)}button[data-v-9f1deeae]:disabled{opacity:.6;cursor:not-allowed}.error[data-v-9f1deeae]{color:var(--danger);margin:0;font-size:.9rem}.confirm-backdrop[data-v-2f94f00e]{z-index:80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#04080ea6;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-card[data-v-2f94f00e]{background:linear-gradient(180deg, #1e2836 0%, var(--bg-elevated) 100%);border:1px solid var(--border);text-align:center;border-radius:18px;width:min(100%,420px);padding:28px 26px 22px;box-shadow:0 24px 60px #00000080}.confirm-icon[data-v-2f94f00e]{width:56px;height:56px;color:var(--accent);background:#3d9cfd24;border-radius:16px;place-items:center;margin:0 auto 16px;font-size:1.35rem;display:grid}.confirm-icon.danger[data-v-2f94f00e]{color:var(--danger);background:#f0717824}.confirm-card h3[data-v-2f94f00e]{letter-spacing:-.02em;margin:0;font-size:1.25rem}.confirm-card p[data-v-2f94f00e]{color:var(--text-muted);margin:10px 0 0;font-size:.95rem;line-height:1.45}.confirm-actions[data-v-2f94f00e]{justify-content:center;gap:10px;margin-top:22px;display:flex}.btn[data-v-2f94f00e]{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:10px 14px;font-weight:500;display:inline-flex}.btn.ghost[data-v-2f94f00e]{background:0 0}.btn.primary[data-v-2f94f00e]{background:var(--accent);color:#fff;border-color:#0000}.btn.danger-fill[data-v-2f94f00e]{background:var(--danger);color:#fff;border-color:#0000}.btn[data-v-2f94f00e]:disabled{opacity:.65;cursor:not-allowed}.confirm-enter-active[data-v-2f94f00e],.confirm-leave-active[data-v-2f94f00e]{transition:opacity .2s}.confirm-enter-active .confirm-card[data-v-2f94f00e],.confirm-leave-active .confirm-card[data-v-2f94f00e]{transition:transform .24s cubic-bezier(.22,1,.36,1),opacity .2s}.confirm-enter-from[data-v-2f94f00e],.confirm-leave-to[data-v-2f94f00e]{opacity:0}.confirm-enter-from .confirm-card[data-v-2f94f00e],.confirm-leave-to .confirm-card[data-v-2f94f00e]{opacity:0;transform:translateY(12px)scale(.96)}.faq-backdrop[data-v-75e2e45e]{z-index:70;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#04080ea6;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.faq-panel[data-v-75e2e45e]{background:linear-gradient(180deg, #1e2836 0%, var(--bg-elevated) 120px);border:1px solid var(--border);border-radius:18px;flex-direction:column;width:min(100%,760px);max-height:min(88vh,900px);display:flex;overflow:hidden;box-shadow:0 24px 60px #00000080}.faq-head[data-v-75e2e45e]{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 24px 16px;display:flex}.faq-head h2[data-v-75e2e45e]{align-items:center;gap:10px;margin:0;font-size:1.2rem;display:flex}.faq-head h2 i[data-v-75e2e45e]{color:var(--accent)}.faq-head p[data-v-75e2e45e]{color:var(--text-muted);margin:6px 0 0;font-size:.9rem}.faq-body[data-v-75e2e45e]{padding:8px 24px 28px;overflow:auto}section[data-v-75e2e45e]{border-bottom:1px solid #2a3544b3;padding:16px 0}section[data-v-75e2e45e]:last-child{border-bottom:none}h3[data-v-75e2e45e]{margin:0 0 10px;font-size:1.05rem}h4[data-v-75e2e45e]{color:var(--text-muted);margin:14px 0 8px;font-size:.92rem;font-weight:600}p[data-v-75e2e45e],li[data-v-75e2e45e]{color:var(--text);font-size:.92rem;line-height:1.5}ol[data-v-75e2e45e],ul[data-v-75e2e45e]{margin:0;padding-left:1.25rem}li+li[data-v-75e2e45e]{margin-top:4px}.note[data-v-75e2e45e]{color:var(--text-muted);background:#3d9cfd1a;border:1px solid #3d9cfd38;border-radius:8px;margin:10px 0 0;padding:10px 12px;font-size:.88rem}code[data-v-75e2e45e],.mono[data-v-75e2e45e]{font-family:JetBrains Mono,monospace}code[data-v-75e2e45e]{background:var(--bg-input);border-radius:4px;padding:1px 5px;font-size:.84em}pre.mono[data-v-75e2e45e]{background:var(--bg-input);border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;border-radius:10px;margin:10px 0;padding:12px 14px;font-size:.78rem;line-height:1.45;overflow:auto}.btn.icon[data-v-75e2e45e]{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;place-items:center;width:36px;height:36px;display:inline-grid}.btn.icon[data-v-75e2e45e]:hover{color:var(--text);border-color:var(--accent)}.faq-enter-active[data-v-75e2e45e],.faq-leave-active[data-v-75e2e45e]{transition:opacity .2s}.faq-enter-active .faq-panel[data-v-75e2e45e],.faq-leave-active .faq-panel[data-v-75e2e45e]{transition:transform .24s cubic-bezier(.22,1,.36,1),opacity .2s}.faq-enter-from[data-v-75e2e45e],.faq-leave-to[data-v-75e2e45e]{opacity:0}.faq-enter-from .faq-panel[data-v-75e2e45e],.faq-leave-to .faq-panel[data-v-75e2e45e]{opacity:0;transform:translateY(14px)scale(.97)}.ip-backdrop[data-v-e045e331]{z-index:70;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#04080ea6;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.ip-panel[data-v-e045e331]{background:linear-gradient(180deg, #1e2836 0%, var(--bg-elevated) 120px);border:1px solid var(--border);border-radius:18px;flex-direction:column;width:min(100%,560px);max-height:min(84vh,720px);display:flex;overflow:hidden;box-shadow:0 24px 60px #00000080}.ip-head[data-v-e045e331]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 24px 14px;display:flex}.ip-head h2[data-v-e045e331]{align-items:center;gap:10px;margin:0;font-size:1.15rem;display:flex}.ip-head h2 i[data-v-e045e331]{color:var(--danger)}.ip-head p[data-v-e045e331]{color:var(--text-muted);margin:6px 0 0;font-size:.9rem}.ip-toolbar[data-v-e045e331]{border-bottom:1px solid var(--border);gap:10px;padding:14px 24px;display:flex}.search[data-v-e045e331]{background:var(--bg-input);border:1px solid var(--border);border-radius:8px;flex:1;align-items:center;gap:8px;padding:0 12px;display:flex}.search i[data-v-e045e331]{color:var(--text-muted);font-size:.85rem}.search input[data-v-e045e331]{color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:10px 0}.ip-body[data-v-e045e331]{padding:12px 24px 22px;overflow:auto}.muted[data-v-e045e331]{color:var(--text-muted);margin:12px 0}.ip-list[data-v-e045e331]{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ip-list li[data-v-e045e331]{background:var(--bg-input);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.meta[data-v-e045e331]{flex-direction:column;gap:4px;min-width:0;display:flex}.meta code[data-v-e045e331]{word-break:break-all;font-size:.95rem}.sub[data-v-e045e331]{color:var(--text-muted);font-size:.78rem}.btn[data-v-e045e331]{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:10px 14px;font-weight:500;display:inline-flex}.btn.ghost[data-v-e045e331]{background:0 0}.btn.primary[data-v-e045e331]{background:var(--accent);color:#fff;border-color:#0000}.btn.sm[data-v-e045e331]{flex-shrink:0;padding:7px 10px;font-size:.85rem}.btn.icon[data-v-e045e331]{width:36px;height:36px;color:var(--text-muted);background:0 0;justify-content:center;padding:0}.btn.icon[data-v-e045e331]:hover{color:var(--text);border-color:var(--accent)}.btn[data-v-e045e331]:disabled{opacity:.6;cursor:not-allowed}.ipmodal-enter-active[data-v-e045e331],.ipmodal-leave-active[data-v-e045e331]{transition:opacity .2s}.ipmodal-enter-active .ip-panel[data-v-e045e331],.ipmodal-leave-active .ip-panel[data-v-e045e331]{transition:transform .24s cubic-bezier(.22,1,.36,1),opacity .2s}.ipmodal-enter-from[data-v-e045e331],.ipmodal-leave-to[data-v-e045e331]{opacity:0}.ipmodal-enter-from .ip-panel[data-v-e045e331],.ipmodal-leave-to .ip-panel[data-v-e045e331]{opacity:0;transform:translateY(14px)scale(.97)}.toast-stack[data-v-7dd11412]{z-index:1000;pointer-events:none;flex-direction:column;align-items:center;gap:10px;width:min(360px,100vw - 32px);display:flex;position:fixed;top:20px;left:50%;right:auto;transform:translate(-50%)}.toast[data-v-7dd11412]{pointer-events:auto;color:var(--text);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#2a3545;border:1px solid #3d4d63;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;font-size:.95rem;display:flex;box-shadow:0 16px 40px #0006}.toast i[data-v-7dd11412]:first-child{flex-shrink:0;font-size:1.1rem}.toast.success i[data-v-7dd11412]:first-child{color:var(--success)}.toast.error i[data-v-7dd11412]:first-child{color:var(--danger)}.toast.info i[data-v-7dd11412]:first-child{color:var(--accent)}.toast span[data-v-7dd11412]{flex:1;line-height:1.35}.toast-close[data-v-7dd11412]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;line-height:1}.toast-close[data-v-7dd11412]:hover{color:var(--text);background:#ffffff0f}.toast-enter-active[data-v-7dd11412]{transition:all .28s cubic-bezier(.22,1,.36,1)}.toast-leave-active[data-v-7dd11412]{transition:all .22s}.toast-enter-from[data-v-7dd11412]{opacity:0;transform:translateY(-12px)scale(.96)}.toast-leave-to[data-v-7dd11412]{opacity:0;transform:translateY(-8px)scale(.96)}.layout[data-v-5a0ddbb7]{min-height:100vh}.topbar[data-v-5a0ddbb7]{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:#1a222dd9;justify-content:space-between;align-items:center;padding:16px 28px;display:flex;position:sticky;top:0}.brand[data-v-5a0ddbb7]{align-items:center;gap:10px;font-weight:600;display:flex}.logo[data-v-5a0ddbb7]{background:linear-gradient(135deg, var(--accent), #2a6fdb);border-radius:8px;place-items:center;width:32px;height:32px;font-size:.95rem;display:inline-grid}.actions[data-v-5a0ddbb7]{align-items:center;gap:12px;display:flex}.user[data-v-5a0ddbb7]{color:var(--text-muted);font-size:.85rem}.content[data-v-5a0ddbb7]{max-width:1100px;margin:0 auto;padding:32px 24px 64px}.page-head[data-v-5a0ddbb7]{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.page-head h1[data-v-5a0ddbb7]{letter-spacing:-.02em;margin:0;font-size:1.75rem}.page-head p[data-v-5a0ddbb7]{color:var(--text-muted);margin:6px 0 0}.btn[data-v-5a0ddbb7]{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:10px 14px;font-weight:500;display:inline-flex}.btn.primary[data-v-5a0ddbb7]{background:var(--accent);color:#fff;border-color:#0000}.btn.primary[data-v-5a0ddbb7]:hover{background:var(--accent-hover)}.btn.ghost[data-v-5a0ddbb7]{background:0 0}.btn.nav[data-v-5a0ddbb7]{color:var(--text);background:#2f3c4d;border-color:#45566c}.btn.nav[data-v-5a0ddbb7]:hover{border-color:var(--accent);color:#fff;background:#3a4a5f}.btn.nav.danger-nav[data-v-5a0ddbb7]{color:#ffb4b8;background:#f0717829;border-color:#f0717873}.btn.nav.danger-nav[data-v-5a0ddbb7]:hover{border-color:var(--danger);color:#fff;background:#f0717847}.btn.danger[data-v-5a0ddbb7]{color:var(--danger);background:0 0;border-color:#0000}.btn.sm[data-v-5a0ddbb7]{padding:6px 10px;font-size:.85rem}.btn.icon[data-v-5a0ddbb7]{background:var(--bg-input);flex-shrink:0;justify-content:center;width:36px;height:36px;padding:0}.btn.icon[data-v-5a0ddbb7]:hover{border-color:var(--accent);color:var(--accent)}.btn[data-v-5a0ddbb7]:disabled{opacity:.6;cursor:not-allowed}.grid[data-v-5a0ddbb7]{gap:16px;display:grid}.card[data-v-5a0ddbb7]{background:var(--bg-elevated);border:1px solid var(--border);border-radius:14px;padding:20px 22px}.card-head[data-v-5a0ddbb7]{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.card-head h2[data-v-5a0ddbb7]{margin:0;font-size:1.2rem}.card-actions[data-v-5a0ddbb7]{gap:4px;display:flex}.keys[data-v-5a0ddbb7]{gap:10px;margin-bottom:14px;display:grid}.label[data-v-5a0ddbb7]{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:4px;font-size:.75rem;display:block}.key-row[data-v-5a0ddbb7]{align-items:stretch;gap:8px;display:flex}code[data-v-5a0ddbb7]{background:var(--bg-input);border:1px solid var(--border);word-break:break-all;border-radius:8px;flex:1;padding:8px 10px;font-size:.8rem;line-height:1.4;display:block}.tags[data-v-5a0ddbb7]{flex-wrap:wrap;gap:6px;display:flex}.tag[data-v-5a0ddbb7]{color:var(--accent);background:#3d9cfd1f;border-radius:999px;padding:4px 10px;font-size:.85rem}.embed[data-v-5a0ddbb7]{border-top:1px solid var(--border);margin-top:14px;padding-top:10px}.embed summary[data-v-5a0ddbb7]{cursor:pointer;color:var(--text-muted);font-size:.9rem}.embed pre[data-v-5a0ddbb7]{background:var(--bg-input);white-space:pre-wrap;border-radius:8px;margin:10px 0 0;padding:12px;font-size:.78rem;overflow:auto}.empty[data-v-5a0ddbb7],.muted[data-v-5a0ddbb7]{color:var(--text-muted)}.banner.error[data-v-5a0ddbb7],.error[data-v-5a0ddbb7]{color:var(--danger)}.modal-backdrop[data-v-5a0ddbb7]{z-index:50;background:#0000008c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal[data-v-5a0ddbb7]{background:var(--bg-elevated);border:1px solid var(--border);width:min(100%,480px);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:14px;padding:24px;display:flex}.modal h2[data-v-5a0ddbb7]{margin:0 0 4px}.modal label[data-v-5a0ddbb7]{flex-direction:column;gap:6px;font-size:.9rem;display:flex}.hint[data-v-5a0ddbb7]{color:var(--text-muted);font-size:.8rem}.modal input[data-v-5a0ddbb7],.modal textarea[data-v-5a0ddbb7]{background:var(--bg-input);border:1px solid var(--border);color:var(--text);resize:vertical;border-radius:8px;outline:none;padding:10px 12px}.modal input[data-v-5a0ddbb7]:focus,.modal textarea[data-v-5a0ddbb7]:focus{border-color:var(--border-focus)}.modal-actions[data-v-5a0ddbb7]{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}@media (width<=640px){.page-head[data-v-5a0ddbb7],.card-head[data-v-5a0ddbb7]{flex-direction:column}.user[data-v-5a0ddbb7]{display:none}}:root{--bg:#0f1419;--bg-elevated:#1a222d;--bg-input:#121820;--border:#2a3544;--border-focus:#3d9cfd;--text:#e8eef5;--text-muted:#8b9bb0;--accent:#3d9cfd;--accent-hover:#5aadfe;--success:#3ecf8e;--danger:#f07178;--warning:#e6b450;--radius:10px;--shadow:0 12px 40px #00000059;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:DM Sans,system-ui,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{background:radial-gradient(ellipse 80% 50% at 20% -10%, #3d9cfd2e, transparent), radial-gradient(ellipse 60% 40% at 90% 10%, #3ecf8e14, transparent), var(--bg);min-height:100vh;margin:0}#app{min-height:100vh}a{color:var(--accent);text-decoration:none}button,input,textarea{font:inherit}.mono{font-family:JetBrains Mono,monospace}
