:root{--bg-deep: #05070f;--bg-deep2: #0a0e21;--brand: #7c6cff;--brand-deep: #4f46e5;--brand-soft: rgba(124, 108, 255, .16);--cyan: #38bdf8;--green: #34d399;--amber: #fbbf24;--pink: #f472b6;--red: #f87171;--text: #eef1ff;--muted: #97a0c4;--glass: rgba(255, 255, 255, .055);--glass-strong: rgba(255, 255, 255, .1);--border: rgba(255, 255, 255, .12);--panel: rgba(10, 14, 33, .5);--panel-strong: rgba(10, 14, 33, .85);--panel-solid: #0d1226;--q-bubble-bg: rgba(56, 189, 248, .14);--q-bubble-border: rgba(56, 189, 248, .35);--a-bubble-bg: rgba(124, 108, 255, .18);--a-bubble-border: rgba(124, 108, 255, .45);--chip-bg: rgba(124, 108, 255, .09);--chip-border: rgba(124, 108, 255, .35);--chart-text: #97a0c4;--chart-grid: rgba(255, 255, 255, .06);--overlay: rgba(5, 7, 15, .62);--track: rgba(255, 255, 255, .1);--tooltip-bg: rgba(10, 14, 33, .92);--tooltip-text: #eef1ff;--grad-a: #b9c0ff;--grad-b: #38bdf8;--radius: 14px;--font: system-ui, -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif}html[data-theme=light]{--bg-deep: #eef1fb;--bg-deep2: #e2e8fa;--brand: #6a56f2;--brand-deep: #4f46e5;--brand-soft: rgba(106, 86, 242, .12);--cyan: #0284c7;--green: #059669;--amber: #b45309;--pink: #db2777;--red: #dc2626;--text: #1a2240;--muted: #47517c;--glass: rgba(255, 255, 255, .55);--glass-strong: rgba(255, 255, 255, .78);--border: rgba(26, 34, 64, .13);--panel: rgba(255, 255, 255, .62);--panel-strong: rgba(255, 255, 255, .92);--panel-solid: #f4f6ff;--q-bubble-bg: rgba(2, 132, 199, .09);--q-bubble-border: rgba(2, 132, 199, .32);--a-bubble-bg: rgba(106, 86, 242, .1);--a-bubble-border: rgba(106, 86, 242, .4);--chip-bg: rgba(106, 86, 242, .07);--chip-border: rgba(106, 86, 242, .35);--chart-text: #47517c;--chart-grid: rgba(26, 34, 64, .08);--overlay: rgba(230, 235, 250, .66);--track: rgba(26, 34, 64, .1);--tooltip-bg: rgba(255, 255, 255, .96);--tooltip-text: #1a2240;--grad-a: #4f46e5;--grad-b: #0284c7}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font);color:var(--text);background:var(--bg-deep);-webkit-font-smoothing:antialiased;overflow-x:hidden}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea{font-family:inherit}ul,ol{list-style:none}.glass{background:var(--glass);border:1px solid var(--border);border-radius:var(--radius);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.grad-text{background:linear-gradient(92deg,var(--grad-a) 0%,var(--brand) 45%,var(--grad-b) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.btn-primary{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-deep) 100%);color:#fff;border-radius:12px;padding:0 22px;font-size:15px;font-weight:600;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;box-shadow:0 4px 22px #7c6cff59}.btn-primary:hover{transform:translateY(-1px);filter:brightness(1.08)}.btn-primary:active{transform:translateY(0) scale(.97)}.btn-primary:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-ghost{background:var(--glass);border:1px solid var(--border);border-radius:12px;color:var(--text);transition:background .15s ease,transform .12s ease}.btn-ghost:hover{background:var(--glass-strong)}.btn-ghost:active{transform:scale(.97)}.dot-online{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 6px var(--green);animation:breath 2s ease-in-out infinite}@keyframes breath{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.82)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .55s cubic-bezier(.2,.7,.2,1) both}.typing-dots{display:inline-flex;gap:5px;align-items:center}.typing-dots i{width:7px;height:7px;border-radius:50%;background:var(--brand);animation:tdots 1.1s ease-in-out infinite}.typing-dots i:nth-child(2){animation-delay:.18s}.typing-dots i:nth-child(3){animation-delay:.36s}@keyframes tdots{0%,60%,to{transform:translateY(0);opacity:.45}30%{transform:translateY(-5px);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.toast{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:12px;background:var(--panel-strong, rgba(10, 14, 33, .85));border:1px solid var(--border);color:var(--text);font-size:14px;box-shadow:0 10px 34px #00000052;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.toast .ico{color:var(--green)}.toast.warn .ico{color:var(--amber)}.toast.err .ico{color:var(--red)}.toast-enter-active,.toast-leave-active{transition:opacity .25s ease,transform .25s ease}.toast-enter-from,.toast-leave-to{opacity:0;transform:translateY(10px)}
