@layer reset{*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0}img,svg{max-width:100%;display:block}a{color:inherit}}@layer tokens{:root{color-scheme:light dark;--ink:light-dark(#0c1a14,#f2fbf7);--body:light-dark(#3b5249,#c4d9d0);--muted:light-dark(#566e64,#8faaa0);--green:light-dark(#0b7a4b,#1fa36b);--green-deep:light-dark(#065936,#6ee7b7);--green-soft:light-dark(#e3f5ec,#0d2119);--on-green:#fff;--bg:light-dark(#f5f9f7,#08100d);--card:light-dark(#ffffffb8,#0b1a14b8);--header-bg:light-dark(#f5f9f7fb,#08100dfb);--hairline:light-dark(#0b7a4b24,#1fa36b38);--code-bg:light-dark(#0c1a140f,#f2fbf70f);--panel:light-dark(#08120e,#0f1c17);--panel-edge:light-dark(#163026,#24443a);--glow:#34d399;--shell-text:#f0faf5;--shell-dim:#86b3a2;--shell-red:#f58f8f;--shell-blue:#8cc4ff;--scrim:#08100d73;--shadow:0 8px 30px #08382414;--radius:16px;--sans:"Inter", "SF Pro Text", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"SF Mono", "JetBrains Mono", ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;--breakpoint-desktop:940px;--page-max-width:1440px;--prose-measure:68ch}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}}@layer base{body{font-family:var(--sans);background:var(--bg);color:var(--body);-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.65}h1,h2,h3{color:var(--ink);letter-spacing:-.02em;line-height:1.15}a{color:var(--green);text-decoration:none}code:not(pre code){font-family:var(--mono);background:var(--code-bg);color:var(--ink);overflow-wrap:anywhere;border-radius:5px;padding:.1em .35em;font-size:.875em}:focus-visible{outline:2px solid var(--green);outline-offset:2px}.skip-link{z-index:100;background:var(--panel);color:var(--shell-text);border-radius:8px;padding:10px 16px;position:absolute;top:-48px;left:12px}.skip-link:focus{top:12px}}@layer components{.search-dialog{border:1px solid var(--hairline);border-radius:var(--radius);background:var(--bg);width:min(92vw,640px);max-width:640px;max-height:min(80vh,560px);color:var(--body);box-shadow:var(--shadow);margin:10vh auto auto;padding:0;overflow:hidden}.search-dialog::backdrop{background:var(--scrim)}.search-panel{max-height:inherit;flex-direction:column;display:flex}.search-field{border-bottom:1px solid var(--hairline);align-items:center;gap:10px;padding:14px 16px;display:flex}.search-field-icon{width:18px;height:18px;color:var(--muted);flex:none}.search-input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;flex:1;padding:4px 0;font-size:1rem}.search-input::-webkit-search-cancel-button{appearance:none}.search-input:focus-visible{outline:none}.search-close{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;width:30px;height:30px}.search-close svg{width:16px;height:16px}.search-message,.search-more,.search-fallback{color:var(--muted);margin:0;padding:14px 16px;font-size:.9rem}.search-more{border-top:1px solid var(--hairline)}.search-fallback a{color:var(--green);font-weight:600}.search-results{margin:0;padding:6px;list-style:none;overflow-y:auto}.search-result-link{color:var(--body);border-radius:10px;grid-template-columns:1fr auto;gap:2px 12px;padding:10px 12px;display:grid}.search-result-title{color:var(--ink);font-weight:600}.search-result-group{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);grid-area:1/2;align-self:center;font-size:.75rem}.search-result-excerpt{color:var(--muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;grid-column:1/-1;font-size:.875rem;display:-webkit-box;overflow:hidden}.search-result-excerpt mark{background:var(--green-soft);color:var(--green-deep);border-radius:3px}.search-result[aria-selected=true] .search-result-link,.search-result-link:hover,.search-result-link:focus-visible{background:var(--green-soft)}.search-hints{border-top:1px solid var(--hairline);color:var(--muted);flex-wrap:wrap;gap:14px;padding:10px 16px;font-size:.75rem;display:flex}.search-hints kbd{border:1px solid var(--hairline);background:var(--card);min-width:18px;font-family:var(--mono);text-align:center;color:var(--body);border-radius:5px;margin-right:3px;padding:1px 5px;font-size:.72rem;display:inline-block}@media (prefers-reduced-motion:no-preference){.search-result-link,.search-close{transition:background .16s,color .16s}}@media (width<=940px){.search-dialog{width:94vw;margin-top:6vh}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{border-radius:10px;justify-content:center;align-items:center;padding:10px 20px;font-size:15px;font-weight:700;display:inline-flex}.btn-primary{background:var(--green);color:var(--on-green)}.btn-primary:hover,.btn-primary:focus-visible{background:var(--green-deep);color:var(--on-green)}.btn-ghost{border:1px solid var(--hairline);color:var(--body)}.btn-ghost:hover,.btn-ghost:focus-visible{color:var(--green-deep);border-color:var(--green)}.site-header{z-index:50;background:var(--header-bg);-webkit-backdrop-filter:blur(14px)saturate(1.4);border-bottom:1px solid var(--hairline);position:sticky;top:0}.site-header-inner{max-width:var(--page-max-width);align-items:center;gap:24px;min-height:64px;margin:0 auto;padding:0 24px;display:flex}.site-logo{color:var(--ink);letter-spacing:-.02em;flex:none;align-items:center;gap:4px;font-weight:800;display:flex}.site-logo span{text-box:trim-both ex alphabetic;line-height:1}.site-logo svg{width:24px;height:24px;color:var(--green)}.site-nav{flex:1;align-items:center;gap:18px;display:flex}.site-nav a{color:var(--body);font-size:14.5px;font-weight:600}.site-nav a:hover,.site-nav a:focus-visible{color:var(--green-deep)}.site-nav a[aria-current]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--green);text-underline-offset:8px;text-decoration-thickness:2px}.site-header-actions{align-items:center;gap:14px;min-width:0;display:flex}.site-header-actions>:not(.search-control){flex:none}.search-control,.menu-button{width:34px;height:34px;color:var(--body);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.search-control:hover,.search-control:focus-visible{color:var(--green-deep);background:var(--green-soft)}.search-control svg,.menu-button svg{width:18px;height:18px}.github-link{width:34px;height:34px;color:var(--body);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.github-link svg{width:19px;height:19px}.search-label,.search-kbd,.site-header:has(.version-switcher) .search-label,.site-header:has(.version-switcher) .search-kbd{display:none}@media (width>940px){.site-header .search-control{white-space:nowrap;border:1px solid var(--hairline);width:auto;min-width:34px;color:var(--muted);flex:0 auto;justify-content:flex-start;gap:8px;padding:0 8px 0 10px;overflow:hidden}.site-header .search-control svg{flex:none;width:15px;height:15px}.site-header .search-label{padding-right:12px;font-size:13.5px;display:inline}.site-header:has(.version-switcher) .search-control{justify-content:center;width:34px;padding:0}.site-header .search-kbd{font-family:var(--sans);border:1px solid var(--hairline);border-radius:5px;padding:1px 6px;font-size:11.5px;font-weight:600;display:inline}}.github-link:hover,.github-link:focus-visible{color:var(--green-deep)}.sign-in-link{color:var(--green);border:1px solid var(--hairline);border-radius:10px;padding:5px 12px;font-size:14.5px;font-weight:600}.sign-in-link:hover,.sign-in-link:focus-visible{color:var(--green-deep);border-color:var(--green)}.theme-control{border:1px solid var(--hairline);border-radius:999px;gap:2px;padding:2px;display:none}html.js .theme-control{display:inline-flex}.theme-choice{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;width:26px;height:26px;padding:0;font-size:14px;font-weight:600;display:inline-flex}.theme-choice svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.theme-choice:hover{color:var(--ink)}.theme-choice[aria-pressed=true]{background:var(--green-soft);color:var(--green-deep)}.site-header .theme-choice-label{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.nav-drawer .theme-choice{width:auto;padding:4px 12px}.menu-button{cursor:pointer;background:0 0;border:0;display:none}@media (width<=940px){html.js .menu-button{display:inline-flex}.site-header-inner{gap:16px}.site-nav a[data-collapsible],.site-header .github-link[data-collapsible],.site-header .sign-in-link[data-collapsible],.site-header .theme-control[data-collapsible]{display:none}}.nav-drawer{border:0;border-left:1px solid var(--hairline);background:var(--bg);width:min(84vw,320px);max-width:320px;height:100%;max-height:100%;color:var(--body);margin:0;padding:20px;position:fixed;inset:0 0 0 auto;overflow-y:auto}.nav-drawer::backdrop{background:var(--scrim)}.nav-drawer-head{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.nav-drawer-title{color:var(--ink);font-weight:700}.drawer-close{color:var(--body);cursor:pointer;background:0 0;border:0;border-radius:8px;width:32px;height:32px}.drawer-close svg{width:18px;height:18px}.nav-drawer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 8px;display:grid}.nav-drawer-nav a{color:var(--body);border-radius:8px;padding:7px 8px;font-weight:600}.nav-drawer-nav a:hover,.nav-drawer-nav a:focus-visible{background:var(--green-soft);color:var(--green-deep)}.nav-drawer-tools{border-top:1px solid var(--hairline);flex-direction:column;align-items:flex-start;gap:12px;margin-top:18px;padding-top:18px;display:flex}.nav-drawer-extra{border-top:1px solid var(--hairline);margin-top:16px;padding-top:16px}.nav-drawer-extra:empty{display:none}.site-footer{border-top:1px solid var(--hairline);margin-top:40px}.site-footer-inner{max-width:var(--page-max-width);grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:32px;margin:0 auto;padding:48px 24px 56px;font-size:14px;display:grid}.site-footer p{margin:0}.site-footer-brand{color:var(--muted)}.site-footer-brand .brand{letter-spacing:-.02em;color:var(--ink);margin-bottom:6px;font-size:17px;font-weight:800}.site-footer-nav,.site-footer-links{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.site-footer-heading{color:var(--ink);margin-bottom:4px;font-size:12.5px;font-weight:700}.site-footer-nav a,.site-footer-links a{color:var(--muted)}.site-footer-nav a:hover,.site-footer-nav a:focus-visible,.site-footer-links a:hover,.site-footer-links a:focus-visible{color:var(--green-deep)}@media (width<=940px){.site-footer-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px;padding:36px 16px 44px}.site-footer-brand{grid-column:1/-1}.site-footer-nav a,.site-footer-links a{padding:6px 0}}.codeblock{position:relative}.copy-btn{border:1px solid var(--panel-edge);cursor:pointer;background:var(--panel);color:var(--shell-dim);font-family:var(--sans);border-radius:6px;padding:3px 9px;font-size:12px;font-weight:600;position:absolute;top:10px;right:10px}.copy-btn:hover,.copy-btn:focus-visible{color:var(--shell-text);border-color:var(--shell-dim)}.codeblock pre{padding-right:64px}}@layer pages;@media (prefers-reduced-motion:no-preference){@layer base{a{transition:color .15s}.skip-link{transition:top .15s}}@layer components{.site-nav a,.github-link,.sign-in-link,.search-control,.theme-choice,.nav-drawer-nav a,.site-footer-nav a,.site-footer-links a{transition:color .15s}.search-control{transition:color .15s,background .15s}.theme-choice,.nav-drawer-nav a{transition:background .15s,color .15s}}@view-transition{navigation:auto}}
