:root{color-scheme:light;--surface:#fff;--surface-alt:#f8f8f8;--surface-code:#f6f6f6;--surface-pre:#f9f9f9;--surface-menu:#e2e2e2;--surface-card:#fff;--ink:#373a3c;--ink-strong:#000;--ink-heading-4:#333;--ink-muted:#666;--ink-nav:#666;--ink-faint:#aaa;--link:#3771ad;--rule:#ccc;--rule-soft:#ddd;--rule-faint:#eee;--button:#3771ad;--button-border:#153c63;--button-hover:#285e8e;--on-button:#fff;--button-secondary:#fff;--button-secondary-border:#ccc;--button-secondary-hover:#ebebeb;--selected:#274c71;--selected-bg:#eef3f8;--selected-border:#274c71;--tab-accent:#274c71;--warn-border:#e2c08d;--warn-bg:#fdf6ea;--warn-ink:#7a4a00;--success:#1a7f37;--focus:#0969da;--missing:#b53e3e;--chart-1:#4c78a8;--chart-2:#f58518;--chart-4:#72b7b2;--motion-neutral:#c4c4c4;--motion-watermark:#eee;--shadow-menu:0 0 20px 5px #0003;--shadow-pop:0 4px 14px #00000029;--header:#234a3b;--header-ink:#eee;--header-ink-active:#fff;--header-hover:#e5b928;--g-vegalite:var(--chart-1);--g-vega:var(--chart-2);--g-altair:var(--chart-4);--font-sans:"Helvetica Neue", Helvetica, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;--page-max:1320px;--page-gutter:20px;--header-height:54px;--radius-tag:2px;--radius-button:4px}*,:before,:after{box-sizing:border-box}html{scroll-padding-top:var(--header-height)}[hidden]{display:none!important}body{background:var(--surface);color:var(--ink);font-family:var(--font-sans);text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.5}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}.md a,.sec-note a,.note a,.f-desc a,.prov dd a,#footer-note a,.about-body a,.load-error a,.contribute p a,.status-intro a,.quickstart .note button.link{text-underline-offset:.18em;text-decoration:underline 1px}.md a:hover,.sec-note a:hover,.note a:hover,.f-desc a:hover,.prov dd a:hover,#footer-note a:hover,.about-body a:hover,.load-error a:hover,.contribute p a:hover,.status-intro a:hover,.quickstart .note button.link:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.skip-link{top:8px;left:var(--page-gutter);z-index:30;background:var(--surface);color:var(--link);padding:8px 12px;position:fixed;transform:translateY(calc(-100% - 12px))}.skip-link:focus{transform:none}h1,h2,h3,h4{text-wrap:balance;margin:0}p{margin:0}code,.mono{font-family:var(--font-mono);font-size:.85em}.muted{color:var(--ink-muted)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.vg-header{z-index:20;background:var(--header);font-size:16px;position:sticky;top:0}.vg-nav{max-width:var(--page-max);padding:0 var(--page-gutter);min-height:var(--header-height);flex-wrap:wrap;align-items:center;gap:0 2em;margin:0 auto;display:flex}.vg-header a{color:var(--header-ink);line-height:var(--header-height);text-decoration:none}.vg-header a:hover,.vg-header a:focus-visible{color:var(--header-hover)}.vg-header a[aria-current]{color:var(--header-ink-active);font-weight:700}.vg-header :focus-visible{outline-color:var(--header-hover)}.vg-primary,.vg-secondary{flex-wrap:wrap;align-items:center;gap:0 2em;display:flex}.vg-secondary{margin-left:auto}.vg-projects{margin-left:-20px;position:relative}.vg-title{font-size:1.4em;font-weight:700}.vg-projects>summary{height:var(--header-height);cursor:pointer;color:var(--header-ink);align-items:center;gap:20px;padding:0 20px;list-style:none;display:flex}.vg-projects>summary::-webkit-details-marker{display:none}.vg-projects>summary::marker{content:""}.vg-projects>summary:after{content:"";border-bottom:2px solid;border-right:2px solid;flex:none;width:7px;height:7px;transform:translateY(-2px)rotate(45deg)}.vg-projects[open]>summary{background:var(--surface-menu);color:var(--ink-nav)}.vg-projects[open]>summary:hover{color:var(--ink-strong)}.vg-projects[open] :focus-visible{outline-color:var(--focus)}.vg-projects[open]>summary:after{transform:translateY(2px)rotate(225deg)}.vg-switcher-menu{z-index:10;background:var(--surface-menu);min-width:100%;box-shadow:var(--shadow-menu);display:grid;position:absolute;top:100%;left:0}.vg-header .vg-switcher-menu a{color:var(--ink-nav);font-size:1.2em;font-weight:600;line-height:var(--header-height);padding:0 20px}.vg-header .vg-switcher-menu a:hover,.vg-header .vg-switcher-menu a:focus-visible{color:var(--ink-strong)}.vg-footer{border-top:1px solid var(--rule-faint);margin-top:48px}.footer-row{justify-content:space-between;align-items:center;gap:16px;padding-block:16px;display:flex}.footer-row p{color:var(--ink-muted);font-size:.9em}.footer-gaps{margin-top:4px;display:block}.idl-logo img{width:auto;height:40px;display:block}.g-vega-lite{--g:var(--g-vegalite)}.g-vega{--g:var(--g-vega)}.g-altair{--g:var(--g-altair)}.gtag{color:var(--ink);white-space:nowrap;align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.gdot{background:var(--g);flex:none;width:9px;height:9px}.usage{display:inline-flex}.stack{background:var(--rule-faint);height:8px;display:flex}.stack>span{background:var(--g);height:100%;display:block}.hist{max-width:100%;height:auto;display:block;overflow:visible}.hist .bar{fill:var(--chart-1)}.hist .hit{fill:#0000}.hist-bin:hover .bar,.hist-bin.active .bar{fill:var(--ink-strong)}.spark-wrap{width:max-content;max-width:100%;display:block}.hist-base{stroke:var(--rule);stroke-width:1px}.tip,#vg-tooltip-element.vg-tooltip.custom-theme{background:var(--surface);color:var(--ink);border:1px solid var(--rule);border-radius:var(--radius-button);font-family:var(--font-sans);font-size:12px;line-height:1.4;box-shadow:2px 2px 4px #0000001a}.tip{z-index:1000;pointer-events:none;gap:1px;max-width:280px;padding:6px 8px;display:grid;position:fixed}.tip strong{color:var(--ink-strong)}.tip span{color:var(--ink-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:11.5px}#vg-tooltip-element.custom-theme td.key{color:var(--ink-muted)}#vg-tooltip-element.custom-theme td.value{font-family:var(--font-mono);color:var(--ink-strong)}:where(.catalog-chart,.explore-chart) svg .role-axis-label text,:where(.catalog-chart,.explore-chart) svg .role-legend-label text{fill:var(--ink-muted)}:where(.catalog-chart,.explore-chart) svg .role-axis-title text,:where(.catalog-chart,.explore-chart) svg .role-legend-title text,:where(.catalog-chart,.explore-chart) svg .mark-text.role-mark text{fill:var(--ink)}:where(.catalog-chart,.explore-chart) svg .role-axis-domain line,:where(.catalog-chart,.explore-chart) svg .role-axis-tick line{stroke:var(--rule)}:where(.catalog-chart,.explore-chart) svg .role-axis-grid line{stroke:var(--rule-faint)}.catalog-chart svg [class*=brush_brush_bg] path{fill:var(--ink)}.catalog-chart svg [class*=brush_brush]:not([class*=brush_brush_bg]) path{stroke:var(--ink-muted)}.vega-embed{width:100%}.vega-embed.has-actions>details>summary{opacity:1}.vega-embed .vega-actions{background:var(--surface);border:1px solid var(--rule-soft);border-radius:var(--radius-button);box-shadow:var(--shadow-pop);font-family:var(--font-sans)}.vega-embed .vega-actions a{color:var(--ink);font-family:var(--font-sans)}.vega-embed .vega-actions a:hover{background:var(--button-secondary-hover);color:var(--ink-strong)}.vega-embed .vega-actions:before,.vega-embed .vega-actions:after{display:none}.btn{border-radius:var(--radius-button);border:1px solid var(--button-secondary-border);background:var(--button-secondary);min-height:40px;color:var(--ink-heading-4);font:15px/1 var(--font-sans);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 16px;text-decoration:none;display:inline-flex}.btn:hover{background:var(--button-secondary-hover);text-decoration:none}.btn-primary{background:var(--button);border-color:var(--button-border);color:var(--on-button)}.btn-primary:hover{background:var(--button-hover)}.btn-quiet{color:var(--link);background:0 0;border-color:#0000;padding-inline:0}.btn-quiet:hover{background:0 0;text-decoration:underline}.table-scroll{border:1px solid var(--rule);background:var(--surface);overflow-x:auto}table.preview{border-collapse:collapse;font-family:var(--font-mono);font-variant-numeric:tabular-nums;min-width:100%;font-size:12.5px}table.preview th{font-family:var(--font-sans);color:var(--ink-strong);background:var(--surface);font-weight:700;position:sticky;top:0}table.preview th,table.preview td{text-align:left;white-space:nowrap;border-bottom:1px solid var(--rule);padding:6px 13px}table.preview tbody tr:nth-child(2n) td{background:var(--surface-alt)}table.preview tr:last-child td{border-bottom:0}.plain-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.md>*+*{margin-top:.75em}.md h3,.md h4,.md h5{color:var(--ink-strong);margin-top:1.1em;font-size:1.1em;font-weight:700}.md blockquote{border-left:4px solid var(--rule-soft);color:var(--ink-muted);margin:.75em 0 0;padding:0 15px}.md code{background:var(--surface-code);border:1px solid var(--rule-soft);margin:0 2px;padding:0 4px}.md ul,.md ol{padding-left:1.2em}.md pre{background:var(--surface-pre);border:1px solid var(--rule-faint);margin:.75em 0 0;padding:8px 10px;font-size:12.5px;line-height:1.5;overflow-x:auto}.md pre code{font-size:inherit;background:0 0;border:0;margin:0;padding:0}.load-error{gap:6px;max-width:520px;padding:24px;display:grid}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (forced-colors:active){.stack>span,.gdot{forced-color-adjust:none}.stack{outline:1px solid canvastext}.chip[aria-pressed=true],.seg button[aria-pressed=true],.motion-play[aria-pressed=true]{outline-offset:-2px;outline:2px solid highlight}.hist-bin.active .bar{fill:highlight}table.status tbody tr:target>*{border-block:2px solid highlight}:is(.catalog-chart,.explore-chart) svg text{fill:canvastext!important}:is(.catalog-chart,.explore-chart) svg :is(.role-axis-domain,.role-axis-tick) line{stroke:canvastext!important}:is(.catalog-chart,.explore-chart) svg .role-axis-grid line{stroke:graytext!important}.catalog-chart svg [class*=brush_brush_bg] path{fill:highlight!important}.catalog-chart svg [class*=brush_brush]:not([class*=brush_brush_bg]) path,.catalog-chart svg .mark-symbol path:active,.catalog-chart svg .mark-symbol a:active path{stroke:highlight!important}}.wrap{max-width:var(--page-max);padding-inline:var(--page-gutter);margin:0 auto}#page{outline:none}.phone-only{display:none}.ds-bar{justify-content:space-between;align-items:center;gap:16px;padding-top:18px;font-size:14px;display:flex}.crumbs{color:var(--ink-muted);gap:8px;display:flex}.crumbs [aria-current]{color:var(--ink)}.stepper{align-items:center;gap:16px;display:flex}.stepper .mono{color:var(--ink-muted);font-size:12px}.step{text-decoration:none}.ds-head{flex-direction:column;gap:14px;padding-top:20px;display:flex}.ds-name{font-family:var(--font-mono);letter-spacing:-.02em;color:var(--ink-strong);overflow-wrap:anywhere;font-size:52px;font-weight:400;line-height:1}.ds-title{color:var(--ink-muted);max-width:46em;font-size:18px;line-height:1.4}.lede{max-width:46em;font-size:1.3em;font-weight:300;line-height:1.5}.body-md{max-width:66ch;font-size:15px}.badges{flex-wrap:wrap;gap:8px;display:flex}.badge{color:var(--ink);white-space:nowrap;border:1px solid var(--rule);border-radius:var(--radius-tag);background:var(--surface);align-items:center;gap:5px;padding:2px 8px;font-size:12.5px;display:inline-flex}.badge.warn{border-color:var(--warn-border);background:var(--warn-bg);color:var(--warn-ink)}.badge-dots{display:inline-flex}.badge-dots .gdot+.gdot{margin-left:-3px}.ds-body{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:40px;padding-top:24px;display:grid}.ds-main{flex-direction:column;gap:36px;min-width:0;display:flex}.section-nav{top:var(--header-height);z-index:5;background:var(--surface);position:sticky}a.tab,a.tab:hover{text-decoration:none;display:inline-block}.section-nav .tab[aria-current]{color:var(--ink-strong);border-bottom-color:var(--tab-accent);font-weight:700}.tab .n{font:12px var(--font-mono);color:var(--ink-muted);margin-left:4px;font-weight:400}.ds-sec{min-width:0;scroll-margin-top:calc(var(--header-height) + 56px);flex-direction:column;gap:12px;display:flex}.ds-sec h2{color:var(--ink-strong);font-size:22px;font-weight:500}.ds-sec h2:focus{outline:none}.sec-meta,.sec-note{color:var(--ink-muted);font-size:13px}.sec-foot{justify-content:space-between;align-items:center;gap:24px;display:flex}.sec-foot .btn{flex:none}.seg{border:1px solid var(--rule);border-radius:var(--radius-button);display:inline-flex;overflow:hidden}.seg button{appearance:none;border:0;border-right:1px solid var(--rule);background:var(--surface);font:13px var(--font-sans);color:var(--ink);cursor:pointer;padding:6px 12px}.seg button:last-child{border-right:0}.seg button[aria-pressed=true]{background:var(--button);color:var(--on-button)}.dict{border-collapse:collapse;width:100%;font-size:14px}.dict th{text-align:left;color:var(--ink-muted);border-bottom:1px solid var(--rule);padding:8px 12px 8px 0;font-size:12.5px;font-weight:700}.dict td{border-bottom:1px solid var(--rule-faint);vertical-align:middle;padding:10px 12px 10px 0}.f-sum{overflow-wrap:anywhere}.f-name{overflow-wrap:break-word}.dict code{background:var(--surface-code);border:1px solid var(--rule-soft);color:var(--ink);padding:0 4px;font-size:13px}.f-desc{color:var(--ink-muted);max-width:44ch;margin-top:4px;font-size:13px}.f-title{color:var(--ink);max-width:44ch;margin-top:4px;font-size:13.5px;display:block}.f-key{font:11px var(--font-mono);color:var(--ink-muted);border:1px solid var(--rule);border-radius:var(--radius-tag);white-space:nowrap;margin-left:6px;padding:0 4px}.f-meta{color:var(--ink-muted);max-width:44ch;margin-top:4px;font-size:12.5px}.f-format{color:var(--ink-muted);white-space:nowrap;margin-top:4px;font-size:11.5px;display:block}.joins code{font-size:12.5px}.type{font:11.5px var(--font-mono);color:var(--ink-heading-4);background:var(--surface-code);border:1px solid var(--rule-soft);border-radius:var(--radius-tag);white-space:nowrap;padding:1px 6px}.f-dist{width:136px;color:var(--ink-muted);font-size:12.5px}.f-sum{font-size:13.5px}.f-sum.mono{font-size:12.5px}.dict th.f-miss,.f-miss{text-align:right;white-space:nowrap;padding-right:0}td.f-miss{color:var(--ink-muted);font-size:12.5px}.spark{display:block}.f-add{color:var(--ink-muted);white-space:nowrap;text-underline-offset:.18em;margin-left:8px;font-size:12px;text-decoration:underline 1px}.f-add:hover{color:var(--link)}.status-head{flex-direction:column;gap:10px;padding-top:20px;display:flex}.status-head h1{color:var(--ink-strong);font-size:40px;font-weight:400;line-height:1.1}.status-intro{max-width:66ch;font-size:15px}.status-body{flex-direction:column;gap:16px;padding-top:28px;display:flex}.kv.status-sum{grid-template-columns:150px minmax(0,1fr);max-width:420px}.status-scroll{position:relative}table.status{border-collapse:collapse;font-variant-numeric:tabular-nums;min-width:100%;font-size:13.5px}table.status th,table.status td{text-align:left;white-space:nowrap;vertical-align:top;border-bottom:1px solid var(--rule-faint);padding:7px 12px}table.status thead th{color:var(--ink-muted);border-bottom-color:var(--rule);font-size:12.5px}table.status tbody tr:last-child>*{border-bottom:0}table.status tbody th{background:var(--surface);font:13px var(--font-mono);position:sticky;left:0}table.status .st-num{text-align:right}.st-ok,.st-note,.st-info{color:var(--ink-muted)}.st-gap{color:var(--ink-strong)}.st-na{color:var(--ink-faint)}table.status td.st-info{white-space:normal;min-width:16em}table.status tbody tr:target>*{background:var(--selected-bg)}.binds{gap:18px;font-size:13px;display:flex}.binds .vega-bind{flex:0 auto;min-width:0}.binds .vega-bind label{align-items:center;gap:6px;min-width:0;display:flex}.binds .vega-bind-name{color:var(--ink-muted);line-height:18px}.binds[data-reserve]{min-height:32px}.binds select{border:1px solid var(--rule);border-radius:var(--radius-button);background:var(--surface);height:32px;color:var(--ink);font:13px var(--font-mono);text-overflow:ellipsis;min-width:0;max-width:100%;padding:0 6px}.explore-chart{min-height:var(--chart-h,0);position:relative}.explore-view.pending{visibility:hidden;position:absolute;inset:0}@media (width<=640px){.explore-chart{min-height:var(--chart-h-phone,var(--chart-h,0))}}.explore-chart>.btn.draw:only-child{width:fit-content;height:fit-content;margin:auto;position:absolute;inset:0}.explore-chart .chart-preview{max-width:100%;height:auto;display:block}.explore-chart .chart-preview+.btn{margin-top:12px}.chart-foot{justify-content:space-between;align-items:center;gap:16px;display:flex}.chart-foot .btn{flex:none}.chart-caption{color:var(--ink-muted);flex-direction:column;gap:3px;font-size:13px;display:flex}.features{color:var(--ink-muted);font-size:12px}.ds-image{margin:0}.ds-image img{max-width:200px;image-rendering:pixelated;border:1px solid var(--rule-soft)}.ex-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none;display:grid}.ex{flex-direction:column;gap:4px;min-width:0;display:flex}.ex-thumb{aspect-ratio:4/3;outline:1px solid var(--rule-soft);outline-offset:-1px;background:#fff;margin-bottom:2px;padding:6px;display:block;overflow:hidden}.ex-thumb:hover{outline:2px solid var(--link)}.ex-thumb img{object-fit:contain;width:100%;height:100%;display:block}.ex-name{color:var(--ink-strong);align-items:baseline;gap:6px;font-size:14px;text-decoration:none;display:flex}.ex-name:hover{text-decoration:underline}.ex-name .gdot{flex:none}.ex-links{padding-left:15px;font-size:12.5px}.ex-links a{padding:6px 0;display:inline-block}.shelf-empty{border:1px dashed var(--rule);gap:6px;max-width:60ch;padding:20px;display:grid}.shelf-empty p:first-child{color:var(--ink-strong);font-size:17px}.kv{grid-template-columns:96px minmax(0,1fr);gap:8px 12px;margin:0;font-size:14px;display:grid}.kv dt{color:var(--ink-muted)}.kv dd{overflow-wrap:anywhere;min-width:0;margin:0}.kv.prov{grid-template-columns:140px minmax(0,1fr)}.kv code{background:var(--surface-code);border:1px solid var(--rule-soft);color:var(--ink);padding:0 4px}.ds-rail{flex-direction:column;gap:16px;min-width:0;display:flex}.rail-box{border:1px solid var(--rule-soft);background:var(--surface-card);flex-direction:column;gap:12px;min-width:0;padding:16px;display:flex}.rail-box h3{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);font-size:13px;font-weight:700}.rail-use .tabs{margin:0 -4px}.rail-use .tab{padding:8px;font-size:14px}.rail-use .snippet{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.rail-stack .usage,.rail-stack .stack{width:100%;height:10px;display:flex}.rail-usage{grid-template-columns:auto 1fr auto;align-items:center;gap:6px 8px;font-size:14px;display:grid}.rail-usage .mono{color:var(--ink);font-size:12px}.motion-controls{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.motion-play{min-width:84px}.motion-scrub{flex:260px;align-items:center;gap:12px;min-width:0;display:flex}.motion-scrub input{min-width:0;accent-color:var(--button);flex:1}.motion-year{font-family:var(--font-mono);font-variant-numeric:tabular-nums;min-width:4ch;font-size:14px}.motion-regions{flex-wrap:wrap;gap:6px;display:flex}.motion-regions .chip{font:13px var(--font-sans);border-radius:var(--radius-button);border:1px solid var(--rule);background:var(--surface);color:var(--ink);cursor:pointer;padding:5px 10px}.motion-regions .chip[aria-pressed=true]{background:var(--selected-bg);border-color:var(--selected-border);color:var(--selected)}.motion-chart{background:var(--surface);border:1px solid var(--rule-soft);width:100%;min-width:0;min-height:300px;padding:12px 8px 4px;overflow:hidden}.motion-note{font-size:14px}.motion-foot{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.tabs{border-bottom:1px solid var(--rule);gap:4px;display:flex}.tab{appearance:none;font:15px var(--font-sans);color:var(--ink-nav);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px}.tab:hover{color:var(--ink-strong)}.tab[aria-selected=true]{color:var(--ink-strong);border-bottom-color:var(--tab-accent);font-weight:700}.snippet{background:var(--surface-pre);border:1px solid var(--rule-faint);font:12.5px/1.5 var(--font-mono);color:var(--ink);white-space:pre;margin:0;padding:12px;position:relative;overflow-x:auto}.snippet code{font:inherit}.snippets .snippet{border-top:0;min-height:48px;padding-right:72px}.snippets{grid-template-columns:minmax(0,1fr);display:grid}.snippets>.snippet[role=tabpanel]{grid-area:3/1}.snippets-compact>.snippet[role=tabpanel]{grid-row:2}.snippets-compact .tabs{flex-wrap:wrap;gap:0}.snippets-compact .tab{padding-inline:10px}.snippets>.snippet-url{border-top:1px solid var(--rule-faint);margin-bottom:8px}.snippets>.snippet[hidden]{visibility:hidden;display:block!important}.quickstart .snippet{white-space:pre-wrap;overflow-wrap:anywhere}.copy-btn{appearance:none;border:1px solid var(--button-secondary-border);border-radius:var(--radius-button);background:var(--surface);font:12px var(--font-sans);color:var(--ink-heading-4);cursor:pointer;padding:4px 8px;position:absolute;top:8px;right:8px}.copy-btn:hover{background:var(--button-secondary-hover)}.copy-btn[data-copied]{border-color:var(--success);color:var(--success)}button.link{appearance:none;font:inherit;color:var(--link);cursor:pointer;background:0 0;border:0;padding:0}button.link:hover{text-decoration:underline}.chip{border:1px solid var(--rule);border-radius:var(--radius-button);background:var(--surface);font:13px var(--font-sans);color:var(--ink);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:5px 10px;display:inline-flex}.chip .n{font:12px var(--font-mono);color:var(--ink-muted)}.chip[aria-pressed=true]{border-color:var(--selected-border);background:var(--selected-bg);color:var(--selected)}.chip .gtag{font-size:inherit;color:inherit}.format-swatch{forced-color-adjust:none;border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.format-key{flex-wrap:wrap;gap:16px;font-size:13px;display:flex}.format-key>span{align-items:center;gap:6px;display:inline-flex}.home-heading{padding-top:24px;padding-bottom:22px}.home-title{color:var(--ink-strong);margin:0 0 8px;font-size:34px;font-weight:300;line-height:1.2}.home-title b{font-weight:700}.home-lead{max-width:64ch;font-size:18px;line-height:1.5}.showcase{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.showcase li{min-width:0}.showcase a{border:1px solid var(--rule-soft);background:var(--surface-card);height:100%;color:var(--ink);flex-direction:column;text-decoration:none;transition:border-color .16s,background-color .16s;display:flex}.showcase a:is(:hover,:focus-visible){border-color:var(--link);background:var(--surface-alt)}.showcase a:is(:hover,:focus-visible) .showcase-name{color:var(--link);text-underline-offset:3px;text-decoration:underline}.showcase img{object-fit:contain;background:#fff;width:100%;height:116px;padding:6px;display:block}.showcase-caption{border-top:1px solid var(--rule-soft);flex:1;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.showcase-name{overflow-wrap:anywhere;min-width:0;font-size:12px;line-height:1.5}.showcase-arrow{color:var(--ink-muted);flex:none;font-size:14px}.intro{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding-top:24px;display:grid}.intro-text{flex-direction:column;gap:12px;display:flex}.intro .lead{color:var(--ink-muted);font-size:15px;line-height:1.5}.release{color:var(--ink-muted);white-space:pre-wrap;font-size:13px}.lead-buttons{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.quickstart-link{white-space:nowrap;padding:8px 0;font-size:14px}.quickstart{grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:32px;margin-top:24px;display:grid}.quickstart-intro{flex-direction:column;align-items:start;gap:12px;display:flex}.quickstart-intro h3{color:var(--ink-strong);font-size:20px}.quickstart-intro p{max-width:44ch;font-size:15px}#quickstart{scroll-margin-top:var(--header-height)}.quickstart .note{color:var(--ink-muted);margin-top:8px;font-size:13px}.quickstart .note code{background:var(--surface-code);border:1px solid var(--rule-soft);color:var(--ink);margin:0 1px;padding:0 4px}.browse,.use,.about{padding-top:48px}.browse{flex-direction:column;gap:16px;display:flex}.browse h2,.use h2,.about h2{color:var(--ink-strong);font-size:28px;font-weight:500}.use h2{border-bottom:1px solid var(--rule);padding-bottom:1px}.sec-head{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:1px;display:flex}.status{color:var(--ink-muted);white-space:pre-wrap;text-align:right;font-size:13px}.catalog-figure{min-width:0;margin:0 0 12px}.usage-scope{color:var(--ink-muted);margin-bottom:8px;font-size:13px}.catalog-chart{position:relative;container:catalog/inline-size}.catalog-chart svg{-webkit-tap-highlight-color:transparent}.catalog-chart svg .mark-symbol path:active,.catalog-chart svg .mark-symbol a:active path{stroke:var(--focus);stroke-width:3px}.chart-static svg,.chart-live svg.marks{width:100%;height:auto;display:block}.chart-static{padding-right:38px;display:none}.catalog-chart .chart-live{width:100%}.chart-live.pending{visibility:hidden;position:absolute;inset:0}.chart-note{color:var(--ink-muted);text-align:center;margin-top:4px;font-size:13px}.filters{flex-wrap:wrap;align-items:center;gap:12px;margin-top:4px;display:flex}.filters input[type=search]{border:1px solid var(--rule);border-radius:var(--radius-button);background:var(--surface);width:360px;max-width:100%;height:36px;color:var(--ink);font:15px var(--font-sans);padding:0 10px}.chip-row{flex-wrap:wrap;gap:12px;display:flex}.chip-group{align-items:center;gap:6px;display:flex}.chip-label{color:var(--ink-muted);margin-right:2px;font-size:13px}.sort{color:var(--ink-muted);align-items:center;gap:6px;margin-left:auto;font-size:13px;display:flex}.sort select{border:1px solid var(--rule);border-radius:var(--radius-button);background:var(--surface);height:32px;color:var(--ink);font:14px var(--font-sans)}.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.card{border:1px solid var(--rule-soft);background:var(--surface-card);color:var(--ink);flex-direction:column;gap:10px;padding:16px;text-decoration:none;display:flex}.card:hover{outline:2px solid var(--link);outline-offset:-1px;text-decoration:none}.card-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.card-head .mono{color:var(--ink-muted);font-size:13px}.card-name{font:bold 15px var(--font-mono);color:var(--ink-strong);overflow-wrap:anywhere}.card-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;line-height:1.45;display:-webkit-box;overflow:hidden}.card-foot{flex-direction:column;gap:10px;margin-top:auto;display:flex}.card-meta{color:var(--ink-muted);flex-wrap:wrap;gap:4px 12px;font-size:13px;display:flex}.card-usage{align-items:center;gap:10px;display:flex}.card-usage .mono{color:var(--ink);font-size:12px}.card .stack{width:120px}.cards-empty{color:var(--ink-muted)}html.js .cards:not([data-managed]):not([data-expanded])>.card:nth-child(n+10),html.js .ex-grid:not([data-managed])>.ex:nth-child(n+9),html:not(.js) :is(.filters,.browse-foot .more,#examples .seg,#examples .more,.motion-controls,.motion-regions,.explore){display:none}.browse-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;display:flex}.gallery-key{flex-wrap:wrap;gap:16px;display:flex}.gallery-key .gtag{color:var(--ink-muted)}.use-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:16px;display:grid}.use-grid>div{flex-direction:column;gap:8px;min-width:0;display:flex}.use-grid h3{color:var(--ink-strong);font-size:17px}.use-grid p,.use-link{font-size:14px}.use-grid .snippet{font-size:12px}.about{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);align-items:start;gap:20px 40px;display:grid}.about>h2{grid-column:1/-1}.about-list{border:1px solid var(--rule-soft);border-radius:var(--radius-button);min-width:0}.about-item{scroll-margin-top:16px}.about-item+.about-item{border-top:1px solid var(--rule-soft)}.about-item summary{cursor:pointer;min-height:76px;color:var(--ink-strong);border-radius:var(--radius-button);align-items:center;gap:24px;padding:18px 20px;list-style:none;transition:background-color .16s;display:flex}.about-item summary::-webkit-details-marker{display:none}.about-item summary::marker{content:""}.about-item summary:hover{background:var(--surface-alt)}.about-item summary:focus-visible{outline-offset:-3px;background:var(--surface-alt)}.about-label{flex:1;gap:4px;min-width:0;display:grid}.about-title{font-size:16px;font-weight:600;line-height:1.4}.about-item .hint{color:var(--ink-muted);font-size:14px;line-height:1.5}.about-item summary:after{content:"";width:8px;height:8px;color:var(--ink-muted);border-bottom:2px solid;border-right:2px solid;flex:none;margin:0 4px;transition:transform .22s;transform:rotate(-45deg)}.about-item[open]>summary:after{transform:rotate(45deg)}.about-body{overflow-wrap:anywhere;max-width:74ch;padding:0 52px 20px 20px;font-size:15px;line-height:1.65}@supports selector(details::details-content) and (transition-behavior:allow-discrete){.about-item::details-content{transition:grid-template-rows .22s ease, content-visibility .22s allow-discrete;grid-template-rows:0fr;display:grid}.about-item[open]::details-content{grid-template-rows:1fr}.about-panel{min-height:0;overflow:hidden}.about-item.about-reveal::details-content{transition:none}}@media (prefers-reduced-motion:reduce){.about-item::details-content,.about-item summary,.about-item summary:after{transition:none}}.contribute{border:1px solid var(--rule-soft);border-radius:var(--radius-button);background:var(--surface-alt);flex-direction:column;gap:12px;padding:24px;display:flex}.contribute h3{color:var(--ink-strong);font-size:17px}.contribute p,.contribute a{font-size:14px}@media (width<=900px){body{font-size:15px}.vg-header{position:static}html{scroll-padding-top:0}.ds-body{grid-template-columns:minmax(0,1fr);gap:24px}.ds-rail{order:-1;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.section-nav{top:0}.ds-sec{scroll-margin-top:56px}.ex-grid,.showcase{grid-template-columns:repeat(3,minmax(0,1fr))}.showcase>li:nth-child(n+7){display:none}.intro{grid-template-columns:minmax(0,1fr);gap:16px}.quickstart{grid-template-columns:minmax(0,1fr);gap:20px}.about{grid-template-columns:minmax(0,1fr)}.cards,.use-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.vg-nav{gap:2px 18px;min-height:0;padding:6px 16px 8px}.vg-primary,.vg-secondary{display:contents}.vg-header a{font-size:15px;line-height:28px}.vg-title{font-size:19px}.vg-nav:after{content:"";flex-basis:100%;order:2}.vg-primary a{order:3}.vg-secondary a{order:1;margin-left:auto}.vg-secondary a[data-wide]{display:none}.vg-projects{margin-left:-16px}.vg-projects>summary{height:44px;padding-inline:16px}.vg-header .vg-switcher-menu a{padding-inline:16px;line-height:44px}}@media (width<=640px){.wrap{padding-inline:16px}.wide-only,.chip-label,.use-link{display:none}.home-heading{padding-top:20px;padding-bottom:18px}.home-title{font-size:30px;line-height:1.15}.home-lead{font-size:16px}.showcase{grid-template-columns:repeat(2,minmax(0,1fr))}.showcase>li:nth-child(n+5){display:none}.intro{grid-template-columns:minmax(0,1fr);gap:20px;padding-top:20px}.lead-buttons{gap:8px}.lead-buttons .btn{min-height:44px}.browse-foot .more{width:100%;min-height:44px}.tab{padding:12px 10px;font-size:14px}.snippets .snippet{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.copy-btn{min-height:32px}.browse,.use,.about{padding-top:36px}.browse{gap:12px}.browse h2,.use h2,.about h2{font-size:24px}.browse .catalog-chart .vega-embed.has-actions,.chart-static{padding-right:0}html.js .cards:not([data-managed]):not([data-expanded])>.card:nth-child(n+5){display:none}.filters input[type=search]{width:100%;height:44px;font-size:16px}.chip-row,.chip-group{flex-wrap:wrap}.gallery-scope .chip-label{flex-basis:100%;display:block}.chip{min-height:44px}.sort{margin-left:0}.sort select{height:36px}.cards{grid-template-columns:minmax(0,1fr)}.card-foot{flex-direction:row;justify-content:space-between;align-items:center}.card-size,.card-ex{display:none}.card .stack{width:80px}.use-grid{grid-template-columns:minmax(0,1fr);gap:16px}.about-item summary{gap:16px;padding:16px}.about-body{padding:0 16px 20px}.contribute{padding:16px}.phone-only{display:revert}.ds-bar{padding-top:8px}.crumbs a{line-height:44px}.stepper{gap:4px}.step{justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;display:inline-flex}.ds-head{gap:12px;padding-top:8px}.ds-name{font-size:40px}.lede{font-size:17px}.badges{gap:6px}.ds-body{padding-top:16px}.ds-main{gap:32px}.rail-use{padding:12px}.rail-use .tab{padding:10px 8px}.rail-use .btn{min-height:44px}.section-nav{scrollbar-width:none;margin:0 -16px;padding:0 12px;overflow-x:auto}.section-nav .tab{flex:none;padding:13px 10px;font-size:14px}.dict thead{display:none}.dict tr{border-bottom:1px solid var(--rule-faint);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 12px;padding:12px 0;display:grid}.dict td{border:0;padding:0}.f-name{grid-column:1}.f-type{grid-column:2;justify-self:end}.f-dist{width:auto}.dict td.f-miss{text-align:left;grid-column:1/-1}.dict td.f-miss:not(.any){display:none}.explore .sec-head,#examples .sec-head{border-bottom:0;justify-content:stretch;gap:12px;padding-bottom:0;display:grid}.explore .sec-head h2,#examples .sec-head h2{border-bottom:1px solid var(--rule);padding-bottom:1px}.explore .seg{grid-template-columns:1fr 1fr;display:grid}#examples .seg{grid-template-columns:repeat(4,auto);display:grid}.seg button{min-height:40px;padding:0 8px}.binds{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.binds .vega-bind label{flex-direction:column;align-items:stretch;gap:2px}.binds select{height:44px}.binds[data-reserve]{min-height:64px}.chart-foot,.sec-foot{flex-direction:column;align-items:stretch;gap:12px}.chart-foot .btn,.sec-foot .btn{min-height:44px}.ex-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ex-name{font-size:13.5px}.kv.prov{grid-template-columns:minmax(0,1fr);gap:4px}.kv.prov dd{margin-bottom:8px}.f-add{line-height:24px;display:inline-block}.status-head{padding-top:8px}.status-head h1{font-size:30px}.kv.status-sum{grid-template-columns:140px minmax(0,1fr)}.status-scroll{border-inline:0;margin-inline:-16px}}
