.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: #eef0f8;--surface: rgba(255, 255, 255, .48);--surface-2: rgba(255, 255, 255, .34);--surface-3: rgba(255, 255, 255, .46);--surface-solid: #ffffff;--surface-modal: rgba(255, 255, 255, .8);--border: rgba(29, 29, 46, .09);--border-strong: rgba(29, 29, 46, .17);--border-glass: rgba(255, 255, 255, .65);--glass-edge: inset 0 1px 0 rgba(255, 255, 255, .85), inset 0 -1px 0 rgba(29, 29, 46, .05);--glass-blur: 18px;--glass-sat: 165%;--ink: #1d1d2e;--ink-2: #5d5d75;--ink-3: #999ab0;--accent: #5b50e6;--accent-strong: #483dd4;--accent-soft: rgba(91, 80, 230, .1);--accent-soft-hover: rgba(91, 80, 230, .17);--accent-softer: rgba(91, 80, 230, .05);--on-accent: #ffffff;--danger: #d92d20;--danger-hover: #b42318;--danger-soft: rgba(217, 45, 32, .1);--danger-soft-hover: rgba(217, 45, 32, .16);--warn: #b54708;--warn-soft: rgba(181, 71, 8, .1);--ok: #067647;--ok-soft: rgba(6, 118, 71, .1);--star: #f0a01e;--scrollbar: rgba(90, 92, 130, .28);--scrollbar-hover: rgba(90, 92, 130, .45);--paper: #ffffff;--paper-ink: #211f30;--shadow-1: 0 1px 2px rgba(29, 29, 46, .06);--shadow-2: 0 8px 32px rgba(29, 29, 46, .1), 0 2px 8px rgba(29, 29, 46, .05);--shadow-3: 0 24px 64px rgba(29, 29, 46, .2);--radius-s: 10px;--radius-m: 14px;--radius-l: 20px;--radius-xl: 26px;--font: -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "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=dark]{--bg: #0a0e1d;--surface: rgba(22, 27, 58, .4);--surface-2: rgba(30, 38, 74, .34);--surface-3: rgba(38, 48, 90, .4);--surface-solid: #131a2b;--surface-modal: rgba(24, 31, 60, .8);--border: rgba(151, 168, 214, .14);--border-strong: rgba(151, 168, 214, .3);--border-glass: rgba(160, 175, 255, .32);--glass-edge: inset 0 1px 0 rgba(255, 255, 255, .12), inset 0 -1px 0 rgba(0, 0, 0, .28);--glass-blur: 22px;--glass-sat: 160%;--ink: #e9edf7;--ink-2: #a6b0c8;--ink-3: #66718c;--accent: #7c88f8;--accent-strong: #9aa4ff;--accent-soft: rgba(124, 136, 248, .16);--accent-soft-hover: rgba(124, 136, 248, .26);--accent-softer: rgba(124, 136, 248, .07);--on-accent: #ffffff;--danger: #ff8a7a;--danger-hover: #ffa294;--danger-soft: rgba(255, 122, 105, .14);--danger-soft-hover: rgba(255, 122, 105, .22);--warn: #f2b45c;--warn-soft: rgba(242, 180, 92, .14);--ok: #57d9a3;--ok-soft: rgba(87, 217, 163, .13);--star: #ffc75e;--scrollbar: rgba(122, 140, 190, .3);--scrollbar-hover: rgba(122, 140, 190, .5);--paper: #ffffff;--paper-ink: #211f30;--shadow-1: 0 1px 2px rgba(0, 0, 0, .5);--shadow-2: 0 12px 40px rgba(0, 0, 0, .42), 0 2px 10px rgba(0, 0, 0, .3);--shadow-3: 0 28px 80px rgba(0, 0, 0, .62)}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;will-change:transform;animation:aurora-drift 36s ease-in-out infinite alternate;background:radial-gradient(52% 46% at 8% -10%,rgba(91,80,230,.5),transparent 68%),radial-gradient(46% 42% at 94% -6%,rgba(56,189,248,.48),transparent 64%),radial-gradient(46% 44% at 88% 104%,rgba(244,114,182,.44),transparent 64%),radial-gradient(48% 44% at 0% 108%,rgba(45,212,191,.46),transparent 62%),radial-gradient(44% 38% at 58% 55%,rgba(99,102,241,.24),transparent 70%),linear-gradient(180deg,#eef0fa,#e7eaf7)}html[data-theme=dark] body{color-scheme:dark}html[data-theme=dark] body:before{animation-duration:42s;background:radial-gradient(58% 52% at 82% -12%,rgba(109,104,255,.72),transparent 68%),radial-gradient(50% 46% at -10% 14%,rgba(36,216,205,.48),transparent 62%),radial-gradient(54% 52% at 92% 108%,rgba(186,85,255,.56),transparent 66%),radial-gradient(46% 44% at -8% 102%,rgba(72,138,255,.5),transparent 64%),radial-gradient(52% 42% at 40% 84%,rgba(236,72,153,.26),transparent 66%),radial-gradient(46% 40% at 56% 46%,rgba(104,110,255,.3),transparent 68%),linear-gradient(180deg,#0b1030,#0d1330)}@keyframes aurora-drift{0%{transform:scale(1)}to{transform:scale(1.09)}}@media(prefers-reduced-motion:reduce){body:before{animation:none}}html[data-theme=dark] .btn-primary{box-shadow:0 2px 24px #636aff80,inset 0 1px #ffffff38}html[data-theme=dark] .btn-primary:hover:not(:disabled){box-shadow:0 2px 32px #636affa6,inset 0 1px #ffffff38}html[data-theme=dark] .input:focus{box-shadow:0 0 0 3px #7c88f833,0 0 20px #636aff33}.glass-pop{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-3)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){:root{--surface: rgba(255, 255, 255, .94);--surface-2: rgba(255, 255, 255, .8);--surface-3: rgba(255, 255, 255, .88)}html[data-theme=dark]{--surface: rgba(19, 26, 43, .96);--surface-2: rgba(28, 37, 61, .9);--surface-3: rgba(38, 50, 82, .92)}}*,*:before,*:after{box-sizing:border-box}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}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}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 16px;border:1px solid transparent;border-radius:var(--radius-s);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}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--on-accent);box-shadow:0 2px 14px #5b50e64d,inset 0 1px #ffffff38}.btn-primary:hover:not(:disabled){background:var(--accent-strong);box-shadow:0 2px 20px #5b50e66b,inset 0 1px #ffffff38}.btn-ghost{background:var(--surface-2);color:var(--ink-2);border-color:var(--border-strong);-webkit-backdrop-filter:blur(10px) saturate(140%);backdrop-filter:blur(10px) saturate(140%)}.btn-ghost:hover:not(:disabled){background:var(--surface-3);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;border-radius:var(--radius-s)}.btn-lg{height:42px;padding:0 22px;font-size:15px;border-radius:var(--radius-s)}.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:var(--surface-3);color:var(--ink)}.icon-btn.is-active{color:var(--accent);background:var(--accent-soft)}.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-strong);border-radius:var(--radius-s);background:color-mix(in srgb,var(--surface-solid) 42%,transparent);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(--ink-3)}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #5b50e624;background:color-mix(in srgb,var(--surface-solid) 62%,transparent)}.input:disabled{background:var(--surface-2);color:var(--ink-3);cursor:not-allowed}.input::selection{background:#5b50e638}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:var(--surface-3);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:var(--surface);border:1px solid var(--border-glass);border-radius:var(--radius-l);box-shadow:var(--glass-edge),var(--shadow-2)}html[data-theme=dark] .page-card{box-shadow:var(--glass-edge),var(--shadow-2),0 0 44px #5852f521}.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:var(--accent-softer)}.table tbody tr:last-child td{border-bottom:none}
