.toast-host[data-v-b5d40385]{position:fixed;top:18px;left:50%;transform:translate(-50%);z-index:300;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.toast[data-v-b5d40385]{pointer-events:auto;cursor:pointer;display:flex;align-items:center;gap:8px;max-width:min(480px,90vw);padding:10px 18px;border-radius:999px;background:var(--surface-modal);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));border:1px solid var(--border-glass);box-shadow:var(--glass-edge),var(--shadow-2);font-size:13.5px;font-weight:500}.toast-success[data-v-b5d40385]{color:var(--ok)}.toast-error[data-v-b5d40385]{color:var(--danger)}.toast-info[data-v-b5d40385]{color:var(--accent-strong)}.toast-enter-active[data-v-b5d40385],.toast-leave-active[data-v-b5d40385]{transition:all .22s ease}.toast-enter-from[data-v-b5d40385]{opacity:0;transform:translateY(-10px)}.toast-leave-to[data-v-b5d40385]{opacity:0;transform:translateY(-6px)}.overlay[data-v-2e46522a]{position:fixed;inset:0;background:#18163066;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:100;animation:fade-in .16s ease}.modal[data-v-2e46522a]{background:var(--surface-modal);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));border:1px solid var(--border-glass);border-radius:var(--radius-xl);box-shadow:var(--glass-edge),var(--shadow-3);width:100%;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);display:flex;flex-direction:column;animation:pop-in .18s ease}.modal-head[data-v-2e46522a]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 0}.modal-head h3[data-v-2e46522a]{font-size:16px;font-weight:600}.modal-body[data-v-2e46522a]{padding:16px 20px;overflow-y:auto}.modal-foot[data-v-2e46522a]{display:flex;justify-content:flex-end;gap:10px;padding:12px 20px 18px;border-top:1px solid var(--border)}.msg[data-v-77697fb7]{color:var(--ink-2);line-height:1.65;white-space:pre-wrap}:root{--bg: #0c0c0c;--surface: #0e1014;--surface-2: rgba(255, 255, 255, .05);--surface-3: rgba(255, 255, 255, .09);--surface-solid: #101318;--surface-modal: #12151b;--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .18);--border-glass: rgba(255, 255, 255, .1);--glass-edge: inset 0 1px 1px rgba(255, 255, 255, .1);--glass-blur: 4px;--glass-sat: 100%;--ink: #ffffff;--ink-2: rgba(255, 255, 255, .64);--ink-3: rgba(255, 255, 255, .42);--accent: #3d81e3;--accent-strong: #6ba3f0;--accent-soft: rgba(61, 129, 227, .16);--accent-soft-hover: rgba(61, 129, 227, .26);--accent-softer: rgba(61, 129, 227, .08);--cyan: #00d2ff;--cyan-soft: #a4f4fd;--on-accent: #ffffff;--danger: #ff7a69;--danger-hover: #ff9487;--danger-soft: rgba(255, 122, 105, .14);--danger-soft-hover: rgba(255, 122, 105, .22);--warn: #f59e0b;--warn-soft: rgba(245, 158, 11, .14);--ok: #10b981;--ok-soft: rgba(16, 185, 129, .14);--star: #ffc75e;--scrollbar: rgba(255, 255, 255, .22);--scrollbar-hover: rgba(255, 255, 255, .4);--paper: #ffffff;--paper-ink: #1c1f27;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 8px 30px rgba(0, 0, 0, .35);--shadow-3: 0 24px 60px rgba(0, 0, 0, .5);--radius-s: 8px;--radius-m: 12px;--radius-l: 16px;--radius-xl: 16px;--font: "Inter", system-ui, -apple-system, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;--mono: "SF Mono", "Cascadia Code", Consolas, "Courier New", monospace;--topbar-h: 56px}html[data-theme=light],html[data-theme=dark]{color-scheme:dark}.glass-pop{background:#12151be0;-webkit-backdrop-filter:blur(calc(var(--glass-blur) + 8px));backdrop-filter:blur(calc(var(--glass-blur) + 8px));border:1px solid var(--border);box-shadow:var(--glass-edge),var(--shadow-3)}@font-face{font-family:Inter;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/inter-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}*,*:before,*:after{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{margin:0;padding:0;height:100%}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font);font-size:14px;line-height:1.55;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#app{height:100%}h1,h2,h3,h4,p{margin:0}h1,h2{letter-spacing:-.02em;font-weight:600}::selection{background:#3d81e359;color:#fff}a{color:var(--accent);text-decoration:none}button{font-family:inherit}input,textarea,select{font-family:inherit;font-size:14px;color:var(--ink)}@media(pointer:coarse),(max-width:766px){input,textarea,select{font-size:16px!important}.page-card{overflow-x:auto}}:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:var(--radius-s)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:999px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover);border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}.liquid-glass{background:#ffffff03;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;box-shadow:inset 0 1px 1px #ffffff1a;position:relative;overflow:hidden}.liquid-glass:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.4px;background:linear-gradient(180deg,#ffffff73,#ffffff26 20%,#fff0 40% 60%,#ffffff26 80%,#ffffff73);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}.shiny-text{background-image:linear-gradient(to right,#091020,#0b2551 12.5%,#a4f4fd 32.5%,#00d2ff,#0b2551 67.5%,#091020 87.5% 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:shiny 6s linear infinite}@keyframes shiny{0%{background-position:-200% center}to{background-position:200% center}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 16px;border:1px solid transparent;border-radius:999px;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:#fff;color:#0c0c0c;font-weight:500}.btn-primary:hover:not(:disabled){background:#ffffffe6;box-shadow:0 8px 24px #ffffff26}.btn-ghost{background:#ffffff0d;color:var(--ink-2);border-color:var(--border)}.btn-ghost:hover:not(:disabled){background:#ffffff1a;color:var(--ink)}.btn-soft{background:var(--accent-soft);color:var(--accent-strong)}.btn-soft:hover:not(:disabled){background:var(--accent-soft-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-hover)}.btn-danger-soft{background:var(--danger-soft);color:var(--danger)}.btn-danger-soft:hover:not(:disabled){background:var(--danger-soft-hover)}.btn-sm{height:30px;padding:0 12px;font-size:13px}.btn-lg{height:42px;padding:0 22px;font-size:15px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-s);background:transparent;color:var(--ink-2);cursor:pointer;transition:background .15s ease,color .15s ease;flex:none}.icon-btn:hover{background:#ffffff14;color:var(--ink)}.icon-btn.is-active{color:var(--ink);background:#ffffff1a}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:6px}.field>label{font-size:13px;font-weight:500;color:var(--ink-2)}.input{height:38px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-s);background:#ffffff0d;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;width:100%}.input::placeholder{color:var(--ink-3)}.input:hover:not(:focus):not(:disabled){border-color:var(--border-strong)}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3d81e338;background:#ffffff12}.input:disabled{background:#ffffff08;color:var(--ink-3);cursor:not-allowed}textarea.input{height:auto;padding:10px 12px;resize:vertical;line-height:1.6}.hint{font-size:12px;color:var(--ink-3)}.tag{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap}.tag-ok{background:var(--ok-soft);color:var(--ok)}.tag-warn{background:var(--warn-soft);color:var(--warn)}.tag-danger{background:var(--danger-soft);color:var(--danger)}.tag-mute{background:#ffffff14;color:var(--ink-2)}.tag-accent{background:var(--accent-soft);color:var(--accent-strong)}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.page-card{background:#0e1014e6;border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-1)}.table{width:100%;border-collapse:collapse;font-size:13.5px}.table th{text-align:left;font-weight:500;color:var(--ink-3);font-size:12.5px;padding:10px 14px;border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.table tbody tr{transition:background .12s ease}.table tbody tr:hover{background:#ffffff0a}.table tbody tr:last-child td{border-bottom:none}
