:root{--color-primary: #009688;--color-primary-light: #4db6ac;--color-primary-dark: #00796b;--color-accent: #00bcd4;--color-accent-light: #4dd0e1;--color-bg: #ffffff;--color-bg-alt: #f5f5f5;--color-bg-surface: #fafafa;--color-bg-hover: #eeeeee;--color-fg: #212121;--color-fg-muted: #545454;--color-fg-faint: #757575;--color-border: #0000001f;--color-link: #00796b;--color-focus: #00796b;--color-code-bg: #f5f5f5;--color-code-fg: #212121;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--sidebar-width: 16rem;--header-height: 3rem;--tab-height: 2.5rem;--max-content: 50rem;--font-text: system-ui, -apple-system, sans-serif;--font-code: ui-monospace, "Cascadia Code", "Fira Code", monospace;--font-size-sm: .8125rem;--font-size-base: .875rem;--font-size-lg: 1rem;--line-height: 1.6}[data-theme=dark]{--color-bg: #1e1e1e;--color-bg-alt: #272727;--color-bg-surface: #2e2e2e;--color-bg-hover: #353535;--color-fg: #e0e0e0;--color-fg-muted: #aaaaaa;--color-fg-faint: #888888;--color-border: #ffffff1f;--color-link: #00bcd4;--color-focus: #00bcd4;--color-code-bg: #2a2a2a;--color-code-fg: #e0e0e0}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + var(--tab-height) + var(--space-md));overflow-x:hidden}body{font-family:var(--font-text);font-size:var(--font-size-base);line-height:var(--line-height);color:var(--color-fg);background:var(--color-bg);-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:var(--color-link);text-decoration:none}a:hover{text-decoration:underline}.skip-link{position:absolute;top:-100%;left:var(--space-md);background:var(--color-bg);color:var(--color-fg);padding:var(--space-sm) var(--space-md);border-radius:0 0 4px 4px;z-index:200;font-size:var(--font-size-sm);font-weight:500}.skip-link:focus{top:0}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.site-header :focus-visible,.site-tabs :focus-visible{outline-color:#fff}.site-header-bar{position:sticky;top:0;z-index:100;background:var(--color-primary)}.site-header{color:#fff;height:var(--header-height);display:flex;align-items:center;padding:0 var(--space-md);gap:var(--space-lg);max-width:calc(var(--max-content) + 2 * var(--sidebar-width) + 2 * var(--space-xl));margin:0 auto}.site-header-icon{flex-shrink:0}.site-header-title{font-size:var(--font-size-lg);font-weight:500;white-space:nowrap;color:#fff;display:flex;align-items:center;gap:var(--space-sm)}.site-header-title:hover{text-decoration:none}.site-header-actions{margin-left:auto;display:flex;align-items:center;gap:var(--space-sm)}.theme-toggle{background:none;border:none;color:#fff;cursor:pointer;padding:var(--space-sm);min-width:2.75rem;min-height:2.75rem;line-height:1;display:flex;align-items:center;justify-content:center;border-radius:50%}.theme-toggle:hover{background:#ffffff1a}.icon-dark,[data-theme=dark] .icon-light{display:none}[data-theme=dark] .icon-dark{display:block}.repo-link{color:#fff;display:flex;align-items:center;justify-content:center;min-width:2.75rem;min-height:2.75rem;border-radius:50%;opacity:.85}.repo-link:hover{text-decoration:none;opacity:1;background:#ffffff1a}.site-tabs-bar{position:sticky;top:var(--header-height);z-index:99;background:var(--color-primary-dark);box-shadow:0 1px #ffffff1a inset}.nav-toggle{display:none}.site-tabs{display:flex;padding:0 var(--space-md);max-width:calc(var(--max-content) + 2 * var(--sidebar-width) + 2 * var(--space-xl));margin:0 auto}.site-tabs a{color:#ffffffbf;font-size:var(--font-size-sm);font-weight:500;text-transform:uppercase;letter-spacing:.04em;padding:0 .75rem;height:var(--tab-height);display:flex;align-items:center;border-bottom:2px solid transparent;white-space:nowrap}.site-tabs a:hover{color:#fff;text-decoration:none}.site-tabs a.active{color:#fff;font-weight:700;border-bottom:3px solid var(--color-accent)}.site-main{display:grid;grid-template-columns:var(--sidebar-width) 4px minmax(0,1fr) 4px var(--sidebar-width);max-width:calc(var(--max-content) + 2 * var(--sidebar-width) + 2 * var(--space-xl));margin:0 auto;min-height:calc(100vh - var(--header-height) - var(--tab-height))}.resize-handle{width:4px;cursor:col-resize;background:transparent;transition:background .15s;z-index:10}.resize-handle:hover,.resize-handle:active{background:var(--color-primary-light)}.sidebar-toc{position:sticky;top:calc(var(--header-height) + var(--tab-height));height:calc(100vh - var(--header-height) - var(--tab-height));overflow-y:auto;padding:var(--space-lg) var(--space-md);border-right:1px solid var(--color-border);font-size:var(--font-size-sm)}.sidebar-toc-title{font-size:var(--font-size-sm);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-fg-muted);margin-bottom:var(--space-sm)}.sidebar-toc ul{list-style:none;margin:0;padding:0}.sidebar-toc>ul>li{margin-bottom:var(--space-sm)}.sidebar-toc ul ul>li{margin-bottom:var(--space-xs)}.sidebar-toc a{color:var(--color-fg-muted)}.sidebar-toc a:hover,.sidebar-toc a.active{color:var(--color-primary-light);text-decoration:none}.sidebar-toc ul ul{padding-left:var(--space-md);margin-top:var(--space-xs)}.toc-details{margin:0;padding:0}.toc-details summary{list-style:none;cursor:pointer;position:relative}.toc-details summary::-webkit-details-marker{display:none}.toc-details summary:hover:after{content:"+";position:absolute;right:0;top:0;font-size:.8em;color:var(--color-fg-muted)}.toc-details[open]>summary:hover:after{content:"−"}.content{padding:var(--space-xl) var(--space-2xl);min-width:0;overflow-x:hidden;overflow-wrap:break-word}.sidebar-tutorials{position:sticky;top:calc(var(--header-height) + var(--tab-height));height:calc(100vh - var(--header-height) - var(--tab-height));overflow-y:auto;padding:var(--space-lg) var(--space-md);border-left:1px solid var(--color-border);font-size:var(--font-size-sm)}.sidebar-tutorials-title{font-size:var(--font-size-sm);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-fg-muted);margin-bottom:var(--space-sm)}.sidebar-tutorials ul{list-style:none}.sidebar-tutorials li{margin-bottom:var(--space-xs)}.sidebar-tutorials a{color:var(--color-fg-muted);display:block;padding:var(--space-xs) 0}.sidebar-tutorials a:hover{color:var(--color-primary-light);text-decoration:none}.content h1{font-size:1.75rem;font-weight:300;margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border)}.content h2{font-size:1.25rem;font-weight:600;margin-top:var(--space-2xl);margin-bottom:var(--space-md);padding-bottom:var(--space-xs);border-bottom:2px solid var(--color-primary)}.content h3{font-size:1rem;font-weight:500;margin-top:var(--space-xl);margin-bottom:var(--space-sm);color:var(--color-fg-muted)}.content h4{font-size:var(--font-size-base);font-weight:600;margin-top:var(--space-lg);margin-bottom:var(--space-sm)}.content p{margin-bottom:var(--space-md)}.content ul,.content ol{margin-bottom:var(--space-md);padding-left:var(--space-xl)}.content li{margin-bottom:var(--space-xs)}.content img{max-width:100%;height:auto;border-radius:4px}.content table{width:100%;border-collapse:collapse;margin-bottom:var(--space-lg);font-size:var(--font-size-sm);display:block;overflow-x:auto}.content caption{caption-side:top;text-align:left;font-size:var(--font-size-sm);color:var(--color-fg-muted);margin-bottom:var(--space-sm)}.content th,.content td{padding:var(--space-sm) var(--space-md);text-align:left;border-bottom:1px solid var(--color-border)}.content th{font-weight:600;background:var(--color-bg-alt)}.content code{font-family:var(--font-code);font-size:.85em;background:var(--color-bg-surface);padding:.1em .3em;border-radius:3px}.content pre{background:var(--color-code-bg);color:var(--color-code-fg);border-radius:4px;padding:var(--space-md);margin-bottom:var(--space-lg);overflow-x:auto}.content pre code{color:inherit;background:none;padding:0;font-size:var(--font-size-sm)}.content blockquote{border-left:3px solid var(--color-primary);padding-left:var(--space-md);color:var(--color-fg-muted);margin-bottom:var(--space-md)}.content hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-xl) 0}.site-footer{border-top:1px solid var(--color-border);padding:var(--space-lg);text-align:center;font-size:var(--font-size-sm);color:var(--color-fg-muted)}.mobile-toc{display:none}@media(max-width:960px){.mobile-toc{display:block;position:fixed;bottom:var(--space-lg);right:var(--space-lg);z-index:100}.mobile-toc-fab{width:48px;height:48px;border-radius:50%;border:none;background:var(--color-primary);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000040}.mobile-toc-fab:hover{background:var(--color-primary-dark)}.mobile-toc-overlay{display:none;position:absolute;bottom:56px;right:0;width:250px;max-height:60vh;overflow-y:auto;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 4px 16px #00000026;padding:var(--space-sm) 0}.mobile-toc-overlay.open{display:block}.mobile-toc-header{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);font-weight:600;color:var(--color-fg-muted)}.mobile-toc-overlay ul{list-style:none;padding:0}.mobile-toc-overlay li a{display:block;padding:var(--space-xs) var(--space-md);color:var(--color-fg);text-decoration:none;font-size:var(--font-size-sm)}.mobile-toc-overlay li a:hover{background:var(--color-bg-hover);color:var(--color-link)}.site-main{grid-template-columns:1fr}.sidebar-toc,.sidebar-tutorials,.resize-handle{display:none}}@media(max-width:768px){.nav-toggle{display:flex;align-items:center;justify-content:center;background:none;border:none;color:#fff;padding:var(--space-sm) var(--space-md);cursor:pointer}.nav-toggle:hover{background:#ffffff1a}.site-tabs{display:none;flex-direction:column;padding:0;overflow-x:visible}.site-tabs.open{display:flex}.site-tabs a{height:auto;padding:var(--space-sm) var(--space-md);border-bottom:none;border-left:3px solid transparent}.site-tabs a.active{border-bottom:none;border-left:3px solid var(--color-accent);background:#ffffff1a}.content{padding:var(--space-lg) var(--space-md)}}@media print{.site-header-bar,.site-tabs-bar,.sidebar-toc,.sidebar-tutorials,.resize-handle,.mobile-toc,.site-footer,.skip-link{display:none!important}.site-main{display:block}.content{padding:0;max-width:100%}a{color:inherit;text-decoration:underline}pre{white-space:pre-wrap;border:1px solid #ccc}img{break-inside:avoid}h2,h3,h4{break-after:avoid}}
