@opendata-ai/openchart-vanilla 8.6.4 → 8.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -48,7 +48,7 @@ interface GIFExportOptions {
48
48
  backgroundColor?: string;
49
49
  /**
50
50
  * Resolved theme to inline as a `<style>` block so class-based fills (metric
51
- * cells, brand watermark dot, legend text) survive serialization. Omit to skip.
51
+ * cells, eyebrow dot, legend text) survive serialization. Omit to skip.
52
52
  */
53
53
  theme?: ResolvedTheme;
54
54
  }
@@ -6,9 +6,9 @@ import {
6
6
  exportGIF,
7
7
  isModuleNotFound,
8
8
  resolveRepeat
9
- } from "./chunk-RYVV3YIG.js";
10
- import "./chunk-6B5OBGIO.js";
11
- import "./chunk-5RX6ZQGZ.js";
9
+ } from "./chunk-DFKLAB67.js";
10
+ import "./chunk-I73B3DJI.js";
11
+ import "./chunk-SDJHUELU.js";
12
12
  export {
13
13
  EASE_SMOOTH_SAMPLES,
14
14
  applyFrameState,
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { ChartLayout, ChartSpec, CompileOptions, TableLayout, TableSpec, VizSpec } from '@opendata-ai/openchart-engine';
2
2
  import { BarListSpec, BarListLayout, ThemeConfig, DarkMode, ChartLayout, ChartSpec, LayerSpec, GeoMapSpec, GeoMapLayout, RectMark, Mark, BarTableCell, CategoryTableCell, TableCell, FlagTableCell, HeatmapTableCell, ImageTableCell, SparklineTableCell, TextTableCell, SankeySpec, SankeyLayout, TableSpec, SortState, TableLayout, TileMapSpec, TileMapLayout, ResolvedYouDrawIt } from '@opendata-ai/openchart-core';
3
- import { J as JPGExportOptions, S as SVGExportOptions, C as Camera } from './mount-Bs8nFSf1.js';
4
- export { a as ChartInstance, E as ExportOptions, M as MountOptions, P as PNGExportOptions, U as UpdateOptions, c as createChart, e as exportCSV, b as exportJPG, d as exportPNG, f as exportSVG, g as exportSVGWithFonts } from './mount-Bs8nFSf1.js';
3
+ import { J as JPGExportOptions, S as SVGExportOptions, C as Camera } from './mount-WiY9BIr9.js';
4
+ export { a as ChartInstance, E as ExportOptions, M as MountOptions, P as PNGExportOptions, U as UpdateOptions, c as createChart, e as exportCSV, b as exportJPG, d as exportPNG, f as exportSVG, g as exportSVGWithFonts } from './mount-WiY9BIr9.js';
5
5
  export { C as CameraFlightOptions, G as GRAPH_3D_NOT_REGISTERED_ERROR, a as GraphCamera, b as GraphFlyTarget, c as GraphHighlightTarget, d as GraphInstance, e as GraphLegendData, f as GraphMountOptions, g as GraphRendererContext, h as GraphRendererFactory, i as GraphShell, j as GraphTooltipFormatter, k as GraphTooltipItem, T as TooltipManager, l as createGraph, m as createTooltipManager, r as registerGraphRenderer } from './renderer-registry-Cng76n8F.js';
6
6
  import './export-gif.js';
7
7
  import '@floating-ui/dom';
@@ -587,6 +587,12 @@ declare function createTileMap(container: HTMLElement, spec: TileMapSpec, option
587
587
  * State (the reader's in-progress guess) lives in this module's closure,
588
588
  * matching mount.ts's per-instance-closure convention (StrictMode double-
589
589
  * mount safe): a fresh `createYouDrawIt()` call gets a fresh closure.
590
+ *
591
+ * The guess is a dense trail, not a set of snapped samples: one entry per
592
+ * 1/TRAIL_RESOLUTION of the drawing region's width, holding a data-space y.
593
+ * Storing it as (region fraction, data value) rather than pixels keeps the
594
+ * drawing intact across resize re-renders. Per-sample values for `onReveal`
595
+ * are interpolated from the trail on demand.
590
596
  */
591
597
 
592
598
  interface YouDrawItOptions {
package/dist/index.js CHANGED
@@ -3,10 +3,10 @@ import {
3
3
  paletteFromCanvas,
4
4
  readCanvasSRGB,
5
5
  resolveRepeat
6
- } from "./chunk-RYVV3YIG.js";
6
+ } from "./chunk-DFKLAB67.js";
7
7
  import {
8
8
  renderTileMapSVG
9
- } from "./chunk-CPULCRVF.js";
9
+ } from "./chunk-EZQDCLZN.js";
10
10
  import {
11
11
  GRAPH_3D_NOT_REGISTERED_ERROR,
12
12
  createGraph,
@@ -28,7 +28,7 @@ import {
28
28
  scheduleFontReload,
29
29
  setupAnimationCleanup,
30
30
  setupTableAnimationCleanup
31
- } from "./chunk-W3WPGHYV.js";
31
+ } from "./chunk-5O624XON.js";
32
32
  import {
33
33
  embedFonts,
34
34
  ensureSVGDimensions,
@@ -40,16 +40,16 @@ import {
40
40
  getSVGBackgroundColor,
41
41
  getSVGDimensions,
42
42
  rasterizeSVGToCanvas
43
- } from "./chunk-6B5OBGIO.js";
43
+ } from "./chunk-I73B3DJI.js";
44
44
  import {
45
45
  rectPathWithCorners,
46
46
  registerMarkRenderer,
47
47
  renderChartSVG,
48
48
  stampAnimationVars
49
- } from "./chunk-MDK6AILK.js";
49
+ } from "./chunk-SXTHPXG6.js";
50
50
  import {
51
51
  injectThemeStyleBlock
52
- } from "./chunk-5RX6ZQGZ.js";
52
+ } from "./chunk-SDJHUELU.js";
53
53
  import {
54
54
  createTooltipManager,
55
55
  observeResize,
@@ -16,7 +16,7 @@ interface SVGExportOptions {
16
16
  embedFonts?: boolean;
17
17
  /**
18
18
  * Resolved theme to inline as a `<style>` block, so class-based fills (metric
19
- * cells, brand watermark dot, legend text, endpoint labels) survive
19
+ * cells, eyebrow dot, legend text, endpoint labels) survive
20
20
  * serialization away from the page stylesheet. Omit to skip — a chart whose
21
21
  * chrome is all inline-filled exports fine without it.
22
22
  */
package/dist/static.js CHANGED
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  renderTileMapSVG
3
- } from "./chunk-CPULCRVF.js";
3
+ } from "./chunk-EZQDCLZN.js";
4
4
  import {
5
5
  renderChartSVG,
6
6
  resetSvgIdCounter
7
- } from "./chunk-MDK6AILK.js";
7
+ } from "./chunk-SXTHPXG6.js";
8
8
  import {
9
9
  SVG_NS,
10
10
  buildThemeStyleBlock
11
- } from "./chunk-5RX6ZQGZ.js";
11
+ } from "./chunk-SDJHUELU.js";
12
12
  import "./chunk-NG7CVCI2.js";
13
13
 
14
14
  // src/static.ts
@@ -1,5 +1,5 @@
1
- import { h as CameraTarget, M as MountOptions } from '../mount-Bs8nFSf1.js';
2
- export { C as Camera, F as FULL_VIEW, V as ViewBoxSize, i as cameraTransform, j as camerasClose, k as damp, l as dampCamera, m as fitTarget, n as interpolateCamera, s as scrubCamera } from '../mount-Bs8nFSf1.js';
1
+ import { h as CameraTarget, M as MountOptions } from '../mount-WiY9BIr9.js';
2
+ export { C as Camera, F as FULL_VIEW, V as ViewBoxSize, i as cameraTransform, j as camerasClose, k as damp, l as dampCamera, m as fitTarget, n as interpolateCamera, s as scrubCamera } from '../mount-WiY9BIr9.js';
3
3
  import { DataRow, ChartSpec, LayerSpec, GraphSpec, GeoMapSpec, ChartLayout } from '@opendata-ai/openchart-core';
4
4
  import '../export-gif.js';
5
5
 
@@ -15,10 +15,10 @@ import {
15
15
  interpolateCamera,
16
16
  scrubCamera,
17
17
  storyMotion
18
- } from "../chunk-W3WPGHYV.js";
19
- import "../chunk-6B5OBGIO.js";
20
- import "../chunk-MDK6AILK.js";
21
- import "../chunk-5RX6ZQGZ.js";
18
+ } from "../chunk-5O624XON.js";
19
+ import "../chunk-I73B3DJI.js";
20
+ import "../chunk-SXTHPXG6.js";
21
+ import "../chunk-SDJHUELU.js";
22
22
  import {
23
23
  clamp01,
24
24
  lerp
package/dist/styles.css CHANGED
@@ -1,2 +1,2 @@
1
- @layer oc.tokens{.oc-root,.oc-chart-root,.oc-table-wrapper,.oc-table-root,.oc-graph-wrapper,.oc-graph-root,.oc-sankey-root,.oc-tilemap-root,.oc-barlist-root,.oc-map-root{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;--oc-font-family:"Inter Variable", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--oc-font-mono:"JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--oc-ease-smooth:linear(0, .157, .438, .64, .766, .85, .906, .941, .964, .978, .988, .994, .998, 1);--oc-ease-snappy:linear(0, .012, .048, .108, .194, .302, .426, .559, .69, .808, .905, .973, 1.013, 1.028, 1.023, 1.006, .984, .966, .957, .957, .964, .975, .986, .995, 1, 1.003, 1.002, 1, .998, .998, .999, 1);--oc-animation-duration:.45s;--oc-animation-stagger:30ms;--oc-annotation-delay:.15s;--oc-title-size:26px;--oc-title-weight:600;--oc-title-tracking:-.022em;--oc-subtitle-size:14px;--oc-subtitle-weight:400;--oc-source-size:11px;--oc-source-weight:400;--oc-body-size:13px;--oc-eyebrow-size:11px;--oc-eyebrow-weight:500;--oc-eyebrow-tracking:.08em;--oc-bg:#fff;--oc-card:#fff;--oc-secondary:#f4f4f5;--oc-text:#09090b;--oc-text-secondary:#3f3f46;--oc-text-muted:#71717a;--oc-text-faint:#d4d4d8;--oc-gray-100:#f0f0f0;--oc-gray-200:#e1e1e2;--oc-gray-300:#c9c9c9;--oc-gray-400:#9d9d9d;--oc-gray-600:#787879;--oc-gray-800:#474748;--oc-gridline:rgba(0,0,0,.08);--oc-axis:rgba(0,0,0,.14);--oc-border:rgba(0,0,0,.08);--oc-border-radius:8px;--oc-radius-sm:2px;--oc-radius-md:6px;--oc-radius-lg:var(--oc-border-radius);--oc-radius-full:999px;--oc-accent:#06b6d4;--oc-accent-strong:#0891b2;--oc-positive:#15803d;--oc-negative:#dc2626;--oc-positive-tint:color-mix(in srgb, var(--oc-positive) 10%, var(--oc-bg));--oc-negative-tint:color-mix(in srgb, var(--oc-negative) 10%, var(--oc-bg));--oc-focus:#3b82f6;--oc-focus-ring:rgba(59,130,246,.1);--oc-focus-ring-strong:rgba(59,130,246,.25);--oc-editable-hover:rgba(79,70,229,.35);--oc-space-2:8px;--oc-space-4:16px;--oc-hover-dim:.3;--oc-hover-duration:.14s;--oc-map-hover-dim:.75;--oc-hover-bg:rgba(0,0,0,.024);--oc-tooltip-bg:rgba(255,255,255,.88);--oc-tooltip-border:rgba(0,0,0,.08);--oc-tooltip-shadow:0 2px 8px rgba(0,0,0,.08), 0 0 1px rgba(0,0,0,.12);--oc-tooltip-text:#09090b;--oc-legend-text:#3f3f46}.oc-dark{--oc-bg:#09090b;--oc-card:#111113;--oc-secondary:#27272a;--oc-text:#f7f8f8;--oc-text-secondary:#d0d6e0;--oc-text-muted:#a1a1aa;--oc-text-faint:#52525b;--oc-gridline:rgba(255,255,255,.06);--oc-axis:rgba(255,255,255,.14);--oc-border:rgba(255,255,255,.1);--oc-accent:#06b6d4;--oc-accent-strong:#06b6d4;--oc-positive:#4ade80;--oc-negative:#f87171;--oc-focus:#60a5fa;--oc-hover-bg:rgba(255,255,255,.05);--oc-tooltip-bg:rgba(17,17,19,.92);--oc-tooltip-border:rgba(255,255,255,.08);--oc-tooltip-shadow:0 2px 8px rgba(0,0,0,.3), 0 0 1px rgba(0,0,0,.4);--oc-tooltip-text:#f7f8f8;--oc-legend-text:#d0d6e0}}@layer oc.base{.oc-chart-root,.oc-table-root,.oc-graph-root,.oc-sankey-root,.oc-barlist-root,.oc-tilemap-root,.oc-map-root{width:100%;height:100%}.oc-table-root{overflow:auto}.oc-chart{font-family:var(--oc-font-family);font-variant-numeric:tabular-nums;width:100%;display:block}.oc-tilemap,.oc-map{width:100%;height:auto;display:block}.oc-map-feature{transition:opacity var(--oc-hover-duration) ease-out, stroke-width .14s ease-out}.oc-barlist{width:100%;display:block}.oc-sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:clip}.oc-editable-hover{outline:1.5px solid var(--oc-editable-hover);outline-offset:2px;border-radius:var(--oc-radius-sm)}.oc-root:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px}.oc-mark-focused{outline:2px solid var(--oc-focus);outline-offset:1px;border-radius:var(--oc-radius-sm)}}@layer oc.components{.oc-chrome{font-family:var(--oc-font-family)}.oc-eyebrow{font-size:var(--oc-eyebrow-size);font-weight:var(--oc-eyebrow-weight);letter-spacing:var(--oc-eyebrow-tracking);text-transform:uppercase;fill:var(--oc-accent)}.oc-title{font-size:var(--oc-title-size);font-weight:var(--oc-title-weight);letter-spacing:var(--oc-title-tracking);fill:var(--oc-text)}.oc-subtitle{font-size:var(--oc-subtitle-size);font-weight:var(--oc-subtitle-weight);fill:var(--oc-text-muted)}.oc-source,.oc-byline,.oc-footer{font-size:var(--oc-source-size);font-weight:var(--oc-source-weight);fill:var(--oc-text-muted)}.oc-brand{letter-spacing:.02em;fill:var(--oc-text-faint);font-size:11px;font-weight:500}.oc-brand-dot,.oc-eyebrow-dot{fill:var(--oc-accent)}.oc-metrics{font-family:var(--oc-font-family)}.oc-metric-label{letter-spacing:.06em;text-transform:uppercase;fill:var(--oc-text-muted);font-size:11px;font-weight:500}.oc-metric-value{letter-spacing:-.02em;fill:var(--oc-text);font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.oc-metric-delta-up{fill:var(--oc-positive);font-size:12px;font-weight:500}.oc-metric-delta-down{fill:var(--oc-negative);font-size:12px;font-weight:500}.oc-metric-secondary{fill:var(--oc-text-muted);font-size:12px;font-weight:400}.oc-axis-tick-inline{fill:var(--oc-text-muted);font-size:11px;font-weight:400}.oc-endpoint-labels{font-family:var(--oc-font-family)}.oc-endpoint-label{fill:var(--oc-endpoint-label-color,var(--oc-text))}.oc-endpoint-value{fill:var(--oc-endpoint-value-color,var(--oc-text-muted))}.oc-endpoint-leader{stroke:var(--oc-endpoint-leader-color,currentColor)}.oc-annotation-subtitle{fill:var(--oc-annotation-subtitle-color,var(--oc-text-muted))}.oc-table-footer-row{align-items:baseline;gap:16px;padding:16px 16px 4px;display:flex}.oc-chrome-footer{padding-top:0}.oc-table-footer-row .oc-table-ref{text-align:right;flex-shrink:0;margin-left:auto}.oc-tooltip{pointer-events:none;z-index:1000;background:var(--oc-tooltip-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--oc-tooltip-border);border-radius:var(--oc-radius-lg);box-shadow:var(--oc-tooltip-shadow);color:var(--oc-tooltip-text);font-family:var(--oc-font-family);min-width:140px;max-width:280px;padding:0;font-size:12px;line-height:1.4;transition:left .1s ease-in-out,top .1s ease-in-out;animation:.12s ease-out oc-tooltip-in;display:none;position:absolute}.oc-tooltip .oc-tooltip-header{align-items:center;gap:8px;padding:8px 10px 6px;display:flex}.oc-tooltip .oc-tooltip-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.oc-tooltip .oc-tooltip-title{letter-spacing:.04em;text-transform:uppercase;color:var(--oc-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.oc-tooltip .oc-tooltip-body{border-top:1px solid var(--oc-tooltip-border);padding:6px 10px 8px}.oc-tooltip .oc-tooltip-body:first-child{border-top:none;padding-top:10px}.oc-tooltip .oc-tooltip-row{justify-content:space-between;align-items:baseline;gap:16px;padding:2px 0;display:flex}.oc-tooltip .oc-tooltip-row-swatch{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-right:6px;display:inline-block;transform:translateY(-1px)}.oc-tooltip .oc-tooltip-label{color:var(--oc-text-secondary);white-space:nowrap;flex-shrink:0;align-items:center;font-size:12px;font-weight:400;display:inline-flex}.oc-tooltip .oc-tooltip-value{font-variant-numeric:tabular-nums;color:var(--oc-tooltip-text);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.oc-tooltip .oc-tooltip-row--emphasis .oc-tooltip-label{color:var(--oc-tooltip-text);font-weight:600}.oc-tooltip .oc-tooltip-row--emphasis .oc-tooltip-value{font-weight:600}.oc-tooltip .oc-tooltip-row--total{border-top:1px solid var(--oc-tooltip-border);margin-top:4px;padding-top:5px}.oc-tooltip .oc-tooltip-row--total .oc-tooltip-label{color:var(--oc-tooltip-text);font-weight:500}.oc-tooltip .oc-tooltip-row--total .oc-tooltip-value{font-weight:600}.oc-crosshair{pointer-events:none;transition:x1 50ms ease-in-out,x2 50ms ease-in-out}.oc-snap-dots circle{pointer-events:none;transition:cx 50ms ease-in-out,cy 50ms ease-in-out}.oc-legend{font-family:var(--oc-font-family)}.oc-legend-entry{cursor:default}.oc-marks.oc-hover-active .oc-mark--dim:not([opacity="0"]){opacity:var(--oc-hover-dim)}.oc-marks.oc-hover-active .oc-mark-rect.oc-mark--hover>*,.oc-marks.oc-hover-active .oc-mark-arc.oc-mark--hover>*,.oc-marks.oc-hover-active circle.oc-mark-point.oc-mark--hover{stroke:var(--oc-text);stroke-width:1px}.oc-chart:not(.oc-animate):not(.oc-transitioning) .oc-marks .oc-mark{transition:opacity var(--oc-hover-duration) ease-out}.oc-legend-entry--dim .oc-legend-swatch-line,.oc-legend-entry--dim .oc-legend-swatch-rect,.oc-legend-entry--dim>circle{opacity:var(--oc-hover-dim);transition:opacity var(--oc-hover-duration) ease-out}.oc-legend-hit{fill:transparent}.oc-legend-entry:focus{outline:none}.oc-legend-entry:focus-visible .oc-legend-hit{stroke:var(--oc-focus);stroke-width:2px}.oc-endpoint-label-entry{cursor:default}.oc-map-feature--hover{stroke:var(--oc-text);stroke-width:1.5px;vector-effect:non-scaling-stroke}.oc-map-features[data-hover] .oc-map-feature{transition:opacity var(--oc-hover-duration) ease-out}.oc-map-features[data-hover="0"] .oc-map-feature:not([data-bin-index="0"]),.oc-map-features[data-hover="1"] .oc-map-feature:not([data-bin-index="1"]),.oc-map-features[data-hover="2"] .oc-map-feature:not([data-bin-index="2"]),.oc-map-features[data-hover="3"] .oc-map-feature:not([data-bin-index="3"]),.oc-map-features[data-hover="4"] .oc-map-feature:not([data-bin-index="4"]),.oc-map-features[data-hover="5"] .oc-map-feature:not([data-bin-index="5"]),.oc-map-features[data-hover="6"] .oc-map-feature:not([data-bin-index="6"]),.oc-map-features[data-hover="7"] .oc-map-feature:not([data-bin-index="7"]),.oc-map-features[data-hover="8"] .oc-map-feature:not([data-bin-index="8"]),.oc-map-features[data-hover="9"] .oc-map-feature:not([data-bin-index="9"]),.oc-map-features[data-hover="10"] .oc-map-feature:not([data-bin-index="10"]),.oc-map-features[data-hover="11"] .oc-map-feature:not([data-bin-index="11"]){opacity:var(--oc-map-hover-dim)}.oc-legend-bin{cursor:default}.oc-tilemap-tiles.oc-hover-active .oc-tilemap-tile{transition:opacity var(--oc-hover-duration) ease-out}.oc-tilemap-tiles.oc-hover-active .oc-tilemap-tile:not(.oc-tilemap-tile--hover){opacity:var(--oc-hover-dim)}.oc-tilemap-tile--hover>rect{stroke:var(--oc-text);stroke-width:1.5px}.oc-series-search{font-family:var(--oc-font-family);z-index:10;justify-content:flex-end;align-items:center;gap:8px;display:flex;position:absolute}.oc-series-search-chips{scrollbar-width:none;align-items:center;gap:6px;min-width:0;display:flex;overflow-x:auto}.oc-series-search-chips::-webkit-scrollbar{display:none}.oc-series-search-chip{border:1px solid var(--oc-border);border-radius:var(--oc-radius-full);background:var(--oc-secondary);color:var(--oc-text-secondary);white-space:nowrap;align-items:center;gap:4px;padding:3px 4px 3px 10px;font-size:12px;font-weight:500;line-height:16px;display:inline-flex}.oc-series-search-chip-remove{width:16px;height:16px;color:var(--oc-text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin:-4px -2px -4px -4px;padding:4px;transition:color .15s,background-color .15s;display:inline-flex}.oc-series-search-chip-remove:hover{color:var(--oc-text);background:var(--oc-hover-bg)}.oc-series-search-chip-remove:focus-visible{outline:2px solid var(--oc-focus);outline-offset:1px}.oc-series-search-chip-remove svg{display:block}.oc-series-search-box{flex:0 220px;min-width:120px;position:relative}.oc-series-search-icon{color:var(--oc-text-muted);pointer-events:none;position:absolute;top:50%;left:9px;transform:translateY(-50%)}.oc-series-search-input{height:32px;padding:0 10px 0 28px}.oc-series-search-listbox{border:1px solid var(--oc-border);border-radius:var(--oc-radius-lg);background:var(--oc-card);min-width:100%;max-height:240px;box-shadow:var(--oc-tooltip-shadow);z-index:20;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);right:0;overflow-y:auto}.oc-series-search-option{border-radius:var(--oc-radius-sm);color:var(--oc-text);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;padding:6px 10px;font-size:13px;overflow:hidden}.oc-series-search-option[aria-selected=true],.oc-series-search-option:hover{background:var(--oc-hover-bg)}.oc-series-search-match{font-weight:600}.oc-series-search-empty{color:var(--oc-text-muted);padding:6px 10px;font-size:12px}.oc-ydi-region{opacity:.35;transition:opacity .4s}.oc-ydi-region[data-ydi-hidden=true]{opacity:0}.oc-ydi-boundary{stroke:var(--oc-text-muted);stroke-width:1px;stroke-dasharray:3 3;stroke-opacity:.6}.oc-ydi-guess{stroke:var(--oc-focus);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 6}.oc-ydi-comparison{stroke:var(--oc-text-muted);stroke-width:1.5px;stroke-opacity:.5;stroke-dasharray:4 4}.oc-ydi-clip-rect.oc-ydi-clip-animate{transition:width .7s cubic-bezier(.22,1,.36,1)}.oc-ydi-controls{pointer-events:none;font-family:var(--oc-font-family);box-sizing:border-box;z-index:10;flex-direction:column;justify-content:space-between;align-items:flex-end;padding:8px;display:flex}.oc-ydi-prompt{border-radius:var(--oc-radius-md);background:var(--oc-card);border:1px solid var(--oc-border);max-width:100%;color:var(--oc-text-secondary);text-align:center;box-shadow:var(--oc-tooltip-shadow);align-self:center;padding:6px 12px;font-size:13px;font-weight:500;line-height:16px}.oc-ydi-controls.oc-ydi-revealed .oc-ydi-prompt{display:none}.oc-ydi-reveal-button{pointer-events:auto;border:1px solid var(--oc-border);border-radius:var(--oc-radius-md);background:var(--oc-bg);color:var(--oc-text);cursor:pointer;box-shadow:var(--oc-tooltip-shadow);justify-content:center;align-items:center;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:background-color .15s,border-color .15s;display:inline-flex}.oc-ydi-reveal-button:hover{background:var(--oc-hover-bg)}.oc-ydi-reveal-button:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px}.oc-ydi-reveal-button:disabled{opacity:.5;cursor:default}.oc-table-wrapper{font-family:var(--oc-font-family);color:var(--oc-text);background:var(--oc-bg)}.oc-table-wrapper>.oc-chrome{margin-bottom:16px;padding-left:16px;padding-right:16px}.oc-table-wrapper>.oc-chrome:first-child{padding-top:4px}.oc-table-wrapper table{border-collapse:collapse;width:100%}.oc-table-wrapper th{text-align:left;border-bottom:1px solid var(--oc-border);box-sizing:border-box;padding:12px 16px;line-height:24px}.oc-table-wrapper td{text-align:left;border-bottom:1px solid var(--oc-border);box-sizing:border-box;padding:12px 16px;line-height:24px}.oc-table-wrapper th{text-transform:uppercase;letter-spacing:.04em;color:var(--oc-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;font-weight:500}.oc-table-wrapper thead{z-index:2;background:var(--oc-bg);position:sticky;top:0}.oc-table-wrapper thead th{border-bottom-width:1px}.oc-table-wrapper td{font-variant-numeric:tabular-nums;font-size:14px}.oc-table-wrapper th:focus{outline:2px solid var(--oc-focus);outline-offset:-2px}.oc-table-wrapper tbody:focus{outline:none}.oc-table-title{font-size:var(--oc-title-computed-size,var(--oc-title-size));font-weight:var(--oc-title-computed-weight,var(--oc-title-weight));color:var(--oc-title-computed-color,var(--oc-text));margin-bottom:4px}.oc-table-subtitle{font-size:var(--oc-subtitle-computed-size,var(--oc-subtitle-size));font-weight:var(--oc-subtitle-computed-weight,var(--oc-subtitle-weight));color:var(--oc-subtitle-computed-color,var(--oc-text-secondary));margin-bottom:8px}.oc-table-source{font-size:var(--oc-source-computed-size,var(--oc-source-size));color:var(--oc-source-computed-color,var(--oc-text-muted))}.oc-table-footer-text{font-size:var(--oc-footer-computed-size,var(--oc-source-size));color:var(--oc-footer-computed-color,var(--oc-text-muted))}.oc-table-scroll{overflow-x:auto}.oc-table--sticky th:first-child{z-index:1;background:var(--oc-bg);position:sticky;left:0}.oc-table--sticky td:first-child{z-index:1;background:var(--oc-bg);position:sticky;left:0}.oc-table-sort-btn{cursor:pointer;vertical-align:middle;background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;margin-left:6px;padding:2px;display:inline-flex}.oc-table-sort-btn:before{content:"";border-left:5px solid transparent;border-right:5px solid transparent;width:0;height:0;transition:opacity .15s,border-color .15s;display:block}.oc-table-sort-btn:after{content:"";border-left:5px solid transparent;border-right:5px solid transparent;width:0;height:0;transition:opacity .15s,border-color .15s;display:block}.oc-table-sort-btn:before{border-bottom:4.5px solid var(--oc-text-secondary);opacity:.35}.oc-table-sort-btn:after{border-top:4.5px solid var(--oc-text-secondary);opacity:.35}.oc-table-sort-btn:hover:before{opacity:.75}.oc-table-sort-btn:hover:after{opacity:.75}th[aria-sort=ascending] .oc-table-sort-btn:before{opacity:1;border-bottom-color:var(--oc-text)}th[aria-sort=ascending] .oc-table-sort-btn:after{opacity:.15}th[aria-sort=descending] .oc-table-sort-btn:after{opacity:1;border-top-color:var(--oc-text)}th[aria-sort=descending] .oc-table-sort-btn:before{opacity:.15}.oc-table-search input,.oc-series-search-input{border:1px solid var(--oc-border);border-radius:var(--oc-radius-md);background:var(--oc-bg);width:100%;color:var(--oc-text);box-sizing:border-box;font-family:inherit;font-size:13px;transition:border-color .15s}.oc-table-search input::-ms-input-placeholder{color:var(--oc-text-muted);font-size:13px}.oc-table-search input::placeholder{color:var(--oc-text-muted);font-size:13px}.oc-series-search-input::-ms-input-placeholder{color:var(--oc-text-muted);font-size:13px}.oc-series-search-input::placeholder{color:var(--oc-text-muted);font-size:13px}.oc-table-search input:focus,.oc-series-search-input:focus{border-color:var(--oc-focus);box-shadow:0 0 0 3px var(--oc-focus-ring);outline:none}.oc-table-search{padding:8px 0}.oc-table-search input{padding:8px 12px}.oc-table-pagination{color:var(--oc-text-secondary);justify-content:space-between;align-items:center;padding:12px 0 4px;font-size:13px;display:flex}.oc-table-pagination button{border:1px solid var(--oc-border);border-radius:var(--oc-radius-md);background:var(--oc-bg);color:var(--oc-text);cursor:pointer;padding:6px 14px;font-family:inherit;font-size:13px;transition:background .15s,border-color .15s}.oc-table-pagination button:disabled{opacity:.35;cursor:not-allowed}.oc-table-pagination button:hover:not(:disabled){background:var(--oc-hover-bg);border-color:var(--oc-axis)}.oc-table-pagination button:focus-visible{outline:2px solid var(--oc-focus);outline-offset:1px}.oc-table-pagination-info{font-variant-numeric:tabular-nums}.oc-table-pagination-btns{gap:8px;display:flex}.oc-table-bar{position:relative}.oc-table-bar-fill{border-radius:var(--oc-radius-sm);opacity:.18;pointer-events:none;position:absolute;top:8px;bottom:8px;left:0}.oc-table-bar-value{z-index:1;position:relative}.oc-table-sparkline{width:100%;display:block;position:relative}.oc-table-sparkline svg{width:100%;display:block;overflow:visible}.oc-table-sparkline-dot{border-radius:50%;width:5px;height:5px;position:absolute}.oc-table-sparkline-labels{justify-content:space-between;font-size:11px;line-height:1;display:flex}.oc-table-image{vertical-align:middle;display:inline-block}.oc-table-image img{object-fit:cover}.oc-table-image-rounded img{border-radius:50%}.oc-table-flag{font-size:1.2em}:is(.oc-table--condensed,.oc-table--compact) th{padding:8px 12px;font-size:13px;line-height:24px}:is(.oc-table--condensed,.oc-table--compact) td{padding:8px 12px;font-size:13px;line-height:24px}:is(.oc-table--condensed,.oc-table--compact) th{font-size:11px}:is(.oc-table--condensed,.oc-table--compact) .oc-table-bar-fill{top:5px;bottom:5px}.oc-table--relaxed th{padding:16px 20px;line-height:24px}.oc-table--relaxed td{padding:16px 20px;line-height:24px}.oc-table--relaxed .oc-table-bar-fill{top:12px;bottom:12px}.oc-table--striped tbody tr:nth-child(2n){background:color-mix(in srgb, var(--oc-text) 3%, transparent)}.oc-table-delta{border-radius:var(--oc-radius-md);font-variant-numeric:tabular-nums;align-items:baseline;gap:4px;padding:2px 8px;font-weight:500;line-height:16px;display:inline-flex}.oc-table-delta-arrow{font-size:.8em;line-height:1}.oc-table-delta--positive{color:var(--oc-positive);background:var(--oc-positive-tint)}.oc-table-delta--negative{color:var(--oc-negative);background:var(--oc-negative-tint)}.oc-table-delta--neutral{color:var(--oc-text-muted);background:color-mix(in srgb, var(--oc-text) 6%, transparent)}.oc-table-chip{border-radius:var(--oc-radius-full);white-space:nowrap;align-items:center;gap:6px;padding:2px 8px;font-size:12px;font-weight:500;line-height:16px;display:inline-flex}.oc-table-chip-dot{border-radius:50%;flex:none;width:6px;height:6px}tfoot.oc-table-total{z-index:2;background:var(--oc-bg);position:sticky;bottom:0}tfoot.oc-table-total td{border-bottom:none;border-top:1px solid var(--oc-border);font-weight:600}.oc-table--cards .oc-table-scroll{overflow-x:hidden}.oc-table--cards table{table-layout:fixed}.oc-table--cards thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.oc-table--cards tbody tr{border-bottom:1px solid var(--oc-border);grid-template-columns:repeat(2,minmax(0,1fr));align-items:baseline;gap:2px 12px;padding:10px 12px;display:grid}.oc-table--cards tfoot tr{border-bottom:1px solid var(--oc-border);grid-template-columns:repeat(2,minmax(0,1fr));align-items:baseline;gap:2px 12px;padding:10px 12px;display:grid}.oc-table--cards td{overflow-wrap:anywhere;text-align:right;border-bottom:none;width:auto;max-width:100%;padding:0;display:block}.oc-table--cards td:before{content:attr(data-label);letter-spacing:.04em;text-transform:uppercase;color:var(--oc-text-muted);text-align:left;font-size:11px;font-weight:500;display:block}.oc-table--cards td[data-label=""]:before{content:none}.oc-table--cards td[data-priority="1"]{text-align:left;grid-column:1/-1;font-size:15px;font-weight:600}.oc-table--cards td[data-priority="1"]:before{content:none}.oc-table--cards td[data-priority="3"]{display:none}.oc-table--cards .oc-table-sparkline{width:100%}.oc-table--clickable tbody tr{cursor:pointer}.oc-table--clickable tbody tr:hover{background:var(--oc-hover-bg)}.oc-table-cell-focus{outline:2px solid var(--oc-focus);outline-offset:-2px}.oc-table-empty{text-align:center;color:var(--oc-text-secondary);padding:32px 16px;font-size:14px;font-style:italic}.oc-graph-wrapper{background:var(--oc-bg);font-family:var(--oc-font-family);width:100%;height:100%;position:relative;overflow:hidden}.oc-graph-canvas{cursor:grab;width:100%;height:100%;display:block}.oc-graph-canvas--dragging{cursor:grabbing}.oc-graph-3d,.oc-graph-3d .scene-container{width:100%;height:100%;display:block}.oc-graph-3d{cursor:grab}.oc-graph-3d .scene-container canvas{width:100%;height:100%;display:block}.oc-graph-chrome{z-index:2;pointer-events:none;padding:16px 16px 8px;position:absolute;top:0;left:0;right:0}.oc-graph-chrome .oc-title{font-size:var(--oc-title-size);font-weight:var(--oc-title-weight);letter-spacing:var(--oc-title-tracking);color:var(--oc-text);--_stroke:color-mix(in srgb, var(--oc-bg) 80%, transparent);text-shadow:-2px -2px 0 var(--_stroke), 2px -2px 0 var(--_stroke), -2px 2px 0 var(--_stroke), 2px 2px 0 var(--_stroke), 0 -2px 0 var(--_stroke), 0 2px 0 var(--_stroke), -2px 0 0 var(--_stroke), 2px 0 0 var(--_stroke);margin:0 0 4px}.oc-graph-chrome .oc-subtitle{font-size:var(--oc-subtitle-size);color:var(--oc-text-secondary);--_stroke:color-mix(in srgb, var(--oc-bg) 80%, transparent);text-shadow:-1px -1px 0 var(--_stroke), 1px -1px 0 var(--_stroke), -1px 1px 0 var(--_stroke), 1px 1px 0 var(--_stroke);margin:0}.oc-graph-legend{background:color-mix(in srgb, var(--oc-bg) 88%, transparent);border:1px solid var(--oc-border);border-radius:var(--oc-radius-lg);color:var(--oc-text-secondary);max-height:200px;padding:8px 12px;font-size:12px;position:absolute;top:12px;right:12px;overflow-y:auto}.oc-graph-legend-item{width:100%;font:inherit;color:inherit;text-align:left;cursor:default;background:0 0;border:none;align-items:center;gap:6px;margin:0;padding:2px 0;display:flex}button.oc-graph-legend-item{cursor:pointer;border-radius:var(--oc-radius-sm)}button.oc-graph-legend-item:hover{background:var(--oc-focus-ring)}button.oc-graph-legend-item:focus-visible{outline:2px solid var(--oc-focus);outline-offset:1px}.oc-graph-legend-item--inactive{opacity:.45}.oc-graph-legend-label{flex:auto}.oc-graph-legend-count{color:var(--oc-text-secondary);font-variant-numeric:tabular-nums;margin-left:auto;padding-left:8px}.oc-graph-legend-swatch{border-radius:50%;flex-shrink:0;width:10px;height:10px}.oc-graph-legend-swatch--line{border-radius:1px;width:12px;height:3px}.oc-graph-search{position:absolute;top:12px;left:12px}.oc-graph-search input{font-family:var(--oc-font-family);font-size:var(--oc-body-size);border:1px solid var(--oc-border);border-radius:var(--oc-radius-md);background:color-mix(in srgb, var(--oc-bg) 88%, transparent);color:var(--oc-text);outline:none;padding:6px 10px}.oc-graph-search input:focus{border-color:var(--oc-focus);box-shadow:0 0 0 2px var(--oc-focus-ring-strong)}.oc-sankey:not(.oc-animate) .oc-sankey-link path{transition:fill-opacity var(--oc-hover-duration) ease-out}.oc-sankey:not(.oc-animate) .oc-sankey-node,.oc-sankey:not(.oc-animate) .oc-sankey-label{transition:opacity var(--oc-hover-duration) ease-out}.oc-sankey-label{pointer-events:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.oc-chart[data-display=sparkline]{margin:0;padding:0;display:block}.oc-chart[data-display=sparkline] .oc-pulse{animation:.6s ease-out oc-pulse}@media (prefers-reduced-motion:reduce){.oc-chart[data-display=sparkline] .oc-pulse{animation:none}}}@layer oc.animation{.oc-table-wrapper.oc-animate>.oc-chrome{animation:oc-enter-fade calc(var(--oc-animation-duration) * .6) var(--oc-animation-ease,var(--oc-ease-smooth)) both}.oc-table-wrapper.oc-animate thead{animation:oc-enter-fade-only calc(var(--oc-animation-duration) * .4) var(--oc-animation-ease,var(--oc-ease-smooth)) both}.oc-table-wrapper.oc-animate tbody tr{animation:oc-table-enter-row var(--oc-animation-duration) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-row-index,0))}.oc-table-wrapper.oc-animate tbody td{animation:oc-enter-fade-only calc(var(--oc-animation-duration) * .5) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-row-index,0))}.oc-table-wrapper.oc-animate td.oc-table-heatmap{animation:oc-enter-fade-only calc(var(--oc-animation-duration) * .7) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-row-index,0) + var(--oc-animation-duration) * .3)}.oc-table-wrapper.oc-animate td.oc-table-category{animation:oc-enter-fade-only calc(var(--oc-animation-duration) * .7) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-row-index,0) + var(--oc-animation-duration) * .3)}.oc-table-wrapper.oc-animate .oc-table-bar-fill{animation:oc-table-enter-bar-fill calc(var(--oc-animation-duration) * .8) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-row-index,0) + var(--oc-animation-duration) * .3)}.oc-table-wrapper.oc-animate .oc-table-sparkline>svg{animation:oc-enter-line calc(var(--oc-animation-duration) * .8) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-row-index,0) + var(--oc-animation-duration) * .4)}.oc-table-wrapper.oc-animate .oc-table-sparkline-dot{animation:oc-enter-fade-only calc(var(--oc-animation-duration) * .3) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-row-index,0) + var(--oc-animation-duration) * .8)}.oc-table-wrapper.oc-animate .oc-table-sparkline-labels{animation:oc-enter-fade-only calc(var(--oc-animation-duration) * .3) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-row-index,0) + var(--oc-animation-duration) * .8)}.oc-table-wrapper.oc-animate .oc-table-search{animation:oc-enter-fade-only calc(var(--oc-animation-duration) * .5) var(--oc-animation-ease,var(--oc-ease-smooth)) both}.oc-table-wrapper.oc-animate .oc-table-pagination{animation:oc-enter-fade-only calc(var(--oc-animation-duration) * .5) var(--oc-animation-ease,var(--oc-ease-smooth)) both}@keyframes oc-enter-bar{0%{clip-path:inset(100% 0 0);opacity:0}75%{opacity:1}to{clip-path:inset(0);opacity:1}}@keyframes oc-enter-bar-h{0%{clip-path:inset(0 100% 0 0);opacity:0}75%{opacity:1}to{clip-path:inset(0);opacity:1}}@keyframes oc-enter-line{0%{clip-path:inset(0 100% 0 0);opacity:0}15%{opacity:1}to{clip-path:inset(0);opacity:1}}@keyframes oc-enter-point{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}@keyframes oc-enter-map-fill{0%{fill:var(--oc-secondary);opacity:0}to{fill:var(--oc-feature-fill);opacity:var(--oc-feature-target-opacity,1)}}@keyframes oc-enter-map-point{0%{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}@keyframes oc-enter-fade-only{0%{opacity:0}to{opacity:1}}@keyframes oc-enter-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes oc-table-enter-row{0%{transform:translateY(6px)}to{transform:translateY(0)}}@keyframes oc-table-enter-bar-fill{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes oc-pulse{0%{r:var(--oc-pulse-r,4px);fill-opacity:1}45%{r:calc(var(--oc-pulse-r,4px) * 1.8);fill-opacity:.5}to{r:var(--oc-pulse-r,4px);fill-opacity:1}}@keyframes oc-tooltip-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.oc-animate .oc-mark-rect :is(rect,path){animation:oc-enter-bar var(--oc-animation-duration) var(--oc-ease-smooth) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-mark-index,0))}.oc-animate .oc-mark-bar :is(rect,path){animation:oc-enter-bar var(--oc-animation-duration) var(--oc-ease-smooth) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-mark-index,0))}.oc-animate .oc-mark-rect[data-orient=horizontal] :is(rect,path){animation-name:oc-enter-bar-h}.oc-animate .oc-mark-bar[data-orient=horizontal] :is(rect,path){animation-name:oc-enter-bar-h}.oc-animate .oc-mark-rect[data-stack-pos] :is(rect,path){animation-duration:var(--oc-stack-segment-duration,.15s);animation-timing-function:linear;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-mark-index,0) + var(--oc-stack-pos,0) * var(--oc-stack-segment-duration,.15s))}.oc-animate .oc-mark-line{animation:oc-enter-line var(--oc-animation-duration) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-mark-index,0))}.oc-animate .oc-mark-area{animation:oc-enter-line var(--oc-animation-duration) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-mark-index,0))}.oc-animate .oc-mark-arc{animation:oc-enter-fade-only var(--oc-animation-duration) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-mark-index,0))}.oc-animate circle.oc-mark-point{animation:oc-enter-fade-only calc(var(--oc-animation-duration) * .4) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-mark-index,0))}.oc-animate circle.oc-mark-circle{animation:oc-enter-fade-only calc(var(--oc-animation-duration) * .4) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-mark-index,0))}.oc-animate .oc-mark-line~circle.oc-mark-point{animation-delay:calc(var(--oc-animation-duration) * .35 + var(--oc-animation-stagger) * var(--oc-mark-index,0))}.oc-animate .oc-mark-area~circle.oc-mark-point{animation-delay:calc(var(--oc-animation-duration) * .35 + var(--oc-animation-stagger) * var(--oc-mark-index,0))}.oc-animate .oc-mark-text text{animation:oc-enter-fade calc(var(--oc-animation-duration) * .6) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-mark-index,0))}.oc-animate .oc-mark-rule line{animation:oc-enter-fade calc(var(--oc-animation-duration) * .5) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-mark-index,0))}.oc-animate .oc-mark-tick line{animation:oc-enter-fade calc(var(--oc-animation-duration) * .5) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-mark-index,0))}.oc-animate .oc-mark-label{animation:oc-enter-fade .25s var(--oc-ease-smooth) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-mark-index,0) + var(--oc-animation-duration) * .7)}.oc-animate .oc-annotation{animation:oc-enter-fade .3s var(--oc-ease-smooth) both;animation-delay:calc(var(--oc-animation-duration) + var(--oc-annotation-delay,.15s))}.oc-animate .oc-tilemap-tile{animation:oc-enter-fade-only calc(var(--oc-animation-duration) * .35) ease-in both;animation-delay:var(--oc-tile-delay,0s)}.oc-animate .oc-map-feature{animation:oc-enter-map-fill var(--oc-animation-duration) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:var(--oc-map-delay,0s)}.oc-animate .oc-map-features[data-bulk-animate]{animation:oc-enter-fade-only var(--oc-animation-duration) var(--oc-animation-ease,var(--oc-ease-smooth)) both}.oc-animate .oc-map-features[data-bulk-animate] .oc-map-feature{animation:none}.oc-animate .oc-map-borders path{animation:oc-enter-fade-only calc(var(--oc-animation-duration) * .4) ease-in both;animation-delay:calc(var(--oc-animation-duration) * .7)}.oc-animate .oc-map-point{animation:oc-enter-map-point calc(var(--oc-animation-duration) * .4) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-duration) * .8 + var(--oc-mark-index,0) * var(--oc-point-stagger,60ms))}.oc-animate .oc-sankey-node rect{animation:oc-enter-fade-only var(--oc-animation-duration) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-mark-index,0))}.oc-animate .oc-sankey-link path{animation:oc-enter-fade-only var(--oc-animation-duration) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-duration) * .3 + var(--oc-animation-stagger) * var(--oc-mark-index,0))}.oc-animate .oc-barlist-row{animation:oc-enter-fade calc(var(--oc-animation-duration) * .6) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:var(--oc-row-delay,0s)}.oc-animate .oc-barlist-bar{animation:oc-enter-bar-h var(--oc-animation-duration) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:var(--oc-row-delay,0s)}.oc-animate[data-display=sparkline] .oc-mark-line,.oc-animate[data-display=sparkline] .oc-mark-area{animation-timing-function:cubic-bezier(.16,1,.3,1)}}@layer oc.reduced-motion{@media (prefers-reduced-motion:reduce){:is(.oc-root,.oc-chart-root,.oc-table-wrapper,.oc-table-root,.oc-graph-wrapper,.oc-graph-root,.oc-sankey-root,.oc-tilemap-root,.oc-barlist-root,.oc-map-root){transition:none;animation:none}:is(.oc-root,.oc-chart-root,.oc-table-wrapper,.oc-table-root,.oc-graph-wrapper,.oc-graph-root,.oc-sankey-root,.oc-tilemap-root,.oc-barlist-root,.oc-map-root) *{transition:none;animation:none}:is(.oc-root,.oc-chart-root,.oc-table-wrapper,.oc-table-root,.oc-graph-wrapper,.oc-graph-root,.oc-sankey-root,.oc-tilemap-root,.oc-barlist-root,.oc-map-root) :before{transition:none;animation:none}:is(.oc-root,.oc-chart-root,.oc-table-wrapper,.oc-table-root,.oc-graph-wrapper,.oc-graph-root,.oc-sankey-root,.oc-tilemap-root,.oc-barlist-root,.oc-map-root) :after{transition:none;animation:none}}}
1
+ @layer oc.tokens{.oc-root,.oc-chart-root,.oc-table-wrapper,.oc-table-root,.oc-graph-wrapper,.oc-graph-root,.oc-sankey-root,.oc-tilemap-root,.oc-barlist-root,.oc-map-root{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;--oc-font-family:"Inter Variable", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--oc-font-mono:"JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--oc-ease-smooth:linear(0, .157, .438, .64, .766, .85, .906, .941, .964, .978, .988, .994, .998, 1);--oc-ease-snappy:linear(0, .012, .048, .108, .194, .302, .426, .559, .69, .808, .905, .973, 1.013, 1.028, 1.023, 1.006, .984, .966, .957, .957, .964, .975, .986, .995, 1, 1.003, 1.002, 1, .998, .998, .999, 1);--oc-animation-duration:.45s;--oc-animation-stagger:30ms;--oc-annotation-delay:.15s;--oc-title-size:26px;--oc-title-weight:600;--oc-title-tracking:-.022em;--oc-subtitle-size:14px;--oc-subtitle-weight:400;--oc-source-size:11px;--oc-source-weight:400;--oc-body-size:13px;--oc-eyebrow-size:11px;--oc-eyebrow-weight:500;--oc-eyebrow-tracking:.08em;--oc-bg:#fff;--oc-card:#fff;--oc-secondary:#f4f4f5;--oc-text:#09090b;--oc-text-secondary:#3f3f46;--oc-text-muted:#71717a;--oc-text-faint:#d4d4d8;--oc-gray-100:#f0f0f0;--oc-gray-200:#e1e1e2;--oc-gray-300:#c9c9c9;--oc-gray-400:#9d9d9d;--oc-gray-600:#787879;--oc-gray-800:#474748;--oc-gridline:rgba(0,0,0,.08);--oc-axis:rgba(0,0,0,.14);--oc-border:rgba(0,0,0,.08);--oc-border-radius:8px;--oc-radius-sm:2px;--oc-radius-md:6px;--oc-radius-lg:var(--oc-border-radius);--oc-radius-full:999px;--oc-accent:#06b6d4;--oc-accent-strong:#0891b2;--oc-positive:#15803d;--oc-negative:#dc2626;--oc-positive-tint:color-mix(in srgb, var(--oc-positive) 10%, var(--oc-bg));--oc-negative-tint:color-mix(in srgb, var(--oc-negative) 10%, var(--oc-bg));--oc-focus:#3b82f6;--oc-focus-ring:rgba(59,130,246,.1);--oc-focus-ring-strong:rgba(59,130,246,.25);--oc-editable-hover:rgba(79,70,229,.35);--oc-space-2:8px;--oc-space-4:16px;--oc-hover-dim:.3;--oc-hover-duration:.14s;--oc-map-hover-dim:.75;--oc-hover-bg:rgba(0,0,0,.024);--oc-tooltip-bg:rgba(255,255,255,.88);--oc-tooltip-border:rgba(0,0,0,.08);--oc-tooltip-shadow:0 2px 8px rgba(0,0,0,.08), 0 0 1px rgba(0,0,0,.12);--oc-tooltip-text:#09090b;--oc-legend-text:#3f3f46}.oc-dark{--oc-bg:#09090b;--oc-card:#111113;--oc-secondary:#27272a;--oc-text:#f7f8f8;--oc-text-secondary:#d0d6e0;--oc-text-muted:#a1a1aa;--oc-text-faint:#52525b;--oc-gridline:rgba(255,255,255,.06);--oc-axis:rgba(255,255,255,.14);--oc-border:rgba(255,255,255,.1);--oc-accent:#06b6d4;--oc-accent-strong:#06b6d4;--oc-positive:#4ade80;--oc-negative:#f87171;--oc-focus:#60a5fa;--oc-hover-bg:rgba(255,255,255,.05);--oc-tooltip-bg:rgba(17,17,19,.92);--oc-tooltip-border:rgba(255,255,255,.08);--oc-tooltip-shadow:0 2px 8px rgba(0,0,0,.3), 0 0 1px rgba(0,0,0,.4);--oc-tooltip-text:#f7f8f8;--oc-legend-text:#d0d6e0}}@layer oc.base{.oc-chart-root,.oc-table-root,.oc-graph-root,.oc-sankey-root,.oc-barlist-root,.oc-tilemap-root,.oc-map-root{width:100%;height:100%}.oc-table-root{overflow:auto}.oc-chart{font-family:var(--oc-font-family);font-variant-numeric:tabular-nums;width:100%;display:block}.oc-tilemap,.oc-map{width:100%;height:auto;display:block}.oc-map-feature{transition:opacity var(--oc-hover-duration) ease-out, stroke-width .14s ease-out}.oc-barlist{width:100%;display:block}.oc-sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:clip}.oc-editable-hover{outline:1.5px solid var(--oc-editable-hover);outline-offset:2px;border-radius:var(--oc-radius-sm)}.oc-root:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px}.oc-mark-focused{outline:2px solid var(--oc-focus);outline-offset:1px;border-radius:var(--oc-radius-sm)}}@layer oc.components{.oc-chrome{font-family:var(--oc-font-family)}.oc-eyebrow{font-size:var(--oc-eyebrow-size);font-weight:var(--oc-eyebrow-weight);letter-spacing:var(--oc-eyebrow-tracking);text-transform:uppercase;fill:var(--oc-accent)}.oc-title{font-size:var(--oc-title-size);font-weight:var(--oc-title-weight);letter-spacing:var(--oc-title-tracking);fill:var(--oc-text)}.oc-subtitle{font-size:var(--oc-subtitle-size);font-weight:var(--oc-subtitle-weight);fill:var(--oc-text-muted)}.oc-source,.oc-byline,.oc-footer{font-size:var(--oc-source-size);font-weight:var(--oc-source-weight);fill:var(--oc-text-muted)}.oc-brand{letter-spacing:.02em;fill:var(--oc-text-faint);font-size:11px;font-weight:500}.oc-eyebrow-dot{fill:var(--oc-accent)}.oc-metrics{font-family:var(--oc-font-family)}.oc-metric-label{letter-spacing:.06em;text-transform:uppercase;fill:var(--oc-text-muted);font-size:11px;font-weight:500}.oc-metric-value{letter-spacing:-.02em;fill:var(--oc-text);font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.oc-metric-delta-up{fill:var(--oc-positive);font-size:12px;font-weight:500}.oc-metric-delta-down{fill:var(--oc-negative);font-size:12px;font-weight:500}.oc-metric-secondary{fill:var(--oc-text-muted);font-size:12px;font-weight:400}.oc-axis-tick-inline{fill:var(--oc-text-muted);font-size:11px;font-weight:400}.oc-endpoint-labels{font-family:var(--oc-font-family)}.oc-endpoint-label{fill:var(--oc-endpoint-label-color,var(--oc-text))}.oc-endpoint-value{fill:var(--oc-endpoint-value-color,var(--oc-text-muted))}.oc-endpoint-leader{stroke:var(--oc-endpoint-leader-color,currentColor)}.oc-annotation-subtitle{fill:var(--oc-annotation-subtitle-color,var(--oc-text-muted))}.oc-table-footer-row{align-items:baseline;gap:16px;padding:16px 16px 4px;display:flex}.oc-chrome-footer{padding-top:0}.oc-table-footer-row .oc-table-ref{text-align:right;flex-shrink:0;margin-left:auto}.oc-tooltip{pointer-events:none;z-index:1000;background:var(--oc-tooltip-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--oc-tooltip-border);border-radius:var(--oc-radius-lg);box-shadow:var(--oc-tooltip-shadow);color:var(--oc-tooltip-text);font-family:var(--oc-font-family);min-width:140px;max-width:280px;padding:0;font-size:12px;line-height:1.4;transition:left .1s ease-in-out,top .1s ease-in-out;animation:.12s ease-out oc-tooltip-in;display:none;position:absolute}.oc-tooltip .oc-tooltip-header{align-items:center;gap:8px;padding:8px 10px 6px;display:flex}.oc-tooltip .oc-tooltip-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.oc-tooltip .oc-tooltip-title{letter-spacing:.04em;text-transform:uppercase;color:var(--oc-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.oc-tooltip .oc-tooltip-body{border-top:1px solid var(--oc-tooltip-border);padding:6px 10px 8px}.oc-tooltip .oc-tooltip-body:first-child{border-top:none;padding-top:10px}.oc-tooltip .oc-tooltip-row{justify-content:space-between;align-items:baseline;gap:16px;padding:2px 0;display:flex}.oc-tooltip .oc-tooltip-row-swatch{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-right:6px;display:inline-block;transform:translateY(-1px)}.oc-tooltip .oc-tooltip-label{color:var(--oc-text-secondary);white-space:nowrap;flex-shrink:0;align-items:center;font-size:12px;font-weight:400;display:inline-flex}.oc-tooltip .oc-tooltip-value{font-variant-numeric:tabular-nums;color:var(--oc-tooltip-text);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.oc-tooltip .oc-tooltip-row--emphasis .oc-tooltip-label{color:var(--oc-tooltip-text);font-weight:600}.oc-tooltip .oc-tooltip-row--emphasis .oc-tooltip-value{font-weight:600}.oc-tooltip .oc-tooltip-row--total{border-top:1px solid var(--oc-tooltip-border);margin-top:4px;padding-top:5px}.oc-tooltip .oc-tooltip-row--total .oc-tooltip-label{color:var(--oc-tooltip-text);font-weight:500}.oc-tooltip .oc-tooltip-row--total .oc-tooltip-value{font-weight:600}.oc-crosshair{pointer-events:none;transition:x1 50ms ease-in-out,x2 50ms ease-in-out}.oc-snap-dots circle{pointer-events:none;transition:cx 50ms ease-in-out,cy 50ms ease-in-out}.oc-legend{font-family:var(--oc-font-family)}.oc-legend-entry{cursor:default}.oc-marks.oc-hover-active .oc-mark--dim:not([opacity="0"]){opacity:var(--oc-hover-dim)}.oc-marks.oc-hover-active .oc-mark-rect.oc-mark--hover>*,.oc-marks.oc-hover-active .oc-mark-arc.oc-mark--hover>*,.oc-marks.oc-hover-active circle.oc-mark-point.oc-mark--hover{stroke:var(--oc-text);stroke-width:1px}.oc-chart:not(.oc-animate):not(.oc-transitioning) .oc-marks .oc-mark{transition:opacity var(--oc-hover-duration) ease-out}.oc-legend-entry--dim .oc-legend-swatch-line,.oc-legend-entry--dim .oc-legend-swatch-rect,.oc-legend-entry--dim>circle{opacity:var(--oc-hover-dim);transition:opacity var(--oc-hover-duration) ease-out}.oc-legend-hit{fill:transparent}.oc-legend-entry:focus{outline:none}.oc-legend-entry:focus-visible .oc-legend-hit{stroke:var(--oc-focus);stroke-width:2px}.oc-endpoint-label-entry{cursor:default}.oc-map-feature--hover{stroke:var(--oc-text);stroke-width:1.5px;vector-effect:non-scaling-stroke}.oc-map-features[data-hover] .oc-map-feature{transition:opacity var(--oc-hover-duration) ease-out}.oc-map-features[data-hover="0"] .oc-map-feature:not([data-bin-index="0"]),.oc-map-features[data-hover="1"] .oc-map-feature:not([data-bin-index="1"]),.oc-map-features[data-hover="2"] .oc-map-feature:not([data-bin-index="2"]),.oc-map-features[data-hover="3"] .oc-map-feature:not([data-bin-index="3"]),.oc-map-features[data-hover="4"] .oc-map-feature:not([data-bin-index="4"]),.oc-map-features[data-hover="5"] .oc-map-feature:not([data-bin-index="5"]),.oc-map-features[data-hover="6"] .oc-map-feature:not([data-bin-index="6"]),.oc-map-features[data-hover="7"] .oc-map-feature:not([data-bin-index="7"]),.oc-map-features[data-hover="8"] .oc-map-feature:not([data-bin-index="8"]),.oc-map-features[data-hover="9"] .oc-map-feature:not([data-bin-index="9"]),.oc-map-features[data-hover="10"] .oc-map-feature:not([data-bin-index="10"]),.oc-map-features[data-hover="11"] .oc-map-feature:not([data-bin-index="11"]){opacity:var(--oc-map-hover-dim)}.oc-legend-bin{cursor:default}.oc-tilemap-tiles.oc-hover-active .oc-tilemap-tile{transition:opacity var(--oc-hover-duration) ease-out}.oc-tilemap-tiles.oc-hover-active .oc-tilemap-tile:not(.oc-tilemap-tile--hover){opacity:var(--oc-hover-dim)}.oc-tilemap-tile--hover>rect{stroke:var(--oc-text);stroke-width:1.5px}.oc-series-search{font-family:var(--oc-font-family);z-index:10;justify-content:flex-end;align-items:center;gap:8px;display:flex;position:absolute}.oc-series-search-chips{scrollbar-width:none;align-items:center;gap:6px;min-width:0;display:flex;overflow-x:auto}.oc-series-search-chips::-webkit-scrollbar{display:none}.oc-series-search-chip{border:1px solid var(--oc-border);border-radius:var(--oc-radius-full);background:var(--oc-secondary);color:var(--oc-text-secondary);white-space:nowrap;align-items:center;gap:4px;padding:3px 4px 3px 10px;font-size:12px;font-weight:500;line-height:16px;display:inline-flex}.oc-series-search-chip-remove{width:16px;height:16px;color:var(--oc-text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin:-4px -2px -4px -4px;padding:4px;transition:color .15s,background-color .15s;display:inline-flex}.oc-series-search-chip-remove:hover{color:var(--oc-text);background:var(--oc-hover-bg)}.oc-series-search-chip-remove:focus-visible{outline:2px solid var(--oc-focus);outline-offset:1px}.oc-series-search-chip-remove svg{display:block}.oc-series-search-box{flex:0 220px;min-width:120px;position:relative}.oc-series-search-icon{color:var(--oc-text-muted);pointer-events:none;position:absolute;top:50%;left:9px;transform:translateY(-50%)}.oc-series-search-input{height:32px;padding:0 10px 0 28px}.oc-series-search-listbox{border:1px solid var(--oc-border);border-radius:var(--oc-radius-lg);background:var(--oc-card);min-width:100%;max-height:240px;box-shadow:var(--oc-tooltip-shadow);z-index:20;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);right:0;overflow-y:auto}.oc-series-search-option{border-radius:var(--oc-radius-sm);color:var(--oc-text);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;padding:6px 10px;font-size:13px;overflow:hidden}.oc-series-search-option[aria-selected=true],.oc-series-search-option:hover{background:var(--oc-hover-bg)}.oc-series-search-match{font-weight:600}.oc-series-search-empty{color:var(--oc-text-muted);padding:6px 10px;font-size:12px}.oc-ydi-region{opacity:.35;transition:opacity .4s}.oc-ydi-region[data-ydi-hidden=true]{opacity:0}.oc-ydi-boundary{stroke:var(--oc-text-muted);stroke-width:1px;stroke-dasharray:3 3;stroke-opacity:.6}.oc-ydi-guess{stroke:var(--oc-focus);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 6}.oc-ydi-comparison{stroke:var(--oc-text-muted);stroke-width:1.5px;stroke-opacity:.5;stroke-dasharray:4 4}.oc-ydi-clip-rect.oc-ydi-clip-animate{transition:width .7s cubic-bezier(.22,1,.36,1)}.oc-ydi-controls{pointer-events:none;font-family:var(--oc-font-family);box-sizing:border-box;z-index:10;flex-direction:column;justify-content:space-between;align-items:flex-end;padding:8px;display:flex}.oc-ydi-prompt{border-radius:var(--oc-radius-md);background:var(--oc-card);border:1px solid var(--oc-border);max-width:100%;color:var(--oc-text-secondary);text-align:center;box-shadow:var(--oc-tooltip-shadow);align-self:center;padding:6px 12px;font-size:13px;font-weight:500;line-height:16px}.oc-ydi-controls.oc-ydi-revealed .oc-ydi-prompt{display:none}.oc-ydi-actions{pointer-events:none;flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.oc-ydi-reveal-button,.oc-ydi-reset-button{pointer-events:auto;border:1px solid var(--oc-border);border-radius:var(--oc-radius-md);background:var(--oc-bg);color:var(--oc-text);white-space:nowrap;cursor:pointer;box-shadow:var(--oc-tooltip-shadow);justify-content:center;align-items:center;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:background-color .15s,border-color .15s;display:inline-flex}.oc-ydi-reset-button[hidden]{display:none}.oc-ydi-reveal-button:hover,.oc-ydi-reset-button:hover{background:var(--oc-hover-bg)}.oc-ydi-reveal-button:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px}.oc-ydi-reset-button:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px}.oc-ydi-reveal-button:disabled{opacity:.5;cursor:default}.oc-table-wrapper{font-family:var(--oc-font-family);color:var(--oc-text);background:var(--oc-bg)}.oc-table-wrapper>.oc-chrome{margin-bottom:16px;padding-left:16px;padding-right:16px}.oc-table-wrapper>.oc-chrome:first-child{padding-top:4px}.oc-table-wrapper table{border-collapse:collapse;width:100%}.oc-table-wrapper th{text-align:left;border-bottom:1px solid var(--oc-border);box-sizing:border-box;padding:12px 16px;line-height:24px}.oc-table-wrapper td{text-align:left;border-bottom:1px solid var(--oc-border);box-sizing:border-box;padding:12px 16px;line-height:24px}.oc-table-wrapper th{text-transform:uppercase;letter-spacing:.04em;color:var(--oc-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;font-weight:500}.oc-table-wrapper thead{z-index:2;background:var(--oc-bg);position:sticky;top:0}.oc-table-wrapper thead th{border-bottom-width:1px}.oc-table-wrapper td{font-variant-numeric:tabular-nums;font-size:14px}.oc-table-wrapper th:focus{outline:2px solid var(--oc-focus);outline-offset:-2px}.oc-table-wrapper tbody:focus{outline:none}.oc-table-title{font-size:var(--oc-title-computed-size,var(--oc-title-size));font-weight:var(--oc-title-computed-weight,var(--oc-title-weight));color:var(--oc-title-computed-color,var(--oc-text));margin-bottom:4px}.oc-table-subtitle{font-size:var(--oc-subtitle-computed-size,var(--oc-subtitle-size));font-weight:var(--oc-subtitle-computed-weight,var(--oc-subtitle-weight));color:var(--oc-subtitle-computed-color,var(--oc-text-secondary));margin-bottom:8px}.oc-table-source{font-size:var(--oc-source-computed-size,var(--oc-source-size));color:var(--oc-source-computed-color,var(--oc-text-muted))}.oc-table-footer-text{font-size:var(--oc-footer-computed-size,var(--oc-source-size));color:var(--oc-footer-computed-color,var(--oc-text-muted))}.oc-table-scroll{overflow-x:auto}.oc-table--sticky th:first-child{z-index:1;background:var(--oc-bg);position:sticky;left:0}.oc-table--sticky td:first-child{z-index:1;background:var(--oc-bg);position:sticky;left:0}.oc-table-sort-btn{cursor:pointer;vertical-align:middle;background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;margin-left:6px;padding:2px;display:inline-flex}.oc-table-sort-btn:before{content:"";border-left:5px solid transparent;border-right:5px solid transparent;width:0;height:0;transition:opacity .15s,border-color .15s;display:block}.oc-table-sort-btn:after{content:"";border-left:5px solid transparent;border-right:5px solid transparent;width:0;height:0;transition:opacity .15s,border-color .15s;display:block}.oc-table-sort-btn:before{border-bottom:4.5px solid var(--oc-text-secondary);opacity:.35}.oc-table-sort-btn:after{border-top:4.5px solid var(--oc-text-secondary);opacity:.35}.oc-table-sort-btn:hover:before{opacity:.75}.oc-table-sort-btn:hover:after{opacity:.75}th[aria-sort=ascending] .oc-table-sort-btn:before{opacity:1;border-bottom-color:var(--oc-text)}th[aria-sort=ascending] .oc-table-sort-btn:after{opacity:.15}th[aria-sort=descending] .oc-table-sort-btn:after{opacity:1;border-top-color:var(--oc-text)}th[aria-sort=descending] .oc-table-sort-btn:before{opacity:.15}.oc-table-search input,.oc-series-search-input{border:1px solid var(--oc-border);border-radius:var(--oc-radius-md);background:var(--oc-bg);width:100%;color:var(--oc-text);box-sizing:border-box;font-family:inherit;font-size:13px;transition:border-color .15s}.oc-table-search input::-ms-input-placeholder{color:var(--oc-text-muted);font-size:13px}.oc-table-search input::placeholder{color:var(--oc-text-muted);font-size:13px}.oc-series-search-input::-ms-input-placeholder{color:var(--oc-text-muted);font-size:13px}.oc-series-search-input::placeholder{color:var(--oc-text-muted);font-size:13px}.oc-table-search input:focus,.oc-series-search-input:focus{border-color:var(--oc-focus);box-shadow:0 0 0 3px var(--oc-focus-ring);outline:none}.oc-table-search{padding:8px 0}.oc-table-search input{padding:8px 12px}.oc-table-pagination{color:var(--oc-text-secondary);justify-content:space-between;align-items:center;padding:12px 0 4px;font-size:13px;display:flex}.oc-table-pagination button{border:1px solid var(--oc-border);border-radius:var(--oc-radius-md);background:var(--oc-bg);color:var(--oc-text);cursor:pointer;padding:6px 14px;font-family:inherit;font-size:13px;transition:background .15s,border-color .15s}.oc-table-pagination button:disabled{opacity:.35;cursor:not-allowed}.oc-table-pagination button:hover:not(:disabled){background:var(--oc-hover-bg);border-color:var(--oc-axis)}.oc-table-pagination button:focus-visible{outline:2px solid var(--oc-focus);outline-offset:1px}.oc-table-pagination-info{font-variant-numeric:tabular-nums}.oc-table-pagination-btns{gap:8px;display:flex}.oc-table-bar{position:relative}.oc-table-bar-fill{border-radius:var(--oc-radius-sm);opacity:.18;pointer-events:none;position:absolute;top:8px;bottom:8px;left:0}.oc-table-bar-value{z-index:1;position:relative}.oc-table-sparkline{width:100%;display:block;position:relative}.oc-table-sparkline svg{width:100%;display:block;overflow:visible}.oc-table-sparkline-dot{border-radius:50%;width:5px;height:5px;position:absolute}.oc-table-sparkline-labels{justify-content:space-between;font-size:11px;line-height:1;display:flex}.oc-table-image{vertical-align:middle;display:inline-block}.oc-table-image img{object-fit:cover}.oc-table-image-rounded img{border-radius:50%}.oc-table-flag{font-size:1.2em}:is(.oc-table--condensed,.oc-table--compact) th{padding:8px 12px;font-size:13px;line-height:24px}:is(.oc-table--condensed,.oc-table--compact) td{padding:8px 12px;font-size:13px;line-height:24px}:is(.oc-table--condensed,.oc-table--compact) th{font-size:11px}:is(.oc-table--condensed,.oc-table--compact) .oc-table-bar-fill{top:5px;bottom:5px}.oc-table--relaxed th{padding:16px 20px;line-height:24px}.oc-table--relaxed td{padding:16px 20px;line-height:24px}.oc-table--relaxed .oc-table-bar-fill{top:12px;bottom:12px}.oc-table--striped tbody tr:nth-child(2n){background:color-mix(in srgb, var(--oc-text) 3%, transparent)}.oc-table-delta{border-radius:var(--oc-radius-md);font-variant-numeric:tabular-nums;align-items:baseline;gap:4px;padding:2px 8px;font-weight:500;line-height:16px;display:inline-flex}.oc-table-delta-arrow{font-size:.8em;line-height:1}.oc-table-delta--positive{color:var(--oc-positive);background:var(--oc-positive-tint)}.oc-table-delta--negative{color:var(--oc-negative);background:var(--oc-negative-tint)}.oc-table-delta--neutral{color:var(--oc-text-muted);background:color-mix(in srgb, var(--oc-text) 6%, transparent)}.oc-table-chip{border-radius:var(--oc-radius-full);white-space:nowrap;align-items:center;gap:6px;padding:2px 8px;font-size:12px;font-weight:500;line-height:16px;display:inline-flex}.oc-table-chip-dot{border-radius:50%;flex:none;width:6px;height:6px}tfoot.oc-table-total{z-index:2;background:var(--oc-bg);position:sticky;bottom:0}tfoot.oc-table-total td{border-bottom:none;border-top:1px solid var(--oc-border);font-weight:600}.oc-table--cards .oc-table-scroll{overflow-x:hidden}.oc-table--cards table{table-layout:fixed}.oc-table--cards thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.oc-table--cards tbody tr{border-bottom:1px solid var(--oc-border);grid-template-columns:repeat(2,minmax(0,1fr));align-items:baseline;gap:2px 12px;padding:10px 12px;display:grid}.oc-table--cards tfoot tr{border-bottom:1px solid var(--oc-border);grid-template-columns:repeat(2,minmax(0,1fr));align-items:baseline;gap:2px 12px;padding:10px 12px;display:grid}.oc-table--cards td{overflow-wrap:anywhere;text-align:right;border-bottom:none;width:auto;max-width:100%;padding:0;display:block}.oc-table--cards td:before{content:attr(data-label);letter-spacing:.04em;text-transform:uppercase;color:var(--oc-text-muted);text-align:left;font-size:11px;font-weight:500;display:block}.oc-table--cards td[data-label=""]:before{content:none}.oc-table--cards td[data-priority="1"]{text-align:left;grid-column:1/-1;font-size:15px;font-weight:600}.oc-table--cards td[data-priority="1"]:before{content:none}.oc-table--cards td[data-priority="3"]{display:none}.oc-table--cards .oc-table-sparkline{width:100%}.oc-table--clickable tbody tr{cursor:pointer}.oc-table--clickable tbody tr:hover{background:var(--oc-hover-bg)}.oc-table-cell-focus{outline:2px solid var(--oc-focus);outline-offset:-2px}.oc-table-empty{text-align:center;color:var(--oc-text-secondary);padding:32px 16px;font-size:14px;font-style:italic}.oc-graph-wrapper{background:var(--oc-bg);font-family:var(--oc-font-family);width:100%;height:100%;position:relative;overflow:hidden}.oc-graph-canvas{cursor:grab;width:100%;height:100%;display:block}.oc-graph-canvas--dragging{cursor:grabbing}.oc-graph-3d,.oc-graph-3d .scene-container{width:100%;height:100%;display:block}.oc-graph-3d{cursor:grab}.oc-graph-3d .scene-container canvas{width:100%;height:100%;display:block}.oc-graph-chrome{z-index:2;pointer-events:none;padding:16px 16px 8px;position:absolute;top:0;left:0;right:0}.oc-graph-chrome .oc-title{font-size:var(--oc-title-size);font-weight:var(--oc-title-weight);letter-spacing:var(--oc-title-tracking);color:var(--oc-text);--_stroke:color-mix(in srgb, var(--oc-bg) 80%, transparent);text-shadow:-2px -2px 0 var(--_stroke), 2px -2px 0 var(--_stroke), -2px 2px 0 var(--_stroke), 2px 2px 0 var(--_stroke), 0 -2px 0 var(--_stroke), 0 2px 0 var(--_stroke), -2px 0 0 var(--_stroke), 2px 0 0 var(--_stroke);margin:0 0 4px}.oc-graph-chrome .oc-subtitle{font-size:var(--oc-subtitle-size);color:var(--oc-text-secondary);--_stroke:color-mix(in srgb, var(--oc-bg) 80%, transparent);text-shadow:-1px -1px 0 var(--_stroke), 1px -1px 0 var(--_stroke), -1px 1px 0 var(--_stroke), 1px 1px 0 var(--_stroke);margin:0}.oc-graph-legend{background:color-mix(in srgb, var(--oc-bg) 88%, transparent);border:1px solid var(--oc-border);border-radius:var(--oc-radius-lg);color:var(--oc-text-secondary);max-height:200px;padding:8px 12px;font-size:12px;position:absolute;top:12px;right:12px;overflow-y:auto}.oc-graph-legend-item{width:100%;font:inherit;color:inherit;text-align:left;cursor:default;background:0 0;border:none;align-items:center;gap:6px;margin:0;padding:2px 0;display:flex}button.oc-graph-legend-item{cursor:pointer;border-radius:var(--oc-radius-sm)}button.oc-graph-legend-item:hover{background:var(--oc-focus-ring)}button.oc-graph-legend-item:focus-visible{outline:2px solid var(--oc-focus);outline-offset:1px}.oc-graph-legend-item--inactive{opacity:.45}.oc-graph-legend-label{flex:auto}.oc-graph-legend-count{color:var(--oc-text-secondary);font-variant-numeric:tabular-nums;margin-left:auto;padding-left:8px}.oc-graph-legend-swatch{border-radius:50%;flex-shrink:0;width:10px;height:10px}.oc-graph-legend-swatch--line{border-radius:1px;width:12px;height:3px}.oc-graph-search{position:absolute;top:12px;left:12px}.oc-graph-search input{font-family:var(--oc-font-family);font-size:var(--oc-body-size);border:1px solid var(--oc-border);border-radius:var(--oc-radius-md);background:color-mix(in srgb, var(--oc-bg) 88%, transparent);color:var(--oc-text);outline:none;padding:6px 10px}.oc-graph-search input:focus{border-color:var(--oc-focus);box-shadow:0 0 0 2px var(--oc-focus-ring-strong)}.oc-sankey:not(.oc-animate) .oc-sankey-link path{transition:fill-opacity var(--oc-hover-duration) ease-out}.oc-sankey:not(.oc-animate) .oc-sankey-node,.oc-sankey:not(.oc-animate) .oc-sankey-label{transition:opacity var(--oc-hover-duration) ease-out}.oc-sankey-label{pointer-events:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.oc-chart[data-display=sparkline]{margin:0;padding:0;display:block}.oc-chart[data-display=sparkline] .oc-pulse{animation:.6s ease-out oc-pulse}@media (prefers-reduced-motion:reduce){.oc-chart[data-display=sparkline] .oc-pulse{animation:none}}}@layer oc.animation{.oc-table-wrapper.oc-animate>.oc-chrome{animation:oc-enter-fade calc(var(--oc-animation-duration) * .6) var(--oc-animation-ease,var(--oc-ease-smooth)) both}.oc-table-wrapper.oc-animate thead{animation:oc-enter-fade-only calc(var(--oc-animation-duration) * .4) var(--oc-animation-ease,var(--oc-ease-smooth)) both}.oc-table-wrapper.oc-animate tbody tr{animation:oc-table-enter-row var(--oc-animation-duration) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-row-index,0))}.oc-table-wrapper.oc-animate tbody td{animation:oc-enter-fade-only calc(var(--oc-animation-duration) * .5) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-row-index,0))}.oc-table-wrapper.oc-animate td.oc-table-heatmap{animation:oc-enter-fade-only calc(var(--oc-animation-duration) * .7) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-row-index,0) + var(--oc-animation-duration) * .3)}.oc-table-wrapper.oc-animate td.oc-table-category{animation:oc-enter-fade-only calc(var(--oc-animation-duration) * .7) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-row-index,0) + var(--oc-animation-duration) * .3)}.oc-table-wrapper.oc-animate .oc-table-bar-fill{animation:oc-table-enter-bar-fill calc(var(--oc-animation-duration) * .8) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-row-index,0) + var(--oc-animation-duration) * .3)}.oc-table-wrapper.oc-animate .oc-table-sparkline>svg{animation:oc-enter-line calc(var(--oc-animation-duration) * .8) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-row-index,0) + var(--oc-animation-duration) * .4)}.oc-table-wrapper.oc-animate .oc-table-sparkline-dot{animation:oc-enter-fade-only calc(var(--oc-animation-duration) * .3) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-row-index,0) + var(--oc-animation-duration) * .8)}.oc-table-wrapper.oc-animate .oc-table-sparkline-labels{animation:oc-enter-fade-only calc(var(--oc-animation-duration) * .3) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-row-index,0) + var(--oc-animation-duration) * .8)}.oc-table-wrapper.oc-animate .oc-table-search{animation:oc-enter-fade-only calc(var(--oc-animation-duration) * .5) var(--oc-animation-ease,var(--oc-ease-smooth)) both}.oc-table-wrapper.oc-animate .oc-table-pagination{animation:oc-enter-fade-only calc(var(--oc-animation-duration) * .5) var(--oc-animation-ease,var(--oc-ease-smooth)) both}@keyframes oc-enter-bar{0%{clip-path:inset(100% 0 0);opacity:0}75%{opacity:1}to{clip-path:inset(0);opacity:1}}@keyframes oc-enter-bar-h{0%{clip-path:inset(0 100% 0 0);opacity:0}75%{opacity:1}to{clip-path:inset(0);opacity:1}}@keyframes oc-enter-line{0%{clip-path:inset(0 100% 0 0);opacity:0}15%{opacity:1}to{clip-path:inset(0);opacity:1}}@keyframes oc-enter-point{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}@keyframes oc-enter-map-fill{0%{fill:var(--oc-secondary);opacity:0}to{fill:var(--oc-feature-fill);opacity:var(--oc-feature-target-opacity,1)}}@keyframes oc-enter-map-point{0%{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}@keyframes oc-enter-fade-only{0%{opacity:0}to{opacity:1}}@keyframes oc-enter-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes oc-table-enter-row{0%{transform:translateY(6px)}to{transform:translateY(0)}}@keyframes oc-table-enter-bar-fill{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes oc-pulse{0%{r:var(--oc-pulse-r,4px);fill-opacity:1}45%{r:calc(var(--oc-pulse-r,4px) * 1.8);fill-opacity:.5}to{r:var(--oc-pulse-r,4px);fill-opacity:1}}@keyframes oc-tooltip-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.oc-animate .oc-mark-rect :is(rect,path){animation:oc-enter-bar var(--oc-animation-duration) var(--oc-ease-smooth) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-mark-index,0))}.oc-animate .oc-mark-bar :is(rect,path){animation:oc-enter-bar var(--oc-animation-duration) var(--oc-ease-smooth) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-mark-index,0))}.oc-animate .oc-mark-rect[data-orient=horizontal] :is(rect,path){animation-name:oc-enter-bar-h}.oc-animate .oc-mark-bar[data-orient=horizontal] :is(rect,path){animation-name:oc-enter-bar-h}.oc-animate .oc-mark-rect[data-stack-pos] :is(rect,path){animation-duration:var(--oc-stack-segment-duration,.15s);animation-timing-function:linear;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-mark-index,0) + var(--oc-stack-pos,0) * var(--oc-stack-segment-duration,.15s))}.oc-animate .oc-mark-line{animation:oc-enter-line var(--oc-animation-duration) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-mark-index,0))}.oc-animate .oc-mark-area{animation:oc-enter-line var(--oc-animation-duration) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-mark-index,0))}.oc-animate .oc-mark-arc{animation:oc-enter-fade-only var(--oc-animation-duration) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-mark-index,0))}.oc-animate circle.oc-mark-point{animation:oc-enter-fade-only calc(var(--oc-animation-duration) * .4) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-mark-index,0))}.oc-animate circle.oc-mark-circle{animation:oc-enter-fade-only calc(var(--oc-animation-duration) * .4) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-mark-index,0))}.oc-animate .oc-mark-line~circle.oc-mark-point{animation-delay:calc(var(--oc-animation-duration) * .35 + var(--oc-animation-stagger) * var(--oc-mark-index,0))}.oc-animate .oc-mark-area~circle.oc-mark-point{animation-delay:calc(var(--oc-animation-duration) * .35 + var(--oc-animation-stagger) * var(--oc-mark-index,0))}.oc-animate .oc-mark-text text{animation:oc-enter-fade calc(var(--oc-animation-duration) * .6) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-mark-index,0))}.oc-animate .oc-mark-rule line{animation:oc-enter-fade calc(var(--oc-animation-duration) * .5) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-mark-index,0))}.oc-animate .oc-mark-tick line{animation:oc-enter-fade calc(var(--oc-animation-duration) * .5) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-mark-index,0))}.oc-animate .oc-mark-label{animation:oc-enter-fade .25s var(--oc-ease-smooth) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-mark-index,0) + var(--oc-animation-duration) * .7)}.oc-animate .oc-annotation{animation:oc-enter-fade .3s var(--oc-ease-smooth) both;animation-delay:calc(var(--oc-animation-duration) + var(--oc-annotation-delay,.15s))}.oc-animate .oc-tilemap-tile{animation:oc-enter-fade-only calc(var(--oc-animation-duration) * .35) ease-in both;animation-delay:var(--oc-tile-delay,0s)}.oc-animate .oc-map-feature{animation:oc-enter-map-fill var(--oc-animation-duration) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:var(--oc-map-delay,0s)}.oc-animate .oc-map-features[data-bulk-animate]{animation:oc-enter-fade-only var(--oc-animation-duration) var(--oc-animation-ease,var(--oc-ease-smooth)) both}.oc-animate .oc-map-features[data-bulk-animate] .oc-map-feature{animation:none}.oc-animate .oc-map-borders path{animation:oc-enter-fade-only calc(var(--oc-animation-duration) * .4) ease-in both;animation-delay:calc(var(--oc-animation-duration) * .7)}.oc-animate .oc-map-point{animation:oc-enter-map-point calc(var(--oc-animation-duration) * .4) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-duration) * .8 + var(--oc-mark-index,0) * var(--oc-point-stagger,60ms))}.oc-animate .oc-sankey-node rect{animation:oc-enter-fade-only var(--oc-animation-duration) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-stagger) * var(--oc-mark-index,0))}.oc-animate .oc-sankey-link path{animation:oc-enter-fade-only var(--oc-animation-duration) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:calc(var(--oc-animation-duration) * .3 + var(--oc-animation-stagger) * var(--oc-mark-index,0))}.oc-animate .oc-barlist-row{animation:oc-enter-fade calc(var(--oc-animation-duration) * .6) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:var(--oc-row-delay,0s)}.oc-animate .oc-barlist-bar{animation:oc-enter-bar-h var(--oc-animation-duration) var(--oc-animation-ease,var(--oc-ease-smooth)) both;animation-delay:var(--oc-row-delay,0s)}.oc-animate[data-display=sparkline] .oc-mark-line,.oc-animate[data-display=sparkline] .oc-mark-area{animation-timing-function:cubic-bezier(.16,1,.3,1)}}@layer oc.reduced-motion{@media (prefers-reduced-motion:reduce){:is(.oc-root,.oc-chart-root,.oc-table-wrapper,.oc-table-root,.oc-graph-wrapper,.oc-graph-root,.oc-sankey-root,.oc-tilemap-root,.oc-barlist-root,.oc-map-root){transition:none;animation:none}:is(.oc-root,.oc-chart-root,.oc-table-wrapper,.oc-table-root,.oc-graph-wrapper,.oc-graph-root,.oc-sankey-root,.oc-tilemap-root,.oc-barlist-root,.oc-map-root) *{transition:none;animation:none}:is(.oc-root,.oc-chart-root,.oc-table-wrapper,.oc-table-root,.oc-graph-wrapper,.oc-graph-root,.oc-sankey-root,.oc-tilemap-root,.oc-barlist-root,.oc-map-root) :before{transition:none;animation:none}:is(.oc-root,.oc-chart-root,.oc-table-wrapper,.oc-table-root,.oc-graph-wrapper,.oc-graph-root,.oc-sankey-root,.oc-tilemap-root,.oc-barlist-root,.oc-map-root) :after{transition:none;animation:none}}}
2
2
  /*# sourceMappingURL=styles.css.map */