:root{--system-light: #E9E8E3;--system-dark: #191914}:root{--color-brand-50: oklch(.97 .016 137.5);--color-brand-100: oklch(.939 .028 137.5);--color-brand-200: oklch(.883 .045 137.5);--color-brand-300: oklch(.81 .062 137.5);--color-brand-400: oklch(.724 .069 137.5);--color-brand-500: oklch(.626 .063 137.5);--color-brand-600: oklch(.517 .046 137.5);--color-brand-700: oklch(.423 .029 137.5);--color-brand-800: oklch(.355 .017 137.5);--color-brand-900: oklch(.25 .011 137.5);--color-neutral-50: oklch(.97 .005 102.2);--color-neutral-100: oklch(.939 .008 102.2);--color-neutral-200: oklch(.883 .013 102.2);--color-neutral-300: oklch(.81 .018 102.2);--color-neutral-400: oklch(.724 .02 102.2);--color-neutral-500: oklch(.626 .018 102.2);--color-neutral-600: oklch(.517 .013 102.2);--color-neutral-700: oklch(.423 .008 102.2);--color-neutral-800: oklch(.355 .005 102.2);--color-neutral-900: oklch(.25 .003 102.2);--color-danger-50: oklch(.97 .013 29.7);--color-danger-100: oklch(.939 .026 29.7);--color-danger-200: oklch(.883 .053 29.7);--color-danger-300: oklch(.81 .092 29.7);--color-danger-400: oklch(.724 .146 29.7);--color-danger-500: oklch(.626 .158 29.7);--color-danger-600: oklch(.517 .117 29.7);--color-danger-700: oklch(.423 .073 29.7);--color-danger-800: oklch(.355 .043 29.7);--color-danger-900: oklch(.25 .028 29.7);--color-warning-50: oklch(.97 .02 74.5);--color-warning-100: oklch(.939 .042 74.5);--color-warning-200: oklch(.883 .074 74.5);--color-warning-300: oklch(.81 .102 74.5);--color-warning-400: oklch(.724 .115 74.5);--color-warning-500: oklch(.626 .104 74.5);--color-warning-600: oklch(.517 .077 74.5);--color-warning-700: oklch(.423 .048 74.5);--color-warning-800: oklch(.355 .029 74.5);--color-warning-900: oklch(.25 .019 74.5);--color-success-50: oklch(.97 .025 154.6);--color-success-100: oklch(.939 .042 154.6);--color-success-200: oklch(.883 .068 154.6);--color-success-300: oklch(.81 .094 154.6);--color-success-400: oklch(.724 .106 154.6);--color-success-500: oklch(.626 .096 154.6);--color-success-600: oklch(.517 .071 154.6);--color-success-700: oklch(.423 .045 154.6);--color-success-800: oklch(.355 .026 154.6);--color-success-900: oklch(.25 .017 154.6);--color-info-50: oklch(.97 .014 238.2);--color-info-100: oklch(.939 .028 238.2);--color-info-200: oklch(.883 .047 238.2);--color-info-300: oklch(.81 .065 238.2);--color-info-400: oklch(.724 .073 238.2);--color-info-500: oklch(.626 .066 238.2);--color-info-600: oklch(.517 .049 238.2);--color-info-700: oklch(.423 .031 238.2);--color-info-800: oklch(.355 .018 238.2);--color-info-900: oklch(.25 .012 238.2)}[data-theme=light],:root{--background: var(--system-light);--foreground: var(--color-neutral-900);--foreground-muted: var(--color-neutral-600);--foreground-accent: var(--color-brand-700);--card: var(--surface-card);--card-foreground: var(--surface-card-foreground);--input: var(--border);--border: var(--color-neutral-600);--border-muted: var(--color-neutral-300);--primary: var(--color-brand-600);--primary-foreground: var(--color-brand-50);--primary-hover: var(--color-brand-700);--primary-pressed: var(--color-brand-800);--ring: var(--color-brand-500);--muted: var(--color-neutral-50);--disabled: var(--color-neutral-100);--disabled-text: var(--color-neutral-300);--surface-card: var(--color-neutral-50);--surface-card-foreground: var(--color-neutral-900);--surface-card-heading: var(--color-neutral-900);--surface-card-muted: var(--color-neutral-600);--surface-card-tint: var(--color-neutral-900);--surface-card-border: var(--color-neutral-500);--surface-card-border-muted: var(--color-neutral-300);--surface-card-fill: var(--color-neutral-900);--surface-card-on-fill: var(--color-neutral-50);--success: var(--color-success-400);--success-foreground: var(--color-success-900);--success-muted: var(--color-success-100);--success-text: var(--color-success-900);--success-border: var(--color-success-500);--warning: var(--color-warning-400);--warning-foreground: var(--color-warning-900);--warning-muted: var(--color-warning-100);--warning-text: var(--color-warning-900);--warning-border: var(--color-warning-500);--danger: var(--color-danger-500);--danger-foreground: var(--color-danger-900);--danger-muted: var(--color-danger-100);--danger-text: var(--color-danger-900);--danger-border: var(--color-danger-600);--info: var(--color-info-400);--info-foreground: var(--color-info-900);--info-muted: var(--color-info-100);--info-text: var(--color-info-900);--info-border: var(--color-info-500)}:root{--radius-none: 0px;--radius-xs: 5px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 11px;--radius-xl: 14px;--radius-full: 9999px;--border-width-hairline: 1px;--border-width-default: 1px;--border-width-strong: 2px;--ring-width: 2px;--ring-offset: 2px;--shadow-none: none;--shadow-sm: 0px 1px 2px 0px rgba(34,34,32,.03);--shadow-md: 0px 4px 8px 0px rgba(34,34,32,.07);--shadow-lg: 0px 4px 16px 0px rgba(34,34,32,.08);--shadow-xl: 0px 10px 24px 0px rgba(34,34,32,.1);--duration-instant: 0ms;--duration-fast: .15s;--duration-base: .2s;--duration-slow: 267ms;--duration-slower: 355ms;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-enter: cubic-bezier(0, 0, 0, 1);--ease-exit: cubic-bezier(.2, 0, 1, 1)}:root{--shadow: var(--shadow-sm);--font: -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--mono: ui-monospace, "SF Mono", Menlo, monospace;--fs-0: 16px;--fs-1: 14px;--fs-2: 12px;--fs-3: 10px;--fs-4: 9px}:root{--fs--2: .75rem;--fs--1: .875rem;--fs-0: 1rem;--fs-1: 1.156rem;--fs-2: 1.333rem;--fs-3: 1.777rem;--fs-4: 2.369rem;--fs-5: 3.157rem;--sp-1: 8px;--sp-2: 11px;--sp-3: 16px;--sp-4: 21px;--sp-5: 28px;--sp-6: 38px;--sp-7: 50px;--sp-8: 67px;--sp-9: 89px;--content: 720px;--wide: 1200px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font);background:var(--background);color:var(--foreground);font-size:var(--fs-0);line-height:1.75;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.wrap{max-width:var(--wide);margin:0 auto;padding:0 var(--sp-4)}.prose-wrap{max-width:calc(var(--content) + 2 * var(--sp-4));margin:0 auto;padding:0 var(--sp-4)}main{min-height:60vh}.site-header{position:sticky;top:0;z-index:100;background:color-mix(in oklab,var(--background) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-muted)}.site-header .bar{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-2) var(--sp-4);max-width:var(--wide);margin:0 auto}.logo{display:flex;align-items:center;gap:var(--sp-1);font-weight:700;font-size:var(--fs-0);letter-spacing:-.01em;color:var(--foreground);text-decoration:none}.logo svg{display:block}.logo .beta{font-size:10px;font-weight:700;line-height:1;letter-spacing:.06em;text-transform:uppercase;padding:3px 6px;border-radius:999px;color:var(--color-brand-700);background:var(--color-brand-100)}.site-nav{display:flex;align-items:center;gap:var(--sp-3);margin-left:auto}.site-nav a:not(.btn){color:var(--foreground-muted);text-decoration:none;font-size:var(--fs--1);font-weight:600}.site-nav a:not(.btn):hover{color:var(--foreground)}.lang-switch{position:relative}.lang-switch>summary{display:inline-flex;align-items:center;gap:5px;cursor:pointer;list-style:none;color:var(--foreground-muted);font-size:var(--fs--1);font-weight:600;user-select:none}.lang-switch>summary::-webkit-details-marker{display:none}.lang-switch>summary::marker{content:""}.lang-switch>summary:hover,.lang-switch[open]>summary{color:var(--foreground)}.lang-switch>summary svg{opacity:.75}.lang-switch ul{position:absolute;right:0;top:calc(100% + 8px);z-index:200;margin:0;padding:var(--sp-1);list-style:none;min-width:150px;background:var(--card);border:1px solid var(--border-muted);border-radius:var(--radius-md);box-shadow:var(--shadow)}.lang-switch li{margin:0}.lang-switch ul a{display:block;padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-md);color:var(--foreground-muted);text-decoration:none;font-size:var(--fs--1);font-weight:600;white-space:nowrap}.lang-switch ul a:hover{background:var(--background);color:var(--foreground)}.lang-switch ul a.current{color:var(--foreground);cursor:default}.lang-switch ul a.current:after{content:" ✓";color:var(--color-brand-600)}.btn{display:inline-flex;align-items:center;gap:6px;background:var(--card);color:var(--foreground);border:1px solid var(--border-muted);border-radius:999px;padding:var(--sp-1) var(--sp-4);font-size:var(--fs--1);font-weight:600;text-decoration:none;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.btn:hover{border-color:var(--disabled-text)}.btn.primary{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.btn.primary:hover{background:var(--primary-hover);color:var(--primary-foreground)}.btn.lg{padding:var(--sp-2) var(--sp-5);font-size:var(--fs-0)}.btn,.logo{white-space:nowrap}@media(max-width:480px){.site-header .bar{gap:var(--sp-2);padding-inline:var(--sp-3)}.site-nav{gap:var(--sp-2)}.site-nav .btn{padding-inline:var(--sp-3)}.site-nav .drop-1{display:none}.lang-switch>summary span{display:none}}@media(max-width:440px){.site-nav .drop-2{display:none}}@media(max-width:400px){.site-nav .drop-3{display:none}}.prose{font-size:var(--fs-0)}.prose h1{font-size:var(--fs-4);line-height:1.16;letter-spacing:-.03em;font-weight:700;margin:var(--sp-6) 0 var(--sp-4)}.prose h2{font-size:var(--fs-3);line-height:1.29;letter-spacing:-.02em;font-weight:700;margin:var(--sp-6) 0 var(--sp-3)}.prose h3{font-size:var(--fs-2);line-height:1.33;letter-spacing:-.01em;font-weight:600;margin:var(--sp-5) 0 var(--sp-2)}.prose p,.prose ul,.prose ol{margin-bottom:var(--sp-3)}.prose ul,.prose ol{padding-left:var(--sp-4)}.prose li{margin-bottom:var(--sp-1)}.prose a{color:var(--foreground-accent);text-decoration:underline;text-decoration-color:color-mix(in oklab,var(--foreground-accent) 40%,transparent);text-underline-offset:3px}.prose a:hover{text-decoration-color:var(--foreground-accent)}.prose strong{font-weight:700}.prose blockquote{border-left:3px solid var(--border-muted);padding-left:var(--sp-3);color:var(--foreground-muted);margin-bottom:var(--sp-3)}.prose hr{border:none;border-top:1px solid var(--border-muted);margin:var(--sp-6) 0}.prose code{font-family:var(--mono);font-size:.875em;background:var(--color-neutral-100);border-radius:var(--radius-xs);padding:1px 5px}.prose pre{background:var(--color-neutral-100)!important;border-radius:var(--radius-md);padding:var(--sp-3) var(--sp-4);overflow-x:auto;margin-bottom:var(--sp-3);font-size:var(--fs--1);line-height:1.7}.prose pre code{background:none;padding:0;font-size:inherit}.prose table{width:100%;border-collapse:collapse;margin-bottom:var(--sp-3);font-size:var(--fs--1)}.prose th{text-align:left;font-weight:700;border-bottom:2px solid var(--border-muted);padding:var(--sp-1) var(--sp-2)}.prose td{border-bottom:1px solid var(--border-muted);padding:var(--sp-1) var(--sp-2);vertical-align:top}.prose img{max-width:100%;height:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.prose img.state-shot{border:1px solid var(--border-muted)}.prose a.tool-link{font-weight:700;text-decoration-color:var(--primary)}.prose a.tool-link:after{content:" ↗";font-size:.8em;color:var(--foreground-muted)}.page-meta{font-size:var(--fs--1);color:var(--foreground-muted);margin:var(--sp-4) 0 0;display:flex;gap:var(--sp-3);flex-wrap:wrap;align-items:baseline}.breadcrumbs{font-size:var(--fs--1);color:var(--foreground-muted);margin:var(--sp-4) 0 0}.breadcrumbs a{color:var(--foreground-muted);text-decoration:none}.breadcrumbs a:hover{color:var(--foreground);text-decoration:underline}.breadcrumbs .sep{margin:0 6px;color:var(--disabled-text)}.hub-index{list-style:none;padding:0!important;display:grid;gap:var(--sp-2)}.hub-index li{background:var(--card);border-radius:var(--radius-lg);padding:var(--sp-3) var(--sp-4);box-shadow:var(--shadow);margin:0!important}.hub-index li a{font-weight:700;text-decoration:none;color:var(--surface-card-heading);font-size:var(--fs-0)}.hub-index li a:hover{color:var(--foreground-accent);text-decoration:underline}.hub-index li p{margin:2px 0 0;font-size:var(--fs--1);color:var(--surface-card-muted)}.faq{margin-top:var(--sp-6)}.faq details{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow);margin-bottom:var(--sp-2)}.faq summary{cursor:pointer;font-weight:700;padding:var(--sp-3) var(--sp-4);color:var(--surface-card-heading)}.faq details p{padding:0 var(--sp-4) var(--sp-3);color:var(--surface-card-foreground)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:var(--sp-3)}.hub-card{display:block;background:var(--card);border-radius:var(--radius-xl);padding:var(--sp-4);box-shadow:var(--shadow);text-decoration:none;transition:box-shadow var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard)}.hub-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.hub-card h3{font-size:var(--fs-2);letter-spacing:-.01em;color:var(--surface-card-heading);margin-bottom:var(--sp-1)}.hub-card p{font-size:var(--fs--1);color:var(--surface-card-muted);line-height:1.6}.hub-card .count{display:inline-block;margin-top:var(--sp-2);font-size:var(--fs--2);font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--foreground-accent)}.section{padding:var(--sp-8) 0}.section.alt{background:var(--card)}.section a:not(.btn):not(.hub-card){color:var(--foreground-accent);text-decoration:underline;text-decoration-color:color-mix(in oklab,var(--foreground-accent) 40%,transparent);text-underline-offset:3px}.section a:not(.btn):not(.hub-card):hover{text-decoration-color:var(--foreground-accent)}.section.alt .hub-card,.section.alt .faq details{background:var(--background)}.section h2{font-size:var(--fs-3);letter-spacing:-.02em;line-height:1.29;margin-bottom:var(--sp-3)}.section .kicker{font-size:var(--fs--2);font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--foreground-accent);display:block;margin-bottom:var(--sp-2)}.section .sub{font-size:var(--fs-1);color:var(--foreground-muted);max-width:46em}.site-footer{border-top:1px solid var(--border-muted);margin-top:var(--sp-9);padding:var(--sp-7) 0 var(--sp-6);font-size:var(--fs--1);color:var(--foreground-muted)}.site-footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--sp-5)}.site-footer h4{font-size:var(--fs--2);text-transform:uppercase;letter-spacing:.08em;color:var(--foreground);margin-bottom:var(--sp-2)}.site-footer ul{list-style:none}.site-footer li{margin-bottom:var(--sp-1)}.site-footer a{color:var(--foreground-muted);text-decoration:none}.site-footer a:hover{color:var(--foreground);text-decoration:underline}.site-footer .fine{margin-top:var(--sp-5);font-size:var(--fs--2);color:var(--disabled-text)}@media(max-width:760px){.site-footer .cols{grid-template-columns:1fr 1fr}}.docs-layout{display:grid;grid-template-columns:240px minmax(0,var(--content));gap:var(--sp-7);align-items:start;padding-top:var(--sp-5)}.docs-sidebar{position:sticky;top:76px;font-size:var(--fs--1)}.docs-group{margin-bottom:var(--sp-4)}.docs-group h4{font-size:var(--fs--2);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--foreground-muted);margin-bottom:var(--sp-1)}.docs-group ul{list-style:none}.docs-group li{margin:0}.docs-group a{display:block;padding:5px var(--sp-2);border-radius:var(--radius-sm);color:var(--foreground-muted);text-decoration:none;font-weight:500}.docs-group a:hover{color:var(--foreground);background:var(--card)}.docs-group a[aria-current=page]{color:var(--foreground-accent);background:var(--card);font-weight:700}.docs-prose{padding-bottom:var(--sp-8)}.prose img.docs-shot{box-shadow:var(--shadow-sm);border:1px solid var(--border-muted);max-width:100%;height:auto}@media(max-width:860px){.docs-layout{grid-template-columns:1fr;gap:var(--sp-4)}.docs-sidebar{position:static;display:flex;flex-wrap:wrap;gap:var(--sp-4)}.docs-group{margin-bottom:0}}.ad-slot{border-radius:var(--radius-xl);background:var(--color-neutral-100);position:relative;margin:var(--sp-5) 0;min-height:250px}.ad-slot .ad-tag{position:absolute;top:6px;left:10px;font-size:var(--fs--2);text-transform:uppercase;letter-spacing:.08em;color:var(--disabled-text)}.ad-slot .adsbygoogle{display:block;width:100%}.ad-home .ad-slot{margin:0}.ad-home+.section{padding-top:var(--sp-4)}
