@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2) format("woff2"),url(/assets/space-grotesk-latin-500-normal-CNSSEhBt.woff) format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-600-normal-DjKNqYRj.woff2) format("woff2"),url(/assets/space-grotesk-latin-600-normal-BflQw4A9.woff) format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2) format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff) format("woff")}.mode-badge[data-v-ddc296ad]{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;border:1px solid var(--line);font-size:var(--text-xs);font-weight:500;line-height:1;letter-spacing:.03em;color:var(--text-muted);background:#ffffff08}.mode-badge__dot[data-v-ddc296ad]{width:5px;height:5px;border-radius:50%;background:var(--text-faint)}.mode-badge--demo[data-v-ddc296ad]{color:#d3a878;border-color:#f59e0b4d;background:#f59e0b1f}.mode-badge--demo .mode-badge__dot[data-v-ddc296ad]{background:#f59e0bbf;box-shadow:0 0 8px 1px #f59e0b80}.mode-badge--feishu[data-v-ddc296ad]{color:#5eead4d9;border-color:#2dd4bf4d;background:#2dd4bf1f}.mode-badge--feishu .mode-badge__dot[data-v-ddc296ad]{background:#2dd4bfcc;box-shadow:0 0 8px 1px #2dd4bf80}.text-size[data-v-54a409a8]{display:inline-flex;align-items:center;gap:2px;height:24px;padding:2px;border:1px solid var(--line);border-radius:999px;background:#ffffff08;flex:none}.text-size__btn[data-v-54a409a8]{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:18px;padding:0 3px;border:none;border-radius:999px;background:transparent;color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast) var(--e-soft),background-color var(--duration-fast) var(--e-soft)}.text-size__btn[data-v-54a409a8]:hover{color:var(--text-primary);background:#ffffff0d}.text-size__btn--active[data-v-54a409a8]{color:var(--accent-strong);background:var(--accent-dim)}.text-size__glyph[data-v-54a409a8]{font-family:var(--font-mono);font-weight:600;line-height:1}.app-shell__topbar[data-v-0a85dd84]{position:sticky;top:0;z-index:50;height:var(--topbar-height);background:#10151eb8;backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%)}@media(prefers-reduced-motion:no-preference){.app-shell__topbar[data-v-0a85dd84]{animation:app-topbar-fade-0a85dd84 .32s var(--e-out) both;animation-delay:50ms}}@keyframes app-topbar-fade-0a85dd84{0%{opacity:0}}.app-shell__topbar[data-v-0a85dd84]:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.14) 18%,rgba(94,234,212,.22) 50%,rgba(255,255,255,.14) 82%,transparent)}.app-shell__topbar-inner[data-v-0a85dd84]{max-width:var(--content-max);margin:0 auto;height:100%;padding:0 var(--space-6);display:flex;align-items:center;gap:var(--space-8)}.app-shell__brand[data-v-0a85dd84]{display:flex;align-items:center;gap:var(--space-3);min-width:0}.app-shell__logo[data-v-0a85dd84]{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;border-radius:var(--radius-md);border:1px solid rgba(94,234,212,.35);background:var(--accent-dim);color:var(--accent-strong);box-shadow:inset 0 1px #ffffff12,var(--glow-accent)}.app-shell__brand-text[data-v-0a85dd84]{display:flex;flex-direction:column;line-height:1.25;min-width:0}.app-shell__name[data-v-0a85dd84]{font-family:var(--font-display);font-size:var(--text-md);font-weight:600;letter-spacing:.01em;white-space:nowrap}.app-shell__subtitle[data-v-0a85dd84]{font-size:var(--text-sm);color:var(--text-faint);letter-spacing:.04em;white-space:nowrap}.app-shell__nav[data-v-0a85dd84]{position:relative;display:flex;align-items:center;gap:var(--space-1);height:100%;margin-left:auto}.app-shell__nav-link[data-v-0a85dd84]{display:inline-flex;align-items:center;height:100%;padding:0 var(--space-4);border-radius:0;font-size:var(--text-ctrl);font-weight:600;color:var(--text-secondary);white-space:nowrap;transition:color var(--duration-fast) var(--e-soft)}.app-shell__nav-link[data-v-0a85dd84]:hover{color:var(--text-primary)}.app-shell__nav-link--active[data-v-0a85dd84]{color:var(--accent-strong)}.app-shell__nav-indicator[data-v-0a85dd84]{position:absolute;bottom:0;left:0;height:2px;border-radius:999px;background:var(--accent-gradient);box-shadow:0 -2px 12px #2dd4bf59;opacity:0}.app-shell__nav-indicator--ready[data-v-0a85dd84]{opacity:1}.app-shell__nav-indicator--settled[data-v-0a85dd84]{transition:transform var(--duration-slow) var(--e-out),width var(--duration-slow) var(--e-out)}.app-shell__textsize[data-v-0a85dd84],.app-shell__mode[data-v-0a85dd84]{flex:none}@media(max-width:639px){.app-shell__subtitle[data-v-0a85dd84]{display:none}.app-shell__topbar-inner[data-v-0a85dd84]{padding:0 var(--space-4);gap:var(--space-4)}}@media(max-width:479px){.app-shell__brand-text[data-v-0a85dd84]{display:none}}.app-shell__content{width:100%;max-width:var(--content-max);margin:0 auto;padding:var(--space-6);flex:1;min-width:0}@media(max-width:639px){.app-shell__content{padding:var(--space-4)}}:root{--surface-0: #10151e;--surface-1: #151b26;--surface-2: #1a2230;--color-bg: #10151e;--color-bg-deep: #0b0f16;--color-panel: #151b26;--color-panel-raised: #1a2230;--color-panel-hover: #212b3b;--color-inset: #11161f;--surface-panel: linear-gradient(180deg, #171d29, #131923);--surface-raised: linear-gradient(180deg, #1c2432, #161d29);--surface-card: #1a2230;--line: rgba(255, 255, 255, .1);--line-strong: rgba(255, 255, 255, .14);--line-faint: rgba(255, 255, 255, .045);--text-primary: #e9edf2;--text-secondary: #9aa6b3;--text-muted: #8a96a5;--text-faint: #707b8c;--accent: #2dd4bf;--accent-strong: #5eead4;--accent-gradient: linear-gradient(135deg, #5eead4, #2dd4bf);--accent-dim: rgba(45, 212, 191, .08);--accent-line: rgba(45, 212, 191, .28);--on-accent: #05231e;--amber: #f5b04c;--amber-strong: #fbbf24;--amber-dim: rgba(245, 158, 11, .08);--amber-line: rgba(245, 158, 11, .28);--red: #f87171;--red-dim: rgba(248, 113, 113, .08);--red-line: rgba(248, 113, 113, .26);--green: #4ade80;--green-dim: rgba(74, 222, 128, .08);--green-line: rgba(74, 222, 128, .24);--glow-accent: 0 8px 24px -8px rgba(45, 212, 191, .45);--glow-accent-strong: 0 10px 28px -8px rgba(45, 212, 191, .55);--glow-amber: 0 8px 24px -12px rgba(245, 158, 11, .4);--glow-red: 0 8px 24px -12px rgba(248, 113, 113, .4);--glow-green: 0 8px 24px -12px rgba(74, 222, 128, .4);--font-display: "Space Grotesk", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", "Source Han Sans SC", system-ui, sans-serif;--font-sans: -apple-system, "Segoe UI", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", "Source Han Sans SC", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Cascadia Code", "SF Mono", Consolas, "Courier New", monospace;--text-scale: 1;--text-xs: calc(12.5px * var(--text-scale));--text-sm: calc(13px * var(--text-scale));--text-ctrl: calc(14.5px * var(--text-scale));--text-md: calc(15px * var(--text-scale));--text-lg: calc(16px * var(--text-scale));--text-xl: calc(22px * var(--text-scale));--text-2xl: calc(26px * var(--text-scale));--text-stat: calc(32px * var(--text-scale));--text-hero: calc(clamp(28px, 3.2vw, 38px) * var(--text-scale));--tracking-label: .08em;--tracking-tight: -.02em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .36);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .52);--shadow-panel: inset 0 1px 0 rgba(255, 255, 255, .07), 0 24px 48px -24px rgba(0, 0, 0, .55);--duration-fast: .15s;--duration-base: .2s;--duration-slow: .28s;--duration-enter: .36s;--ease: cubic-bezier(.3, .7, .4, 1);--ease-out-soft: cubic-bezier(.22, 1, .36, 1);--e-out: cubic-bezier(.16, 1, .3, 1);--e-soft: cubic-bezier(.22, .61, .36, 1);--e-pen: cubic-bezier(.37, .01, .2, 1);--content-max: 1120px;--topbar-height: 56px}@media(min-width:1366px){:root{--content-max: 1280px}}@media(min-width:1600px){:root{--content-max: 1440px}}html[data-text-size=compact]{--text-scale: .94}html[data-text-size=large]{--text-scale: 1.08}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--text-md);font-weight:500;line-height:1.7;color:var(--text-primary);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.bg-grid{position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(var(--line-faint) 1px,transparent 1px),linear-gradient(90deg,var(--line-faint) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(120% 90% at 50% 30%,transparent 38%,black 80%);mask-image:radial-gradient(120% 90% at 50% 30%,transparent 38%,black 80%)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(1200px 560px at 50% -12%,rgba(45,212,191,.1),rgba(45,212,191,.025) 45%,transparent 68%);z-index:0}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}#app{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,p{margin:0}a{color:inherit;text-decoration:none}button{font-family:inherit}.num{font-variant-numeric:tabular-nums}code,.mono{font-family:var(--font-mono)}.font-display,h1,h2{font-family:var(--font-display)}.text-gradient{background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.label-cap{font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted);font-weight:600}thead th{font-family:var(--font-mono);font-weight:500}.panel-surface{background:var(--surface-panel);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-panel)}:focus-visible{outline:2px solid rgba(255,255,255,.92);outline-offset:2px;border-radius:2px}::selection{background:#2dd4bf52;color:#f2fdfa}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:#ffffff47}*::-webkit-scrollbar-track{background:transparent}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:no-preference){.anim-rise{animation:anim-rise var(--duration-enter) var(--e-out) both;animation-delay:var(--anim-delay, 0ms)}@keyframes anim-rise{0%{opacity:0;transform:translateY(10px) scale(.995)}}.route-enter-active{transition:opacity var(--duration-enter) var(--e-out),transform var(--duration-enter) var(--e-out)}.route-enter-from{opacity:0;transform:translateY(10px) scale(.995)}.route-leave-active{transition:opacity var(--duration-fast) ease}.route-leave-to{opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
