@view-transition{navigation:auto}body:has(.tgd-root),html:has(.tgd-root){min-width:0;max-width:100%;overflow-x:hidden}.tgd-root{--tgd-bg:oklch(99.3% .003 205);--tgd-surface:oklch(100% 0 0);--tgd-surface-soft:oklch(97.2% .012 195);--tgd-ink:oklch(24% .035 245);--tgd-text:oklch(38% .028 245);--tgd-muted:oklch(55% .024 240);--tgd-brand:oklch(52% .125 185);--tgd-brand-dark:oklch(37% .09 190);--tgd-brand-soft:oklch(95% .035 183);--tgd-blue:oklch(58% .14 230);--tgd-green:oklch(61% .16 153);--tgd-line:oklch(89% .015 215);--tgd-line-strong:oklch(78% .035 205);--tgd-code:oklch(21% .03 248);--tgd-r-xs:.3rem;--tgd-r-sm:.5rem;--tgd-r:.75rem;--tgd-r-lg:1rem;--tgd-r-full:9999px;--tgd-ease:cubic-bezier(.22,1,.36,1);--tgd-fast:150ms;--tgd-base:250ms;min-height:100vh;width:100%;overflow:visible;background:var(--tgd-bg);color:var(--tgd-ink);font-size:14px;line-height:1.65;scroll-behavior:smooth}.tgd-root *{box-sizing:border-box}.tgd-root button,.tgd-root input{font:inherit}.tgd-root code,.tgd-root pre{font-family:Geist Mono,SFMono-Regular,Consolas,monospace}.tgd-root :is(section,div)[id]{scroll-margin-top:148px}.tgd-docbar{height:60px;margin:0;padding:0 max(4.5vw,36px);position:fixed;z-index:29;left:0;right:0;top:68px;gap:32px;border-bottom:1px solid var(--tgd-line);background:oklch(100% 0 0/.94);-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%)}.tgd-docbar,.tgd-docbar-title{display:flex;align-items:center}.tgd-docbar-title{gap:9px;white-space:nowrap}.tgd-docbar-title>svg{width:19px;color:var(--tgd-brand)}.tgd-docbar-title>b{font-size:16px}.tgd-docbar>nav{gap:28px}.tgd-docbar>nav,.tgd-docbar>nav>a{height:100%;display:flex;align-items:center}.tgd-docbar>nav>a{position:relative;color:var(--tgd-text);font-size:14px;white-space:nowrap}.tgd-docbar>nav>a:after{content:"";position:absolute;left:50%;right:50%;bottom:0;height:2px;background:var(--tgd-brand);transition:left var(--tgd-base) var(--tgd-ease),right var(--tgd-base) var(--tgd-ease)}.tgd-docbar>nav>a.active:after,.tgd-docbar>nav>a:hover:after{left:0;right:0}.tgd-docbar>nav>a.active{color:var(--tgd-brand-dark);font-weight:650}.tgd-doc-search{width:240px;height:40px;margin-left:auto;padding:0 9px 0 12px;position:relative;display:flex;align-items:center;gap:8px;border:1px solid var(--tgd-line);border-radius:var(--tgd-r-sm);background:var(--tgd-surface-soft);color:var(--tgd-muted);transition:border-color var(--tgd-fast) var(--tgd-ease),box-shadow var(--tgd-fast) var(--tgd-ease),background var(--tgd-fast) var(--tgd-ease)}.tgd-doc-search:focus-within{border-color:var(--tgd-brand);background:white;box-shadow:0 0 0 3px oklch(52% .125 185/.1)}.tgd-doc-search>svg{width:16px;flex:none}.tgd-doc-search>input{min-width:0;height:100%;flex:1 1;border:0;outline:0;background:none;color:var(--tgd-ink);font-size:14px}.tgd-doc-search>input::placeholder{color:var(--tgd-muted)}.tgd-doc-search>kbd{padding:3px 6px;border:1px solid var(--tgd-line);border-radius:var(--tgd-r-xs);background:white;color:var(--tgd-muted);font-size:11px;white-space:nowrap}.tgd-support-link{height:38px;padding:0 10px;display:flex;align-items:center;gap:10px;border-radius:var(--tgd-r-sm);color:oklch(40% .025 260);font-size:13px;font-weight:500}.tgd-support-link:hover{background:var(--tgd-surface-soft)}.tgd-support-link svg{width:17px;color:oklch(48% .035 255)}.tgd-sidebar-toggle{display:none;width:44px;height:44px;border:0;background:none}.tgd-sidebar-toggle svg{width:21px}.tgd-search-results{width:min(440px,calc(100vw - 32px));max-height:480px;padding:8px;position:absolute;z-index:40;right:0;top:47px;overflow:auto;border:1px solid var(--tgd-line);border-radius:var(--tgd-r);background:oklch(100% 0 0/.98);box-shadow:0 24px 70px oklch(25% .04 220/.18);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);animation:tgd-pop var(--tgd-base) var(--tgd-ease) both}@keyframes tgd-pop{0%{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}@starting-style{.tgd-search-results{opacity:0;transform:translateY(-7px)}}.tgd-search-results>header{height:40px;padding:0 7px 0 10px;display:flex;align-items:center;justify-content:space-between;color:var(--tgd-muted);font-size:12px}.tgd-search-results>header button{width:32px;height:32px;border:0;border-radius:var(--tgd-r-xs);background:none}.tgd-search-results>header svg{width:16px}.tgd-search-results>a{width:100%;min-height:60px;padding:9px 12px;display:flex;align-items:center;border-radius:var(--tgd-r-sm);color:var(--tgd-ink)}.tgd-search-results>a:hover{background:var(--tgd-brand-soft)}.tgd-search-results>a>span{display:grid;grid-gap:2px;gap:2px}.tgd-search-results>a small{color:var(--tgd-brand-dark);font-size:12px}.tgd-search-results>a b{font-size:14px}.tgd-search-results>a>svg{width:16px;margin-left:auto;color:var(--tgd-muted)}.tgd-no-results{min-height:170px;display:grid;place-items:center;align-content:center;text-align:center;color:var(--tgd-muted)}.tgd-no-results svg{width:26px;margin-bottom:8px}.tgd-no-results b{color:var(--tgd-ink);font-size:15px}.tgd-no-results span{margin-top:4px;font-size:13px}.tgd-doc-layout{width:100%;margin:0;padding:148px clamp(28px,3.6vw,64px) 100px;display:grid;grid-template-columns:250px minmax(0,1fr) 180px;align-items:start;grid-column-gap:clamp(72px,6vw,116px);column-gap:clamp(72px,6vw,116px)}.tgd-sidebar{width:250px;position:fixed;z-index:20;left:clamp(28px,3.6vw,64px);top:148px;bottom:20px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--tgd-line-strong) transparent}.tgd-sidebar>header{min-height:52px;padding:0 8px 12px 4px;position:-webkit-sticky;position:sticky;z-index:3;top:0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--tgd-line);background:linear-gradient(to bottom,var(--tgd-bg) 82%,oklch(99.3% .003 205/.86))}.tgd-sidebar>header b{font-size:16px}.tgd-sidebar>header button{display:none;width:36px;height:36px;border:0;background:none}.tgd-sidebar>header svg{width:18px}.tgd-sidebar>nav>section{padding:18px 0;border-bottom:1px solid var(--tgd-line)}.tgd-sidebar>nav>section h2{margin:0 0 7px;padding:0 7px;display:flex;align-items:center;gap:8px;color:var(--tgd-text);font-size:14px;font-weight:700}.tgd-sidebar>nav>section h2 svg{width:16px;color:var(--tgd-brand)}.tgd-sidebar>nav>section>div{display:flex;flex-direction:column;gap:2px}.tgd-sidebar>nav>section a{min-height:40px;padding:8px 12px;display:flex;align-items:center;border-radius:var(--tgd-r-sm);color:var(--tgd-text);font-size:14px;line-height:1.45}.tgd-sidebar>nav>section a:hover{background:var(--tgd-surface-soft);color:var(--tgd-brand-dark)}.tgd-sidebar>nav>section a.active{background:var(--tgd-brand-soft);color:var(--tgd-brand-dark);font-weight:650}.tgd-sidebar-help{min-height:44px;margin:18px 0 0;padding:0 7px;position:-webkit-sticky;position:sticky;z-index:4;bottom:0;display:flex;align-items:center;gap:9px;background:var(--tgd-bg);color:var(--tgd-text);font-size:14px;font-weight:520;transition:color var(--tgd-fast) var(--tgd-ease)}.tgd-sidebar-help:hover{color:var(--tgd-brand-dark)}.tgd-sidebar-help:focus-visible{outline:2px solid var(--tgd-brand);outline-offset:-2px}.tgd-sidebar-help>svg{width:17px;color:var(--tgd-muted);transition:color var(--tgd-fast) var(--tgd-ease)}.tgd-sidebar-help:hover>svg{color:var(--tgd-brand)}.tgd-sidebar-scrim{display:none}.tgd-article{min-width:0;padding-top:20px;grid-column:2}.tgd-breadcrumb{min-height:32px;display:flex;align-items:center;gap:7px;color:var(--tgd-muted);font-size:13px}.tgd-breadcrumb svg{width:13px}.tgd-breadcrumb a:hover{color:var(--tgd-brand-dark)}.tgd-breadcrumb b{color:var(--tgd-text);font-weight:600}.tgd-article-head{padding:32px 0 44px;border-bottom:1px solid var(--tgd-line)}.tgd-article-head>div{display:flex;align-items:center;gap:12px}.tgd-article-head>div>span{padding:5px 10px;border-radius:var(--tgd-r-full);background:var(--tgd-brand-soft);color:var(--tgd-brand-dark);font-size:12px;font-weight:700}.tgd-article-head>div>small{color:var(--tgd-muted);font-size:12px}.tgd-article-head h1{margin:18px 0 14px;font-size:clamp(34px,3vw,42px);line-height:1.2;letter-spacing:-.04em}.tgd-article-head>p{max-width:920px;margin:0;color:var(--tgd-text);font-size:17px;line-height:1.8}.tgd-doc-section{padding:44px 0;border-bottom:1px solid var(--tgd-line)}.tgd-section-index{display:flex;align-items:center;gap:15px;color:var(--tgd-brand);font-size:26px;font-weight:780;line-height:1;letter-spacing:.02em}.tgd-section-index:after{content:"";width:44px;height:2px;background:var(--tgd-brand)}.tgd-markdown{color:var(--tgd-text);font-size:17px;line-height:1.82}.tgd-markdown>h2{margin:12px 0 14px;color:var(--tgd-ink);font-size:32px;line-height:1.25;letter-spacing:-.03em}.tgd-markdown h3{margin:28px 0 10px;color:var(--tgd-ink);font-size:22px;line-height:1.35;letter-spacing:-.02em}.tgd-markdown h4{margin:24px 0 7px;color:var(--tgd-ink);font-size:18px;line-height:1.45;letter-spacing:-.01em}.tgd-markdown p{max-width:960px;margin:0 0 16px}.tgd-markdown>p:first-of-type{margin-bottom:18px;color:var(--tgd-text);font-size:18px;line-height:1.78}.tgd-markdown strong{color:var(--tgd-ink);font-weight:680}.tgd-markdown a{color:var(--tgd-brand-dark);font-weight:620;text-decoration:underline;-webkit-text-decoration-color:oklch(72% .075 187);text-decoration-color:oklch(72% .075 187);text-decoration-thickness:1px;text-underline-offset:4px}.tgd-markdown a:hover{-webkit-text-decoration-color:var(--tgd-brand);text-decoration-color:var(--tgd-brand)}.tgd-markdown ol,.tgd-markdown ul{max-width:960px;margin:18px 0 24px;padding-left:27px}.tgd-markdown li{margin:8px 0;padding-left:7px;line-height:1.76}.tgd-markdown li::marker{color:var(--tgd-brand);font-weight:750}.tgd-markdown ol li::marker{font-family:Geist Mono,SFMono-Regular,Consolas,monospace}.tgd-markdown li>p{margin:4px 0 10px}.tgd-markdown blockquote{max-width:960px;margin:24px 0 0;padding:18px 20px;border:1px solid oklch(82% .06 226);border-left:4px solid var(--tgd-blue);border-radius:0 var(--tgd-r) var(--tgd-r) 0;background:oklch(96% .03 226);color:var(--tgd-text)}.tgd-markdown blockquote p{margin:0 0 6px}.tgd-markdown blockquote p:last-child{margin-bottom:0}.tgd-markdown hr{height:1px;margin:32px 0;border:0;background:var(--tgd-line)}.tgd-markdown :not(pre)>code{padding:2px 6px;border:1px solid var(--tgd-line);border-radius:var(--tgd-r-xs);background:var(--tgd-surface-soft);color:var(--tgd-brand-dark);font-size:.9em}.tgd-md-table{width:100%;margin:28px 0 34px;overflow:auto;border:1px solid var(--tgd-line);border-radius:var(--tgd-r);background:white}.tgd-md-table table{width:100%;min-width:640px;border-collapse:collapse}.tgd-md-table td,.tgd-md-table th{padding:16px 18px;border-bottom:1px solid var(--tgd-line);text-align:left;vertical-align:top}.tgd-md-table th{background:var(--tgd-surface-soft);color:var(--tgd-muted);font-size:14px;font-weight:700}.tgd-md-table td{color:var(--tgd-text);font-size:16px;line-height:1.7}.tgd-md-table tr:last-child td{border-bottom:0}.tgd-md-table td:first-child{width:31%;color:var(--tgd-ink)}.tgd-md-code{margin:28px 0;overflow:hidden;border:1px solid oklch(31% .025 246);border-radius:var(--tgd-r);background:var(--tgd-code);box-shadow:0 18px 40px oklch(18% .03 246/.14)}.tgd-md-code>header{height:50px;padding:0 12px 0 18px;display:flex;align-items:center;border-bottom:1px solid oklch(36% .025 245)}.tgd-md-code>header>span{display:flex;align-items:center;gap:8px;color:oklch(78% .04 200);font-size:13px;text-transform:uppercase}.tgd-md-code>header svg{width:15px}.tgd-md-code>header>button{height:34px;margin-left:auto;padding:0 11px;display:flex;align-items:center;gap:6px;border:1px solid oklch(42% .025 240);border-radius:var(--tgd-r-xs);background:oklch(27% .025 245);color:oklch(86% .02 220);font-size:12px}.tgd-md-code pre{margin:0;padding:24px;overflow:auto}.tgd-md-code code{color:oklch(90% .03 202);font-size:14px;line-height:1.75;-moz-tab-size:2;tab-size:2}.tgd-markdown p:has(>.tgd-md-image){max-width:none;margin:30px 0}.tgd-md-image{display:block}.tgd-md-browser{display:block;overflow:hidden;border:1px solid var(--tgd-line-strong);border-radius:var(--tgd-r-lg);background:white;box-shadow:0 24px 60px oklch(28% .04 220/.12)}.tgd-md-browser>span{height:40px;padding:0 14px;display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--tgd-line);background:oklch(96% .012 215)}.tgd-md-browser>span i{width:9px;height:9px;border-radius:50%;background:oklch(76% .1 28)}.tgd-md-browser>span i:nth-child(2){background:oklch(79% .13 82)}.tgd-md-browser>span i:nth-child(3){background:oklch(69% .14 151)}.tgd-md-browser img{width:100%;height:auto;display:block}.tgd-md-image>small{margin-top:12px;display:block;color:var(--tgd-muted);font-size:13px;line-height:1.6}.tgd-article--manual .tgd-article-head{padding-bottom:34px}.tgd-article--manual .tgd-doc-section{padding:36px 0 0;border-bottom:0}.tgd-article--manual .tgd-section-index{display:none}.tgd-article--manual .tgd-markdown{font-size:16px;line-height:1.78}.tgd-article--manual .tgd-markdown>h2{margin:0 0 18px;font-size:28px;line-height:1.35;letter-spacing:-.02em}.tgd-article--manual .tgd-markdown h3{margin:32px 0 12px;font-size:21px;line-height:1.4}.tgd-article--manual .tgd-markdown h4{margin:24px 0 8px;font-size:18px}.tgd-article--manual .tgd-markdown p,.tgd-article--manual .tgd-markdown>p:first-of-type{max-width:900px;margin-bottom:16px;font-size:16px;line-height:1.78}.tgd-article--manual .tgd-markdown ol,.tgd-article--manual .tgd-markdown ul{max-width:900px;margin:14px 0 20px}.tgd-article--manual .tgd-markdown p:has(>.tgd-md-image){max-width:960px;margin:22px 0 28px}.tgd-article--manual .tgd-md-browser{border-radius:var(--tgd-r-sm);box-shadow:none}.tgd-article--manual .tgd-md-browser>span:first-child{display:none}.tgd-article--manual .tgd-md-image>small{margin-top:8px;text-align:center}.tgd-page-navigation{margin-top:48px;display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.tgd-page-navigation>a{min-height:82px;padding:16px 18px;display:flex;align-items:center;gap:12px;border:1px solid var(--tgd-line);border-radius:var(--tgd-r);background:white}.tgd-page-navigation>a:hover{border-color:var(--tgd-line-strong)}.tgd-page-navigation>a:last-child{justify-content:flex-end;text-align:right}.tgd-page-navigation>a>svg{width:18px;color:var(--tgd-brand)}.tgd-page-navigation>a>span{display:grid}.tgd-page-navigation small{color:var(--tgd-muted);font-size:12px}.tgd-page-navigation b{margin-top:3px;font-size:14px}.tgd-toc{width:180px;position:fixed;z-index:20;right:clamp(28px,3.6vw,64px);top:148px}.tgd-toc>b{display:block;margin-bottom:12px;font-size:14px}.tgd-toc>nav{position:relative;padding-left:14px;border-left:1px solid var(--tgd-line);display:flex;flex-direction:column}.tgd-toc>nav a{position:relative;padding:8px 4px;color:var(--tgd-muted);font-size:13px;line-height:1.45;transition:color var(--tgd-fast) var(--tgd-ease)}.tgd-toc>nav a.level-2{color:var(--tgd-text);font-weight:620}.tgd-toc>nav a.level-3{padding-left:11px}.tgd-toc>nav a.level-4{padding-left:22px;font-size:12px}.tgd-toc>nav a:before{content:"";width:2px;position:absolute;top:6px;bottom:6px;left:-15px;background:transparent}.tgd-toc>nav a.active,.tgd-toc>nav a:hover{color:var(--tgd-brand-dark)}.tgd-toc>nav a.active{font-weight:650}.tgd-toc>nav a.active:before{background:var(--tgd-brand)}.tgd-toc>div{margin-top:28px;padding-top:18px;display:flex;align-items:center;gap:9px;border-top:1px solid var(--tgd-line)}.tgd-toc>div>svg{width:18px;color:var(--tgd-brand)}.tgd-toc>div>span{display:grid}.tgd-toc>div small{color:var(--tgd-muted);font-size:12px}.tgd-toc>div b{font-size:13px}.tgd-article--manual+.tgd-toc>nav{max-height:calc(100vh - 260px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--tgd-line-strong) transparent}@media(max-width:1480px){.tgd-doc-layout{padding-inline:32px;grid-template-columns:240px minmax(0,1020px);justify-content:space-between;gap:44px}.tgd-sidebar{width:240px;left:32px}.tgd-toc{display:none}.tgd-doc-search{width:210px}}@media(max-width:1000px){.tgd-root :is(section,div)[id]{scroll-margin-top:196px}.tgd-docbar{height:108px;padding:8px 20px 0;display:grid;grid-template-columns:auto 1fr auto auto;grid-template-rows:48px 51px;grid-gap:0 12px;gap:0 12px}.tgd-docbar-title{grid-column:1;grid-row:1}.tgd-docbar>nav{grid-column:1/-1;grid-row:2;gap:28px;overflow-x:auto;border-top:1px solid var(--tgd-line);scrollbar-width:none}.tgd-docbar>nav::-webkit-scrollbar{display:none}.tgd-doc-search{grid-column:3;grid-row:1;margin-left:auto}.tgd-support-link{display:none}.tgd-sidebar-toggle{grid-column:4;grid-row:1;display:grid;place-items:center}.tgd-doc-layout{display:block;max-width:900px;margin:0 auto;padding:212px 32px 90px}.tgd-article{padding-top:0}.tgd-sidebar{width:min(340px,88vw);max-height:none;padding:18px;position:fixed;z-index:70;left:0;top:0;bottom:0;background:white;box-shadow:24px 0 70px oklch(20% .04 230/.2);transform:translateX(-105%);transition:transform var(--tgd-base) var(--tgd-ease)}.tgd-sidebar.open{transform:translateX(0)}.tgd-sidebar>header{background:white}.tgd-sidebar>header button{display:grid;place-items:center}.tgd-sidebar-scrim{display:block;position:fixed;z-index:65;inset:0;border:0;background:oklch(15% .03 240/.38);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}}@media(max-width:640px){.tgd-root :is(section,div)[id]{scroll-margin-top:190px}.tgd-docbar{height:108px;top:62px;padding-inline:12px;grid-template-columns:1fr 132px 44px;gap:0 8px}.tgd-docbar-title{grid-column:1}.tgd-docbar-title>b{font-size:15px}.tgd-doc-search{width:132px;grid-column:2}.tgd-doc-search>kbd{display:none}.tgd-doc-search>.tgd-search-results{right:-52px}.tgd-sidebar-toggle{grid-column:3}.tgd-docbar>nav{gap:24px}.tgd-docbar>nav>a{font-size:13px}.tgd-doc-layout{padding:198px 18px 72px}.tgd-breadcrumb{overflow-x:auto;white-space:nowrap}.tgd-article-head{padding:24px 0 36px}.tgd-article-head>div{align-items:flex-start;flex-direction:column;gap:8px}.tgd-article-head h1{font-size:32px}.tgd-article-head>p{font-size:16px}.tgd-doc-section{padding:44px 0}.tgd-markdown>h2{font-size:25px}.tgd-markdown h3{font-size:19px}.tgd-markdown p,.tgd-markdown>p:first-of-type{font-size:16px}.tgd-md-table{margin-inline:-4px;width:calc(100% + 8px)}.tgd-md-code pre{padding:20px 17px}.tgd-page-navigation{grid-template-columns:1fr}.tgd-page-navigation>span{display:none}}@media(prefers-reduced-motion:reduce){.tgd-root{scroll-behavior:auto}.tgd-root *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}