:root{--color-primary:#6366f1;--color-primary-light:#818cf8;--color-primary-dark:#4f46e5;--color-secondary:#06b6d4;--color-accent:#f59e0b;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--color-gray-950:#030712;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"JetBrains Mono","Fira Code","Consolas",monospace;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.35s ease;--header-height:64px;--sidebar-width:280px;--content-max-width:1120px}[data-theme=dark],:root{--bg-primary:var(--color-gray-950);--bg-secondary:var(--color-gray-900);--bg-tertiary:var(--color-gray-800);--bg-elevated:#1f2937cc;--text-primary:var(--color-gray-50);--text-secondary:var(--color-gray-400);--text-muted:var(--color-gray-500);--border-color:var(--color-gray-800);--border-subtle:var(--color-gray-700);--code-bg:var(--color-gray-900)}[data-theme=light]{--bg-primary:#fff;--bg-secondary:var(--color-gray-50);--bg-tertiary:var(--color-gray-100);--bg-elevated:#ffffffe6;--text-primary:var(--color-gray-900);--text-secondary:var(--color-gray-600);--text-muted:var(--color-gray-400);--border-color:var(--color-gray-200);--border-subtle:var(--color-gray-300);--code-bg:var(--color-gray-100)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}.docs-layout{min-height:100vh;display:flex}.docs-header{height:var(--header-height);background:var(--bg-elevated);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);z-index:100;padding:0 var(--space-6);align-items:center;gap:var(--space-3);display:flex;position:fixed;top:0;left:0;right:0}.docs-header__logo{align-items:center;gap:var(--space-3);color:var(--text-primary);font-size:1.25rem;font-weight:700;text-decoration:none;display:flex}.docs-header__logo-icon{border-radius:var(--radius-md);background-image:url(/charts-logo.png);background-position:50%;background-repeat:no-repeat;background-size:cover;flex-shrink:0;width:30px;height:30px}.docs-header__snapshot{align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-3);border-radius:var(--radius-full);color:#e2e8f0;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast);background:linear-gradient(135deg,#33415580,#1e293bbf);border:1px solid #94a3b873;font-size:.82rem;font-weight:600;line-height:1.6;text-decoration:none;display:inline-flex}.docs-header__snapshot:hover{color:#f8fafc;background:linear-gradient(135deg,#47556985,#1e293bd1);border-color:#94a3b8b3}.docs-header__snapshot-dot{border-radius:var(--radius-full);background:#94a3b8;width:.45rem;height:.45rem;box-shadow:0 0 0 2px #94a3b833}.docs-header__nav{align-items:center;gap:var(--space-6);margin-left:auto;display:flex}.docs-header__link{color:var(--text-secondary);transition:color var(--transition-fast);font-size:.9rem;font-weight:500;text-decoration:none}.docs-header__link:hover,.docs-header__link--active{color:var(--text-primary)}.docs-header__link--github{align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-full);transition:color var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast);background:#94a3b814;display:inline-flex}.docs-header__link--github:hover{background:var(--bg-tertiary);border-color:var(--color-primary-dark)}.docs-header__github-icon{flex-shrink:0;width:.9rem;height:.9rem}.docs-sidebar{top:var(--header-height);width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border-color);padding:var(--space-6);position:fixed;bottom:0;left:0;overflow-y:auto}.docs-sidebar__mobile-toggle{display:none}.docs-sidebar__content{display:block}.docs-sidebar__section{margin-bottom:var(--space-6)}.docs-sidebar__section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:var(--space-3);font-size:.75rem;font-weight:600}.docs-sidebar__nav{gap:var(--space-1);flex-direction:column;display:flex}.docs-sidebar__link{align-items:center;gap:var(--space-3);padding:var(--space-2)var(--space-3);color:var(--text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast);font-size:.9rem;text-decoration:none;display:flex}.docs-sidebar__link:hover{background:var(--bg-tertiary);color:var(--text-primary)}.docs-sidebar__link--active{color:var(--color-primary-light);background:linear-gradient(135deg,#6366f126,#06b6d41a);font-weight:500}.docs-sidebar__icon{flex-shrink:0;width:1rem;height:1rem}.docs-sidebar__link-label{align-items:center;gap:var(--space-1);display:inline-flex}.docs-sidebar__external-icon{opacity:.85;width:.72rem;height:.72rem}.docs-sidebar__item-group{flex-direction:column;display:flex}.docs-sidebar__subnav{gap:var(--space-1);margin:var(--space-1)0 var(--space-2)var(--space-3);padding-left:var(--space-3);border-left:1px solid var(--border-subtle);flex-direction:column;display:flex}.docs-sidebar__sublink{padding:var(--space-1)var(--space-2);color:var(--text-muted);border-radius:var(--radius-sm);transition:all var(--transition-fast);align-items:center;font-size:.82rem;text-decoration:none;display:flex}.docs-sidebar__sublink:hover{background:var(--bg-tertiary);color:var(--text-primary)}.docs-sidebar__sublink--active{background:var(--bg-tertiary);color:var(--color-primary-light)}.docs-main{margin-left:var(--sidebar-width);margin-top:var(--header-height);padding:var(--space-8)var(--space-6);flex:1}.docs-content{max-width:var(--content-max-width);margin:0 auto}.version-switcher{position:relative}.version-switcher__button{align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast);background:#94a3b814;font-size:.9rem;font-weight:500;line-height:1.6;display:flex}.version-switcher__button:hover,.version-switcher__button[aria-expanded=true]{color:var(--text-primary);background:var(--bg-tertiary);border-color:var(--color-primary-dark)}.version-switcher__dropdown{top:calc(100% + var(--space-2));background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);min-width:200px;box-shadow:var(--shadow-xl);padding:var(--space-2);z-index:110;position:absolute;right:0}.version-switcher__item{padding:var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);justify-content:space-between;align-items:center;display:flex}.version-switcher__item:hover{background:var(--bg-tertiary)}.version-switcher__item--current{background:linear-gradient(135deg,#6366f126,#06b6d41a)}.version-switcher__version{color:var(--text-primary);font-weight:500}.docs-content h1{margin-bottom:var(--space-6);background:linear-gradient(135deg,var(--text-primary),var(--color-primary-light));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:800;line-height:1.2}.docs-content h2{margin-top:var(--space-10);margin-bottom:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-color);font-size:1.75rem;font-weight:700}.docs-content h3{margin-top:var(--space-8);margin-bottom:var(--space-3);font-size:1.25rem;font-weight:600}.docs-content h4{margin-top:var(--space-6);margin-bottom:var(--space-2);font-size:1.1rem;font-weight:600}.docs-content h1[id],.docs-content h2[id],.docs-content h3[id],.docs-content h4[id],.docs-content h5[id],.docs-content h6[id]{scroll-margin-top:calc(var(--header-height) + var(--space-6))}.docs-content p{margin-bottom:var(--space-4);color:var(--text-secondary)}.docs-content a{color:var(--color-primary-light);transition:color var(--transition-fast);text-decoration:none}.docs-content a:hover{color:var(--color-secondary);text-decoration:underline}.docs-content ul,.docs-content ol{margin-bottom:var(--space-4);padding-left:var(--space-6);color:var(--text-secondary)}.docs-content li{margin-bottom:var(--space-2)}.docs-content strong{color:var(--text-primary);font-weight:600}.docs-content hr{border:none;border-top:1px solid var(--border-color);margin:var(--space-8)0}.docs-content code{font-family:var(--font-mono);background:var(--code-bg);border-radius:var(--radius-sm);color:var(--color-secondary);padding:.2em .4em;font-size:.875em}.docs-content pre{background:var(--code-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4);overflow-x:auto}.docs-content pre code{color:var(--text-secondary);background:0 0;padding:0;font-size:.875rem;line-height:1.7}.docs-content .code-block{background:var(--code-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-6)var(--space-4)var(--space-4);margin-bottom:var(--space-4);position:relative;overflow:hidden}.docs-content .code-block pre{background:0 0;border:0;margin:0;padding:0;overflow-x:auto}.docs-content pre,.docs-content .code-block pre{scrollbar-width:thin;scrollbar-color:#64748be6 #0f172ae6}.docs-content pre::-webkit-scrollbar{width:10px;height:10px}.docs-content .code-block pre::-webkit-scrollbar{width:10px;height:10px}.docs-content pre::-webkit-scrollbar-track{background:#0f172ae6;border-radius:9999px}.docs-content .code-block pre::-webkit-scrollbar-track{background:#0f172ae6;border-radius:9999px}.docs-content pre::-webkit-scrollbar-thumb{background:#64748be6;border-radius:9999px}.docs-content .code-block pre::-webkit-scrollbar-thumb{background:#64748be6;border-radius:9999px}.docs-content pre::-webkit-scrollbar-thumb:hover{background:#94a3b8f2}.docs-content .code-block pre::-webkit-scrollbar-thumb:hover{background:#94a3b8f2}.docs-content .code-block code{color:var(--text-primary);background:0 0;padding:0;font-size:.9rem;line-height:1.7}.docs-content .code-block span{background:0 0!important}.docs-page--snapshot-examples .docs-content .docs-example-split-row{align-items:center;gap:var(--space-6);margin-bottom:var(--space-8);display:flex}.docs-page--snapshot-examples .docs-content .docs-example-split-row>.markdown-html-block{flex:0 0 35%;max-width:35%;margin:0}.docs-page--snapshot-examples .docs-content .docs-example-split-row>.code-block{flex:0 0 65%;max-width:65%;margin:0}.docs-page--snapshot-examples .docs-content .docs-example-split-row>.code-block pre{max-height:min(76vh,820px)}@media (max-width:1080px){.docs-page--snapshot-examples .docs-content .docs-example-split-row{align-items:stretch;gap:var(--space-4);flex-direction:column}.docs-page--snapshot-examples .docs-content .docs-example-split-row>.markdown-html-block,.docs-page--snapshot-examples .docs-content .docs-example-split-row>.code-block{flex:0 0 100%;max-width:100%}}.code-block__copy{top:var(--space-3);right:var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;background:#ffffff0a;padding:.35rem .6rem;font-size:.75rem;font-weight:600;transition:background .2s,border-color .2s,color .2s;position:absolute}.code-block__copy:hover{color:var(--text-primary);border-color:var(--color-secondary);background:#ffffff14}.code-block__copy:active{transform:translateY(1px)}.token.comment{color:var(--color-gray-500)}.token.keyword{color:#c792ea}.token.string{color:#c3e88d}.token.number{color:#f78c6c}.token.function{color:#82aaff}.token.class-name{color:#ffcb6b}.token.operator{color:#89ddff}.token.punctuation{color:var(--color-gray-400)}.token.annotation{color:#ffcb6b}.api-frame{width:100%;height:calc(100vh - var(--header-height) - var(--space-8));border-radius:var(--radius-lg);background:var(--bg-secondary);border:none}.card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--space-6);transition:all var(--transition-normal)}.card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card__title{margin-bottom:var(--space-2);font-size:1.25rem;font-weight:600}.card__description{color:var(--text-secondary);font-size:.9rem}.callout{padding:var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-4);border-left:4px solid}.callout--info{border-color:var(--color-info);background:#3b82f61a}.callout--warning{border-color:var(--color-warning);background:#f59e0b1a}.callout--error{border-color:var(--color-error);background:#ef44441a}.callout--success{border-color:var(--color-success);background:#10b9811a}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3)var(--space-5);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;font-size:.9rem;font-weight:500;text-decoration:none;display:inline-flex}.btn--primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff}.btn--primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.btn--secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-subtle)}.btn--secondary:hover{border-color:var(--color-primary);background:var(--bg-secondary)}.hero{text-align:center;padding:var(--space-16)0}.hero__title{background:linear-gradient(135deg,var(--text-primary),var(--color-primary),var(--color-secondary));-webkit-text-fill-color:transparent;margin-bottom:var(--space-4);-webkit-background-clip:text;background-clip:text;font-size:3.5rem;font-weight:800;line-height:1.1}.hero__subtitle{color:var(--text-secondary);max-width:600px;margin:0 auto var(--space-8);font-size:1.25rem}.hero__actions{gap:var(--space-4);justify-content:center;display:flex}@media (max-width:1024px){.docs-header{padding:0 var(--space-4)}.docs-header__nav{gap:var(--space-4)}.docs-layout{flex-direction:column}.docs-sidebar{top:var(--header-height);margin-top:var(--header-height);border-right:none;border-bottom:1px solid var(--border-color);width:100%;padding:var(--space-3)var(--space-4);background:var(--bg-secondary);z-index:90;position:sticky;bottom:auto;left:auto}.docs-sidebar__mobile-toggle{justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2)var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast);background:#94a3b814;font-size:.9rem;font-weight:500;line-height:1.6;display:inline-flex}.docs-sidebar__mobile-toggle:hover,.docs-sidebar--mobile-open .docs-sidebar__mobile-toggle{color:var(--text-primary);background:var(--bg-tertiary);border-color:var(--color-primary-dark)}.docs-sidebar__content{margin-top:var(--space-3);max-height:calc(100vh - var(--header-height) - 64px);display:none;overflow-y:auto}.docs-sidebar--mobile-open .docs-sidebar__content{display:block}.docs-sidebar__section{margin-bottom:var(--space-5)}.docs-sidebar__section:last-child{margin-bottom:0}.docs-main{padding:var(--space-6)var(--space-4);margin-top:0;margin-left:0}}@media (max-width:768px){.docs-header__logo{gap:var(--space-2);font-size:1.05rem}.docs-header__link--github span{display:none}.docs-header__link--github,.version-switcher__button{padding:var(--space-2)}.hero__title{font-size:2.5rem}.hero__actions{flex-direction:column;align-items:center}.docs-content h1{font-size:2rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fadeIn{animation:.5s forwards fadeIn}
