@charset "UTF-8";.toast-host[data-v-93ff0ea0]{position:fixed;top:18px;right:18px;z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast[data-v-93ff0ea0]{pointer-events:auto;display:flex;align-items:center;gap:10px;min-width:220px;max-width:360px;padding:12px 16px;border-radius:var(--r);font-size:13.5px;color:var(--text-strong);background:#0d1426db;backdrop-filter:blur(16px);border:1px solid var(--glass-line-strong);box-shadow:0 12px 40px #00000073}.toast__ic[data-v-93ff0ea0]{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}.toast--success[data-v-93ff0ea0]{border-color:#5cf0a873}.toast--success .toast__ic[data-v-93ff0ea0]{background:#5cf0a829;color:var(--lime);box-shadow:0 0 12px #5cf0a866}.toast--info .toast__ic[data-v-93ff0ea0]{background:#67d8e629;color:var(--cyan);box-shadow:0 0 12px #67d8e666}.toast--warn[data-v-93ff0ea0]{border-color:#ffc46b73}.toast--warn .toast__ic[data-v-93ff0ea0]{background:#ffc46b29;color:var(--gold);box-shadow:0 0 12px #ffc46b66}.toast--error[data-v-93ff0ea0]{border-color:#ff7a8a73}.toast--error .toast__ic[data-v-93ff0ea0]{background:#ff7a8a29;color:var(--danger, #ff7a8a)}.toast-enter-active[data-v-93ff0ea0],.toast-leave-active[data-v-93ff0ea0]{transition:all .32s var(--ease-out)}.toast-enter-from[data-v-93ff0ea0],.toast-leave-to[data-v-93ff0ea0]{opacity:0;transform:translate(28px) scale(.96)}.x-btn[data-v-f2352b8e]{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 18px;border-radius:var(--r-pill);font-size:14px;font-weight:600;letter-spacing:.3px;white-space:nowrap;cursor:pointer;transition:transform .25s var(--ease-out),box-shadow .25s,background .25s,border-color .25s,opacity .2s;will-change:transform}.x-btn[data-v-f2352b8e]:disabled{cursor:default;opacity:.62}.x-btn--sm[data-v-f2352b8e]{padding:7px 13px;font-size:13px}.x-btn--block[data-v-f2352b8e]{display:flex;width:100%}.x-btn__ic[data-v-f2352b8e]{display:inline-flex}.x-btn__spin[data-v-f2352b8e]{width:14px;height:14px;border-radius:50%;border:2px solid rgba(4,18,26,.35);border-top-color:#04121a;animation:xspin-f2352b8e .7s linear infinite}@keyframes xspin-f2352b8e{to{transform:rotate(360deg)}}.x-btn--primary[data-v-f2352b8e]{color:#fff;background:var(--grad-primary);background-size:180% 180%;box-shadow:0 8px 24px #6e5cf057,inset 0 0 0 1px #ffffff29}.x-btn--primary[data-v-f2352b8e]:hover:not(:disabled){background-position:100% 0;box-shadow:0 10px 30px #6e5cf075}.x-btn--primary .x-btn__spin[data-v-f2352b8e]{border-color:#ffffff59;border-top-color:#fff}.x-btn--ghost[data-v-f2352b8e]{color:var(--text-strong);background:var(--primary-bg);border:1px solid var(--primary-subtle);backdrop-filter:blur(8px)}.x-btn--ghost[data-v-f2352b8e]:hover:not(:disabled){border-color:var(--primary-soft);color:var(--primary-soft);background:var(--primary-subtle)}.x-btn--soft[data-v-f2352b8e]{color:var(--primary-soft);background:var(--primary-bg);border:1px solid var(--primary-subtle)}.x-btn--soft[data-v-f2352b8e]:hover:not(:disabled){background:var(--primary-subtle)}.x-btn--soft .x-btn__spin[data-v-f2352b8e]{border-color:#8c7bff66;border-top-color:var(--primary-soft)}.x-btn--danger[data-v-f2352b8e]{color:#fff;background:linear-gradient(120deg,#ff7a8a,#e0506a);box-shadow:0 6px 20px #e0506a4d}.x-btn--danger .x-btn__spin[data-v-f2352b8e]{border-color:#fff6;border-top-color:#fff}.modal-mask[data-v-d468388f]{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;background:#04081299;backdrop-filter:blur(6px);padding:20px}.modal[data-v-d468388f]{width:100%;max-width:420px;padding:20px 22px 18px;border-radius:var(--r-lg)}.modal--wide[data-v-d468388f]{max-width:760px}.modal__bar[data-v-d468388f]{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.modal__title[data-v-d468388f]{font-size:16px;letter-spacing:.3px}.modal__x[data-v-d468388f]{width:30px;height:30px;border-radius:var(--r-sm);color:var(--text-dim);font-size:14px;transition:all .2s}.modal__x[data-v-d468388f]:hover{color:var(--text-strong);background:#78a0ff14}.modal__body[data-v-d468388f]{min-height:40px}.modal__foot[data-v-d468388f]{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.modal-enter-active[data-v-d468388f],.modal-leave-active[data-v-d468388f]{transition:opacity .26s var(--ease-out)}.modal-enter-active .modal[data-v-d468388f],.modal-leave-active .modal[data-v-d468388f]{transition:transform .3s var(--ease-out)}.modal-enter-from[data-v-d468388f],.modal-leave-to[data-v-d468388f]{opacity:0}.modal-enter-from .modal[data-v-d468388f],.modal-leave-to .modal[data-v-d468388f]{transform:translateY(14px) scale(.97)}.fade-enter-active,.fade-leave-active{transition:opacity .28s var(--ease-out)}.fade-enter-from,.fade-leave-to{opacity:0}#app{position:relative;z-index:1;height:100%}:root{--bg-void: #070912;--bg-cosmos: #0b0d17;--bg-panel: #10131f;--bg-elev: #181c2e;--bg-hover: #1f2438;--bg-inset: #0e1120;--glass: rgba(22, 26, 46, .55);--glass-strong: rgba(26, 30, 52, .82);--glass-line: rgba(150, 160, 210, .12);--glass-line-strong: rgba(160, 170, 220, .22);--primary: #8c7bff;--primary-strong: #6e5cf0;--primary-soft: #b7aeff;--primary-subtle: rgba(140, 123, 255, .12);--primary-bg: rgba(140, 123, 255, .07);--secondary: #67d8e6;--secondary-soft: #a6ecf4;--accent-lime: #54e0a8;--accent-gold: #ffc46b;--accent-rose: #ff7a8a;--accent-ice: #67d8e6;--grad-primary: linear-gradient(135deg, #8c7bff 0%, #6e5cf0 100%);--grad-aurora: linear-gradient(120deg, #8c7bff 0%, #7aa6ff 52%, #67d8e6 100%);--grad-surface: linear-gradient(160deg, rgba(140, 123, 255, .07), rgba(103, 216, 230, .03) 70%, rgba(103, 216, 230, 0));--text-strong: #f3f5ff;--text: #c7cce0;--text-dim: #8b92b4;--text-faint: #626b8c;--line: rgba(150, 160, 210, .12);--line-strong: rgba(160, 170, 220, .22);--grid: rgba(150, 160, 210, .045);--grid-strong: rgba(150, 160, 210, .07);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 8px 24px rgba(4, 6, 14, .4);--shadow-lg: 0 20px 50px rgba(4, 6, 14, .5);--shadow-card: 0 10px 34px rgba(4, 6, 14, .4);--shadow-pop: 0 18px 50px rgba(4, 6, 14, .55);--glow-primary: 0 10px 28px rgba(140, 123, 255, .3);--surface-1: #121524;--surface-2: #181c30;--surface-3: #1f2438;--ok: #54e0a8;--warn: #ffc46b;--danger: #ff7a8a;--info: #67d8e6;--r-xs: 7px;--r-sm: 12px;--r: 16px;--r-lg: 22px;--r-xl: 30px;--r-pill: 999px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-7: 32px;--sp-8: 40px;--font-sans: "PingFang SC", "Microsoft YaHei", -apple-system, "Segoe UI", Roboto, system-ui, sans-serif;--font-mono: "JetBrains Mono", "SFMono-Regular", "Roboto Mono", ui-monospace, "Cascadia Code", Consolas, monospace;--sidebar-w: 264px;--topbar-h: 68px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-inout: cubic-bezier(.65, 0, .35, 1);--fs-xs: 12px;--fs-sm: 13.5px;--fs-base: 15px;--fs-md: 16px;--fs-lg: 19px;--fs-xl: 24px;--fs-2xl: 30px;--fs-3xl: 38px;--fs-display: 46px;color-scheme:dark}:root{--cyan: #67d8e6;--violet: #8c7bff;--magenta: #ff7a8a;--lime: #54e0a8;--gold: #ffc46b;--amber: #ffc46b;--accent-cyan: #67d8e6;--accent-magenta: #ff7a8a;--accent-lime: #54e0a8;--accent-gold: #ffc46b;--grad-neon: linear-gradient(135deg, #8c7bff 0%, #6e5cf0 100%);--grad-cyan-violet: linear-gradient(135deg, #67d8e6 0%, #8c7bff 100%);--grad-glass: linear-gradient(160deg, rgba(140,123,255,.1), rgba(103,216,230,.04) 60%, rgba(103,216,230,0));--glow-cyan: 0 0 18px rgba(103, 216, 230, .26);--glow-violet: 0 0 20px rgba(140, 123, 255, .3);--glow-magenta: 0 0 18px rgba(255, 122, 138, .26);--glow-soft: 0 10px 36px rgba(4, 6, 14, .45)}:root[data-theme=light]{--bg-void: #e9ecf6;--bg-cosmos: #f1f3fb;--bg-panel: #ffffff;--bg-elev: #ffffff;--bg-hover: #eef1fb;--bg-inset: #f4f6fd;--glass: rgba(255, 255, 255, .72);--glass-strong: rgba(255, 255, 255, .92);--glass-line: rgba(60, 80, 150, .12);--glass-line-strong: rgba(60, 80, 150, .22);--primary: #6e5cf0;--primary-strong: #5a48d6;--primary-soft: #8c7bff;--primary-subtle: rgba(110, 92, 240, .12);--primary-bg: rgba(110, 92, 240, .06);--secondary: #2aa9bd;--secondary-soft: #4cc3d4;--accent-rose: #e0506a;--accent-ice: #2aa9bd;--text-strong: #0d1430;--text: #2a3358;--text-dim: #5b648c;--text-faint: #8b93b3;--line: rgba(60, 80, 150, .12);--line-strong: rgba(60, 80, 150, .22);--grid: rgba(60, 80, 150, .04);--grid-strong: rgba(60, 80, 150, .07);--shadow-sm: 0 1px 3px rgba(40, 50, 90, .12);--shadow-md: 0 8px 24px rgba(40, 50, 90, .14);--shadow-lg: 0 20px 50px rgba(40, 50, 90, .18);--shadow-card: 0 10px 30px rgba(40, 50, 90, .14);--shadow-pop: 0 18px 50px rgba(40, 50, 90, .2);--glow-primary: 0 10px 28px rgba(110, 92, 240, .22);--surface-1: #ffffff;--surface-2: #f6f8fe;--surface-3: #eef1fb;--ok: #1fae74;--warn: #d98a1f;--danger: #e0506a;--info: #2aa9bd;--cyan: #2aa9bd;--violet: #6e5cf0;--magenta: #e0506a;--lime: #1fae74;--gold: #d98a1f;--amber: #d98a1f;--accent-cyan: #2aa9bd;--accent-magenta: #e0506a;--accent-lime: #1fae74;--accent-gold: #d98a1f;--grad-neon: linear-gradient(135deg, #7a6bff 0%, #6e5cf0 100%);--grad-cyan-violet: linear-gradient(135deg, #2aa9bd 0%, #6e5cf0 100%);--glow-cyan: 0 0 16px rgba(42, 169, 189, .22);--glow-violet: 0 0 18px rgba(110, 92, 240, .24);--glow-magenta: 0 0 16px rgba(224, 80, 106, .22);--glow-soft: 0 10px 36px rgba(40, 50, 90, .12);color-scheme:light}.content-wrap{width:100%;min-height:calc(100vh - var(--topbar-h));padding:var(--sp-7) var(--sp-6);overflow-y:auto}.content-area{width:100%;max-width:1600px;margin:0 auto}.content-area--narrow{max-width:1200px}.content-area--wide{max-width:1920px}.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--sp-5);align-items:stretch}.bento--compact{gap:var(--sp-4)}.bento--loose{gap:var(--sp-6)}.bento--dense{gap:var(--sp-3)}.bento>*{min-width:0;min-height:0}.span-1{grid-column:span 1}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-9{grid-column:span 9}.span-10{grid-column:span 10}.span-11{grid-column:span 11}.span-12{grid-column:span 12}.bento__25{grid-column:span 3}.bento__33{grid-column:span 4}.bento__50{grid-column:span 6}.bento__66{grid-column:span 8}.bento__75{grid-column:span 9}.bento__100{grid-column:span 12}.row-2{grid-row:span 2}.row-3{grid-row:span 3}.bento__col{display:flex;flex-direction:column;gap:var(--sp-5)}.bento__col--compact{gap:var(--sp-4)}.bento__col--loose{gap:var(--sp-6)}.region-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-6)}.region-title{font-size:var(--fs-3xl);font-weight:800;letter-spacing:-.02em;color:var(--text-strong);line-height:1.15}.region-desc{font-size:var(--fs-sm);color:var(--text-dim);margin-top:var(--sp-2);max-width:640px;line-height:1.55}.section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-5)}.section-title{font-size:var(--fs-lg);font-weight:700;color:var(--text-strong);letter-spacing:.2px}.section-subtitle{font-size:var(--fs-sm);color:var(--text-dim);margin-top:2px}.stack{display:flex;flex-direction:column}.stack--1{gap:var(--sp-1)}.stack--2{gap:var(--sp-2)}.stack--3{gap:var(--sp-3)}.stack--4{gap:var(--sp-4)}.stack--5{gap:var(--sp-5)}.stack--6{gap:var(--sp-6)}.stack--split{justify-content:space-between;height:100%}.cluster{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-3)}.cluster--xs{gap:var(--sp-1)}.cluster--sm{gap:var(--sp-2)}.cluster--md{gap:var(--sp-3)}.cluster--lg{gap:var(--sp-4)}.cluster--right{justify-content:flex-end}.cluster--between{justify-content:space-between}.cluster--top{align-items:flex-start}.fit-cell{display:flex;flex-direction:column;height:100%;min-height:0}.fit-cell>.xchart,.fit-cell>.echarts-container{flex:1;min-height:0}.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-5)}.kpi-row--3{grid-template-columns:repeat(3,1fr)}.kpi-row--2{grid-template-columns:repeat(2,1fr)}.kpi-row--5{grid-template-columns:repeat(5,1fr)}@media (max-width: 1200px){.bento__33,.bento__66,.bento__25{grid-column:span 6}.kpi-row,.kpi-row--3,.kpi-row--5{grid-template-columns:repeat(2,1fr)}.content-wrap{padding:var(--sp-6) var(--sp-5)}}@media (max-width: 768px){.bento,.bento>[class*=span-],.bento__25,.bento__33,.bento__50,.bento__66,.bento__75,.bento__100{grid-column:span 12}.kpi-row,.kpi-row--2,.kpi-row--3,.kpi-row--5{grid-template-columns:1fr}.content-wrap{padding:var(--sp-5) var(--sp-4)}.region-head{flex-direction:column;align-items:flex-start}.region-title{font-size:var(--fs-2xl)}}@media (min-width: 1920px){.content-wrap{padding:var(--sp-8) var(--sp-7)}.bento{gap:var(--sp-6)}}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}body{font-family:var(--font-sans);color:var(--text);background:var(--bg-cosmos);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow:hidden;font-size:var(--fs-base);line-height:1.62}#app:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(1100px 720px at 8% -10%,rgba(140,123,255,.1),transparent 60%),radial-gradient(1000px 760px at 102% 4%,rgba(103,216,230,.07),transparent 55%),radial-gradient(900px 700px at 78% 116%,rgba(140,123,255,.05),transparent 62%)}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}ul,li{list-style:none}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}::selection{background:#8c7bff52;color:#fff}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#8c7bff80,#67d8e66b);border-radius:9px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-clip:padding-box}.glass{background:var(--glass);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);border:1px solid var(--glass-line)}.glass-strong{background:var(--glass-strong);backdrop-filter:blur(28px) saturate(160%);-webkit-backdrop-filter:blur(28px) saturate(160%);border:1px solid var(--glass-line-strong)}.panel{background:var(--glass);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid var(--glass-line);border-radius:var(--r-lg);box-shadow:var(--shadow-card)}.text-grad{background:var(--grad-aurora);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.c-ice{color:var(--secondary)}.c-violet{color:var(--primary)}.c-rose{color:var(--accent-rose)}.c-lime{color:var(--accent-lime)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.grid-layer{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse 100% 90% at 50% 28%,#000 38%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 100% 90% at 50% 28%,#000 38%,transparent 100%)}.hair{height:1px;background:var(--line);border:none}.vhair{width:1px;background:var(--line)}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--r-pill);font-size:12px;line-height:1.4;border:1px solid var(--glass-line-strong);background:var(--primary-bg);color:var(--text-dim)}.chip--live{border-color:#54e0a859;background:#54e0a81a;color:var(--accent-lime);font-weight:600}.chip--live:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent-lime);box-shadow:0 0 6px var(--accent-lime);animation:pulseGlow 1.8s infinite}.t-strong{color:var(--text-strong)}.t-dim{color:var(--text-dim)}.t-faint{color:var(--text-faint)}.t-xs{font-size:var(--fs-xs)}.t-sm{font-size:var(--fs-sm)}.t-lg{font-size:var(--fs-lg)}.t-xl{font-size:var(--fs-xl)}.t-2xl{font-size:var(--fs-2xl)}.fw6{font-weight:600}.fw7{font-weight:700}.row{display:flex;align-items:center}.col{display:flex;flex-direction:column}.between{justify-content:space-between}.center{align-items:center;justify-content:center}.wrap{flex-wrap:wrap}.gap-1{gap:var(--sp-1)}.gap-2{gap:var(--sp-2)}.gap-3{gap:var(--sp-3)}.gap-4{gap:var(--sp-4)}.gap-5{gap:var(--sp-5)}.grow{flex:1}.rel{position:relative}.abs{position:absolute}.aurora-edge{position:relative;border-radius:var(--r-lg);background:var(--bg-elev);border:1px solid var(--glass-line);overflow:hidden}.aurora-edge:before{content:"";position:absolute;inset:0;padding:1px;border-radius:inherit;background:var(--grad-aurora);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.45;transition:opacity .35s var(--ease-out)}.aurora-edge:hover:before{opacity:1}@keyframes floatOrb{0%,to{transform:translate(0) scale(1);opacity:.5}50%{transform:translate(18px,-22px) scale(1.06);opacity:.72}}@keyframes gridDrift{0%{background-position:0 0,0 0}to{background-position:48px 48px,48px 48px}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #8c7bff59}50%{box-shadow:0 0 0 7px #8c7bff00}}@keyframes spinSlow{to{transform:rotate(360deg)}}@keyframes riseIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes sweep{0%{transform:translate(-120%)}to{transform:translate(420%)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.rise{animation:riseIn .55s var(--ease-out) both}.rise-2{animation:riseIn .55s var(--ease-out) .08s both}.rise-3{animation:riseIn .55s var(--ease-out) .16s both}.fade-scroll{scroll-behavior:smooth}.x-input,.x-textarea,.x-select{width:100%;padding:10px 14px;border-radius:var(--r-sm);background:var(--bg-inset);border:1px solid var(--glass-line);color:var(--text-strong);outline:none;transition:border-color .2s,box-shadow .2s}:root[data-theme=light] .x-input,:root[data-theme=light] .x-textarea,:root[data-theme=light] .x-select{background:#fff}.x-input:focus,.x-textarea:focus,.x-select:focus{border-color:var(--primary-soft);box-shadow:0 0 0 3px var(--primary-subtle)}.x-input::placeholder,.x-textarea::placeholder{color:var(--text-faint)}.x-bar{height:6px;border-radius:999px;background:#96a0d21a;overflow:hidden}.x-bar>i{display:block;height:100%;border-radius:999px;background:var(--grad-primary);box-shadow:var(--glow-primary);transition:width .9s var(--ease-out)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--r-sm)}.x-btn:focus-visible,.top__icon:focus-visible,.side__item:focus-visible,.xtabs__b:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.skeleton{position:relative;overflow:hidden;background:#96a0d20f;border-radius:var(--r-sm)}.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(140,123,255,.18),transparent);background-size:200% 100%;animation:shimmer 1.4s infinite}
