
:root {
  /* Canonical source palette: openclaw.ai at b94b43b. */
  --oc-palette-ink-950: #101012;
  --oc-palette-ink-900: #19191c;
  --oc-palette-ink-850: #202024;
  --oc-palette-ink-50: #ededed;
  --oc-palette-ink-300: #bcbcc4;
  --oc-palette-ink-500: #9a9aa2;

  --oc-palette-paper-50: #ffffff;
  --oc-palette-paper-100: #f6f5f3;
  --oc-palette-paper-200: #eceae6;
  --oc-palette-paper-950: #17171a;
  --oc-palette-paper-700: #46464e;
  --oc-palette-paper-600: #63636c;

  --oc-palette-coral-dark-bright: #f5654a;
  --oc-palette-coral-dark-mid: #e05540;
  --oc-palette-coral-dark-deep: #b23a28;
  --oc-palette-coral-light-bright: #d84a31;
  --oc-palette-coral-light-mid: #c24028;
  --oc-palette-coral-light-deep: #9c3222;

  --oc-palette-sea-dark-bright: #4fc8ae;
  --oc-palette-sea-dark-mid: #2fa48d;
  --oc-palette-sea-light-bright: #14806e;
  --oc-palette-sea-light-mid: #0f6355;

  --oc-space-1: 0.25rem;
  --oc-space-2: 0.5rem;
  --oc-space-3: 0.75rem;
  --oc-space-4: 1rem;
  --oc-space-5: 1.5rem;
  --oc-space-6: 2rem;
  --oc-space-7: 3rem;
  --oc-space-8: 4rem;

  --oc-font-size-xs: 0.75rem;
  --oc-font-size-sm: 0.8125rem;
  --oc-font-size-base: 0.875rem;
  --oc-font-size-md: 0.9375rem;
  --oc-font-size-lg: 1.0625rem;
  --oc-font-size-xl: 1.25rem;
  --oc-font-size-2xl: 1.5rem;
  --oc-font-size-3xl: 2rem;

  --oc-radius-sm: 0.25rem;
  --oc-radius-md: 0.5rem;
  --oc-radius-lg: 0.75rem;
  --oc-radius-xl: 1rem;
  --oc-radius-full: 999px;
  --oc-radius-surface: var(--oc-radius-md);
  --oc-radius-control: var(--oc-radius-md);
  --oc-radius-inset: var(--oc-radius-sm);
  --oc-radius-round: var(--oc-radius-full);

  --oc-shadow-sm: 0 1px 2px rgb(0 0 0 / 0.12);
  --oc-shadow-md: 0 8px 24px -6px rgb(0 0 0 / 0.28);
  --oc-shadow-lg: 0 24px 48px -12px rgb(0 0 0 / 0.42);

  --oc-layer-popover: 20;
  --oc-layer-notification: 100;

  --oc-duration-fast: 160ms;
  --oc-duration-ui: 200ms;
  --oc-ease-out: cubic-bezier(0.23, 1, 0.32, 1);

  --oc-control-min-height: 2.75rem;

  --oc-content-max: 75rem;
  --oc-content-narrow: 48rem;
}

:root,
html[data-theme="dark"] {
  color-scheme: dark;

  --oc-bg-page: var(--oc-palette-ink-950);
  --oc-bg-surface: var(--oc-palette-ink-900);
  --oc-bg-elevated: var(--oc-palette-ink-850);
  --oc-bg-recessed: color-mix(in oklch, var(--oc-bg-page) 86%, oklch(0 0 0));
  --oc-bg-contrast: var(--oc-text-primary);

  --oc-accent-primary: var(--oc-palette-coral-dark-bright);
  --oc-accent-primary-hover: var(--oc-palette-coral-dark-mid);
  --oc-accent-primary-deep: var(--oc-palette-coral-dark-deep);
  --oc-accent-secondary: var(--oc-palette-sea-dark-bright);
  --oc-accent-secondary-deep: var(--oc-palette-sea-dark-mid);

  --oc-text-primary: var(--oc-palette-ink-50);
  --oc-text-secondary: var(--oc-palette-ink-300);
  --oc-text-muted: var(--oc-palette-ink-500);
  --oc-text-inactive: color-mix(in oklch, var(--oc-text-muted) 62%, transparent);
  --oc-text-inverse: var(--oc-bg-page);
  --oc-text-link: var(--oc-accent-primary);
  --oc-text-on-accent: var(--oc-palette-ink-950);

  --oc-border-subtle: rgb(154 154 162 / 0.18);
  --oc-border-strong: color-mix(in oklch, var(--oc-text-primary) 32%, transparent);
  --oc-border-accent: rgb(245 101 74 / 0.4);

  --oc-surface-card: rgb(25 25 28 / 0.72);
  --oc-surface-card-strong: rgb(25 25 28 / 0.9);
  --oc-surface-overlay: rgb(0 0 0 / 0.3);
  --oc-surface-modal-backdrop: rgb(0 0 0 / 0.6);
  --oc-surface-interactive: rgb(237 237 237 / 0.08);
  --oc-surface-interactive-hover: rgb(237 237 237 / 0.16);
  --oc-control-bg: var(--oc-surface-interactive);
  --oc-control-bg-hover: var(--oc-surface-interactive-hover);
  --oc-surface-accent-soft: rgb(245 101 74 / 0.14);
  --oc-surface-secondary-soft: rgb(79 200 174 / 0.14);
  --oc-chart-line: rgb(237 237 237 / 0.09);
  --oc-selection-bg: rgb(245 101 74 / 0.28);
  --oc-focus-ring: rgb(79 200 174 / 0.72);

  /* Compatibility aliases retained for zero-diff openclaw.ai extraction. */
  --bg-deep: var(--oc-bg-page);
  --bg-surface: var(--oc-bg-surface);
  --bg-elevated: var(--oc-bg-elevated);
  --coral-bright: var(--oc-accent-primary);
  --coral-mid: var(--oc-accent-primary-hover);
  --coral-dark: var(--oc-accent-primary-deep);
  --cyan-bright: var(--oc-accent-secondary);
  --cyan-mid: var(--oc-accent-secondary-deep);
  --cyan-glow: rgb(79 200 174 / 0.35);
  --text-primary: var(--oc-text-primary);
  --text-secondary: var(--oc-text-secondary);
  --text-muted: var(--oc-text-muted);
  --on-accent: var(--oc-text-on-accent);
  --border-subtle: var(--oc-border-subtle);
  --border-accent: var(--oc-border-accent);
  --surface-card: var(--oc-surface-card);
  --surface-card-strong: var(--oc-surface-card-strong);
  --surface-overlay: var(--oc-surface-overlay);
  --surface-interactive: var(--oc-surface-interactive);
  --surface-interactive-hover: var(--oc-surface-interactive-hover);
  --surface-coral-soft: var(--oc-surface-accent-soft);
  --surface-cyan-soft: var(--oc-surface-secondary-soft);
  --surface-inset-highlight: rgb(237 237 237 / 0.05);
  --chart-line: var(--oc-chart-line);
}

html[data-theme="light"] {
  color-scheme: light;

  --oc-bg-page: var(--oc-palette-paper-100);
  --oc-bg-surface: var(--oc-palette-paper-200);
  --oc-bg-elevated: var(--oc-palette-paper-50);
  --oc-bg-recessed: color-mix(
    in oklch,
    var(--oc-bg-page) 94%,
    var(--oc-text-primary)
  );
  --oc-bg-contrast: var(--oc-text-primary);

  --oc-accent-primary: var(--oc-palette-coral-light-bright);
  --oc-accent-primary-hover: var(--oc-palette-coral-light-mid);
  --oc-accent-primary-deep: var(--oc-palette-coral-light-deep);
  --oc-accent-secondary: var(--oc-palette-sea-light-bright);
  --oc-accent-secondary-deep: var(--oc-palette-sea-light-mid);

  --oc-text-primary: var(--oc-palette-paper-950);
  --oc-text-secondary: var(--oc-palette-paper-700);
  --oc-text-muted: var(--oc-palette-paper-600);
  --oc-text-inactive: color-mix(in oklch, var(--oc-text-muted) 62%, transparent);
  --oc-text-inverse: var(--oc-bg-page);
  --oc-text-link: var(--oc-accent-primary);
  --oc-text-on-accent: var(--oc-palette-paper-50);

  --oc-border-subtle: rgb(23 23 26 / 0.14);
  --oc-border-strong: color-mix(in oklch, var(--oc-text-primary) 28%, transparent);
  --oc-border-accent: rgb(216 74 49 / 0.42);

  --oc-surface-card: rgb(255 255 255 / 0.8);
  --oc-surface-card-strong: rgb(255 255 255 / 0.95);
  --oc-surface-overlay: rgb(23 23 26 / 0.08);
  --oc-surface-modal-backdrop: rgb(23 23 26 / 0.6);
  --oc-surface-interactive: rgb(23 23 26 / 0.07);
  --oc-surface-interactive-hover: rgb(23 23 26 / 0.14);
  --oc-control-bg: var(--oc-surface-interactive);
  --oc-control-bg-hover: var(--oc-surface-interactive-hover);
  --oc-surface-accent-soft: rgb(216 74 49 / 0.12);
  --oc-surface-secondary-soft: rgb(20 128 110 / 0.13);
  --oc-chart-line: rgb(23 23 26 / 0.12);
  --oc-selection-bg: rgb(216 74 49 / 0.2);
  --oc-focus-ring: rgb(20 128 110 / 0.58);

  --cyan-glow: rgb(20 128 110 / 0.24);
  --surface-inset-highlight: rgb(23 23 26 / 0.05);
}

/* Neutral application palette used by the reference site. Keep this additive
   to the stable theme contract: the stronger root selectors let consumers
   import themes/product.css afterward without copying these role overrides. */
html:root,
html:root[data-theme="dark"] {
  --oc-bg-page: oklch(0.135 0 0);
  --oc-bg-surface: oklch(0.178 0 0);
  --oc-bg-elevated: oklch(0.205 0 0);
  --oc-text-primary: oklch(0.985 0 0);
  --oc-text-secondary: oklch(0.87 0 0);
  --oc-text-muted: oklch(0.716 0 0);
  --oc-text-on-accent: oklch(0.135 0 0);
  --oc-border-subtle: oklch(0.269 0 0);
  --oc-surface-card: oklch(0.178 0 0 / 0.82);
  --oc-surface-card-strong: oklch(0.205 0 0 / 0.96);
  --oc-surface-overlay: oklch(0 0 0 / 0.3);
  --oc-surface-interactive: oklch(0.178 0 0);
  --oc-surface-interactive-hover: oklch(0.239 0 0);
  --oc-control-bg: var(--oc-surface-interactive);
  --oc-control-bg-hover: var(--oc-surface-interactive-hover);
  --oc-chart-line: oklch(1 0 0 / 0.1);
  --oc-focus-ring: oklch(0.935 0 0 / 0.72);
  --oc-input-bg: oklch(0.205 0 0);
  --oc-input-focus-border: color-mix(in srgb, var(--oc-text-primary) 62%, transparent);
  --oc-input-focus-ring: color-mix(in srgb, var(--oc-text-primary) 22%, transparent);
}

html:root[data-theme="light"] {
  /* The source coral stays available as palette data, while interactive and
     brand roles resolve to AA-safe mixtures on every documented light surface. */
  --oc-accent-primary: color-mix(
    in srgb,
    var(--oc-palette-coral-light-mid) 60%,
    var(--oc-palette-coral-light-deep) 40%
  );
  --oc-accent-primary-hover: color-mix(
    in srgb,
    var(--oc-palette-coral-light-mid) 30%,
    var(--oc-palette-coral-light-deep) 70%
  );
  --oc-accent-primary-deep: var(--oc-palette-coral-light-deep);
  --oc-bg-page: oklch(0.985 0 0);
  --oc-bg-surface: oklch(0.97 0 0);
  --oc-bg-elevated: oklch(1 0 0);
  --oc-text-primary: oklch(0.205 0 0);
  --oc-text-secondary: oklch(0.269 0 0);
  --oc-text-muted: oklch(0.555 0 0);
  --oc-text-on-accent: oklch(1 0 0);
  --oc-border-subtle: oklch(0.922 0 0);
  --oc-surface-card: oklch(1 0 0);
  --oc-surface-card-strong: oklch(1 0 0);
  --oc-surface-overlay: oklch(0.205 0 0 / 0.08);
  --oc-surface-interactive: oklch(0.97 0 0);
  --oc-surface-interactive-hover: oklch(0.922 0 0);
  --oc-control-bg: var(--oc-bg-elevated);
  --oc-control-bg-hover: var(--oc-surface-interactive-hover);
  --oc-chart-line: oklch(0.205 0 0 / 0.12);
  --oc-focus-ring: oklch(0.15 0 0 / 0.7);
  --oc-input-bg: oklch(1 0 0);
  --oc-input-focus-border: color-mix(in srgb, var(--oc-text-primary) 62%, transparent);
  --oc-input-focus-ring: color-mix(in srgb, var(--oc-text-primary) 22%, transparent);
}

:root {
  /*
   * Font binaries are intentionally not distributed. Consumers must load
   * licensed fonts themselves or use the documented fallback stacks.
   */
  --oc-font-display: "Switzer", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --oc-font-body: "Switzer", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --oc-font-serif: "Sentient", Georgia, "Times New Roman", serif;
  --oc-font-mono: ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, monospace;

  --font-display: var(--oc-font-display);
  --font-body: var(--oc-font-body);
  --font-serif: var(--oc-font-serif);
  --font-mono: var(--oc-font-mono);
}


/*
 * Framework-neutral stable component primitives for OpenClaw surfaces.
 * This file preserves the v0.0.1 runtime contract.
 */

.oc-app-surface {
  --oc-component-surface: var(--oc-surface-card);
  --oc-component-surface-strong: var(--oc-surface-card-strong);
  --oc-component-surface-hover: var(--oc-surface-interactive);
  --oc-component-border: var(--oc-border-subtle);
  --oc-component-border-hover: color-mix(
    in srgb,
    var(--oc-text-primary) 28%,
    var(--oc-border-subtle)
    );
  --oc-component-shadow: var(--oc-shadow-sm);
  --oc-component-shadow-hover: var(--oc-shadow-md);

  min-width: 0;
  min-height: 100%;
  background: var(--oc-bg-page);
  color: var(--oc-text-primary);
  font-family: var(--oc-font-body);
}

.oc-hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--oc-space-3);
  text-align: center;
}

.oc-hero-title {
  max-width: 66rem;
  margin: 0;
  color: var(--oc-accent-primary);
  font-family: var(--oc-font-mono);
  font-size: clamp(2.25rem, 4.25vw, 3.5rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: 0;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.oc-hero-lede {
  max-width: 42rem;
  margin: 0;
  color: var(--oc-text-secondary);
  font-size: var(--oc-font-size-lg);
  line-height: 1.6;
  overflow-wrap: anywhere;
  text-wrap: pretty;
}

.oc-section {
  width: 100%;
  color: var(--oc-text-primary);
}

.oc-section-header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: var(--oc-space-5);
}

.oc-section-header > * {
  min-width: 0;
}

.oc-section-heading {
  display: grid;
  gap: var(--oc-space-2);
}

.oc-eyebrow {
  margin: 0;
  color: var(--oc-accent-primary);
  font-family: var(--oc-font-mono);
  font-size: var(--oc-font-size-xs);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: uppercase;
}

.oc-section-title {
  margin: 0;
  color: var(--oc-text-primary);
  font-family: var(--oc-font-display);
  font-size: clamp(1.5rem, 2.2vw, 2rem);
  font-weight: 750;
  line-height: 1.12;
  letter-spacing: 0;
  text-wrap: balance;
}

.oc-section-copy {
  max-width: 60ch;
  margin: 0;
  color: var(--oc-text-secondary);
  font-size: var(--oc-font-size-base);
  line-height: 1.65;
  overflow-wrap: anywhere;
  text-wrap: pretty;
}

.oc-card {
  border: 1px solid var(--oc-component-border);
  border-radius: var(--oc-radius-surface);
  background: var(--oc-component-surface);
  color: var(--oc-text-primary);
  box-shadow: var(--oc-component-shadow);
}

.oc-card-interactive {
  transition:
    background var(--oc-duration-ui) var(--oc-ease-out),
    border-color var(--oc-duration-ui) var(--oc-ease-out),
    box-shadow var(--oc-duration-ui) var(--oc-ease-out),
    transform var(--oc-duration-ui) var(--oc-ease-out);
}

.oc-card-interactive:hover,
.oc-card-interactive:focus-visible {
  border-color: var(--oc-component-border-hover);
  background: var(--oc-component-surface-hover);
  box-shadow: var(--oc-component-shadow-hover);
  transform: translateY(-1px);
}

.oc-card-interactive:focus-visible {
  outline: 2px solid var(--oc-focus-ring);
  outline-offset: 3px;
}

.oc-card-interactive:active {
  transform: translateY(0) scale(0.995);
}

.oc-action {
  display: inline-flex;
  min-height: 2.5rem;
  align-items: center;
  justify-content: center;
  gap: var(--oc-space-2);
  padding: var(--oc-space-2) var(--oc-space-4);
  border: 1px solid transparent;
  border-radius: var(--oc-radius-control);
  font: inherit;
  font-size: var(--oc-font-size-base);
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  touch-action: manipulation;
  cursor: pointer;
  transition:
    background var(--oc-duration-fast) var(--oc-ease-out),
    border-color var(--oc-duration-fast) var(--oc-ease-out),
    color var(--oc-duration-fast) var(--oc-ease-out),
    transform var(--oc-duration-fast) var(--oc-ease-out);
}

.oc-action:hover {
  text-decoration: none;
}

.oc-action:focus-visible {
  outline: 2px solid var(--oc-focus-ring);
  outline-offset: 3px;
}

.oc-action:active:not(:disabled):not([aria-disabled="true"]) {
  transform: scale(0.98);
}

.oc-action:disabled,
.oc-action[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: 0.5;
}

.oc-action[aria-disabled="true"] {
  pointer-events: none;
}

.oc-action-primary {
  border-color: var(--oc-accent-primary);
  background: var(--oc-accent-primary);
  color: var(--oc-text-on-accent);
}

.oc-action-primary:hover {
  border-color: var(--oc-accent-primary-hover);
  background: var(--oc-accent-primary-hover);
  color: var(--oc-text-on-accent);
}

.oc-action-primary:active:not(:disabled):not([aria-disabled="true"]) {
  border-color: var(--oc-accent-primary-deep);
  background: var(--oc-accent-primary-deep);
}

.oc-action-secondary {
  border-color: var(--oc-border-accent);
  background: var(--oc-surface-accent-soft);
  color: var(--oc-accent-primary);
}

.oc-action-secondary:hover {
  border-color: var(--oc-accent-primary);
  background: color-mix(in srgb, var(--oc-surface-accent-soft) 72%, var(--oc-accent-primary));
  color: var(--oc-text-primary);
}

html[data-theme="light"] .oc-action-secondary,
html[data-theme-resolved="light"] .oc-action-secondary {
  border-color: var(--oc-border-strong);
  background: var(--oc-bg-elevated);
  color: var(--oc-text-primary);
}

html[data-theme="light"] .oc-action-secondary:hover,
html[data-theme-resolved="light"] .oc-action-secondary:hover {
  border-color: var(--oc-border-strong);
  background: var(--oc-surface-interactive-hover);
  color: var(--oc-text-primary);
}

.oc-action-ghost {
  border-color: transparent;
  background: transparent;
  color: var(--oc-text-secondary);
}

.oc-action-ghost:hover {
  background: var(--oc-surface-interactive);
  color: var(--oc-text-primary);
}

.oc-action-icon {
  width: 2.5rem;
  padding: 0;
}

.oc-segmented {
  display: inline-flex;
  max-width: 100%;
  align-items: center;
  gap: var(--oc-space-1);
  overflow-x: auto;
  padding: var(--oc-space-1);
  border: 1px solid var(--oc-border-subtle);
  border-radius: var(--oc-radius-control);
  background: var(--oc-surface-card);
}

.oc-segmented-item {
  display: inline-flex;
  min-height: 2rem;
  align-items: center;
  justify-content: center;
  gap: var(--oc-space-2);
  padding: var(--oc-space-1) var(--oc-space-3);
  border: 0;
  border-radius: var(--oc-radius-inset);
  background: transparent;
  color: var(--oc-text-secondary);
  font: inherit;
  font-size: var(--oc-font-size-base);
  font-weight: 650;
  line-height: 1;
  white-space: nowrap;
  touch-action: manipulation;
  cursor: pointer;
  transition:
    background var(--oc-duration-fast) var(--oc-ease-out),
    color var(--oc-duration-fast) var(--oc-ease-out),
    transform var(--oc-duration-fast) var(--oc-ease-out);
}

.oc-segmented-item:active:not(:disabled) {
  transform: scale(0.98);
}

.oc-segmented-item:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.oc-segmented-item:hover {
  color: var(--oc-text-primary);
}

.oc-segmented-item[aria-selected="true"],
.oc-segmented-item[aria-pressed="true"],
.oc-segmented-item.is-active {
  background: var(--oc-surface-interactive-hover);
  color: var(--oc-text-primary);
}

.oc-segmented-item:focus-visible {
  outline: 2px solid var(--oc-focus-ring);
  outline-offset: 2px;
}

.oc-pill {
  display: inline-flex;
  max-width: 100%;
  min-width: 0;
  min-height: 1.75rem;
  align-items: center;
  gap: var(--oc-space-2);
  padding: var(--oc-space-1) var(--oc-space-3);
  border: 1px solid var(--oc-border-subtle);
  border-radius: var(--oc-radius-control);
  background: var(--oc-surface-card);
  color: var(--oc-text-secondary);
  font-size: var(--oc-font-size-xs);
  font-weight: 650;
  line-height: 1;
  overflow-wrap: anywhere;
}

@media (prefers-reduced-motion: reduce) {
  .oc-card-interactive {
    transition: none;
  }

  .oc-card-interactive:hover,
  .oc-card-interactive:focus-visible,
  .oc-card-interactive:active {
    transform: none;
  }
}

@media (max-width: 42rem) {
  .oc-section-header {
    align-items: start;
    flex-direction: column;
  }

  .oc-hero-title {
    font-size: clamp(2rem, 11vw, 2.75rem);
  }
}

:root {
  --oc-status-success-bg: rgb(34 197 94 / 0.12);
  --oc-status-success-fg: #22c55e;
  --oc-status-warning-bg: rgb(251 191 36 / 0.12);
  --oc-status-warning-fg: #fbbf24;
  --oc-status-error-bg: rgb(239 68 68 / 0.12);
  --oc-status-error-fg: #f87171;
  --oc-status-info-bg: rgb(59 130 246 / 0.14);
  --oc-status-info-fg: #60a5fa;

  --oc-input-bg: var(--oc-bg-elevated);
  --oc-input-border: var(--oc-border-subtle);
  --oc-input-placeholder: color-mix(in srgb, var(--oc-text-muted) 70%, transparent);
  --oc-input-focus-border: color-mix(in srgb, var(--oc-accent-primary) 58%, transparent);
  --oc-input-focus-ring: color-mix(in srgb, var(--oc-accent-primary) 22%, transparent);

  --oc-diff-added: #22c55e;
  --oc-diff-added-strong: #16a34a;
  --oc-diff-removed: #f87171;
  --oc-diff-removed-strong: #ef4444;
}

html[data-theme="light"],
[data-theme-family="claw"][data-theme-resolved="light"] {
  --oc-status-success-bg: rgb(34 197 94 / 0.1);
  --oc-status-success-fg: #146c37;
  --oc-status-warning-bg: rgb(245 158 11 / 0.1);
  --oc-status-warning-fg: #8f5100;
  --oc-status-error-bg: rgb(239 68 68 / 0.1);
  --oc-status-error-fg: #b91c1c;
  --oc-status-info-bg: rgb(37 99 235 / 0.1);
  --oc-status-info-fg: #1d4ed8;

  --oc-diff-added: #16a34a;
  --oc-diff-added-strong: #15803d;
  --oc-diff-removed: #e57373;
  --oc-diff-removed-strong: #dc2626;
}

@media (prefers-color-scheme: light) {
  [data-theme-family="claw"][data-theme-mode="system"] {
    --oc-status-success-bg: rgb(34 197 94 / 0.1);
    --oc-status-success-fg: #146c37;
    --oc-status-warning-bg: rgb(245 158 11 / 0.1);
    --oc-status-warning-fg: #8f5100;
    --oc-status-error-bg: rgb(239 68 68 / 0.1);
    --oc-status-error-fg: #b91c1c;
    --oc-status-info-bg: rgb(37 99 235 / 0.1);
    --oc-status-info-fg: #1d4ed8;
    --oc-diff-added: #16a34a;
    --oc-diff-added-strong: #15803d;
    --oc-diff-removed: #e57373;
    --oc-diff-removed-strong: #dc2626;
  }
}



:root{--bg:var(--oc-bg-page);--paper:var(--oc-bg-surface);--paper-2:var(--oc-bg-elevated);--ink:var(--oc-text-primary);--text:var(--oc-text-secondary);--muted:var(--oc-text-muted);--line:var(--oc-border-subtle);--line-strong:color-mix(in srgb,var(--oc-text-primary) 18%,var(--oc-border-subtle));--soft:var(--oc-surface-accent-soft);--brand:var(--oc-accent-primary);--brand-2:var(--oc-accent-primary-deep);--accent-2:var(--oc-accent-secondary);--on-brand:var(--oc-text-on-accent);--code:#141416;--code-inline:#232328;--code-block:#0e0e10;--code-text:#e9e9ee;--code-border:#2a2a30;--code-shadow:var(--oc-shadow-lg);--tok-comment:#7e7e88;--tok-command:#ff8f78;--tok-option:#79c0ff;--tok-string:#8fd4bd;--tok-literal:#d2a8ff;--tok-key:#f2a37c;--tok-number:#79c0ff;--tok-punct:#8b949e;--shadow:var(--oc-shadow-lg);--tooltip-bg:var(--oc-text-primary);--tooltip-text:var(--oc-bg-page);--tooltip-border:var(--oc-text-primary);--sticky-header-h:121px;color-scheme:dark}
:root[data-theme="light"]{--paper:var(--oc-bg-elevated);--paper-2:color-mix(in srgb,var(--oc-bg-surface) 60%,var(--oc-bg-page));--code:#f2f0ec;--code-inline:#ecebe6;--code-block:#fffefc;--code-text:#26262c;--code-border:#dbd8d1;--code-shadow:none;--tok-comment:#6d6d77;--tok-command:#bb3f28;--tok-option:#2365a8;--tok-string:#0f6355;--tok-literal:#7b3fb4;--tok-key:#a63c22;--tok-number:#1a5fb4;--tok-punct:#75707a;color-scheme:light}
:root{--callout-quote-fg:#c084fc;--tok-addition:#7dd3a8;--tok-deletion:#fca5a5}
:root[data-theme="light"]{--callout-quote-fg:#8245b0;--tok-addition:var(--oc-status-success-fg);--tok-deletion:var(--oc-status-error-fg)}
/* Categorical data colors are independent of success, warning and error states. */
:root{--oc-chart-series-2:#82b4a7;--oc-chart-series-3:#8eadce;--oc-chart-series-4:#b6a0c9;--oc-chart-series-5:#d3b17a;--oc-chart-series-6:#c994a4}
:root[data-theme="light"]{--oc-chart-series-2:#3e7d70;--oc-chart-series-3:#426f9c;--oc-chart-series-4:#7e629f;--oc-chart-series-5:#896628;--oc-chart-series-6:#995b74}
.oc-chart{--oc-chart-series-1:var(--brand);--oc-chart-track-color:color-mix(in srgb,var(--ink) 8%,transparent);--oc-chart-grid-color:color-mix(in srgb,var(--ink) 10%,transparent);--oc-chart-area-color:color-mix(in srgb,var(--oc-chart-series-1) 12%,transparent)}
.oc-table-wrap{max-width:100%;overflow:auto;margin:22px 0 28px;border:1px solid var(--line-strong);border-radius:var(--oc-radius-surface);background:color-mix(in srgb,var(--paper) 72%,transparent)}.doc .oc-table{margin:0;width:100%;min-width:560px;border-collapse:separate;border-spacing:0;font-size:var(--oc-font-size-sm)}.doc .oc-table th,.doc .oc-table td{border:0;border-bottom:1px solid var(--line);padding:10px var(--oc-space-3);text-align:left;vertical-align:top;overflow-wrap:anywhere;word-break:break-word}.doc .oc-table th{position:sticky;top:0;background:color-mix(in srgb,var(--paper-2) 86%,var(--soft) 14%);color:var(--ink);font:780 var(--oc-font-size-xs)/1.35 var(--oc-font-body)}.doc .oc-table tr:last-child td{border-bottom:0}.doc .oc-table td:first-child{color:var(--ink);font-weight:720}.oc-lead{margin:18px 0 28px;color:var(--text);font:500 var(--oc-font-size-lg)/1.72 var(--oc-font-body)}.oc-lead p{margin:0}.oc-pullquote{margin:30px 0;padding:3px 0 3px var(--oc-space-5);border-left:3px solid var(--brand);color:var(--ink)}.oc-pullquote blockquote{margin:0;padding:0;border:0;font:400 21px/1.55 var(--oc-font-serif);font-style:italic}.oc-pullquote figcaption{margin-top:10px;color:var(--muted);font-size:var(--oc-font-size-xs)}.oc-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));gap:var(--oc-space-3);margin:var(--oc-space-5) 0}.oc-stat{border:1px solid var(--line-strong);border-radius:var(--oc-radius-surface);background:color-mix(in srgb,var(--paper) 72%,transparent);padding:15px var(--oc-space-4)}.oc-stat strong{display:block;color:var(--ink);font:780 var(--oc-font-size-2xl)/1 var(--oc-font-body);margin:0 0 var(--oc-space-2)}.oc-stat>span{display:block;color:var(--muted);font-size:var(--oc-font-size-xs);line-height:1.35}.oc-stat-delta{display:inline-block!important;width:max-content;margin-top:10px;padding:2px 7px;border:1px solid color-mix(in srgb,var(--brand) 35%,var(--line-strong));border-radius:var(--oc-radius-control);background:color-mix(in srgb,var(--brand) 10%,var(--paper));color:var(--brand)!important}.oc-stat div p{margin:.8em 0 0}.oc-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:end;margin:var(--oc-space-6) 0;padding:22px;border:1px solid color-mix(in srgb,var(--brand) 34%,var(--line-strong));border-radius:var(--oc-radius-surface);background:linear-gradient(135deg,color-mix(in srgb,var(--paper) 82%,var(--brand) 18%),color-mix(in srgb,var(--paper-2) 92%,transparent));box-shadow:var(--shadow)}.oc-cta-copy>span{display:block;color:var(--brand);font:780 var(--oc-font-size-xs)/1.2 var(--oc-font-body);margin:0 0 7px}.oc-cta-copy strong{display:block;color:var(--ink);font:780 19px/1.28 var(--oc-font-body);margin:0 0 var(--oc-space-2)}.oc-cta-copy p{margin:0;color:var(--text)}.oc-cta-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.oc-cta-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:10px 20px;border:1px solid var(--line-strong);border-radius:var(--oc-radius-control);font:600 var(--oc-font-size-sm)/1 var(--oc-font-mono);transition:background var(--oc-duration-fast) var(--oc-ease-out),border-color var(--oc-duration-fast) var(--oc-ease-out),color var(--oc-duration-fast) var(--oc-ease-out),filter var(--oc-duration-fast) var(--oc-ease-out)}.oc-cta-link-primary{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.oc-cta-link-secondary{background:color-mix(in srgb,var(--paper) 78%,transparent);color:var(--ink)}.oc-cta-arrow{width:14px;height:14px;flex:0 0 14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.oc-cta-link:hover{filter:brightness(1.04)}.oc-cta-link-primary:hover{background:var(--oc-accent-primary-hover);border-color:var(--oc-accent-primary-hover);color:var(--on-brand)}.oc-cta-link-secondary:hover{background:color-mix(in srgb,var(--soft) 62%,var(--paper) 38%);border-color:color-mix(in srgb,var(--brand) 44%,var(--line-strong));color:var(--ink)}.oc-cta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:14px;margin:var(--oc-space-5) 0}.oc-cta-card{border-radius:var(--oc-radius-lg);display:block;min-height:160px;border:1px solid var(--line-strong);border-radius:var(--oc-radius-surface);background:color-mix(in srgb,var(--paper) 78%,transparent);padding:18px 20px;color:var(--text);transition:border-color var(--oc-duration-fast) var(--oc-ease-out),background var(--oc-duration-fast) var(--oc-ease-out)}.oc-cta-card:hover,.oc-cta-card:focus-visible{border-color:var(--brand);background:color-mix(in srgb,var(--soft) 38%,transparent);outline:0}.oc-cta-card .oc-card-icon{margin-bottom:14px}.oc-cta-card strong{display:block;color:var(--ink);font:760 16px/1.3 var(--oc-font-body);margin:0 0 var(--oc-space-1)}.oc-cta-kicker{display:block;color:var(--brand);font:760 var(--oc-font-size-xs)/1.35 var(--oc-font-body);margin:0 0 9px}.oc-cta-card p{margin:0 0 14px;color:var(--muted)}.oc-cta-card .oc-cta-actions{margin-top:var(--oc-space-4)}.oc-chart{margin:28px 0;padding:var(--oc-space-4);border:1px solid var(--line-strong);border-radius:var(--oc-radius-surface);background:color-mix(in srgb,var(--paper) 76%,transparent)}.oc-chart figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin:0 0 var(--oc-space-4)}.oc-chart figcaption strong{color:var(--ink);font:780 var(--oc-font-size-md)/1.25 var(--oc-font-body)}.oc-chart figcaption span{color:var(--muted);font-size:var(--oc-font-size-xs)}.oc-chart-bars{display:grid;gap:10px}.oc-chart-row{display:grid;grid-template-columns:minmax(86px,150px) minmax(120px,1fr) auto;gap:10px;align-items:center}.oc-chart-row>span{color:var(--text);font-size:var(--oc-font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.oc-chart-row strong{color:var(--ink);font:760 var(--oc-font-size-xs)/1 var(--oc-font-body)}.oc-chart-track{height:10px;border-radius:var(--oc-radius-inset);background:var(--oc-chart-track-color);overflow:hidden}.oc-chart-track i{display:block;width:var(--oc-chart-value);height:100%;border-radius:inherit;background:var(--oc-chart-series-1)}.oc-chart-line-wrap{display:grid;gap:10px}.oc-chart-line-svg{display:block;width:100%;height:auto;overflow:visible}.oc-chart-line-svg polyline{fill:none;stroke:var(--oc-chart-series-1);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.oc-chart-line-svg circle{fill:var(--paper);stroke:var(--oc-chart-series-1);stroke-width:3}.oc-chart-gridline{stroke:var(--oc-chart-grid-color);stroke-width:1}.oc-chart-axis{display:flex;justify-content:space-between;gap:var(--oc-space-2);color:var(--muted);font-size:11px}.oc-chart-axis span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.oc-chart-data{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}@media(max-width:820px){.oc-cta{grid-template-columns:1fr}.oc-chart-row{grid-template-columns:minmax(74px,110px) minmax(90px,1fr) auto}.doc .oc-table{min-width:0;table-layout:fixed}}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;display:flex;flex-direction:column;min-height:100vh;background:var(--bg);color:var(--text);font:var(--oc-font-size-md)/1.7 var(--oc-font-body);-webkit-font-smoothing:antialiased}::selection{background:var(--brand);color:var(--on-brand)}a{color:inherit;text-decoration:none}a:hover{color:var(--ink)}img{max-width:100%;height:auto}button,input,select{font:inherit}.hidden{display:none!important}.oc-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}:root[data-theme="dark"] .dark\:hidden{display:none!important}:root[data-theme="dark"] .dark\:block{display:block!important}:root[data-theme="light"] .dark\:block{display:none!important}
.site-header{position:sticky;top:0;z-index:70;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.header-row{max-width:1780px;margin:0 auto}.doc-shell{width:100%;max-width:1780px;margin:0 auto;flex:1 0 auto}.header-row{height:62px;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,430px) minmax(0,1fr);gap:var(--oc-space-5);align-items:center;padding:0 var(--shell-pad)}.header-left{display:flex;align-items:center;gap:var(--oc-space-4);min-width:0}.brand{display:inline-flex;align-items:center;gap:9px;flex:0 0 auto;color:var(--ink);font-weight:600;font-size:14.5px;letter-spacing:.02em}.brand img{width:22px;height:22px}.brand-name{color:var(--ink)}.brand-tag{color:var(--muted);font:600 10px/1 var(--oc-font-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line-strong);padding:3px 6px;margin-left:2px}.language-picker{position:relative;min-width:0}.language-trigger{height:36px;border:1px solid transparent;border-radius:var(--oc-radius-control);background:color-mix(in srgb,var(--paper) 62%,transparent);color:var(--ink);display:flex;align-items:center;gap:9px;max-width:190px;padding:0 var(--oc-space-3) 0 11px;cursor:pointer;transition:background var(--oc-duration-fast) var(--oc-ease-out),border-color var(--oc-duration-fast) var(--oc-ease-out),box-shadow var(--oc-duration-fast) var(--oc-ease-out),color var(--oc-duration-fast) var(--oc-ease-out)}.language-trigger:hover,.language-picker.open .language-trigger{background:var(--paper);border-color:var(--line-strong);color:var(--ink)}.language-trigger:focus-visible{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px var(--oc-focus-ring),var(--oc-shadow-md)}.language-trigger:hover .language-chevron{color:var(--brand)}.locale-flag{width:21px;height:21px;border-radius:var(--oc-radius-round);display:inline-grid;place-items:center;font-size:var(--oc-font-size-lg);line-height:1;overflow:hidden;flex:0 0 auto}.language-current{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--oc-font-size-base);color:var(--ink)}.language-chevron{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--muted);line-height:1;transition:transform var(--oc-duration-fast) var(--oc-ease-out),color var(--oc-duration-fast) var(--oc-ease-out)}.language-chevron .icon{width:16px;height:16px}.language-picker.open .language-chevron{transform:rotate(180deg);color:var(--brand)}.language-menu{position:absolute;top:calc(100% + 10px);left:auto;right:0;width:min(340px,calc(100vw - 32px));max-height:min(72vh,720px);overflow:auto;display:none;z-index:80;padding:10px;background:color-mix(in srgb,var(--bg) 92%,var(--oc-bg-page) 8%);border:1px solid var(--line-strong);border-radius:var(--oc-radius-surface);box-shadow:var(--oc-shadow-lg)}.language-picker.open .language-menu{display:block}.language-option{display:grid;grid-template-columns:30px minmax(0,1fr) 22px;align-items:center;gap:var(--oc-space-3);padding:var(--oc-space-3) var(--oc-space-4);border-radius:var(--oc-radius-control);color:var(--ink);font-weight:800;font-size:18px;line-height:1.2}.language-option:hover{background:color-mix(in srgb,var(--paper-2) 84%,transparent);color:var(--ink)}.language-option.active{color:var(--brand)}.language-option.active:hover{background:color-mix(in srgb,var(--soft) 84%,transparent)}.language-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.language-check{display:grid;place-items:center;opacity:0;color:var(--brand)}.language-option.active .language-check{opacity:1}.icon{display:block;width:18px;height:18px;min-width:18px;max-width:18px;flex:0 0 18px}.search-button{height:38px;border:1px solid var(--line-strong);border-radius:var(--oc-radius-control);background:color-mix(in srgb,var(--paper) 86%,transparent);color:var(--muted);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 9px 0 14px;cursor:pointer;text-align:left}.search-button:hover{background:var(--paper);border-color:var(--line-strong);color:var(--text)}.search-button:hover .search-shortcut{border-color:var(--line-strong);color:var(--ink);background:var(--paper-2)}.search-label{min-width:0;font-size:var(--oc-font-size-base);color:var(--muted)}.search-shortcut{display:inline-grid;place-items:center;justify-self:end;min-width:44px;height:28px;padding:0 9px;border:1px solid var(--line-strong);border-radius:var(--oc-radius-control);background:color-mix(in srgb,var(--paper-2) 82%,transparent);color:var(--text);font:760 var(--oc-font-size-sm)/1 var(--oc-font-mono)}.header-links{display:flex;align-items:center;justify-content:flex-end;gap:22px;color:var(--muted);font-size:var(--oc-font-size-base);white-space:nowrap}.header-links>a{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-weight:650}.header-links>a:hover{color:var(--ink)}.header-links>a .icon{width:16px;height:16px;color:var(--ink)}.header-links .top-icon-link{padding:2px}.header-links .top-icon-link .icon{width:18px;height:18px;min-width:18px;max-width:18px;color:currentColor}.header-links button{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:var(--oc-space-1)}.header-links button:hover{color:var(--ink)}.theme-toggle{display:inline-grid;place-items:center;width:28px;height:28px}.theme-toggle .icon{width:18px;height:18px}.nav-toggle{display:none;flex-direction:column;gap:var(--oc-space-1);border:0;background:none;color:var(--muted);cursor:pointer;padding:5px 2px;transition:color var(--oc-duration-fast) var(--oc-ease-out)}.nav-toggle:hover{color:var(--ink)}.nav-toggle span{display:block;width:18px;height:1.6px;background:currentColor;border-radius:var(--oc-radius-inset);transition:transform var(--oc-duration-ui) var(--oc-ease-out),opacity var(--oc-duration-ui) var(--oc-ease-out)}body.nav-open .nav-toggle span:nth-child(1){transform:translateY(5.6px) rotate(45deg)}body.nav-open .nav-toggle span:nth-child(2){opacity:0}body.nav-open .nav-toggle span:nth-child(3){transform:translateY(-5.6px) rotate(-45deg)}.sidebar-close{display:none}
.search-shortcut{display:inline-flex;align-items:center;justify-content:flex-end;gap:2px;color:var(--muted);font:760 var(--oc-font-size-md)/1 var(--oc-font-mono);background:transparent;border:0;border-radius:0;box-shadow:none;min-width:0;height:15px;padding:0}.search-shortcut span{display:block;line-height:15px}.search-shortcut .icon{width:15px;height:15px;min-width:15px;max-width:15px;stroke-width:2.2}.search-button:hover .search-shortcut{background:transparent;border-color:transparent;color:var(--ink)}
.theme-toggle-icon{display:none;place-items:center}:root[data-theme="dark"] .theme-toggle-icon-dark,:root[data-theme="light"] .theme-toggle-icon-light{display:grid}
:root{--shell-pad:56px;--rail-gap:56px;--rail-max:272px;--article-max:820px}
.doc-shell{display:grid;grid-template-columns:minmax(var(--rail-max),1fr) minmax(0,var(--article-max)) minmax(var(--rail-max),1fr);gap:var(--rail-gap);padding:38px var(--shell-pad) 90px}.sidebar{position:sticky;width:var(--rail-max);top:148px;align-self:start;max-height:calc(100vh - 172px);overflow:auto;padding:0 6px var(--oc-space-8) 0;scrollbar-gutter:stable;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted) 42%,transparent) transparent}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 34%,transparent);background-clip:content-box;border:2px solid transparent;border-radius:var(--oc-radius-round)}.sidebar:hover::-webkit-scrollbar-thumb{background-color:color-mix(in srgb,var(--muted) 56%,transparent)}.sidebar.has-overflow{--sidebar-fade-top:0px;--sidebar-fade-bottom:0px;mask-image:linear-gradient(to bottom,transparent 0,#000 var(--sidebar-fade-top),#000 calc(100% - var(--sidebar-fade-bottom)),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 var(--sidebar-fade-top),#000 calc(100% - var(--sidebar-fade-bottom)),transparent 100%)}.sidebar.can-scroll-up{--sidebar-fade-top:18px}.sidebar.can-scroll-down{--sidebar-fade-bottom:30px}.community-invite{--community-invite-surface:var(--bg);--community-invite-inset:18px;position:fixed;left:18px;bottom:18px;z-index:65;display:flex;flex-direction:column;width:300px;overflow:hidden;border:1px solid color-mix(in srgb,var(--line-strong) 70%,transparent);border-radius:var(--oc-radius-surface);background:var(--community-invite-surface);color:var(--ink);box-shadow:var(--oc-shadow-lg)}.community-invite[hidden]{display:none}[data-theme=light] .community-invite{--community-invite-surface:color-mix(in srgb,var(--bg) 70%,var(--paper) 30%)}.community-invite__header{position:relative;flex:none;height:100px;overflow:hidden;background:var(--community-invite-surface)}.community-invite__art{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border:0;-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 34px),transparent calc(100% - 2px));mask-image:linear-gradient(to bottom,#000 calc(100% - 34px),transparent calc(100% - 2px))}:root:not([data-theme="light"]) .community-invite__art--light,:root[data-theme="light"] .community-invite__art--dark{display:none}.community-invite__marks{position:absolute;z-index:1;inset-inline-start:var(--community-invite-inset);bottom:19px;color:#fff;pointer-events:none;filter:drop-shadow(0 1px 1px #000d) drop-shadow(0 0 3px #0007)}.community-invite__marks>span{display:flex;align-items:center;gap:5px}.community-invite__marks .icon{width:19px;height:19px;min-width:19px;max-width:19px;flex:0 0 19px}.community-invite__close{position:absolute;z-index:2;top:8px;right:8px;display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:var(--oc-radius-round);background:rgb(0 0 0/42%);color:rgb(255 255 255/76%);cursor:pointer;transition:background var(--oc-duration-fast) var(--oc-ease-out),color var(--oc-duration-fast) var(--oc-ease-out)}.community-invite__close:hover{background:rgb(255 255 255/14%);color:rgb(255 255 255)}.community-invite__close:focus-visible{outline:2px solid rgb(255 255 255/70%);outline-offset:1px}.community-invite__close .icon{width:15px;height:15px}.community-invite__body{display:flex;flex-direction:column;gap:5px;padding:11px var(--community-invite-inset) 20px}.community-invite__title{margin:0;color:var(--ink);font:700 var(--oc-font-size-base)/1.2 var(--oc-font-body);letter-spacing:-.01em}.community-invite__text{margin:0;color:var(--muted);font:400 var(--oc-font-size-sm)/1.45 var(--oc-font-body)}.community-invite__cta{box-sizing:border-box;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;min-height:40px;margin-top:12px;padding:3px 2px;border:1px solid var(--oc-border-subtle);border-radius:var(--oc-radius-control);background:var(--oc-control-bg);color:var(--oc-text-primary);font:600 var(--oc-font-size-sm)/1.2 var(--oc-font-body);text-decoration:none;transition:background var(--oc-duration-fast) var(--oc-ease-out),border-color var(--oc-duration-fast) var(--oc-ease-out),transform var(--oc-duration-fast) var(--oc-ease-out)}.community-invite__cta:hover{background:var(--oc-control-bg-hover);border-color:var(--oc-border-strong);color:var(--oc-text-primary)}.community-invite__cta:active{transform:scale(.96)}.community-invite__cta:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.community-invite__cta .icon{flex:0 0 16px;width:16px;height:16px;min-width:16px;max-width:16px}body.has-community-invite{padding-bottom:calc(var(--community-invite-h,0px) + 40px)}@media(max-width:1120px){.community-invite{width:220px}}@media(max-width:820px){.community-invite{left:0;bottom:0;z-index:91;width:min(360px,calc(100vw - 28px));border-width:1px 1px 0 0;border-radius:0;box-shadow:none;padding-bottom:env(safe-area-inset-bottom,0px);transform:translateX(calc(-100% - 1px));transition:transform var(--oc-duration-ui) var(--oc-ease-out)}body.nav-open .community-invite{transform:translateX(0)}body.has-community-invite .sidebar{padding-bottom:calc(var(--community-invite-h,0px) + 28px)}body.has-community-invite{padding-bottom:0}}.nav-section{margin:0 0 33px}.nav-section h2{font:750 11px/1.2 var(--oc-font-mono);color:var(--muted);letter-spacing:.09em;text-transform:uppercase;margin:0 0 14px}.nav-link{display:block;color:var(--muted);border-left:2px solid transparent;padding:7px 14px;margin:2px 0;font-size:var(--oc-font-size-base);line-height:1.48}.nav-link:hover{color:var(--ink);background:color-mix(in srgb,var(--paper) 68%,transparent)}.nav-link.active{border-left-color:var(--brand);color:var(--brand);font-weight:650}.nav-nested{padding-left:10px;border-left:1px solid var(--line);margin:9px 0 0 6px}.nav-nested h2{font-size:var(--oc-font-size-xs);color:var(--muted);margin:0 0 5px;text-transform:none}
.main{display:contents}.article{min-width:0}.article-header{margin:0 0 36px}.article-kicker{color:var(--brand);font:780 var(--oc-font-size-xs)/1.35 var(--oc-font-mono);letter-spacing:.09em;text-transform:uppercase;margin:0 0 10px}.article h1{font:700 clamp(34px,3.8vw,44px)/1.08 var(--oc-font-display);letter-spacing:-.02em;color:var(--ink);margin:0}.doc{font-size:var(--oc-font-size-md)}.doc>h1:first-child{display:none}.doc h2{font:750 var(--oc-font-size-2xl)/1.22 var(--oc-font-body);letter-spacing:-.015em;color:var(--ink);margin:3.0em 0 .65em}.doc h3{font:700 var(--oc-font-size-lg)/1.28 var(--oc-font-body);color:var(--ink);margin:1.8em 0 .45em}.doc h4{font:700 var(--oc-font-size-base)/1.35 var(--oc-font-body);color:var(--ink);margin:1.4em 0 .35em}.doc [tabindex="-1"]:focus{outline:0}.doc p,.doc ul,.doc ol,.doc blockquote,.doc table{margin-top:0;margin-bottom:1.12em}.doc ul,.doc ol{padding-left:1.35rem}.doc li{margin:.24em 0}.doc strong{color:var(--ink);font-weight:800}.doc :where(p,li,td,blockquote) a:not([class]){color:var(--brand);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.doc :where(p,li,td,blockquote) a:not([class]):hover{color:var(--ink)}.doc :where(p,li,td,blockquote){overflow-wrap:anywhere;word-break:break-word}.doc code{background:var(--code-inline);border:1px solid var(--code-border);border-radius:var(--oc-radius-inset);padding:.08em .36em;font-size:.86em;color:var(--code-text);box-decoration-break:clone}.doc kbd{display:inline-grid;place-items:center;min-inline-size:1.375rem;min-block-size:1.375rem;padding:2px 5px;margin:0;border:1px solid var(--line);border-radius:var(--oc-radius-inset);corner-shape:superellipse(1.5);background:var(--paper);color:var(--text);font:500 .75rem/1.25 var(--oc-font-mono);vertical-align:baseline;white-space:nowrap}.doc kbd+kbd{margin-inline-start:4px}.doc pre{position:relative;overflow:auto;background:var(--code-block);color:var(--code-text);border-radius:var(--oc-radius-inset);padding:var(--oc-space-3) 14px;border:1px solid var(--code-border);box-shadow:var(--code-shadow)}.doc pre code{background:transparent;border:0;color:inherit;padding:0}.doc pre .tok-comment,.doc pre .hljs-comment,.doc pre .hljs-quote{color:var(--tok-comment)}.doc pre .tok-command,.doc pre .hljs-title,.doc pre .hljs-section,.doc pre .hljs-selector-tag{color:var(--tok-command);font-weight:750}.doc pre .tok-option,.doc pre .tok-keyword,.doc pre .hljs-keyword,.doc pre .hljs-built_in,.doc pre .hljs-type{color:var(--tok-option)}.doc pre .tok-string,.doc pre .hljs-string,.doc pre .hljs-regexp{color:var(--tok-string)}.doc pre .tok-var,.doc pre .tok-literal,.doc pre .hljs-variable,.doc pre .hljs-template-variable,.doc pre .hljs-symbol{color:var(--tok-literal)}.doc pre .tok-key,.doc pre .hljs-attr,.doc pre .hljs-attribute,.doc pre .hljs-name{color:var(--tok-key)}.doc pre .tok-number,.doc pre .hljs-number,.doc pre .hljs-literal{color:var(--tok-number)}.doc pre .tok-punct,.doc pre .hljs-punctuation,.doc pre .hljs-meta{color:var(--tok-punct)}.doc pre .hljs-deletion{color:var(--tok-deletion)}.doc pre .hljs-addition{color:var(--tok-addition)}.doc blockquote{border-left:3px solid var(--line-strong);padding-left:24px;color:var(--text);font-family:var(--oc-font-serif);font-style:italic}.doc table{width:100%;border-collapse:collapse;font-size:var(--oc-font-size-sm)}.doc th,.doc td{border-bottom:1px solid var(--line);padding:9px;text-align:left;vertical-align:top}.doc th{color:var(--ink);background:var(--paper);font-weight:760}.doc p[align="center"]{text-align:center}.doc p[align="center"] img{margin:0 auto}.heading-anchor{position:relative;display:inline-grid;place-items:center;width:24px;height:24px;margin-left:7px;padding:0;border:1px solid transparent;border-radius:var(--oc-radius-control);background:transparent;color:var(--muted);vertical-align:-1px;opacity:0;cursor:pointer;transition:opacity var(--oc-duration-fast) var(--oc-ease-out),background var(--oc-duration-fast) var(--oc-ease-out),border-color var(--oc-duration-fast) var(--oc-ease-out),color var(--oc-duration-fast) var(--oc-ease-out)}.doc :is(h1,h2,h3,h4,h5,h6):hover .heading-anchor,.heading-anchor:focus-visible,.heading-anchor[data-copy-state]{opacity:1}.heading-anchor:hover,.heading-anchor:focus-visible{border-color:color-mix(in srgb,var(--brand) 34%,var(--line-strong));background:color-mix(in srgb,var(--soft) 46%,transparent);color:var(--ink);outline:0}.heading-anchor[data-copy-state="copied"]{color:var(--brand)}.heading-anchor[data-copy-state="failed"]{color:var(--oc-status-error-fg)}.heading-anchor .heading-anchor-icon{grid-area:1/1;display:block;width:15px;height:15px;stroke-width:2.15}.heading-anchor .heading-anchor-check{display:none}.heading-anchor[data-copy-state="copied"] .heading-anchor-link,.heading-anchor[data-copy-state="failed"] .heading-anchor-link{display:none}.heading-anchor[data-copy-state="copied"] .heading-anchor-check{display:block}.heading-anchor[data-copy-state="failed"]:after{content:"!";grid-area:1/1;font:900 var(--oc-font-size-sm)/1 var(--oc-font-body)}
.doc code{overflow-wrap:anywhere;word-break:break-word}.doc pre{max-width:100%}
.toc{position:sticky;width:var(--rail-max);justify-self:end;top:148px;align-self:start;max-height:calc(100vh - 172px);overflow:auto;color:var(--muted);font-size:var(--oc-font-size-base)}.toc h2{display:flex;align-items:center;gap:7px;font:700 11px/1.2 var(--oc-font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}.toc h2:before{content:"≡";font-size:var(--oc-font-size-base);color:var(--text)}.toc summary{display:none}.toc a{display:block;color:var(--muted);line-height:1.42;padding:7px 0}.toc a:hover{color:var(--ink)}.toc a.active{color:var(--brand);font-weight:750}.toc-l3{padding-left:12px!important}
.oc-card-grid,.oc-card-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--oc-space-3);margin:28px 0}.oc-card-grid.oc-card-cols-1{grid-template-columns:1fr}.oc-card-grid.oc-card-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.oc-card-grid.oc-card-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.oc-card{display:block;min-height:136px;border-radius:var(--oc-radius-lg);background:var(--bg);box-shadow:0 0 0 1px var(--line-strong);padding:var(--oc-space-5);color:var(--text);transition:background var(--oc-duration-fast) var(--oc-ease-out)}.oc-card:hover{background:var(--paper);color:var(--text)}.oc-card:focus-visible{background:var(--paper);color:var(--text);outline:2px solid var(--brand);outline-offset:-2px}.oc-card strong{display:block;color:var(--ink);font:750 16px/1.3 var(--oc-font-body);margin:18px 0 var(--oc-space-2)}.oc-card p{margin:0;color:var(--muted);line-height:1.55}.oc-card-icon{display:block;width:24px;height:24px;color:var(--brand);stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.oc-card>.oc-card-icon,.oc-cta-card>.oc-card-icon{width:26px;height:26px}
.doc{container-type:inline-size}.oc-card-grid,.oc-card-group{--oc-card-columns:2;display:grid;grid-template-columns:repeat(var(--oc-card-columns),minmax(0,1fr));gap:var(--oc-space-3);margin:28px 0}.oc-card-grid.oc-card-cols-1,.oc-card-group.oc-card-cols-1{--oc-card-columns:1}.oc-card-grid.oc-card-cols-2,.oc-card-group.oc-card-cols-2{--oc-card-columns:2}.oc-card-grid.oc-card-cols-3,.oc-card-group.oc-card-cols-3{--oc-card-columns:3}.oc-card-grid.oc-card-cols-4,.oc-card-group.oc-card-cols-4{--oc-card-columns:4}@container (max-width:720px){.oc-card-grid.oc-card-cols-4,.oc-card-group.oc-card-cols-4{--oc-card-columns:2}}@container (max-width:620px){.oc-card-grid.oc-card-cols-3,.oc-card-group.oc-card-cols-3{--oc-card-columns:2}}@container (max-width:520px){.oc-card-grid,.oc-card-group{--oc-card-columns:1}}
.oc-card-grid.oc-card-cols-1,.oc-card-group.oc-card-cols-1,.oc-card-grid.oc-card-cols-2,.oc-card-group.oc-card-cols-2,.oc-card-grid.oc-card-cols-3,.oc-card-group.oc-card-cols-3,.oc-card-grid.oc-card-cols-4,.oc-card-group.oc-card-cols-4{grid-template-columns:repeat(var(--oc-card-columns),minmax(0,1fr))}
.oc-steps{counter-reset:step;list-style:none;padding-left:0!important;margin:28px 0 var(--oc-space-6) var(--oc-space-5)}.oc-step{counter-increment:step;border-left:2px solid var(--line);padding:0 0 var(--oc-space-5) 34px;position:relative}.oc-step:last-child{padding-bottom:0;border-image:linear-gradient(to bottom,var(--line) 0%,color-mix(in srgb,var(--line) 52%,transparent) 44%,transparent 92%) 1}.oc-step:before{content:counter(step);position:absolute;left:-13px;top:0;width:24px;height:24px;border-radius:var(--oc-radius-round);background:color-mix(in srgb,var(--line-strong) 78%,var(--paper) 22%);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-strong);display:grid;place-items:center;font-size:var(--oc-font-size-xs);font-weight:800}.oc-step h3{margin-top:0}.oc-step>p:first-of-type{margin-top:.2em}.oc-step .oc-code{max-width:100%;margin:14px 0 18px}.oc-step .oc-code:last-child{margin-bottom:0}.oc-callout{--callout-accent:var(--brand);--callout-icon-size:20px;--callout-icon-box:24px;--callout-gap:12px;display:grid;grid-template-columns:var(--callout-icon-box) minmax(0,1fr);align-items:start;gap:var(--callout-gap);border:0;border-radius:var(--oc-radius-surface);background:var(--paper);padding:20px 24px;padding-inline-start:var(--callout-gap);margin:20px 0;color:var(--text);box-shadow:none}
.oc-callout-icon{display:block;box-sizing:border-box;width:var(--callout-icon-box);height:var(--callout-icon-box);padding:calc((var(--callout-icon-box) - var(--callout-icon-size))/2);margin:0;border:0;align-self:start;color:var(--callout-accent);fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.oc-callout-content{min-width:0}
.oc-callout .oc-callout-content>.oc-callout-title{display:block;margin:0;color:var(--ink);font:600 1rem/1.5 var(--oc-font-body)}
.oc-callout-content>:nth-child(2){margin-block-start:6px}
.oc-callout-content>:last-child{margin-block-end:0}
.oc-callout-tip{--callout-accent:var(--oc-status-success-fg)}
.oc-callout-info,.oc-callout-note{--callout-accent:var(--oc-status-info-fg)}
.oc-callout-warning{--callout-accent:var(--oc-status-warning-fg)}
.oc-callout-check{--callout-accent:var(--oc-status-success-fg)}
.oc-callout-say{--callout-accent:var(--callout-quote-fg)}
.oc-code{margin:18px 0;border:1px solid var(--code-border);border-radius:var(--oc-radius-surface);background:var(--code-block);box-shadow:var(--code-shadow);overflow:hidden}.oc-code figcaption{display:flex;align-items:center;min-height:34px;padding:6px var(--oc-space-2) 6px var(--oc-space-3);border:0;background:transparent;color:var(--muted);font:760 var(--oc-font-size-xs)/1 var(--oc-font-body)}.oc-code pre{margin:0;border:0;border-radius:var(--oc-radius-inset);box-shadow:none;background:transparent}.oc-tabs,.oc-code-group{border:1px solid var(--line-strong);background:color-mix(in srgb,var(--paper) 78%,transparent);border-radius:var(--oc-radius-surface);margin:20px 0 28px;overflow:hidden}.oc-code-tabs{display:flex;gap:2px;padding:6px 7px;border:0;background:transparent}.oc-code-tab{border:0;border-radius:var(--oc-radius-control);background:transparent;color:var(--muted);padding:6px 9px;font:760 var(--oc-font-size-xs)/1 var(--oc-font-body);cursor:pointer}.oc-code-tab:hover{color:var(--ink);background:color-mix(in srgb,var(--soft) 52%,transparent)}.oc-code-tab.active{color:var(--ink);background:var(--soft)}.oc-code-group{background:var(--code-block)}.oc-code-group .oc-code{display:none;margin:0;border:0;border-radius:var(--oc-radius-surface);box-shadow:none}.oc-code-group .oc-code.active{display:block}.oc-code-group .oc-code figcaption{display:none}.oc-tab{border-top:1px solid var(--line);padding:20px var(--oc-space-5)}.oc-tab:first-child{border-top:0}.oc-tab h3{margin:0 0 var(--oc-space-3);font-size:var(--oc-font-size-sm);color:var(--brand)}.oc-tab .oc-code{margin:0;max-width:100%}.oc-accordion-group{display:grid;gap:12px;margin:18px 0}
.oc-accordion{min-width:0;margin:0;padding:3px;border:1px solid var(--line-strong);border-radius:var(--oc-radius-surface);background:var(--paper)}
.oc-accordion>summary{display:flex;align-items:center;gap:16px;min-height:48px;padding:12px 16px;border-radius:calc(var(--oc-radius-surface) - 4px);corner-shape:superellipse(1.5);background:color-mix(in srgb,var(--ink) 4%,var(--paper));color:var(--ink);font:600 var(--oc-font-size-md)/1.5 var(--oc-font-body);cursor:pointer;list-style:none}
.oc-accordion>summary::-webkit-details-marker{display:none}
.oc-accordion>summary>span{flex:1;min-width:0;overflow-wrap:anywhere}
.oc-accordion-chevron{display:block;flex:0 0 14px;width:14px;height:14px;color:var(--muted);opacity:.65;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--oc-duration-ui) var(--oc-ease-out)}
.oc-accordion[open]>summary>.oc-accordion-chevron{transform:rotate(180deg)}
.oc-accordion>summary:focus-visible{outline:2px solid var(--oc-focus-ring);outline-offset:2px}
.oc-accordion-content{min-width:0;padding:14px 16px 16px;color:var(--text);font-size:var(--oc-font-size-base);line-height:1.65}
.oc-accordion-content>:first-child{margin-block-start:0}
.oc-accordion-content>:last-child{margin-block-end:0}
/* Keep native disclosure semantics; unsupported browsers simply toggle instantly. */
@supports selector(::details-content){
  [data-accordion-motion]::details-content{height:0;overflow:clip;opacity:0;transition:height var(--oc-duration-ui) var(--oc-ease-out),opacity var(--oc-duration-ui) var(--oc-ease-out),content-visibility var(--oc-duration-ui) allow-discrete}
  [data-accordion-motion][open]::details-content{height:var(--accordion-content-height,0px);opacity:1}
  [data-accordion-motion][data-accordion-reveal]::details-content{height:auto;opacity:1;content-visibility:visible;transition:none}
  [data-accordion-motion]:has(>summary:focus-visible)::details-content{transition:none}
  @media(prefers-reduced-motion:reduce){
    [data-accordion-motion]::details-content{transition:opacity var(--oc-duration-fast) var(--oc-ease-out),content-visibility var(--oc-duration-fast) allow-discrete}}}
.oc-accordion>summary:focus-visible>.oc-accordion-chevron{transition:none}
@media(prefers-reduced-motion:reduce){.oc-accordion-chevron{transition:none}}
@media(hover:hover) and (pointer:fine){.oc-accordion>summary:hover{background:color-mix(in srgb,var(--ink) 7%,var(--paper))}.oc-accordion>summary:hover>.oc-accordion-chevron{opacity:1}}
.oc-param,.oc-frame{border:1px solid var(--line-strong);background:color-mix(in srgb,var(--paper) 78%,transparent);border-radius:var(--oc-radius-surface);padding:13px 15px;margin:var(--oc-space-3) 0}.oc-frame{padding:10px}.oc-frame figcaption{padding:2px var(--oc-space-1) 10px;color:var(--muted);font-size:var(--oc-font-size-xs)}.oc-frame p{margin:0}.oc-frame img{display:block;margin:0 auto;border-radius:var(--oc-radius-control)}.oc-tooltip{position:relative;display:inline-flex;align-items:center;border-bottom:1px dotted color-mix(in srgb,var(--brand) 72%,var(--text));color:var(--ink);cursor:help}.oc-tooltip:focus{outline:2px solid var(--oc-focus-ring);outline-offset:3px;border-radius:var(--oc-radius-control)}.oc-tooltip[data-tip]:hover:after,.oc-tooltip[data-tip]:focus:after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);z-index:20;width:max-content;max-width:min(320px,calc(100vw - 40px));padding:var(--oc-space-2) 10px;border:1px solid var(--tooltip-border);border-radius:var(--oc-radius-control);background:var(--tooltip-bg);color:var(--tooltip-text);font:700 var(--oc-font-size-xs)/1.35 var(--oc-font-body);box-shadow:var(--shadow)}.oc-param header{display:flex;gap:var(--oc-space-2);align-items:center;flex-wrap:wrap;margin-bottom:var(--oc-space-2)}.oc-param header code{background:var(--code-inline);border-color:var(--code-border);color:var(--ink)}.oc-param-type,.oc-param-default,.oc-param-required{border:1px solid var(--line-strong);border-radius:var(--oc-radius-control);background:color-mix(in srgb,var(--soft) 70%,transparent);padding:1px 7px;font-size:var(--oc-font-size-xs);color:var(--muted)}.oc-param-type{color:var(--brand);border-color:color-mix(in srgb,var(--brand) 34%,var(--line-strong));background:color-mix(in srgb,var(--brand) 12%,var(--paper))}.oc-param-default{color:var(--text);background:color-mix(in srgb,var(--paper-2) 82%,transparent)}.oc-param-required{color:var(--brand);border-color:color-mix(in srgb,var(--brand) 42%,var(--line-strong));background:color-mix(in srgb,var(--brand) 10%,var(--paper))}
.breadcrumbs{display:flex;align-items:center;gap:var(--oc-space-2);color:var(--muted);font:650 11.5px/1.4 var(--oc-font-mono);margin:0 0 var(--oc-space-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.breadcrumbs span{min-width:0;overflow:hidden;text-overflow:ellipsis}.breadcrumbs .breadcrumb-part{display:inline-flex;align-items:center;gap:var(--oc-space-2);flex:0 1 auto}.breadcrumbs .breadcrumb-separator{flex:0 0 auto}.breadcrumbs [aria-current="page"]{color:var(--text)}.page-status{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0 0}.page-status-badge{display:inline-flex;align-items:center;min-height:24px;max-width:100%;border:1px solid var(--line-strong);border-radius:var(--oc-radius-control);background:color-mix(in srgb,var(--paper) 76%,transparent);color:var(--muted);padding:var(--oc-space-1) 9px;font:760 var(--oc-font-size-xs)/1.25 var(--oc-font-body)}.page-status-beta,.page-status-status{color:var(--brand);border-color:color-mix(in srgb,var(--brand) 38%,var(--line-strong));background:color-mix(in srgb,var(--soft) 68%,transparent)}.page-status-deprecated{color:var(--oc-status-warning-fg);border-color:color-mix(in srgb,var(--oc-status-warning-fg) 42%,var(--line-strong))}.page-tools{display:flex;align-items:center;gap:var(--oc-space-2);margin-top:var(--oc-space-4)}.page-tools a,.page-tools button,.page-feedback button,.oc-prompt button{border:1px solid var(--line-strong);background:color-mix(in srgb,var(--paper) 82%,transparent);color:var(--muted);border-radius:var(--oc-radius-control);padding:6px 9px;font:760 var(--oc-font-size-xs)/1 var(--oc-font-body);cursor:pointer}.page-tools a:hover,.page-tools button:hover,.page-feedback button:hover,.oc-prompt button:hover{border-color:var(--brand);color:var(--ink)}.oc-code figcaption{justify-content:space-between;gap:var(--oc-space-3)}.oc-code figcaption .oc-code-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;letter-spacing:.08em}.doc [data-copy-control]{display:inline-grid;place-items:center;flex:0 0 32px;width:32px;height:32px;padding:0;border:0;background:transparent;color:var(--muted);border-radius:var(--oc-radius-control);cursor:pointer}
.doc [data-copy-control]:hover{background:var(--soft);color:var(--ink)}
[data-copy-control]:focus-visible{outline:2px solid var(--oc-focus-ring);outline-offset:2px}
.oc-copy-icon{grid-area:1/1;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.oc-copy-check,.oc-copy-error{display:none}
[data-copy-control][data-copy-state="copied"] .oc-copy-default,[data-copy-control][data-copy-state="failed"] .oc-copy-default{display:none}
[data-copy-control][data-copy-state="copied"] .oc-copy-check,[data-copy-control][data-copy-state="failed"] .oc-copy-error{display:block}
[data-copy-control][data-copy-state="copied"]{color:var(--brand)}
[data-copy-control][data-copy-state="failed"]{color:var(--oc-status-error-fg)}
.page-tools .page-actions-primary[data-copy-control]{display:grid;grid-template-columns:16px 1fr;justify-content:center;width:auto;gap:7px;padding-inline:10px}
.page-tools .page-actions-primary .oc-copy-icon{width:16px;height:16px}
.page-tools .page-actions-primary .oc-copy-label{grid-area:1/2;min-inline-size:5.5em;text-align:start}
.oc-prompt-content>:first-child{margin-top:0}
.doc pre code{display:block;min-width:max-content}.doc .oc-code pre code{white-space:pre}.doc .code-line,.oc-code .code-line{display:block;min-height:1.5em;line-height:1.5;padding:0 2px;border-left:2px solid transparent;white-space:pre}.doc .code-line:before{content:attr(data-line);display:none;width:2.4em;margin-right:1em;color:var(--muted);text-align:right;user-select:none}.doc .has-line-numbers .code-line:before{display:inline-block}.doc .code-line.is-highlighted{background:color-mix(in srgb,var(--brand) 14%,transparent);border-left-color:var(--brand)}.doc .code-line.is-dimmed{opacity:.46}.doc .code-line.is-added{background:color-mix(in srgb,var(--oc-diff-added) 13%,transparent);border-left-color:var(--oc-diff-added)}.doc .code-line.is-removed{background:color-mix(in srgb,var(--oc-diff-removed) 12%,transparent);border-left-color:var(--oc-diff-removed)}.doc .oc-code.is-wrapped pre,.doc .oc-code.is-wrapped code{white-space:pre-wrap;min-width:0}.doc .oc-code.is-wrapped .code-line{white-space:pre-wrap}.doc .oc-code.is-expandable pre{max-height:360px}.oc-badge{--badge-accent:var(--muted);display:inline-flex;align-items:center;max-inline-size:100%;min-block-size:1.375rem;padding:2px 7px;border:0;border-radius:var(--oc-radius-inset);corner-shape:superellipse(1.5);background:color-mix(in srgb,var(--badge-accent) 9%,var(--bg));color:color-mix(in srgb,var(--badge-accent) 70%,var(--ink));font:500 .75rem/1.4 var(--oc-font-body);vertical-align:baseline;overflow-wrap:anywhere}
.oc-badge+.oc-badge{margin-inline-start:4px}
.oc-badge-orange{--badge-accent:var(--brand)}
.oc-badge-green{--badge-accent:var(--oc-status-success-fg)}.oc-panel,.oc-prompt,.oc-mermaid{border:1px solid var(--line-strong);background:color-mix(in srgb,var(--paper) 86%,transparent);border-radius:var(--oc-radius-surface);margin:18px 0;padding:var(--oc-space-4)}.oc-panel>strong{display:block;color:var(--ink);font:760 var(--oc-font-size-base)/1.3 var(--oc-font-body);margin:0 0 var(--oc-space-2)}.oc-prompt header{display:flex;align-items:center;justify-content:space-between;gap:var(--oc-space-3);margin-bottom:10px}.oc-prompt strong{color:var(--ink);font:760 var(--oc-font-size-base)/1.3 var(--oc-font-body)}.oc-prompt p:last-child,.oc-panel p:last-child{margin-bottom:0}.oc-tile-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:10px;margin:18px 0}.oc-tile{display:flex;align-items:flex-start;gap:var(--oc-space-3);border:1px solid var(--line-strong);border-radius:var(--oc-radius-surface);padding:14px;color:var(--text);background:transparent}.oc-tile:hover{border-color:var(--brand);background:color-mix(in srgb,var(--soft) 28%,transparent)}.oc-tile strong{display:block;color:var(--ink);font:750 var(--oc-font-size-base)/1.3 var(--oc-font-body);margin:0 0 5px}.oc-tile p{margin:0;color:var(--muted);line-height:1.5}.oc-tile .oc-card-icon{flex:0 0 20px;width:20px;height:20px}.oc-mermaid{overflow:auto;display:grid;place-items:center;min-height:180px;padding:18px;color:var(--code-text);font:var(--oc-font-size-sm)/1.65 var(--oc-font-mono)}.oc-mermaid svg{display:block;max-width:100%;height:auto}.oc-mermaid pre{width:100%;margin:0}.oc-mermaid.is-rendered{background:color-mix(in srgb,var(--paper) 70%,transparent)}.oc-mermaid.is-error{display:block;place-items:normal;border-color:color-mix(in srgb,var(--oc-status-warning-fg) 42%,var(--line-strong))}.page-feedback{display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);margin-top:42px;padding-top:18px;color:var(--muted);font-size:var(--oc-font-size-sm)}.page-feedback output{color:var(--brand);font-weight:760}.page-nav{display:grid;grid-template-columns:1fr 1fr;gap:14px;border-top:1px solid var(--line);margin-top:var(--oc-space-5);padding-top:18px}.page-nav a{border:1px solid var(--line-strong);background:var(--paper);border-radius:var(--oc-radius-surface);padding:13px;color:var(--text)}.page-nav a:hover{border-color:var(--brand)}.page-nav small{display:block;color:var(--muted);font-size:11px;text-transform:uppercase}.next{text-align:right}
.article-meta-row{display:flex;align-items:center;justify-content:space-between;gap:var(--oc-space-4);margin:0 0 var(--oc-space-3)}.article-meta-row .breadcrumbs{margin:0;min-width:0}.article-meta-row .page-tools{margin:0 0 0 auto}.page-actions{display:inline-flex;align-items:stretch;position:relative}.page-tools .page-actions-primary,.page-tools .page-actions-more summary{height:30px;min-height:30px;border:1px solid var(--line-strong);background:color-mix(in srgb,var(--paper) 82%,transparent);color:var(--muted);font:760 var(--oc-font-size-xs)/1 var(--oc-font-body);cursor:pointer}.page-tools .page-actions-primary{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;border-right:1px solid var(--line-strong);border-radius:var(--oc-radius-control) 0 0 var(--oc-radius-control);margin-right:-1px;padding:0 9px}.page-tools .page-actions-primary .icon{width:15px;height:15px;min-width:15px}.page-tools .page-actions-more{position:relative}.page-tools .page-actions-more summary{display:grid;place-items:center;width:34px;border-radius:0 var(--oc-radius-control) var(--oc-radius-control) 0;padding:0;list-style:none}.page-tools .page-actions-more summary::-webkit-details-marker{display:none}.page-tools .page-actions-more summary::marker{content:""}.page-tools .page-actions-primary:hover,.page-tools .page-actions-more[open] summary,.page-tools .page-actions-more summary:hover{border-color:var(--line-strong);background:color-mix(in srgb,var(--ink) 6%,var(--paper));color:var(--ink)}.page-actions-chevron{display:grid;place-items:center;color:var(--muted)}.page-tools .page-actions-more summary .page-actions-chevron .icon{width:15px;height:15px;min-width:15px;transition:transform var(--oc-duration-fast) var(--oc-ease-out)}.page-tools .page-actions-more[open] .page-actions-chevron .icon{transform:rotate(180deg)}.page-tools .page-actions-more .page-actions-menu{position:absolute;top:calc(100% + 8px);left:auto;right:0;z-index:40;display:none;gap:var(--oc-space-1);min-width:260px;padding:var(--oc-space-2);border:1px solid var(--line-strong);border-radius:var(--oc-radius-surface);background:var(--paper);box-shadow:var(--shadow)}.page-tools .page-actions-more[open] .page-actions-menu{display:grid}.page-tools .page-action{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:9px;border:0;border-radius:var(--oc-radius-control);background:transparent;color:var(--text);text-align:left;text-decoration:none;cursor:pointer}.page-tools .page-action:hover{background:var(--soft);color:var(--ink)}.page-tools .page-action .icon{width:17px;height:17px}.page-tools .page-action strong{display:block;color:var(--ink);font:760 var(--oc-font-size-xs)/1.2 var(--oc-font-body)}.page-tools .page-action small{display:block;margin-top:3px;color:var(--muted);font:650 11px/1.25 var(--oc-font-body)}.page-tools .page-action-external{justify-self:end;color:var(--muted);font-size:var(--oc-font-size-xs)}.page-feedback-links{display:flex;align-items:center;gap:9px;margin-left:auto}.page-feedback-links a{border:1px solid var(--line-strong);background:color-mix(in srgb,var(--paper) 82%,transparent);color:var(--muted);border-radius:var(--oc-radius-control);padding:6px 9px;font:760 var(--oc-font-size-xs)/1 var(--oc-font-body)}.page-feedback-links a:hover{border-color:var(--brand);color:var(--ink)}@media(max-width:620px){.page-feedback-links{flex-basis:100%;margin:3px 0 0}}
.oc-code-viewport{position:relative;min-width:0}
.doc .oc-code.is-expandable pre{max-height:360px;scrollbar-width:thin;scrollbar-gutter:stable}
.doc .oc-code.is-expandable.is-expanded pre{max-height:none}
.doc .oc-code.is-expandable:not(.is-expanded) .oc-code-viewport:after{content:"";position:absolute;left:var(--code-fade-left,16px);right:var(--code-fade-right,16px);bottom:var(--code-fade-bottom,0px);height:72px;background:linear-gradient(180deg,transparent,var(--code-block));pointer-events:none}
.oc-code-expand{display:block;width:100%;min-height:40px;border:0;background:var(--code-block);color:var(--brand);font:600 var(--oc-font-size-xs)/1 var(--oc-font-body);cursor:pointer}
.oc-code-expand:hover{color:var(--ink)}
.oc-code-expand:focus-visible{outline:2px solid var(--oc-focus-ring);outline-offset:-4px}

.search-modal{--search-inset:clamp(16px,8dvh,72px);position:fixed;inset:0;z-index:90;display:none;overflow-y:auto;padding:var(--search-inset) 18px;background:color-mix(in srgb,var(--oc-bg-page) 58%,transparent)}
.search-modal.open{display:block}
.search-panel{display:flex;flex-direction:column;width:min(640px,100%);max-height:calc(100dvh - 2 * var(--search-inset));margin:0 auto;overflow:hidden;border:1px solid var(--line);border-radius:var(--oc-radius-surface);background:var(--paper);box-shadow:0 18px 60px rgb(0 0 0 / .18)}
.search-head{display:flex;flex:none;align-items:center;gap:12px;min-height:64px;padding:12px 16px 12px 22px;border-bottom:1px solid var(--line)}
.search-head:focus-within{border-bottom-color:color-mix(in srgb,var(--ink) 16%,transparent)}
.search-head>.icon{width:18px;height:18px;flex:0 0 18px;color:var(--muted);stroke-width:1.75}
.search-head input{flex:1;min-width:0;width:100%;border:0;border-radius:0;padding:8px 0;background:transparent;color:var(--ink);font:400 16px/1.5 var(--oc-font-body);outline:0;box-shadow:none}
.search-head input::placeholder{color:var(--muted);opacity:1}
.search-clear,.search-close{display:inline-grid;place-items:center;flex:0 0 32px;width:32px;height:32px;padding:0;border:0;border-radius:var(--oc-radius-inset);background:transparent;color:var(--muted);cursor:pointer}
.search-clear[hidden]{display:none}
.search-clear .icon,.search-close .icon{width:16px;height:16px;stroke-width:1.75}
.search-close-key{font:400 11px/1 var(--oc-font-mono);border:1px solid var(--line);border-radius:4px;padding:4px}
.search-close-label{display:none}
.search-clear:hover,.search-close:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,transparent)}
.search-panel :is(button,a):focus-visible{outline:2px solid color-mix(in srgb,var(--brand) 65%,var(--ink));outline-offset:-2px}
.search-hints{display:grid;flex-shrink:1;min-height:0;overflow:auto;gap:2px;padding:16px 10px 12px}
.search-suggestions{display:grid;gap:2px}
.search-hints p{margin:0;padding:0 12px 10px;color:var(--muted);font:400 12px/1.5 var(--oc-font-body)}
.search-modal.has-query .search-hints,.search-modal:not(.has-query) .search-results{display:none}
.search-hints button{display:flex;align-items:center;gap:12px;min-height:42px;border:0;border-radius:var(--oc-radius-control);background:transparent;color:var(--text);padding:9px 12px;font:400 14px/1.5 var(--oc-font-body);text-align:start;cursor:pointer}
.search-hints button>.icon{width:16px;height:16px;flex:0 0 16px;stroke-width:1.75;color:var(--muted)}
.search-hints button>.icon:last-child{margin-inline-start:auto;opacity:0}
.search-hints button.active,.search-hints button:focus-visible{color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,transparent)}
.search-hints button.active>.icon:last-child,.search-hints button:focus-visible>.icon:last-child{opacity:1}
.search-results{flex:1;min-height:0;max-height:min(440px,calc(100dvh - 160px));overflow:auto;padding:8px;overscroll-behavior:contain;scroll-padding:8px;scrollbar-color:color-mix(in srgb,var(--muted) 42%,transparent) transparent;scrollbar-width:thin}
.search-results::-webkit-scrollbar{width:10px}
.search-results::-webkit-scrollbar-track{background:transparent}
.search-results::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 42%,transparent);border:3px solid transparent;border-radius:var(--oc-radius-round);background-clip:content-box}
.search-results.is-loading{cursor:progress}
.search-loading,.search-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:220px;gap:8px;padding:32px 24px;color:var(--muted);text-align:center;font:400 13px/1.6 var(--oc-font-body)}
.search-loading{flex-direction:row;gap:10px}
.search-empty strong{max-width:100%;overflow-wrap:anywhere;color:var(--ink);font:500 16px/1.5 var(--oc-font-body)}
.search-empty p{max-width:36ch;margin:0;color:var(--muted);font:400 13px/1.6 var(--oc-font-body)}
.search-empty-kbd{display:inline-flex;align-items:center;gap:2px;margin:0 .2em;color:var(--text);vertical-align:-2px}
.search-empty-kbd .icon{width:12px;height:12px;stroke-width:1.75}
.search-spinner{display:block;width:14px;height:14px;flex:0 0 14px;border:1.5px solid var(--line);border-top-color:var(--muted);border-radius:50%;animation:search-spinner-turn .8s linear infinite}
.search-result{display:grid;grid-template-columns:minmax(0,1fr) 20px;grid-template-areas:"meta enter" "title enter" "snippet snippet";gap:3px 12px;border:0;border-radius:var(--oc-radius-control);padding:12px 14px;color:var(--text);text-decoration:none}
.search-result+.search-result{margin-top:2px}
.search-result:focus-visible,.search-result.active{background:color-mix(in srgb,var(--ink) 5%,transparent);color:var(--text)}
.search-result-meta{grid-area:meta;display:flex;min-width:0;gap:6px;align-items:center;color:var(--muted);font:400 12px/1.5 var(--oc-font-body)}
.search-result-meta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.search-result-meta span+span:before{content:"/";margin-inline-end:6px;opacity:.55}
.search-result strong{grid-area:title;display:block;min-width:0;color:var(--ink);font:500 15px/1.5 var(--oc-font-body)}
.search-result p{grid-area:snippet;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:2px 0 0;color:var(--muted);font:400 13px/1.55 var(--oc-font-body)}
.search-result mark{border-radius:3px;background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--ink);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.search-result-enter{grid-area:enter;align-self:center;justify-self:end;display:grid;place-items:center;width:20px;height:20px;color:var(--muted);opacity:0}
.search-result-enter .icon{width:15px;height:15px;stroke-width:1.75}
.search-result.active .search-result-enter{opacity:1}
.search-molty{display:grid;flex:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;border:0;border-top:1px solid var(--line);background:transparent;color:var(--text);padding:12px 22px;cursor:pointer;text-align:start;font:400 13px/1.5 var(--oc-font-body)}
.search-molty:hover,.search-molty:focus-visible{background:color-mix(in srgb,var(--ink) 5%,transparent)}
.search-molty img{width:24px;height:24px;border-radius:var(--oc-radius-round)}
.search-molty span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.search-molty [hidden]{display:none}
.search-molty strong{color:var(--ink);font-weight:500}
.search-molty-shortcut{display:inline-flex;align-items:center;justify-content:flex-end;gap:2px;color:var(--muted)}
.search-molty-shortcut .icon{width:13px;height:13px;stroke-width:1.75}
@media(max-width:640px){.search-modal{--search-inset:16px;padding-inline:12px}.search-head{gap:10px;padding:10px 12px 10px 18px}.search-close{flex-basis:48px;width:48px}.search-close-key{display:none}.search-close-label{display:block;font:400 12px/1.5 var(--oc-font-body)}.search-hints{padding-inline:8px}.search-hints button{min-height:44px}.search-results{padding:6px}.search-result{padding:12px}.search-molty{padding:12px 18px}.search-molty-shortcut{display:none}}
@keyframes search-spinner-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.search-spinner{animation:none}}

.docs-chat{position:fixed;top:0;right:0;bottom:0;width:min(380px,calc(100vw - 28px));z-index:80;pointer-events:none}.docs-chat-launcher{position:absolute;right:18px;bottom:18px;height:46px;border:1px solid color-mix(in srgb,var(--brand) 48%,var(--line-strong));border-radius:var(--oc-radius-control);background:var(--paper);color:var(--ink);display:flex;align-items:center;gap:9px;padding:0 17px 0 var(--oc-space-2);font-weight:650;cursor:pointer;box-shadow:var(--oc-shadow-lg);pointer-events:auto;overflow:hidden;isolation:isolate;transition:transform var(--oc-duration-fast) var(--oc-ease-out),border-color var(--oc-duration-fast) var(--oc-ease-out),box-shadow var(--oc-duration-fast) var(--oc-ease-out)}.docs-chat.open .docs-chat-launcher{display:none}.docs-chat-launcher:after{content:none}.docs-chat-launcher:hover{border-color:var(--brand);color:var(--ink)}.docs-chat-launcher:hover:after{opacity:1}.docs-chat-avatar{display:block;width:32px;height:32px;border-radius:var(--oc-radius-round);object-fit:contain;flex:0 0 auto}.docs-chat-launcher .docs-chat-avatar{width:30px;height:30px}.docs-chat-title .docs-chat-avatar{width:34px;height:34px}.docs-chat-panel{position:absolute;inset:0;display:none;grid-template-rows:auto auto minmax(0,1fr) auto;background:color-mix(in srgb,var(--paper) 94%,var(--oc-bg-page) 6%);border-left:1px solid var(--line-strong);box-shadow:var(--oc-shadow-lg);overflow:hidden;pointer-events:auto}.docs-chat.open .docs-chat-panel{display:grid}.docs-chat-head{display:flex;align-items:center;justify-content:space-between;gap:var(--oc-space-3);min-height:64px;padding:14px 14px 13px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper-2) 88%,transparent)}.docs-chat-head p{margin:0 0 2px;color:var(--brand);font-size:var(--oc-font-size-xs);font-weight:850;text-transform:uppercase}.docs-chat-head h2{margin:0;color:var(--ink);font:760 18px/1.1 var(--oc-font-body)}.docs-chat-actions{display:flex;align-items:center;gap:7px}.docs-chat-icon{position:relative;display:grid;place-items:center;width:34px;height:34px;border:1px solid transparent;border-radius:var(--oc-radius-control);background:transparent;color:var(--muted);padding:0;line-height:1;cursor:pointer;transition:background var(--oc-duration-fast) var(--oc-ease-out),border-color var(--oc-duration-fast) var(--oc-ease-out),color var(--oc-duration-fast) var(--oc-ease-out)}.docs-chat-icon .icon{width:17px;height:17px}.docs-chat-icon:hover{border-color:color-mix(in srgb,var(--brand) 38%,var(--line-strong));background:color-mix(in srgb,var(--paper-2) 82%,transparent);color:var(--ink)}.docs-chat-icon:disabled{opacity:.35;cursor:not-allowed}.docs-chat-icon[data-copy-state="copied"]{color:var(--brand);border-color:color-mix(in srgb,var(--brand) 44%,var(--line-strong));background:color-mix(in srgb,var(--soft) 70%,transparent)}.docs-chat-minimize{font-size:22px}.docs-chat-clear[hidden]{display:none}.docs-chat-auth{padding:14px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 92%,var(--oc-bg-page) 8%)}.docs-chat-auth[hidden]{display:none}.docs-chat-auth-card{border:1px solid var(--line-strong);border-radius:var(--oc-radius-surface);background:color-mix(in srgb,var(--paper-2) 86%,transparent);padding:14px}.docs-chat-auth-card p{margin:0 0 var(--oc-space-4);color:var(--text);font-size:var(--oc-font-size-base);line-height:1.45;text-wrap:balance}.docs-chat-auth-card strong{display:block;color:var(--ink);font:760 var(--oc-font-size-md)/1.25 var(--oc-font-body);margin-bottom:var(--oc-space-2)}.docs-chat-verify{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:40px;border:1px solid var(--brand);border-radius:var(--oc-radius-control);background:var(--brand);color:var(--on-brand)!important;font-weight:850;padding:0 14px;text-decoration:none!important}.docs-chat-github-icon{width:18px;height:18px;fill:currentColor;flex:0 0 auto}.docs-chat-verify:hover{background:var(--oc-accent-primary-hover);color:var(--on-brand)!important}.docs-chat-log{overflow:auto;padding:14px 14px var(--oc-space-4);display:flex;flex-direction:column;gap:10px}.docs-chat-message{max-width:94%;border:1px solid var(--line);border-radius:var(--oc-radius-surface);padding:10px var(--oc-space-3);overflow-wrap:break-word}.docs-chat-message p{margin:0 0 .7em}.docs-chat-message p:last-child{margin-bottom:0}.docs-chat-message a{color:var(--brand);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;word-break:break-word}.docs-chat-message code{background:var(--code);border:1px solid var(--line-strong);border-radius:var(--oc-radius-inset);padding:.05em .32em;color:var(--code-text);font-size:.9em}.docs-chat-code{margin:.35em 0 .85em;border:1px solid var(--line-strong);border-radius:var(--oc-radius-surface);background:color-mix(in srgb,var(--code) 92%,var(--oc-bg-page) 8%);overflow:hidden;box-shadow:var(--oc-shadow-md)}.docs-chat-code-head{display:flex;align-items:center;min-height:28px;padding:5px 10px;border-bottom:1px solid var(--line);color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.docs-chat-code pre{margin:0;padding:var(--oc-space-3);overflow:auto;white-space:pre;line-height:1.55}.docs-chat-code code{display:block;background:transparent!important;border:0!important;border-radius:var(--oc-radius-inset)!important;padding:0!important;color:var(--code-text);font-size:var(--oc-font-size-xs)}.docs-chat-message.user{align-self:flex-end;background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.docs-chat-message.assistant{align-self:flex-start;background:var(--paper-2);color:var(--text)}.docs-chat-message.thinking{padding:14px;min-height:42px;display:inline-flex;align-items:center}.docs-chat-thinking{display:inline-flex;gap:7px;align-items:flex-end;height:14px}.docs-chat-thinking span{width:7px;height:7px;border-radius:var(--oc-radius-round);background:var(--muted);animation:docs-chat-dot 1.25s var(--oc-ease-out) infinite;will-change:transform,opacity,background-color}.docs-chat-thinking span:nth-child(2){animation-delay:.18s}.docs-chat-thinking span:nth-child(3){animation-delay:.36s}@keyframes docs-chat-dot{0%,80%,100%{opacity:.3;transform:translateY(0) scale(.85);background:var(--muted)}40%{opacity:1;transform:translateY(-5px) scale(1);background:var(--brand)}}@media(prefers-reduced-motion:reduce){.docs-chat-thinking span{animation-duration:2.4s;animation-name:docs-chat-dot-fade}@keyframes docs-chat-dot-fade{0%,100%{opacity:.35}50%{opacity:1}}}.docs-chat-message.error{border-color:color-mix(in srgb,var(--oc-status-error-fg) 52%,var(--line-strong));color:var(--oc-status-error-fg);background:color-mix(in srgb,var(--oc-status-error-bg) 72%,var(--paper))}.docs-chat-form{display:grid;grid-template-columns:1fr auto;gap:10px;padding:var(--oc-space-3);border-top:1px solid var(--line);background:var(--paper)}.docs-chat-form[hidden]{display:none}.docs-chat-form textarea{resize:none;min-height:50px;max-height:160px;border:1px solid var(--oc-input-border);border-radius:var(--oc-radius-control);background:var(--oc-input-bg);color:var(--ink);padding:var(--oc-space-3) var(--oc-space-3);line-height:1.35}.docs-chat-form textarea:focus{outline:2px solid var(--oc-input-focus-ring);border-color:var(--oc-input-focus-border)}.docs-chat-form button{align-self:end;display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--brand);border-radius:var(--oc-radius-control);background:var(--brand);color:var(--on-brand);font-weight:850;padding:0;cursor:pointer}.docs-chat-form button .icon{width:18px;height:18px}.docs-chat-form button:disabled{opacity:.55;cursor:wait}
.docs-chat{top:auto;right:18px;bottom:18px;width:min(420px,calc(100vw - 36px));height:min(680px,calc(100vh - 36px));transition:width var(--oc-duration-ui) var(--oc-ease-out),height var(--oc-duration-ui) var(--oc-ease-out)}.docs-chat-launcher{right:0;bottom:0}.docs-chat.expanded{width:min(760px,calc(100vw - 36px));height:min(860px,calc(100vh - 36px))}.docs-chat.open{pointer-events:auto}.docs-chat:not(.open):not(.closing){right:18px!important}.docs-chat.open .docs-chat-launcher,.docs-chat.closing .docs-chat-launcher{display:flex;opacity:0;visibility:hidden;pointer-events:none}.docs-chat-panel{display:grid;opacity:0;transform:translateY(10px) scale(.985);transform-origin:bottom right;pointer-events:none;transition:transform var(--oc-duration-ui) var(--oc-ease-out),opacity var(--oc-duration-fast) var(--oc-ease-out)}.docs-chat.open .docs-chat-panel{display:grid;opacity:1;transform:none;pointer-events:auto}.docs-chat-maximize[aria-pressed="true"]{border-color:color-mix(in srgb,var(--brand) 44%,var(--line-strong));background:color-mix(in srgb,var(--soft) 68%,transparent);color:var(--ink)}.docs-chat-maximize .icon{transition:none}@media(prefers-reduced-motion:reduce){.docs-chat,.docs-chat-panel{transition:none}}
.docs-chat-panel{grid-template-rows:auto auto minmax(0,1fr) auto;inline-size:100%;min-width:0;max-width:100%;background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--oc-radius-surface);box-shadow:var(--oc-shadow-lg);overflow:hidden}.docs-chat-panel>*{min-width:0;max-width:100%}.docs-chat-head{grid-row:1;min-height:58px;overflow:hidden;padding:10px 14px;background:var(--bg);border-bottom:1px solid var(--line);cursor:grab;touch-action:none;user-select:none}.docs-chat.dragging .docs-chat-head{cursor:grabbing}.docs-chat-title{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0}.docs-chat-mark{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;color:var(--brand);filter:drop-shadow(0 0 12px color-mix(in srgb,var(--brand) 35%,transparent))}.docs-chat-mark .icon{width:25px;height:25px;stroke-width:1.8}.docs-chat-head h2{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 var(--oc-font-size-lg)/1.05 var(--oc-font-mono);letter-spacing:.04em}.docs-chat-actions{flex:0 0 auto;min-width:0;gap:6px}.docs-chat-icon{width:29px;height:29px;border-radius:var(--oc-radius-control);color:color-mix(in srgb,var(--muted) 82%,transparent)}.docs-chat-icon[hidden]{display:none}.docs-chat-icon .icon{width:17px;height:17px}.docs-chat-copy[data-copy-state] .icon{display:none}.docs-chat-copy[data-copy-state]:before{font:900 var(--oc-font-size-md)/1 var(--oc-font-body)}.docs-chat-copy[data-copy-state="copied"]:before{content:"✓"}.docs-chat-copy[data-copy-state="failed"]:before{content:"!"}.docs-chat-minimize{font-size:27px;font-weight:320}.docs-chat-log{grid-row:3;min-width:0;overflow-x:hidden;padding:var(--oc-space-5) 22px 18px;gap:var(--oc-space-3)}.docs-chat-message{max-width:min(86%,calc(100% - 28px));min-width:0;overflow-wrap:anywhere;word-break:break-word}.docs-chat-message.user{margin-right:0}.docs-chat-code{max-width:100%}.docs-chat-empty{max-width:300px;margin:0 auto;color:color-mix(in srgb,var(--muted) 72%,transparent);text-align:center;font:500 var(--oc-font-size-md)/1.45 var(--oc-font-mono);letter-spacing:.03em}.docs-chat-form{grid-row:4;position:relative;display:block;width:100%;min-width:0;max-width:100%;overflow:hidden;padding:var(--oc-space-4) 22px 22px;border-top:0;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--bg) 96%,var(--oc-bg-page) 4%) 22%)}.docs-chat:not([data-chat-auth-state="ready"]) .docs-chat-form{display:none}.docs-chat-form textarea{display:block;inline-size:100%;max-width:100%;min-width:0;min-height:118px;max-height:158px;border-radius:var(--oc-radius-control);padding:20px 66px 42px 20px;background:var(--oc-input-bg);font-size:16px;line-height:1.5;overflow:hidden}.docs-chat-form textarea:focus{outline:0;border-color:var(--oc-input-focus-border);box-shadow:inset 0 0 0 1px var(--oc-input-focus-ring),inset 0 0 0 4px var(--oc-input-focus-ring)}.docs-chat-form button{position:absolute;right:34px;bottom:34px;width:38px;height:38px;border-radius:var(--oc-radius-control)}.docs-chat-auth{grid-row:4;align-self:end;border-top:1px solid var(--line);border-bottom:0;background:var(--bg);padding:var(--oc-space-4) 22px 22px}.docs-chat-auth-card{border-radius:var(--oc-radius-surface)}
.oc-chart-mark,.oc-chart-donut-key{position:relative}.oc-chart-mark:focus-visible,.oc-chart-line-svg circle:focus-visible,.oc-chart-donut-segment:focus-visible,.oc-chart-donut-key:focus-visible{outline:2px solid var(--oc-focus-ring);outline-offset:3px}.oc-chart-mark[data-tip]:hover:after,.oc-chart-mark[data-tip]:focus:after,.oc-chart-donut-key[data-tip]:hover:after,.oc-chart-donut-key[data-tip]:focus:after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 9px);transform:translateX(-50%);z-index:30;width:max-content;max-width:min(260px,calc(100vw - 40px));padding:7px 9px;border:1px solid var(--tooltip-border);border-radius:var(--oc-radius-control);background:var(--tooltip-bg);color:var(--tooltip-text);font:760 var(--oc-font-size-xs)/1.25 var(--oc-font-body);box-shadow:var(--shadow);pointer-events:none}.oc-chart-mark[data-tip]:hover:before,.oc-chart-mark[data-tip]:focus:before,.oc-chart-donut-key[data-tip]:hover:before,.oc-chart-donut-key[data-tip]:focus:before{content:"";position:absolute;left:50%;bottom:calc(100% + 4px);transform:translateX(-50%) rotate(45deg);z-index:31;width:8px;height:8px;background:var(--tooltip-bg);pointer-events:none}.oc-chart-area-fill{fill:var(--oc-chart-area-color)}.oc-chart-donut-wrap{display:grid;grid-template-columns:minmax(170px,220px) minmax(0,1fr);gap:18px;align-items:center}.oc-chart-donut-svg{display:block;width:100%;height:auto}.oc-chart-donut-bg{fill:none;stroke:var(--oc-chart-track-color);stroke-width:28}.oc-chart-donut-segment{fill:none;stroke:var(--oc-chart-tone);stroke-width:28;stroke-linecap:butt;stroke-dasharray:var(--oc-chart-share) 100;stroke-dashoffset:calc(var(--oc-chart-offset) * -1);transition:stroke-width var(--oc-duration-fast) var(--oc-ease-out),opacity var(--oc-duration-fast) var(--oc-ease-out)}.oc-chart-donut-segment:hover,.oc-chart-donut-segment:focus{stroke-width:32;opacity:.92}.oc-chart-donut-svg text:first-of-type{fill:var(--ink);font:780 var(--oc-font-size-2xl)/1 var(--oc-font-body)}.oc-chart-donut-svg text:last-of-type{fill:var(--muted);font:760 11px/1 var(--oc-font-body);text-transform:uppercase}.oc-chart-donut-legend{display:grid;gap:var(--oc-space-2)}.oc-chart-donut-key{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:var(--oc-space-2);align-items:center;color:var(--text);font-size:var(--oc-font-size-xs)}.oc-chart-donut-key i{width:10px;height:10px;border-radius:var(--oc-radius-inset);background:var(--oc-chart-tone)}.oc-chart-donut-key span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.oc-chart-donut-key strong{color:var(--ink);font:760 var(--oc-font-size-xs)/1 var(--oc-font-body)}
.page-feedback{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px 22px;border-top:1px solid var(--line);margin-top:42px;padding-top:18px}.page-feedback-prompt{display:flex;align-items:center;gap:9px;min-width:0;flex-wrap:wrap}.page-feedback-prompt>span{display:inline-flex;align-items:center;color:var(--text)}.page-feedback-composer{grid-column:1/-1;display:grid;gap:11px}.page-feedback-composer[hidden]{display:none}.page-feedback-composer textarea{width:100%;min-height:110px;resize:vertical;border:1px solid var(--oc-input-border);border-radius:var(--oc-radius-control);background:color-mix(in srgb,var(--bg) 80%,var(--paper) 20%);color:var(--ink);padding:13px 14px}.page-feedback-composer textarea:focus{outline:0;border-color:var(--oc-input-focus-border);box-shadow:0 0 0 3px var(--oc-input-focus-ring)}.page-feedback-submit{display:inline-flex;align-items:center;justify-content:center;gap:var(--oc-space-2);justify-self:end;min-height:38px;border:1px solid color-mix(in srgb,var(--brand) 46%,var(--line-strong));border-radius:var(--oc-radius-control);background:color-mix(in srgb,var(--paper) 76%,transparent);color:var(--brand);padding:0 13px;font:800 var(--oc-font-size-xs)/1 var(--oc-font-body);white-space:nowrap}.page-feedback-submit .icon{width:15px;height:15px}.page-feedback-submit:hover{border-color:var(--brand);color:var(--ink);background:color-mix(in srgb,var(--soft) 52%,transparent)}
@media(max-width:620px){.page-feedback{grid-template-columns:1fr;padding:var(--oc-space-4)}.page-feedback-links{margin-left:0}.page-feedback-composer{max-width:none}.page-feedback-submit{width:max-content}}
.docs-chat-message.user a,.docs-chat-message.user a:visited{color:inherit;text-decoration-color:color-mix(in srgb,currentColor 72%,transparent)}.docs-chat-message.user a:hover,.docs-chat-message.user a:focus-visible{color:var(--oc-text-on-accent);text-decoration-color:currentColor}
/* Layout tier T3 (<=1440px): trim the page padding and the rail gap so the article keeps
   width before anything else gives; the rails are still at their cap and the article is still
   centred on the viewport. */
@media(max-width:1440px){:root{--shell-pad:40px;--rail-gap:44px}}
/* Layout tier T4 (<=1280px): a third rail can no longer buy a readable article, so the TOC leaves
   the flow and becomes the floating "On this page" disclosure anchored beside the nav. The shell
   drops to two tracks, so "centred" here means centred in the area that remains to the right of
   the nav rail, not on the viewport centre. */
@media(max-width:1280px){:root{--shell-pad:32px;--rail-gap:40px;--toc-left:calc(var(--shell-pad) + var(--rail-max) + var(--rail-gap));--toc-room:calc(100vw - var(--toc-left) - var(--shell-pad))}
html{scroll-padding-top:calc(var(--sticky-header-h) + 54px)}
.doc-shell{grid-template-columns:var(--rail-max) minmax(0,1fr)}.article{width:min(100%,var(--article-max));justify-self:center}
.toc{position:fixed;left:var(--toc-left);top:calc(var(--sticky-header-h) + 8px);z-index:60;width:max-content;max-width:var(--toc-room);max-height:none;margin:0;padding:0;overflow:visible;background:transparent;color:var(--muted);font-size:var(--oc-font-size-sm);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-4px);transition:opacity var(--oc-duration-fast) var(--oc-ease-out),transform var(--oc-duration-fast) var(--oc-ease-out),visibility var(--oc-duration-fast) var(--oc-ease-out)}.toc.is-visible,.toc[open]{opacity:1;visibility:visible;pointer-events:auto;transform:none}.toc h2{display:none}.toc summary{display:flex;align-items:center;gap:var(--oc-space-2);min-height:34px;padding:0 11px;border:1px solid var(--line-strong);border-radius:var(--oc-radius-control);background:color-mix(in srgb,var(--paper) 90%,transparent);color:var(--ink);font:760 var(--oc-font-size-xs)/1 var(--oc-font-body);cursor:pointer;list-style:none;box-shadow:var(--oc-shadow-md)}.toc summary::-webkit-details-marker{display:none}.toc summary:after{content:"";width:6px;height:6px;border-right:1.25px solid color-mix(in srgb,currentColor 72%,transparent);border-bottom:1.25px solid color-mix(in srgb,currentColor 72%,transparent);transform:rotate(45deg);margin-top:-3px}.toc[open] summary{border-color:color-mix(in srgb,var(--brand) 38%,var(--line-strong));background:color-mix(in srgb,var(--soft) 62%,var(--paper) 38%)}.toc[open] summary:after{transform:rotate(225deg);margin-top:3px}.toc nav{position:absolute;left:0;top:calc(100% + 8px);display:none;width:min(340px,var(--toc-room));max-height:min(58vh,520px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:var(--oc-space-2) 11px var(--oc-space-2) var(--oc-space-2);border:1px solid color-mix(in srgb,var(--line-strong) 82%,var(--brand) 18%);border-radius:var(--oc-radius-surface);background:color-mix(in srgb,var(--paper) 92%,var(--soft) 8%);box-shadow:var(--shadow)}.toc[open] nav{display:grid;align-content:start;gap:2px}.toc a{display:block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--oc-radius-control);padding:var(--oc-space-2) 9px;color:var(--text)}.toc a:hover,.toc a.active{background:var(--soft);color:var(--ink)}.toc-l3{padding-left:18px!important}}
@media(max-width:1120px){.header-row{grid-template-columns:auto 1fr auto}.oc-card-grid.oc-card-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}:root{--shell-pad:24px;--rail-gap:34px;--rail-max:220px}.sidebar{top:148px;max-height:calc(100vh - 172px);padding-right:4px}.nav-section{margin-bottom:26px}.nav-link{padding:6px 10px;font-size:var(--oc-font-size-sm)}}@media(max-width:820px){html{scroll-padding-top:calc(var(--sticky-header-h) + 50px)}.site-header{position:sticky}.header-row{height:auto;min-height:0;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"menu brand actions" "search search search";align-items:center;padding:10px 14px var(--oc-space-3);gap:10px var(--oc-space-3)}.header-left{grid-area:brand;justify-self:center;gap:10px;min-width:0}.brand img{width:22px;height:22px}.language-trigger{width:40px;height:40px;padding:0;justify-content:center;border:1px solid var(--line-strong);background:var(--paper)}.language-current,.language-chevron{display:none}.language-menu{left:auto;right:0;transform:none;width:min(390px,calc(100vw - 28px));max-height:min(72vh,620px)}.search-button{grid-area:search;width:100%;height:40px}.header-links{grid-area:actions;justify-self:end;gap:var(--oc-space-2)}.theme-toggle{width:40px;height:40px;border:1px solid var(--line-strong)!important;border-radius:var(--oc-radius-control);background:var(--paper)!important}.nav-toggle{grid-area:menu;display:inline-flex;align-items:center;justify-content:center;justify-self:start;width:40px;height:40px;padding:0}.doc-shell{display:block;padding:26px 20px 86px}.toc{left:14px;right:14px;top:calc(var(--sticky-header-h) + 8px);max-width:none}.toc[open]{z-index:100}.toc nav{width:min(340px,calc(100vw - 28px));max-height:min(62vh,560px)}.toc[open] nav{position:fixed;inset:calc(var(--sticky-header-h) + 52px) 14px max(14px,env(safe-area-inset-bottom)) 14px;width:auto;max-height:none;background:var(--paper);box-shadow:var(--oc-shadow-lg)}.toc summary{min-height:36px}body:has(.toc[open]){overflow:hidden}body:has(.toc[open]):before{content:"";position:fixed;inset:var(--sticky-header-h) 0 0;z-index:55;background:color-mix(in srgb,var(--oc-bg-page) 68%,transparent);backdrop-filter:blur(3px)}body:has(.toc[open]) .docs-chat{visibility:hidden;pointer-events:none}body.nav-open{overflow:hidden}body.nav-open:before{content:"";position:fixed;inset:0;z-index:75;background:color-mix(in srgb,var(--oc-bg-page) 58%,transparent);backdrop-filter:blur(2px)}.sidebar{position:fixed;inset:0 auto 0 0;width:min(360px,calc(100vw - 28px));z-index:90;transform:translateX(calc(-100% - 1px));transition:transform var(--oc-duration-ui) var(--oc-ease-out);background:var(--bg);border-right:1px solid var(--line);padding:18px 18px 28px;max-height:none;box-shadow:var(--oc-shadow-lg);mask-image:none;-webkit-mask-image:none}.sidebar.open{transform:translateX(0)}.sidebar-close{display:flex;align-items:center;justify-content:center;width:100%;height:40px;margin:0 0 18px;border:1px solid var(--line-strong);border-radius:var(--oc-radius-control);background:var(--paper);color:var(--ink);font:760 var(--oc-font-size-sm)/1 var(--oc-font-body)}.breadcrumbs{white-space:normal}.article-meta-row .page-tools{flex:0 0 auto}.breadcrumbs .breadcrumb-group{display:none}.page-tools,.page-feedback{flex-wrap:wrap}.article h1{font-size:28px}.oc-card-grid,.oc-card-group,.oc-card-grid.oc-card-cols-3,.oc-card-grid.oc-card-cols-4,.oc-tile-group,.oc-cta-grid,.oc-stat-grid{grid-template-columns:1fr}.oc-steps{margin-left:18px}.oc-step{padding-left:30px}.oc-tabs,.oc-code-group{margin-left:0;margin-right:0}.oc-tab{padding:18px}.doc pre{white-space:pre-wrap;overflow-wrap:anywhere}.doc pre code{white-space:pre-wrap;min-width:0}.doc .code-line{white-space:pre-wrap;overflow-wrap:anywhere}.oc-code-tabs{overflow-x:auto}.oc-code-tab{flex:0 0 auto}.next{text-align:left}.page-nav{grid-template-columns:1fr}.oc-chart-donut-wrap{grid-template-columns:1fr}.docs-chat,.docs-chat.expanded{right:14px;bottom:14px;width:min(390px,calc(100vw - 28px));height:min(680px,calc(100vh - 28px))}.docs-chat:not(.open):not(.closing){right:14px!important}.docs-chat-launcher{right:0;bottom:0;height:44px;padding:0 14px}.docs-chat-head{min-height:58px;padding:var(--oc-space-3)}.docs-chat-panel{box-shadow:var(--oc-shadow-lg)}}
@media(max-width:1120px){.oc-card-grid.oc-card-cols-4,.oc-card-group.oc-card-cols-4{--oc-card-columns:2;grid-template-columns:repeat(var(--oc-card-columns),minmax(0,1fr))}}@media(max-width:820px){.oc-card-grid,.oc-card-group,.oc-card-grid.oc-card-cols-1,.oc-card-group.oc-card-cols-1,.oc-card-grid.oc-card-cols-2,.oc-card-group.oc-card-cols-2,.oc-card-grid.oc-card-cols-3,.oc-card-group.oc-card-cols-3,.oc-card-grid.oc-card-cols-4,.oc-card-group.oc-card-cols-4{--oc-card-columns:1;grid-template-columns:1fr}}
.oc-mermaid{position:relative}
.oc-mermaid-actions{position:absolute;top:10px;right:10px;z-index:2;display:flex;gap:6px}
.oc-mermaid-expand{display:grid;place-items:center;width:34px;height:34px;border:1px solid color-mix(in srgb,var(--line-strong) 82%,transparent);border-radius:var(--oc-radius-control);background:color-mix(in srgb,var(--paper) 88%,transparent);color:var(--muted);box-shadow:var(--oc-shadow-md);cursor:pointer}
.oc-mermaid-expand:hover,.oc-mermaid-expand:focus-visible{outline:0;border-color:color-mix(in srgb,var(--brand) 46%,var(--line-strong));background:color-mix(in srgb,var(--soft) 66%,var(--paper) 34%);color:var(--ink)}
.oc-mermaid-expand .icon{width:17px;height:17px;min-width:17px;max-width:17px;stroke-width:2.1}
.oc-mermaid-overlay{position:fixed;inset:0;z-index:120;display:none;padding:22px;background:color-mix(in srgb,var(--oc-bg-page) 68%,transparent);backdrop-filter:blur(5px)}
.oc-mermaid-overlay.open{display:grid;grid-template-rows:auto minmax(0,1fr);gap:var(--oc-space-3)}
.oc-mermaid-overlay-head{display:flex;justify-content:flex-end}
.oc-mermaid-overlay-close{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line-strong);border-radius:var(--oc-radius-control);background:color-mix(in srgb,var(--paper) 90%,transparent);color:var(--muted);cursor:pointer}
.oc-mermaid-overlay-close:hover,.oc-mermaid-overlay-close:focus-visible{outline:0;border-color:color-mix(in srgb,var(--brand) 46%,var(--line-strong));background:color-mix(in srgb,var(--soft) 64%,var(--paper) 36%);color:var(--ink)}
.oc-mermaid-overlay-close .icon{width:18px;height:18px;min-width:18px;max-width:18px}
.oc-mermaid-overlay-canvas{min-height:0;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line-strong);border-radius:var(--oc-radius-surface);background:color-mix(in srgb,var(--paper) 94%,transparent);padding:var(--oc-space-5);box-shadow:var(--shadow)}
.oc-mermaid-overlay-canvas svg{display:block;width:max-content;min-width:min(1040px,100%);max-width:none;height:auto;margin:auto}
.oc-mermaid-overlay-canvas pre{margin:0;white-space:pre;min-width:max-content}
.has-mermaid-overlay{overflow:hidden}
.language-menu{top:calc(100% + 8px);width:min(270px,calc(100vw - 32px));max-height:min(62vh,430px);padding:6px;border-radius:var(--oc-radius-surface);scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--brand) 58%,transparent) transparent;box-shadow:var(--oc-shadow-lg)}
.language-menu::-webkit-scrollbar{width:8px}
.language-menu::-webkit-scrollbar-track{background:transparent}
.language-menu::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--brand) 58%,transparent);border:2px solid transparent;border-radius:var(--oc-radius-round);background-clip:content-box}
.language-option{grid-template-columns:24px minmax(0,1fr) 18px;gap:var(--oc-space-2);padding:var(--oc-space-2) 10px;border-radius:var(--oc-radius-control);font-size:var(--oc-font-size-md);line-height:1.15}
.language-check .icon{width:16px;height:16px;min-width:16px;max-width:16px;stroke-width:1.75}
@media(max-width:820px){.language-menu{width:min(300px,calc(100vw - 28px));max-height:min(62vh,430px)}}
.sidebar-head{display:none}
@media(max-width:820px){
  .header-row{position:relative;grid-template-columns:auto minmax(0,1fr) auto}
  .header-left{position:absolute;grid-area:auto;top:30px;left:50%;width:max-content;transform:translate(-50%,-50%)}
  .brand-tag,.header-links .top-icon-link{display:none}
  .theme-toggle{border:0!important;background:transparent!important}
  .sidebar{height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;padding:0 18px 28px}
  .sidebar-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;min-height:64px;margin:0 -2px 14px;padding:10px 2px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(16px)}
  .sidebar-close{display:inline-grid;place-items:center;width:40px;height:40px;margin:0;padding:0;border:1px solid var(--line-strong);border-radius:var(--oc-radius-control);background:var(--paper);color:var(--muted);cursor:pointer;transition:color var(--oc-duration-fast) var(--oc-ease-out),border-color var(--oc-duration-fast) var(--oc-ease-out),background var(--oc-duration-fast) var(--oc-ease-out)}
  .sidebar-close:hover,.sidebar-close:focus-visible{border-color:color-mix(in srgb,var(--brand) 44%,var(--line-strong));background:var(--paper-2);color:var(--ink);outline:0}
  .sidebar-close .icon{width:18px;height:18px}
}
@media(max-width:640px){.sidebar,.community-invite{width:100vw;border-right:0}}
.site-footer{border-top:1px solid var(--line);margin-top:var(--oc-space-5)}
.site-footer-inner{max-width:1780px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--oc-space-3) var(--oc-space-5);padding:26px 200px 26px var(--shell-pad);color:var(--muted);font:500 var(--oc-font-size-xs)/1.6 var(--oc-font-mono)}
.site-footer-note{margin:0}
.site-footer-note a{color:var(--text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.site-footer-note a:hover{color:var(--brand)}
.site-footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.site-footer-links a{display:inline-flex;align-items:center;gap:6px;color:var(--muted)}
.site-footer-links a:hover{color:var(--ink)}
.site-footer-links .icon{width:14px;height:14px;min-width:14px;max-width:14px}
@media(max-width:820px){.site-footer-inner{flex-direction:column;align-items:flex-start;padding:22px 20px 88px}}
.docs-chat-head{overflow:visible}
.docs-chat-actions{position:relative;z-index:3}
.docs-chat-icon:is(:hover,:focus-visible):not(:disabled):after{content:attr(aria-label);position:absolute;top:calc(100% + 8px);right:0;z-index:80;width:max-content;max-width:min(240px,calc(100vw - 40px));padding:7px 9px;border:1px solid var(--tooltip-border);border-radius:var(--oc-radius-control);background:var(--tooltip-bg);color:var(--tooltip-text);font:760 var(--oc-font-size-xs)/1.25 var(--oc-font-body);box-shadow:var(--shadow);pointer-events:none;white-space:nowrap}
/* Continuous corner curvature, mirroring the Control UI's block in
   ui/src/styles/base.css: same superellipse(1.5) exponent, same 1.25 radius
   inflation. A superellipse keeps curving into the edge instead of stopping on
   a tangent, which reads as a shorter arc than a circular corner of the same
   radius; the inflation gives that back. Border, shadow, outline and overflow
   clipping all follow the drawn shape, so this stays a paint-level refinement,
   and the @supports gate leaves engines without corner-shape on today's radii.
   Opt-in per surface, never universal: the shape flattens the ends of anything
   fully rounded, and every var(--oc-radius-round) pill, avatar, spinner and
   status dot on this site has to stay a true arc. Add new shared surfaces to
   the lists below; leaving one out only keeps its current corner.
   Each rule sets border-radius directly rather than redeclaring an --oc-radius-*
   custom property on the matched element: custom properties inherit, so a
   redeclared token would also reach nested surfaces that never opted in and
   draw no superellipse. border-radius does not inherit, so the value stops
   where it is set. Selectors are doubled so they win on specificity rather than
   on source order; where the tail is a type selector the ancestor class carries
   the doubling. */
@supports (corner-shape: superellipse(1.5)){
:root{--oc-corner-radius-scale:1.25}
.oc-card.oc-card,.oc-cta-card.oc-cta-card{border-radius:calc(var(--oc-radius-lg) * var(--oc-corner-radius-scale));corner-shape:superellipse(1.5)}
.oc-cta.oc-cta,.oc-stat.oc-stat,.oc-chart.oc-chart,.oc-table-wrap.oc-table-wrap,.oc-callout.oc-callout,.oc-code.oc-code,.oc-tabs.oc-tabs,.oc-code-group.oc-code-group,.oc-accordion.oc-accordion,.oc-param.oc-param,.oc-frame.oc-frame,.oc-panel.oc-panel,.oc-prompt.oc-prompt,.oc-mermaid.oc-mermaid,.oc-tile.oc-tile,.oc-mermaid-overlay-canvas.oc-mermaid-overlay-canvas,.page-nav.page-nav a,.page-tools .page-actions-more .page-actions-menu.page-actions-menu,.search-panel.search-panel,.language-menu.language-menu,.toc.toc nav,.docs-chat-panel.docs-chat-panel,.docs-chat-message.docs-chat-message,.docs-chat-code.docs-chat-code,.docs-chat-auth-card.docs-chat-auth-card{border-radius:calc(var(--oc-radius-surface) * var(--oc-corner-radius-scale));corner-shape:superellipse(1.5)}
.search-button.search-button,.language-trigger.language-trigger,.language-option.language-option,.theme-toggle.theme-toggle,.sidebar-close.sidebar-close,.heading-anchor.heading-anchor,.page-status-badge.page-status-badge,.page-tools.page-tools a,.page-tools.page-tools button,.page-tools .page-action.page-action,.page-feedback.page-feedback button,.page-feedback-links.page-feedback-links a,.page-feedback-submit.page-feedback-submit,.page-feedback-composer.page-feedback-composer textarea,.oc-prompt.oc-prompt button,.oc-cta-link.oc-cta-link,.oc-code-tab.oc-code-tab,.oc-code.oc-code figcaption button,.oc-mermaid-expand.oc-mermaid-expand,.oc-mermaid-overlay-close.oc-mermaid-overlay-close,.search-head.search-head input,.search-close.search-close,.search-hints.search-hints button,.search-result.search-result,.search-empty-kbd.search-empty-kbd,.docs-chat-launcher.docs-chat-launcher,.docs-chat-icon.docs-chat-icon,.docs-chat-verify.docs-chat-verify,.docs-chat-form.docs-chat-form textarea,.docs-chat-form.docs-chat-form button,.toc.toc summary,.toc.toc a,.community-invite__cta.community-invite__cta{border-radius:calc(var(--oc-radius-control) * var(--oc-corner-radius-scale));corner-shape:superellipse(1.5)}
/* The Copy page control is one split button: two halves that each round only
   their outer pair of corners. corner-shape still has to be set on both so the
   drawn corners match the rest of the page; a 0-radius corner draws no curve
   either way. */
.page-tools .page-actions-primary.page-actions-primary{border-radius:calc(var(--oc-radius-control) * var(--oc-corner-radius-scale)) 0 0 calc(var(--oc-radius-control) * var(--oc-corner-radius-scale));corner-shape:superellipse(1.5)}
.page-tools .page-actions-more.page-actions-more summary{border-radius:0 calc(var(--oc-radius-control) * var(--oc-corner-radius-scale)) calc(var(--oc-radius-control) * var(--oc-corner-radius-scale)) 0;corner-shape:superellipse(1.5)}
/* Only while the invite card floats: docked to the mobile drawer it is a flush
   sheet with square corners (border-radius:0 in the <=820px tier), which this
   block would otherwise outrank. */
@media(min-width:821px){.community-invite.community-invite{border-radius:calc(var(--oc-radius-surface) * var(--oc-corner-radius-scale));corner-shape:superellipse(1.5)}}}
.maturity-hero {
  display: grid;
  gap: var(--oc-space-4);
  margin: 10px 0 38px;
  padding: var(--oc-space-1) 0 26px var(--oc-space-5);
  border-bottom: 1px solid color-mix(in srgb, var(--brand) 22%, transparent);
  border-left: 3px solid var(--brand);
}

.maturity-hero-compact {
  margin-bottom: 34px;
}

.maturity-hero-title {
  max-width: 46rem;
  margin: 0;
  color: var(--ink);
  font: 750 36px / 1.08 var(--oc-font-display);
  letter-spacing: 0;
}

.maturity-hero > p:not(.maturity-kicker):not(.maturity-jump-links) {
  max-width: 58rem;
  margin: 0;
  color: var(--text);
  font: 500 var(--oc-font-size-xl) / 1.65 var(--oc-font-body);
}

.maturity-kicker {
  margin: 0;
  color: var(--brand);
  font: 750 10px / 1.3 var(--oc-font-body);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.maturity-jump-links {
  margin: 0;
  font-size: var(--oc-font-size-sm);
  line-height: 1.5;
}

.maturity-jump-links a {
  color: var(--brand);
  text-decoration: none;
}

.maturity-jump-links a:hover {
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.maturity-score-stable,
.maturity-band-stable {
  color: var(--oc-status-success-fg);
}

.maturity-score-beta,
.maturity-band-beta {
  color: var(--oc-status-info-fg);
}

.maturity-score-alpha,
.maturity-band-alpha {
  color: var(--oc-status-warning-fg);
}

.maturity-score-experimental,
.maturity-band-experimental {
  color: var(--oc-status-error-fg);
}

.maturity-score-clawesome,
.maturity-band-clawesome {
  color: var(--oc-accent-secondary);
}

.maturity-level-pill {
  display: inline-flex;
  align-items: center;
  gap: var(--oc-space-2);
  width: max-content;
  max-width: 100%;
  padding: 3px var(--oc-space-2);
  border: 1px solid color-mix(in srgb, currentColor 34%, transparent);
  border-radius: var(--oc-radius-control);
  background: color-mix(in srgb, currentColor 11%, transparent);
  color: inherit;
  font: 750 10px / 1.25 var(--oc-font-body);
  white-space: nowrap;
}

.maturity-level-code {
  font-size: 9px;
  letter-spacing: 0.04em;
  opacity: 0.72;
}

.maturity-level-experimental {
  color: var(--oc-status-error-fg);
}

.maturity-level-alpha {
  color: var(--oc-status-warning-fg);
}

.maturity-level-beta {
  color: var(--oc-status-info-fg);
}

.maturity-level-stable {
  color: var(--oc-status-success-fg);
}

.maturity-level-clawesome {
  color: var(--oc-accent-secondary);
}

.maturity-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 14px 0 20px;
  border-top: 1px solid color-mix(in srgb, var(--brand) 18%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--brand) 18%, transparent);
}

.maturity-summary-item {
  display: grid;
  gap: var(--oc-space-3);
  min-width: 0;
  padding: 18px 20px 18px 0;
}

.maturity-summary-item + .maturity-summary-item {
  padding-left: 20px;
  border-left: 1px solid color-mix(in srgb, var(--brand) 14%, transparent);
}

.maturity-summary-heading {
  display: flex;
  align-items: baseline;
  gap: 9px;
}

.maturity-summary-value {
  display: inline-block;
  color: var(--ink);
  font: 750 30px / 1 var(--oc-font-display);
}

.maturity-summary-heading > span:not(.maturity-summary-value) {
  color: var(--text);
  font: 700 var(--oc-font-size-sm) / 1.2 var(--oc-font-body);
}

.maturity-summary-bar {
  height: 7px;
  overflow: hidden;
  background: color-mix(in srgb, currentColor 14%, transparent);
}

.maturity-summary-bar span {
  display: block;
  width: calc(var(--score) * 1%);
  height: 100%;
  background: currentColor;
}

.maturity-summary-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.4;
}

.maturity-summary-meta span:first-child {
  font-weight: 700;
}

.maturity-summary-meta span:last-child {
  opacity: 0.72;
}

.maturity-summary-meta .maturity-level-pill {
  opacity: 1;
}

.maturity-band-list {
  display: flex;
  margin: 12px 0 30px;
  border-top: 1px solid color-mix(in srgb, var(--brand) 16%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--brand) 16%, transparent);
}

.maturity-band {
  display: grid;
  flex: 1 1 0;
  gap: 3px;
  padding: 10px 12px 11px 0;
}

.maturity-band + .maturity-band {
  padding-left: 12px;
  border-left: 1px solid color-mix(in srgb, var(--brand) 12%, transparent);
}

.maturity-band-title {
  font-size: var(--oc-font-size-xs);
  font-weight: 700;
}

.maturity-band > span:last-child,
.maturity-band span {
  color: inherit;
  font-size: 11px;
  opacity: 0.72;
}

.maturity-band .maturity-level-pill,
.maturity-band .maturity-level-pill span {
  font-size: 10px;
  opacity: 1;
}

.maturity-score {
  display: grid;
  gap: 4px;
  min-width: 0;
  color: inherit;
  font-size: 11px;
  font-weight: 700;
}

.maturity-score-label {
  display: flex;
  justify-content: space-between;
  gap: 6px;
  line-height: 1.2;
}

.maturity-score-label > span:first-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.maturity-score-label > span:last-child {
  flex: 0 0 auto;
}

.maturity-score-label .maturity-level-pill {
  gap: 4px;
  padding: 2px 6px;
  font-size: 9px;
}

.maturity-meter {
  display: inline-block;
  width: 100%;
  height: 3px;
  overflow: hidden;
  background: color-mix(in srgb, currentColor 15%, transparent);
  vertical-align: middle;
}

.maturity-meter > span {
  display: block;
  width: 0;
  height: 100%;
  background: currentColor;
}

.maturity-score-unscored,
.maturity-lts-none {
  color: inherit;
  opacity: 0.52;
}

.maturity-surface-table {
  display: grid;
  gap: 0;
  max-width: 100%;
  margin: 8px 0 22px;
}

.maturity-surface-row {
  display: grid;
  grid-template-columns: minmax(190px, 1.55fr) repeat(3, minmax(110px, 1fr)) minmax(72px, 0.55fr);
  gap: var(--oc-space-3);
  align-items: center;
  min-width: 0;
  padding: 13px 0;
  border-top: 1px solid color-mix(in srgb, currentColor 14%, transparent);
}

.maturity-surface-row > *,
.maturity-category-row > *,
.maturity-readiness-row > * {
  min-width: 0;
}

.maturity-surface-row-header {
  padding: 0 0 9px;
  border-top: 0;
  color: var(--muted);
  font: 750 10px / 1.2 var(--oc-font-body);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.maturity-surface-name {
  display: grid;
  gap: 3px;
  min-width: 0;
  border-bottom: 0 !important;
  text-decoration: none;
}

.maturity-surface-name:hover .maturity-surface-title {
  color: var(--brand);
}

.maturity-surface-title {
  overflow-wrap: anywhere;
  color: var(--ink);
  font: 700 var(--oc-font-size-sm) / 1.25 var(--oc-font-body);
}

.maturity-surface-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

.maturity-surface-meta > span:not(.maturity-level-pill) {
  color: var(--muted);
  font-size: 11px;
}

.maturity-surface-meta .maturity-level-pill {
  opacity: 1;
}

.maturity-surface-metric {
  min-width: 0;
}

.maturity-surface-metric-label {
  display: none;
  color: var(--muted);
  font-size: 10px;
  opacity: 0.72;
}

.maturity-surface-support {
  justify-self: start;
}

.maturity-lts {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

.maturity-lts::before {
  width: 6px;
  height: 6px;
  border-radius: var(--oc-radius-round);
  background: currentColor;
  content: "";
}

.maturity-lts-partial {
  color: var(--oc-status-warning-fg);
}

.maturity-lts-full {
  color: var(--oc-status-success-fg);
}

.maturity-evidence-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 14px 0 24px;
  border-top: 1px solid color-mix(in srgb, var(--brand) 16%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--brand) 16%, transparent);
}

.maturity-evidence-card {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 14px 16px 14px 0;
}

.maturity-evidence-card + .maturity-evidence-card {
  padding-left: 16px;
  border-left: 1px solid color-mix(in srgb, var(--brand) 12%, transparent);
}

.maturity-evidence-title {
  color: var(--ink);
  font: 700 var(--oc-font-size-sm) / 1.3 var(--oc-font-body);
}

.maturity-evidence-card span {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.4;
}

.maturity-readiness-summary {
  margin: 0 0 12px;
  color: var(--muted);
  font-size: var(--oc-font-size-xs);
}

.maturity-readiness-list,
.maturity-category-list {
  display: grid;
  max-width: 100%;
  margin: 0;
  border-top: 1px solid color-mix(in srgb, var(--brand) 14%, transparent);
}

.maturity-readiness-row {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(120px, 0.8fr) minmax(110px, 0.7fr);
  gap: 14px;
  align-items: center;
  padding: 11px 0;
  border-bottom: 1px solid color-mix(in srgb, var(--brand) 10%, transparent);
  font-size: 11px;
}

.maturity-readiness-row-header,
.maturity-category-row-header {
  padding: 8px 0;
  color: var(--muted);
  font: 750 10px / 1.2 var(--oc-font-body);
  letter-spacing: 0.04em;
  opacity: 0.72;
  text-transform: uppercase;
}

.maturity-readiness-area,
.maturity-category-area {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.maturity-readiness-title,
.maturity-category-title {
  overflow-wrap: anywhere;
  color: var(--ink);
  font-weight: 700;
}

.maturity-readiness-status {
  color: var(--muted);
  font-size: 10px;
  opacity: 0.82;
}

.maturity-readiness-status-ready {
  color: var(--oc-status-success-fg);
}

.maturity-readiness-status-partially-reviewed {
  color: var(--oc-status-warning-fg);
}

.maturity-readiness-status-needs-review {
  color: var(--oc-status-error-fg);
}

.maturity-category-row {
  display: grid;
  grid-template-columns: minmax(180px, 1.55fr) repeat(3, minmax(100px, 1fr)) minmax(140px, 1.2fr);
  gap: var(--oc-space-3);
  align-items: center;
  padding: 12px 0;
  border-top: 1px solid color-mix(in srgb, var(--brand) 11%, transparent);
  font-size: 11px;
}

.maturity-category-area > span:last-child,
.maturity-category-docs {
  color: var(--muted);
  font-size: 10px;
}

.maturity-category-docs {
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.4;
}

.maturity-category-docs a {
  color: var(--brand);
  text-decoration: none;
}

.maturity-category-docs a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.maturity-level-list {
  display: grid;
  margin: 12px 0 28px;
  border-top: 1px solid color-mix(in srgb, var(--brand) 16%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--brand) 16%, transparent);
}

.maturity-level-row {
  display: grid;
  grid-template-columns: minmax(130px, 0.32fr) minmax(0, 1fr);
  gap: var(--oc-space-1) var(--oc-space-4);
  padding: 13px 0;
  border-top: 1px solid color-mix(in srgb, var(--brand) 11%, transparent);
}

.maturity-level-row:first-child {
  border-top: 0;
}

.maturity-level-title {
  grid-row: span 2;
  color: var(--ink);
  font-size: var(--oc-font-size-sm);
  font-weight: 700;
}

.maturity-level-row span,
.maturity-level-promotion {
  color: var(--muted);
  font-size: var(--oc-font-size-xs);
  line-height: 1.45;
}

.maturity-surface-link {
  display: grid;
  gap: var(--oc-space-1);
  margin: 0;
  padding: 11px 0;
  border-bottom: 1px solid color-mix(in srgb, currentColor 14%, transparent);
  text-decoration: none;
}

.maturity-surface-link:hover {
  color: var(--brand);
}

.maturity-surface-link .maturity-surface-title {
  font-size: var(--oc-font-size-sm);
}

.maturity-surface-link > .maturity-surface-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}

.maturity-surface-link > .maturity-surface-meta > span:not(.maturity-level-pill) {
  color: var(--muted);
  font-size: 11px;
}

.maturity-surface-rollup {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 14px;
  margin: 0 0 14px;
  padding: 9px 0;
  border-top: 1px solid color-mix(in srgb, var(--brand) 13%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--brand) 13%, transparent);
}

.maturity-surface-rollup > span {
  color: var(--ink);
  font-size: 11px;
  font-weight: 700;
}

@media (max-width: 960px) {
  .maturity-summary-grid,
  .maturity-evidence-grid {
    grid-template-columns: 1fr;
  }

  .maturity-summary-item,
  .maturity-summary-item + .maturity-summary-item,
  .maturity-evidence-card,
  .maturity-evidence-card + .maturity-evidence-card {
    padding: 14px 0;
    border-left: 0;
  }

  .maturity-summary-item + .maturity-summary-item,
  .maturity-evidence-card + .maturity-evidence-card {
    border-top: 1px solid color-mix(in srgb, var(--brand) 12%, transparent);
  }

  .maturity-surface-row {
    grid-template-columns: minmax(160px, 1.35fr) repeat(3, minmax(98px, 1fr)) minmax(70px, 0.5fr);
    gap: var(--oc-space-2);
  }

  .maturity-category-row {
    grid-template-columns: minmax(160px, 1.35fr) repeat(3, minmax(86px, 1fr)) minmax(110px, 1fr);
    gap: var(--oc-space-2);
  }
}

@media (max-width: 640px) {
  .maturity-hero {
    padding-left: 14px;
  }

  .maturity-hero-title {
    font-size: 30px;
  }

  .maturity-band-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .maturity-band + .maturity-band {
    padding-left: 0;
    border-left: 0;
  }

  .maturity-band:nth-child(even) {
    padding-left: 12px;
    border-left: 1px solid color-mix(in srgb, var(--brand) 12%, transparent);
  }

  .maturity-surface-row-header {
    display: none;
  }

  .maturity-surface-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 9px var(--oc-space-3);
  }

  .maturity-surface-metric {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 6px;
  }

  .maturity-surface-metric-label {
    display: block;
  }

  .maturity-surface-support {
    justify-self: end;
  }

  .maturity-readiness-row,
  .maturity-category-row {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .maturity-readiness-row-header,
  .maturity-category-row-header {
    display: none;
  }
}

/* Community-site composition, measured against community.openclaw.ai on 2026-09-25.
   Full-width side rails surround a centered, readable article.
   Carapace continues to own color, type, controls and meaningful status tokens. */
:root {
  --docs-nav: 240px;
  --docs-toc: 220px;
  --docs-reading-width: 960px;
  --docs-inset: 32px;
  --oc-radius-surface: 0px;
  --oc-corner-radius-scale: 1;
  --shell-pad: 24px;
  --rail-gap: 0px;
  --rail-max: var(--docs-nav);
  --article-max: none;
}

html { scroll-padding-top: calc(var(--sticky-header-h, 102px) + 28px); }
.site-header { background: color-mix(in srgb, var(--bg) 94%, transparent); }
.header-row { max-width: none; height: 54px; padding: 0 32px; gap: 24px; }
.brand { gap: 10px; }
.brand img { width: 22px; height: 22px; }
.brand-name { font-size: 15.2px; font-weight: 600; letter-spacing: .02em; }
.brand-tag { border: 0; border-inline-start: 1px solid var(--line); border-radius: 0; padding: 0; padding-inline-start: 10px; background: none; font: 500 12px/1.6 var(--oc-font-mono); color: var(--muted); }
.search-button { height: 36px; max-width: 380px; border: 1px solid var(--line); border-radius: 8px; background: transparent; box-shadow: none; font: 400 13px/1.4 var(--oc-font-body); }
.search-button:hover { background: var(--paper); border-color: var(--line-strong); }
.search-shortcut { font-size: 12px; font-weight: 500; }
.header-links { gap: 14px; }
.header-links .language-trigger { font: 500 12.16px/1.6 var(--oc-font-mono); }
.header-links .top-icon-link, .theme-toggle { min-width: 36px; min-height: 36px; }

.doc-shell {
  width: 100%;
  max-width: none;
  grid-template-columns: var(--docs-nav) minmax(0, 1fr);
  gap: 0;
  padding: 0;
  border-inline: 0;
}
.sidebar { width: auto; top: calc(var(--sticky-header-h, 102px) + 24px); max-height: calc(100dvh - var(--sticky-header-h, 102px) - 48px); padding: 24px 18px 32px; }
.nav-section { margin-bottom: 28px; }
.nav-section h2 { margin-bottom: 10px; font: 600 10px/1.5 var(--oc-font-mono); letter-spacing: .08em; }
.nav-link { border-left: 0; border-inline-start: 2px solid transparent; padding: 7px 10px; border-radius: 0; font-size: 13px; line-height: 1.5; }
.nav-link.active { border-inline-start-color: var(--brand); box-shadow: none; background: color-mix(in srgb, var(--brand) 7%, transparent); }
.article { width: 100%; min-width: 0; padding: 40px var(--docs-inset) 64px; border-inline: 1px solid var(--line); }
.article > :is(.article-header, .doc, .page-feedback, .page-nav) { max-width: var(--docs-reading-width); margin-inline: auto; }
.article-header { margin-bottom: 36px; }
.article-meta-row { gap: 12px; margin-bottom: 28px; }
.article h1 { font-size: clamp(32px, 3vw, 42px); font-weight: 600; line-height: 1.12; letter-spacing: -.03em; }
.article-kicker { margin-bottom: 12px; font: 600 11px/1.5 var(--oc-font-mono); letter-spacing: .09em; }
.breadcrumbs { font-size: 11px; font-weight: 400; }
.doc { font-size: 16px; line-height: 1.7; }
.doc > h2 { margin: 56px 0 20px; padding-top: 28px; border-top: 1px solid var(--line); font-size: 24px; font-weight: 600; line-height: 1.3; letter-spacing: -.02em; }
.doc > h3 { margin-top: 32px; font-size: 19px; font-weight: 600; }
.doc p { line-height: 1.7; }
.toc { width: auto; justify-self: stretch; top: calc(var(--sticky-header-h, 102px) + 24px); max-height: calc(100dvh - var(--sticky-header-h, 102px) - 48px); padding: 24px 18px; }
.toc h2 { font-size: 10px; font-weight: 600; letter-spacing: .08em; }
.toc a { font-size: 12px; line-height: 1.5; }

/* Each cell owns its trailing edges; the collection owns its leading edges. */
.doc .oc-card-grid, .doc .oc-card-group { gap: 0; margin: 24px 0 32px; border-top: 1px solid var(--line); border-inline-start: 1px solid var(--line); }
.doc .oc-card-grid > .oc-card, .doc .oc-card-group > .oc-card { height: 100%; padding: 24px; border: 0; border-inline-end: 1px solid var(--line); border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; box-shadow: none; }
.doc .oc-card-grid > .oc-card:hover, .doc .oc-card-group > .oc-card:hover { transform: none; }
.doc .oc-card h3, .doc .oc-card strong { font-weight: 600; }
.doc .oc-card p { font-size: 14px; line-height: 1.6; }
body:not(.docs-home) .doc .oc-card-grid:not(.oc-card-cols-1):not(.oc-card-cols-3):not(.oc-card-cols-4) > .oc-card:last-child:nth-child(odd),
body:not(.docs-home) .doc .oc-card-group:not(.oc-card-cols-1):not(.oc-card-cols-3):not(.oc-card-cols-4) > .oc-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
.doc .oc-code, .doc .oc-code-group, .doc .oc-table-wrap, .doc .oc-callout, .doc .oc-tabs, .doc .oc-panel { border-radius: 0; box-shadow: none; }
:root[data-theme="light"] { --code: var(--oc-bg-surface); --code-inline: var(--oc-bg-surface); --code-block: var(--oc-bg-surface); --code-border: var(--oc-border-subtle); }
.page-feedback { margin-top: 56px; padding-top: 24px; }
.page-nav { margin-top: 32px; gap: 0; }
.page-nav a { border-radius: 0; box-shadow: none; }
.page-tools .page-actions-primary, .page-tools .page-actions-more summary { font-weight: 500; }
.community-invite { border-radius: 0; box-shadow: none; }
.community-invite__header { height: 125px; }
.community-invite__art { object-position: center; }
.community-invite__links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-top: 12px; }
.community-invite__cta { gap: 6px; min-height: 40px; margin-top: 0; padding: 3px 2px; font-size: var(--oc-font-size-xs); }
@media (pointer: coarse) {
  .community-invite__cta { min-height: 44px; }
}
/* Keep two navigation rows available above the docked card on short phones. */
@media (max-width: 820px) and (max-height: 650px) {
  .community-invite__header { height: 100px; }
}

/* Photo chrome keeps a white focus ring over either artwork variant. */
.community-invite__close { --oc-focus-ring: rgb(255 255 255 / 85%); }
@media (min-width: 821px) {
  /* Keep the floating card rounded when corner-shape is unsupported (Safari). */
  .community-invite { border-radius: var(--oc-radius-surface); bottom: 18px; inset-inline-start: auto; inset-inline-end: auto; left: auto; right: 18px; width: 300px; z-index: 55; }
  body.has-community-invite .docs-chat:not(.open) .docs-chat-launcher { bottom: calc(var(--community-invite-h, 0px) + 12px); }
}

/* A quiet structural footer uses the main site's hierarchy, with docs destinations. */
.site-footer { width: 100%; margin: 0; border-block: 1px solid var(--line); border-inline: 0; background: var(--bg); }
.site-footer-inner { max-width: none; display: grid; grid-template-columns: 1.5fr repeat(3, .7fr); align-items: stretch; gap: 0; padding: 0; font-family: var(--oc-font-body); }
.site-footer-brand { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: 48px; }
.site-footer .site-footer-logo, .site-footer .site-footer-logo:visited { color: var(--ink); font: 700 20px/1 var(--oc-font-body); }
.site-footer-note { margin: 16px 0 0; font: 400 13px/1.6 var(--oc-font-body); color: var(--muted); }
.site-footer-socials { display: grid; grid-template-columns: repeat(8,minmax(24px,36px)); align-items: center; gap: 2px; width: min(100%,302px); margin: 40px 0 0; margin-inline-start: -9px; }
.site-footer-socials a { display: grid; place-items: center; width: 100%; height: 36px; color: var(--muted); }
.site-footer-socials a:hover { color: var(--ink); }
.site-footer-socials .icon { width: 18px; height: 18px; }
.site-footer-links { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 10px; margin: 0; padding: 48px 24px; border-inline-start: 1px solid var(--line); }
.site-footer-links h2 { margin: 0 0 6px; color: var(--muted); font: 600 11.52px/1.4 var(--oc-font-mono); letter-spacing: .08em; text-transform: uppercase; }
.site-footer-links a { color: var(--text); font: 400 13.6px/1.6 var(--oc-font-body); }
.site-footer-links a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.site-footer-legal { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; padding: 22px 48px 80px; border-top: 1px solid var(--line); color: var(--muted); font: 400 11px/1.5 var(--oc-font-mono); }
.site-footer-legal p { margin: 0; }
.site-footer-legal > :last-child { justify-self: end; }

/* Keep one visible focus perimeter, including controls whose base style clears it. */
:root :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 2px solid var(--oc-focus-ring); outline-offset: 3px; }
:root :is(.nav-link, .docs-section > summary, .toc > summary, .toc a, .oc-code-tab, .doc [role="tab"], .language-option, .search-result):focus-visible { outline-offset: -3px; }
.sidebar:focus-within { mask-image: none; -webkit-mask-image: none; }
.search-head:focus-within { border-color: color-mix(in srgb, var(--ink) 16%, transparent); box-shadow: none; }
.search-head [data-search-input]:focus-visible { outline: none; box-shadow: none; }
.search-panel, .language-menu, .toc nav, .docs-chat-panel { border-radius: 8px; }
.search-result { border-radius: 0; }
.search-results {
  --search-fade-top: 0px;
  --search-fade-bottom: 0px;
  scroll-padding-block: 24px;
  mask-image: linear-gradient(to bottom, transparent, #000 var(--search-fade-top), #000 calc(100% - var(--search-fade-bottom)), transparent), linear-gradient(#000, #000), linear-gradient(#000, #000);
  mask-size: 100% 100%, 12px 100%, 12px 100%;
  mask-position: center, left, right;
  mask-repeat: no-repeat;
}
.search-modal.open { overflow: auto; }

@media (max-width: 1280px) {
  :root { --docs-inset: 40px; }
  .article { border-inline-end: 0; }
}
@media (max-width: 1024px) {
  :root { --docs-nav: 204px; --docs-inset: 32px; }
  .header-row { padding-inline: 24px; gap: 16px; }
  .header-links { gap: 6px; }
  .sidebar { padding-inline: 12px; }
  .site-footer-brand { padding: 32px; }
  .site-footer-links { padding: 32px 20px; }
  .site-footer-legal { padding-inline: 32px; }
}
@media (max-width: 820px) {
  :root { --docs-inset: 24px; }
  .header-row { height: auto; padding: 0 16px 12px; grid-template-rows: 52px 40px; gap: 4px 12px; }
  .header-left { top: 26px; }
  .brand-tag { display: none; }
  .search-button { max-width: none; height: 40px; }
  .header-links { gap: 4px; }
  .doc-shell { display: block; width: 100%; border: 0; }
  .article { padding: 32px var(--docs-inset) 48px; border: 0; }
  .article-meta-row { margin-bottom: 24px; }
  .article h1 { font-size: 32px; }
  .doc > h2 { margin-top: 44px; padding-top: 24px; font-size: 23px; }
  .sidebar { top: 0; width: min(360px, 100vw); max-height: 100dvh; padding: 0 20px 28px; }
  body.has-community-invite .sidebar { height: calc(100dvh - var(--community-invite-h, 0px)); max-height: calc(100dvh - var(--community-invite-h, 0px)); padding-bottom: 28px; }
  .sidebar { scroll-padding-block: 72px 12px; }
  .sidebar.has-overflow { mask-image: none; -webkit-mask-image: none; }
  .sidebar-head { min-height: 52px; }
  .sidebar .nav-link { padding-block: 10px; }
  .sidebar:not(.open) { visibility: hidden; }
  .sidebar.open { visibility: visible; }
  body:not(.nav-open) .community-invite { visibility: hidden; }
  .toc { left: 16px; right: 16px; max-width: none; }
  .doc .oc-card-grid > .oc-card, .doc .oc-card-group > .oc-card { padding: 22px; }
  .site-footer { width: 100%; border-inline: 0; }
  .site-footer-inner { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .site-footer-brand { grid-column: 1 / -1; padding: 32px 24px; border-bottom: 1px solid var(--line); }
  .site-footer-socials { margin-top: 20px; }
  .site-footer-links { padding: 28px 16px; }
  .site-footer-links:nth-child(2) { border-inline-start: 0; }
  .site-footer-legal { grid-template-columns: 1fr auto; gap: 16px; padding: 24px 24px 84px; }
  .site-footer-legal > :last-child { grid-column: 1 / -1; justify-self: start; }
}
@media (max-width: 640px) {
  .sidebar { width: 100vw; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* Shared network chrome and a search-led landing page, matching the community. */
.header-row { display: flex; height: 53px; }
.header-left { flex: 0 0 auto; }
.brand-tag { border: 1px solid var(--line-strong); padding: 2px 6px; font-size: 10px; letter-spacing: .08em; line-height: 1.2; }
.network-nav { display: flex; align-items: center; gap: 24px; margin-inline-start: auto; }
.network-nav a { color: var(--muted); font: 500 12px/1.6 var(--oc-font-mono); letter-spacing: .02em; }
.network-nav a:hover { color: var(--ink); }
.search-button { display: inline-flex; align-items: center; justify-content: center; width: 36px; min-width: 36px; padding: 0; border: 0; background: transparent; }
.search-button .search-label, .search-button .search-shortcut { display: none; }
.search-button .icon { width: 18px; height: 18px; }
.header-links { margin-inline-start: 0; }
@media (min-width: 821px) {
  .sidebar { padding: 24px 8px 32px; }
}
.nav-section { padding: 0 0 16px; margin-bottom: 16px; border-bottom: 1px solid var(--line); }
.nav-section:last-child { border-bottom: 0; }
.nav-section h2 { padding-inline: 12px; }
.nav-link { font-size: 14px; padding: 8px 12px; }
.nav-link.active { background: var(--oc-bg-surface); border-inline-start-width: 1px; }
.doc .oc-card-grid > .oc-card, .doc .oc-card-group > .oc-card { padding: 28px 24px; }
.doc .oc-card > div > strong:first-child, .doc .oc-card > h3, .doc .oc-card > strong { color: var(--brand); font: 600 12.5px/1.5 var(--oc-font-mono); letter-spacing: .08em; text-transform: uppercase; }
.doc .oc-card p { color: var(--muted); font-size: 13.6px; line-height: 1.7; }
.doc .oc-card-icon { color: var(--muted); width: 22px; height: 22px; margin-bottom: 14px; }
.doc .oc-card { gap: 0; }
.page-tools, .page-nav small, .page-feedback, .oc-code-label, .oc-code-tab { font-family: var(--oc-font-mono); }
.toc[open] nav { grid-auto-rows: max-content; }

.docs-home { --docs-inset: 24px; }
.docs-home .article { padding-top: 0; }
.docs-home .article-header { margin-bottom: 20px; padding-top: 32px; }
.page-intro:empty { display: none; }
.docs-home .article-kicker { display: none; }
.docs-home .home-section-title, .docs-home .doc > h2 { color: var(--brand); font: 600 12.8px/1.4 var(--oc-font-mono); letter-spacing: .1em; text-transform: uppercase; }
.docs-home .home-section-title { margin: 28px 0 0; }
.docs-home .doc > h2 { margin-top: 64px; padding-top: 32px; }
.docs-home .home-intro > h1:first-child { display: none; }
.home-intro { margin-block: 40px; padding-block: 28px; border-block: 1px solid var(--line); color: var(--muted); font-size: 14px; }
.home-intro blockquote { margin-inline: 0; }
.home-intro p[align="center"] { text-align: start; }
.home-intro p:last-child { margin-bottom: 0; }
.docs-home .doc > .oc-card-grid:not(:first-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.docs-home .doc > .oc-card-grid:first-child > .oc-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
.docs-home .doc > .oc-card-grid:first-child { margin-top: 0; }
.docs-hero { --oc-hero-art-enabled: 1; --oc-hero-motion-enabled: 1; --hero-art-height: min(30vh, 300px); --hero-overlap: 96px; position: relative; isolation: isolate; display: flex; flex-direction: column; align-items: center; padding: calc(var(--hero-art-height) - var(--hero-overlap) + 82px) 32px 68px; border-bottom: 1px solid var(--line); text-align: center; }
.docs-hero::before { content: ""; position: absolute; z-index: -1; inset: 0; background-image: radial-gradient(var(--oc-chart-line) 1px, transparent 1.5px); background-size: 26px 26px; mask-image: linear-gradient(#000, transparent 90%); pointer-events: none; }
.docs-hero .oc-hero-art { position: absolute; z-index: -1; inset: 0 0 auto; display: flex; justify-content: center; height: var(--hero-art-height); overflow: hidden; mask-image: linear-gradient(to bottom, transparent, #000 40%, #000 68%, transparent 92%); pointer-events: none; user-select: none; }
.docs-hero .oc-hero-art pre { flex-shrink: 0; height: 100%; margin: 0; padding: 0; border: 0; background: transparent; color: var(--brand); font: 11px/1.3 ui-monospace, "SF Mono", Menlo, monospace; letter-spacing: 1px; opacity: .65; white-space: pre; }
:root[data-theme="light"] .docs-hero .oc-hero-art pre { opacity: .5; }
.docs-hero .oc-hero-mark { position: absolute; top: calc(var(--hero-art-height) - var(--hero-overlap)); left: 50%; width: 72px; height: 72px; transform: translateX(-50%); filter: drop-shadow(0 0 24px color-mix(in srgb, var(--brand) 25%, transparent)); pointer-events: none; }
.hero-eyebrow { margin: 0 0 20px; color: var(--brand); font: 600 11.52px/1.6 var(--oc-font-mono); letter-spacing: .1em; text-transform: uppercase; }
.docs-hero h1 { max-width: 960px; margin: 0; color: var(--ink); font: 600 clamp(38.4px, 5.6vw, 60.8px)/1.08 var(--oc-font-display); letter-spacing: -.03em; text-wrap: balance; }
.docs-hero h1 em { color: var(--brand); font: italic 400 1em/1.08 var(--oc-font-serif); letter-spacing: -.015em; }
.hero-description { width: 100%; max-width: 620px; margin: 22px 0 0; color: var(--muted); font-size: 16px; line-height: 1.8; text-wrap: pretty; }
.hero-search { display: flex; align-items: center; gap: 16px; width: min(100%, 544px); min-height: 52px; margin-top: 36px; padding: 0 16px; border: 1px solid var(--oc-control-border, var(--muted)); border-radius: 8px; background: var(--bg); color: var(--text); font: 400 16px/1.5 var(--oc-font-mono); text-align: start; cursor: pointer; }
.hero-search:hover { background: var(--oc-bg-surface); border-color: var(--muted); }
.hero-search .icon { width: 16px; height: 16px; color: var(--muted); }
.hero-search kbd { flex-shrink: 0; white-space: nowrap; margin-inline-start: auto; color: var(--muted); font: 12px var(--oc-font-mono); }

@media (max-width: 1180px) {
  .network-nav { gap: 16px; }
  .network-nav a:nth-child(3), .network-nav a:nth-child(4), .network-nav a:nth-child(5) { display: none; }
}
@media (max-width: 820px) {
  .header-row { height: 51px; min-height: 51px; padding: 0 16px; gap: 4px; }
  .header-left { position: static; transform: none; order: 0; margin-inline-end: auto; }
  .network-nav { display: none; }
  .search-button { order: 1; width: 36px; height: 36px; max-width: 36px; }
  .header-links { display: contents; }
  .header-links .language-picker { order: 2; }
  .nav-toggle { order: 3; width: 36px; height: 40px; }
  .theme-toggle { order: 4; width: 36px; min-width: 36px; }
  .docs-home .article-header { padding-top: 28px; }
  .docs-home .home-section-title { margin-top: 28px; }
  .docs-home .doc > .oc-card-grid:not(:first-child) { grid-template-columns: 1fr; }
  .doc .oc-card-grid > .oc-card, .doc .oc-card-group > .oc-card { padding: 24px 20px; }
  .docs-hero { padding-inline: 20px; padding-bottom: 52px; }
  .hero-search { margin-top: 32px; }
  .site-footer-inner { grid-template-columns: 1fr; }
  .site-footer-brand { grid-column: auto; }
  .site-footer-links, .site-footer-links:nth-child(2) { padding: 28px 24px; border-inline-start: 0; border-bottom: 1px solid var(--line); }
  .site-footer-links:last-child { border-bottom: 0; }
}
@media (max-width: 640px) {
  .docs-hero { --hero-art-height: min(26vh, 230px); --hero-overlap: 70px; }
  .docs-hero .oc-hero-art pre { font-size: 9px; letter-spacing: 1.5px; }
  .hero-search kbd { display: none; }
}

.docs-home .home-intro { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.site-footer { background: color-mix(in srgb, var(--bg) 94%, black); }



@media (max-width: 820px) {
  .toc { top: calc(var(--header-row-h) + 4px); inset-inline-start: auto; inset-inline-end: 16px; }
  .toc[open] nav { inset-block-start: calc(var(--sticky-header-h) + 8px); }
}

@media (min-width: 821px) {
  .docs-home .doc > .oc-card-grid:not(:first-child) > .oc-card:last-child:nth-child(3n + 1) { grid-column: 1 / -1; }
  .docs-home .doc > .oc-card-grid:not(:first-child) > .oc-card:last-child:nth-child(3n + 2) { grid-column: span 2; }
}


/* Preview status is emitted only for bounded local builds. */
[data-preview-live]::after { content: ""; display: inline-block; width: 12px; height: 12px; margin-inline-start: 6px; vertical-align: -1px; background: var(--muted); opacity: .65; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6m0-6L10 14M9 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-4'/%3E%3C/svg%3E") center / contain no-repeat; }
.nav-link[data-preview-live] { display: flex; gap: 8px; align-items: baseline; }
.nav-link[data-preview-live]::after { margin-inline-start: auto; flex: 0 0 auto; }

/* One complete, vertically browsable section tree replaces the tab strip. */
.docs-sections { display: grid; gap: 2px; }
.docs-section { min-width: 0; }
.docs-section > summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 40px; padding: 9px 12px; color: var(--text); font: 500 14px/1.45 var(--oc-font-body); cursor: pointer; list-style: none; }
.docs-section > summary::-webkit-details-marker { display: none; }
.docs-section > summary:hover { background: var(--oc-bg-surface); color: var(--ink); }
.docs-section > summary .icon { width: 14px; height: 14px; min-width: 14px; flex-basis: 14px; color: var(--muted); transform: rotate(-90deg); }
:root[dir="rtl"] .docs-section > summary .icon { transform: rotate(90deg); }
.docs-section[open] > summary .icon { transform: none; }
.docs-section.current > summary { color: var(--brand); background: var(--oc-bg-surface); box-shadow: inset 2px 0 var(--brand); }
:root[dir="rtl"] .docs-section.current > summary { box-shadow: inset -2px 0 var(--brand); }
.docs-section-pages { margin: 4px 8px 16px; padding: 16px 0 0 8px; border-inline-start: 1px solid var(--line); }
:root[dir="rtl"] .docs-section-pages { padding: 16px 8px 0 0; }
.docs-section-pages .nav-section { padding-bottom: 8px; margin-bottom: 16px; border-bottom: 0; }
.docs-section-pages .nav-section h2 { padding-inline: 10px; font-size: 9px; }
.docs-section-pages .nav-link { font-size: 12.5px; padding: 7px 10px; }
.sidebar { top: calc(var(--header-row-h, 54px) + 24px); max-height: calc(100dvh - var(--header-row-h, 54px) - 48px); }
body.has-community-invite .sidebar { max-height: min(calc(100dvh - var(--header-row-h, 54px) - 48px), var(--sidebar-available-height, 100dvh)); }

/* Compact TOC stays in the reading pane; desktop pages share a right-hand rail. */
.main { display: block; grid-column: 2 / -1; min-width: 0; }
.toc { position: sticky; top: var(--header-row-h, 54px); left: auto; right: auto; inset-inline-start: auto; inset-inline-end: auto; z-index: 60; width: 100%; max-width: none; max-height: none; margin: 0; padding: 0; overflow: visible; border-bottom: 1px solid var(--line); border-inline-start: 1px solid var(--line); background: var(--bg); opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
.toc h2 { display: none; }
.toc summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 44px; margin: 0; padding: 0 24px; border: 0; border-radius: 0; background: var(--bg); color: var(--text); font: 500 12px/1.5 var(--oc-font-mono); list-style: none; cursor: pointer; box-shadow: none; }
.toc summary::-webkit-details-marker { display: none; }
.toc summary::after { content: ""; width: 6px; height: 6px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg); }
.toc[open] summary::after { transform: rotate(225deg); }
.toc nav { position: absolute; top: 100%; left: auto; right: auto; inset-inline-start: auto; inset-inline-end: 0; display: none; width: min(380px, 100%); max-height: min(70dvh, 640px); padding: 8px; overflow: auto; overscroll-behavior: contain; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--paper); box-shadow: var(--shadow); }
.toc[open] nav { display: grid; align-content: start; grid-auto-rows: max-content; gap: 2px; }
.toc a { padding: 8px 9px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (min-width: 1281px) {
  .main { display: grid; grid-template-columns: minmax(0, 1fr) var(--docs-toc); }
  .main:not(:has(.toc)) { grid-template-columns: minmax(0, 1fr); }
  .page-intro { grid-column: 1 / -1; grid-row: 1; }
  .article { grid-column: 1; grid-row: 2; }
  /* The heading keeps its inset, outside the scroller so its thumb starts alongside it. */
  /* Until the runtime measures floating controls, retain their existing 80px clearance inside the scroller. */
  .toc { --toc-rail-inset: 40px; grid-column: 2; grid-row: 2; align-self: start; top: calc(var(--header-row-h, 54px) + var(--toc-rail-inset)); width: auto; max-height: min(calc(100dvh - var(--header-row-h, 54px) - var(--toc-rail-inset)), var(--toc-available-height, 100dvh)); margin-block-start: var(--toc-rail-inset); padding: 0 18px var(--toc-scroll-end-space, 80px); border: 0; overflow: auto; scroll-padding-block: 32px var(--toc-scroll-end-space, 80px); }
  .docs-home .toc { --toc-rail-inset: 32px; }
  .toc summary { display: none; }
  .toc h2 { display: flex; }
  .toc[open] nav { position: static; display: block; width: auto; max-height: none; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; overflow: visible; }
  .toc a { white-space: normal; padding: 7px 8px; }
  .toc a:not(.toc-l3) { margin-inline: -8px; }
}
@media (max-width: 820px) {
  .sidebar, body.has-community-invite .sidebar { top: 0; max-height: calc(100dvh - var(--community-invite-h, 0px)); }
  .sidebar-head { min-height: 60px; padding: 10px 0; justify-content: flex-end; }
  .docs-section > summary { min-height: 44px; }
  .docs-section-pages { margin-inline: 12px 0; }
  .toc { border-inline: 0; }
  .toc summary { padding-inline: 24px; }
  .toc[open] nav { position: fixed; inset: calc(var(--sticky-header-h) + 8px) 14px max(14px, env(safe-area-inset-bottom)); width: auto; max-height: none; }
}

@media (min-width: 821px) {
  .sidebar { padding-block: 12px 16px; scroll-padding-block: 12px; }
  /* The RTL rail shares the chat launcher's corner; its last item needs scroll room. */
  :root[dir="rtl"] .sidebar { padding-block-end: 80px; }
  .docs-section > summary { min-height: 36px; padding-block: 7px; }
}

.docs-analytics-consent {
  position: fixed;
  inset-inline-start: var(--oc-space-4);
  inset-block-end: var(--oc-space-4);
  z-index: var(--oc-layer-notification, 100);
  inline-size: min(38rem, calc(100vw - 2 * var(--oc-space-4)));
  max-block-size: calc(100dvh - 2 * var(--oc-space-4));
  overflow: auto;
  padding: var(--oc-space-5);
  border: 1px solid var(--oc-border-strong);
  border-radius: var(--oc-radius-surface);
  background: var(--oc-bg-elevated);
  color: var(--oc-text-secondary);
  box-shadow: var(--oc-shadow-lg);
  font-size: var(--oc-font-size-sm);
  line-height: 1.55;
}
.docs-analytics-consent[hidden] { display: none; }
.docs-analytics-consent__head { display: flex; align-items: start; justify-content: space-between; gap: var(--oc-space-3); }
.docs-analytics-consent h2 { margin: 0; color: var(--oc-text-primary); font-size: var(--oc-font-size-lg); }
.docs-analytics-consent p { margin-block: var(--oc-space-3); }
.docs-analytics-consent__actions { display: flex; flex-wrap: wrap; gap: var(--oc-space-3); margin-block: var(--oc-space-4); }
.docs-analytics-consent__actions > button { flex: 1; min-inline-size: 10rem; }
.docs-analytics-consent summary { cursor: pointer; color: var(--oc-text-primary); }
.docs-analytics-consent [role="status"] { color: var(--oc-text-primary); }
.docs-layout:has(.docs-analytics-consent:not([hidden])) .community-invite { visibility: hidden; }
.docs-layout:has(.docs-analytics-consent:not([hidden])) .docs-chat:not(.open) { visibility: hidden; }
.site-footer-legal [data-analytics-choices] { font: inherit; }

@font-face { font-family: Switzer; src: url('fonts/Switzer-Regular.woff2') format('woff2'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: Switzer; src: url('fonts/Switzer-Medium.woff2') format('woff2'); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: Switzer; src: url('fonts/Switzer-Semibold.woff2') format('woff2'); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: Switzer; src: url('fonts/Switzer-Bold.woff2') format('woff2'); font-style: normal; font-weight: 700; font-display: swap; }

.docs-layout {
  position: relative;
  isolation: isolate;
  --header-padding: 24px;
  --docs-nav: 256px;
  --docs-toc: 200px;
  --docs-reading-width: 42rem;
  --docs-body-size: 1rem;
  --docs-detail-size: .875rem;
  --docs-caption-size: .75rem;
  --docs-leading: 1.65;
  --docs-prose-measure: 68ch;
  --docs-paragraph-gap: 1rem;
  --docs-section-gap: 3rem;
  --docs-inset: 48px;
  /* One corner scale for cards, nested surfaces, and compact controls. */
  --oc-radius-lg: 24px;
  --oc-radius-surface: 20px;
  --oc-radius-control: 10px;
  --oc-radius-inset: 5px;
  --oc-corner-radius-scale: 1;
  --docs-border: color-mix(in srgb, var(--ink) 7%, transparent);
  --line: var(--docs-border);
  --line-strong: var(--docs-border);
  --code-border: var(--docs-border);
  --docs-diagram-node: color-mix(in srgb, var(--ink) 3%, var(--paper));
  --docs-diagram-border: color-mix(in srgb, var(--ink) 20%, var(--paper));
  --docs-diagram-line: color-mix(in srgb, var(--ink) 48%, var(--paper));
  --docs-muted: color-mix(in srgb, var(--ink) 67%, var(--bg));
  --docs-surface: var(--paper);
  --docs-surface-shadow: none;
  /* Keep rasterization native; forced grayscale can thin small text on macOS. */
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  background: var(--bg);
}
/* Match the shared renderer's continuous corners on docs-specific surfaces.
   Unsupported browsers keep the same radius scale with circular corners. */
@supports (corner-shape: superellipse(1.5)) {
  .docs-layout :is(
    .home-channel, .home-guide, .home-guide-art, .home-guide-art img,
    .home-discord, .home-discord-art, .home-discord-button, .home-community-link,
    .docs-media-scene, .docs-media-content img, .docs-media-content video,
    .home-quick-links .oc-card-grid, .home-quick-links .oc-card-icon, .release-strip,
    .network-nav a, .top-icon-link, .nav-toggle, .nav-link, .search-shortcut,
    .docs-section > summary, .nav-section > summary, .nav-nested > summary,
    .docs-section-trigger, .docs-sidebar-back, .oc-frame img,
    .page-feedback-composer,
    .oc-param-type, .oc-param-default, .oc-param-required, .oc-stat-delta
  ) { corner-shape: superellipse(1.5); }}

:root[data-theme="dark"] .docs-layout { --bg: color-mix(in srgb,#141516 60%,#000); --paper: color-mix(in srgb,#1a1c1e 74%,#000); --ink: #f0f1f2; --text: #c4c7cb; --muted: #989da4; --brand: #ef674c; --code-block: color-mix(in srgb,#181a1c 74%,#000); --code-inline: color-mix(in srgb,#272a2e 74%,#000); }
:root[data-theme="light"] .docs-layout { --bg: #fafbfc; --paper: #ffffff; --ink: #252a30; --text: #4f5964; --muted: #66717e; --brand: #ef674c; }
:root[data-theme="light"] .docs-layout {
  --code-block: #f2f4f6;
  --tok-comment: #5d6672;
  --tok-command: #914c3d;
  --tok-option: #355f96;
  --tok-string: #286550;
  --tok-literal: #784a96;
  --tok-key: #855137;
  --tok-number: #355f96;
  --tok-punct: #5d6672;
}
.docs-layout .site-header { --header-max-width: 1660px; --brand-reflection-offset: calc(max(0px,(100% - var(--header-max-width)) / 2) + var(--header-padding) + 13px); --brand-reflection-x: var(--brand-reflection-offset); background: transparent; border-bottom: 0; backdrop-filter: none; -webkit-backdrop-filter: none; }
.docs-layout .site-header.is-scrolled, .docs-layout.nav-open .site-header { background: color-mix(in srgb,var(--bg) 84%,transparent); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.docs-layout .header-row { position: relative; display: grid; grid-template-columns: minmax(0,1fr) clamp(200px,26vw,400px) minmax(max-content,1fr); height: 64px; max-width: var(--header-max-width); margin-inline: auto; padding-inline: var(--header-padding); gap: 20px; }
@media (hover:hover) and (pointer:fine) {
  .docs-layout .site-header::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(ellipse 140px 50px at var(--brand-reflection-x) -4px,var(--brand),transparent 75%); opacity: 0; transition: opacity var(--oc-duration-fast) ease; }
  .docs-layout:not(.docs-home) .site-header:has(.header-row .brand:hover)::before { opacity: .1; }
  .docs-layout.docs-home .site-header::before { transition: none; }
}
:root[dir="rtl"] .docs-layout .site-header { --brand-reflection-x: calc(100% - var(--brand-reflection-offset)); }
@media (prefers-reduced-motion:reduce) { .docs-layout .site-header::before { transition: none; } }
.docs-layout .header-left { min-width: 0; }
.docs-layout .header-actions { display: flex; align-items: center; justify-self: end; gap: 24px; }
.docs-layout .brand { gap: 8px; letter-spacing: 0; }
.docs-layout .brand img { width: 26px; height: 26px; }
.docs-home-glimm { position: fixed; inset: 0; z-index: 110; width: 100%; height: 100%; pointer-events: none; user-select: none; }
@media (prefers-reduced-motion: reduce) { .docs-home-glimm { display: none; }}
.docs-layout .brand-name { font-size: 18px; letter-spacing: -.4px; white-space: nowrap; }
.docs-layout .brand-tag { margin: 0; margin-inline-start: 8px; padding: 0; border: 0; border-radius: 0; color: var(--docs-muted); letter-spacing: 0; text-transform: none; font: 400 13px/1 var(--oc-font-body); }
.docs-layout .network-nav { order: 2; margin-inline-start: 0; gap: 4px; }
.docs-layout .network-nav a { display: inline-flex; align-items: center; height: 36px; min-height: 36px; padding-inline: 8px; border-radius: var(--oc-radius-control); color: var(--docs-muted); font: 400 13px/20px var(--oc-font-body); letter-spacing: 0; }
.docs-layout .network-nav a:nth-child(n+2):nth-child(-n+5) { display: none; }
.docs-layout .search-button { display: flex; align-items: center; justify-content: flex-start; width: 100%; max-width: none; min-width: 0; height: 38px; margin: 0; padding: 0 8px 0 12px; border: 1px solid var(--docs-border); border-radius: var(--oc-radius-control); gap: 9px; background: var(--docs-surface); box-shadow: var(--docs-surface-shadow); }
.docs-layout .search-button > .icon { width: 16px; min-width: 16px; max-width: 16px; height: 16px; flex: 0 0 16px; color: var(--muted); }
.docs-layout .search-button .search-label { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--docs-muted); font: 400 13px/20px var(--oc-font-body); }
.docs-layout .search-button .search-shortcut { display: flex; align-items: center; justify-content: center; flex-shrink: 0; gap: 3px; min-width: 34px; height: 22px; margin-inline-start: auto; padding: 0 5px; border: 1px solid var(--docs-border); border-radius: var(--oc-radius-inset); color: var(--muted); font: 400 11px/1 var(--oc-font-mono); }
.docs-layout .search-shortcut .icon { width: 11px; min-width: 11px; max-width: 11px; height: 11px; flex: 0 0 11px; stroke-width: 1.6; }
.docs-layout .search-shortcut span { line-height: 1; }
.docs-layout .header-links { order: 3; margin-inline-start: 0; gap: 24px; }
.docs-layout .header-social-group, .docs-layout .header-preferences-group { display: flex; align-items: center; flex-shrink: 0; gap: 2px; }
.docs-layout .header-links :is(.top-icon-link,.theme-toggle) { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border-radius: var(--oc-radius-control); color: var(--docs-muted); }
.docs-layout .header-links :is(.top-icon-link,.theme-toggle) .icon { width: 17px; min-width: 17px; max-width: 17px; height: 17px; }
.docs-layout .header-social-group .top-icon-link .icon { width: 18px; min-width: 18px; max-width: 18px; height: 18px; }
.docs-layout .header-links .language-picker { margin: 0; }
.docs-layout .header-links .language-trigger { height: 36px; padding: 0 8px; border: 0; border-radius: var(--oc-radius-control); gap: 6px; background: transparent; color: var(--docs-muted); font: 400 13px/20px var(--oc-font-body); }
.docs-layout .language-trigger .language-current { font: inherit; color: inherit; }
.docs-layout .language-trigger .locale-flag { font-size: 16px; line-height: 1; }
.docs-layout .language-trigger .language-chevron { display: inline-flex; width: 12px; height: 12px; color: inherit; }
.docs-layout .language-trigger .language-chevron .icon { width: 12px; height: 12px; stroke-width: 1.7; }
.docs-layout .language-menu { top: calc(100% + 16px); right: auto; left: auto; inset-inline-end: 0; width: min(184px,calc(100vw - 32px)); padding: 4px; border-radius: 10px; }
.docs-layout .language-option { grid-template-columns: 20px minmax(0,1fr) 14px; gap: 8px; padding: 7px 8px; font: 400 13px/1.4 var(--oc-font-body); }
.docs-layout .language-option .locale-flag { font-size: 16px; line-height: 1; }
.docs-layout .language-check .icon { width: 14px; height: 14px; min-width: 14px; }
.docs-layout .site-header :is(a,button):focus-visible { outline: 2px solid var(--oc-focus-ring); outline-offset: 3px; box-shadow: none; }
.docs-layout .network-nav a, .docs-layout .header-links :is(.top-icon-link,.theme-toggle,.language-trigger) { transition: color var(--oc-duration-fast) ease; }
@media (hover:hover) and (pointer:fine) {
  .docs-layout .network-nav a:hover, .docs-layout .header-links :is(.top-icon-link,.theme-toggle,.language-trigger):hover { background: transparent; color: var(--ink); }
  .docs-layout .search-button:hover { background: var(--paper); border-color: color-mix(in srgb,var(--ink) 22%,transparent); }}

.sidebar-tools { display: none; }

.docs-layout .page-feedback { margin-top: 48px; padding: 24px 0 0; border-top: 1px solid var(--docs-border); align-items: center; gap: 16px; color: var(--docs-muted); font: 400 13px/1.5 var(--oc-font-body); }
.docs-layout .page-feedback-prompt { gap: 6px; }
.docs-layout .page-feedback-prompt > span { margin-inline-end: 6px; color: var(--docs-muted); }
.docs-layout .page-feedback button { min-width: 38px; min-height: 32px; height: auto; padding: 0 10px; border: 1px solid var(--docs-border); border-radius: var(--oc-radius-control); background: transparent; box-shadow: none; color: var(--docs-muted); font: 400 12px/1.4 var(--oc-font-body); }
.docs-layout .page-feedback button[aria-pressed="true"] { border-color: color-mix(in srgb,var(--ink) 30%,transparent); background: var(--paper); color: var(--ink); }
.docs-layout .page-feedback output { margin-inline-start: 4px; color: var(--docs-muted); font-size: 12px; font-weight: 400; }
.docs-layout .page-feedback-links { margin: 0; gap: 16px; }
.docs-layout .page-feedback-links a { display: inline-flex; align-items: center; min-height: 32px; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--docs-muted); font: 400 13px/1.5 var(--oc-font-body); text-underline-offset: 4px; }
.docs-layout .page-feedback-composer { min-width: 0; gap: 8px; padding: 10px; border: 1px solid var(--docs-border); border-radius: var(--oc-radius-surface); background: var(--paper); }
.docs-layout .page-feedback-composer:focus-within { border-color: color-mix(in srgb,var(--ink) 28%,var(--paper)); }
.docs-layout .page-feedback-composer textarea { display: block; min-height: 80px; padding: 4px; border: 0; border-radius: 0; background: transparent; box-shadow: none; font: 400 14px/1.5 var(--oc-font-body); }
.docs-layout .page-feedback-composer textarea:focus { outline: 0; box-shadow: none; }
.docs-layout .page-feedback-composer textarea::placeholder { color: var(--muted); opacity: 1; }
.docs-layout .page-feedback-composer .page-feedback-submit { min-height: 34px; padding: 0 12px; gap: 7px; border: 0; background: var(--ink); color: var(--bg); box-shadow: none; font: 500 12px/1.4 var(--oc-font-body); text-decoration: none; }
.docs-layout .page-feedback-submit .icon { width: 14px; height: 14px; }
.docs-layout .page-nav { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 24px; padding: 0; border: 0; }
.docs-layout .docs-ad.wwads-cn { width: 100%; max-width: var(--docs-reading-width); margin: 32px auto 0; background: var(--docs-surface); color: var(--text); }
.docs-layout .docs-ad .wwads-text { color: var(--text); }
.docs-layout .page-nav a { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; min-width: 0; padding: 18px 20px; border: 1px solid var(--docs-border); border-radius: var(--oc-radius-lg); background: var(--docs-surface); color: var(--ink); text-decoration: none; box-shadow: var(--docs-surface-shadow); }
.docs-layout .page-nav small { display: flex; align-items: center; gap: 7px; color: var(--docs-muted); font: 400 12px/1.4 var(--oc-font-body); text-transform: none; letter-spacing: 0; }
.docs-layout .page-nav strong { font: 600 15px/1.5 var(--oc-font-body); overflow-wrap: anywhere; }
.docs-layout .page-nav .icon { width: 13px; height: 13px; }
.docs-layout .page-nav .prev .icon { transform: rotate(180deg); }
.docs-layout .page-nav .next { grid-column: 2; align-items: flex-end; text-align: end; }
:root[dir="rtl"] .docs-layout .page-nav .prev .icon { transform: none; }
:root[dir="rtl"] .docs-layout .page-nav .next .icon { transform: rotate(180deg); }
.docs-layout :is(.page-feedback,.page-nav) :is(a,button):focus-visible { outline: 2px solid var(--oc-focus-ring); outline-offset: 3px; }
@media (hover:hover) and (pointer:fine) {
  .docs-layout .page-feedback button:hover, .docs-layout .page-nav a:hover { color: var(--ink); background: var(--paper); border-color: color-mix(in srgb,var(--ink) 22%,transparent); }
  .docs-layout .page-feedback-links a:hover { color: var(--ink); text-decoration: underline; }
  .docs-layout .page-feedback-composer .page-feedback-submit:hover { background: color-mix(in srgb,var(--ink) 86%,var(--paper)); color: var(--bg); }}
@media (max-width:580px) {
  .docs-layout .page-feedback { grid-template-columns: 1fr; gap: 12px; }
  .docs-layout .page-feedback-prompt button { min-height: 40px; min-width: 40px; }
  .docs-layout .page-feedback-composer .page-feedback-submit { min-height: 40px; }
  .docs-layout .page-nav { grid-template-columns: 1fr; }
  .docs-layout .page-nav .next { grid-column: auto; }}

.docs-layout .doc-shell { max-width: 1660px; margin-inline: auto; }
.docs-layout .sidebar { --docs-sidebar-inset-end: 18px; top: var(--header-row-h,68px); max-height: calc(100dvh - var(--header-row-h,68px)); padding: 28px 18px 35px 24px; border: 0; scrollbar-width: thin; }
.docs-quick-nav { margin-bottom: 36px; }
.docs-quick-nav h2, .docs-nav-label { margin: 0 0 12px; padding-inline: 10px; font: 400 12px/18px var(--oc-font-body); color: var(--docs-muted); }
.docs-layout .docs-quick-nav .nav-link { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border: 0; border-radius: var(--oc-radius-control); color: var(--docs-muted); min-height: 38px; font-size: 14px; line-height: 22px; }
.docs-quick-nav .icon { width: 16px; height: 16px; stroke-width: 1.5; }
.docs-layout .docs-quick-nav .nav-link.active { color: var(--brand); background: var(--docs-surface); box-shadow: var(--docs-surface-shadow); }
.docs-nav-label { padding-block: 0; border: 0; }
.docs-layout .docs-section > summary { min-height: 37px; padding: 8px 10px; border-radius: var(--oc-radius-control); font-size: 13px; }
.docs-layout .docs-section-pages .nav-link.active { color: var(--brand); background: var(--docs-surface); box-shadow: var(--docs-surface-shadow); }
.docs-layout .docs-section.current > summary { background: transparent; box-shadow: none; color: var(--ink); font-weight: 500; }
.docs-layout .docs-section-pages { margin: 4px 0 14px 10px; padding: 5px 0 0; border: 0; }
.docs-layout .nav-nested { margin: 0; padding: 0; border: 0; }
.docs-layout .nav-nested[open] { margin-block-end: 6px; }
.docs-layout .docs-section-pages .nav-nested > :is(.nav-link, .nav-nested) { margin-inline-start: 14px; }
.docs-layout :is(.nav-section, .nav-nested) > summary { display: flex; align-items: center; gap: 10px; min-height: 32px; padding: 6px 10px; border-radius: var(--oc-radius-control); color: var(--docs-muted); font: 400 13px/20px var(--oc-font-body); cursor: pointer; list-style: none; }
.docs-layout .docs-section-pages .nav-section > summary { margin-block-end: 8px; color: var(--docs-muted); font: 400 12px/18px var(--oc-font-body); }
.docs-layout .nav-nested[open] > summary { color: color-mix(in srgb,var(--ink) 85%,var(--bg)); }
.docs-layout :is(.nav-section, .nav-nested) > summary::-webkit-details-marker { display: none; }
.docs-layout :is(.nav-section, .nav-nested) > summary .icon { width: 12px; height: 12px; flex: 0 0 12px; margin-inline-start: auto; color: var(--muted); opacity: .42; stroke-width: 1.5; transform: rotate(-90deg); }
:root[dir="rtl"] .docs-layout :is(.nav-section, .nav-nested) > summary .icon { transform: rotate(90deg); }
.docs-layout :is(.nav-section, .nav-nested)[open] > summary .icon { transform: none; }
.docs-layout :is(.nav-section, .nav-nested) > summary:focus-visible { outline-offset: -2px; }
.docs-layout .docs-section-pages .nav-section { margin-bottom: 12px; }
.docs-layout .docs-section-pages h2 { margin: 14px 0 8px; padding-inline: 12px; color: var(--ink); font: 500 11px var(--oc-font-body); letter-spacing: 0; text-transform: none; }
.docs-layout .docs-section-pages .nav-link { margin-inline-start: 4px; padding: 6px 8px; border: 0; border-radius: var(--oc-radius-control); color: var(--docs-muted); font-size: 12px; line-height: 1.55; }
.docs-layout .main { position: relative; border-inline-start: 0; }
.docs-layout .article { padding: 48px var(--docs-inset) 80px; border: 0; }
.docs-layout .article h1 { font-size: 2.375rem; font-weight: 600; letter-spacing: -.025em; line-height: 1.2; }
.docs-layout .article-header { margin-bottom: 28px; }
.docs-layout .page-status { align-items: baseline; gap: 8px 16px; margin-block-start: 14px; }
.docs-layout .page-status .page-status-badge { min-block-size: 22px; padding: 2px 0; border: 0; border-radius: 0; background: transparent; color: var(--muted); font: 400 .75rem/1.5 var(--oc-font-body); letter-spacing: 0; text-transform: none; white-space: normal; overflow-wrap: anywhere; }
.docs-layout .page-status .page-status-beta,
.docs-layout .page-status .page-status-deprecated { --page-status-accent: var(--brand); padding-inline: 7px; border-radius: var(--oc-radius-inset); background: color-mix(in srgb,var(--page-status-accent) 9%,var(--bg)); color: color-mix(in srgb,var(--page-status-accent) 70%,var(--ink)); font-weight: 500; }
.docs-layout .page-status .page-status-deprecated { --page-status-accent: var(--oc-status-warning-fg); }
.docs-layout .article-meta-row { margin-bottom: 29px; }
.docs-layout .breadcrumbs { font-family: var(--oc-font-body); font-size: 12px; }
.docs-layout .article-kicker { color: var(--brand); font: 500 12px var(--oc-font-body); letter-spacing: 0; text-transform: none; }
.docs-layout .doc { color: var(--text); font-size: var(--docs-body-size); line-height: var(--docs-leading); }
.docs-layout .doc p { line-height: var(--docs-leading); }
.docs-layout .doc :is(h1,h2,h3,h4,h5,h6) { color: var(--ink); }
.docs-layout .doc strong { color: inherit; font-weight: 600; }
/* Keep release-source disclosures native, with the same fine chevron as the shell. */
.docs-layout .doc .release-source-toggle > summary { display: flex; align-items: center; gap: 7px; min-block-size: 44px; border-radius: var(--oc-radius-inset); cursor: pointer; list-style: none; }
.docs-layout .doc .release-source-toggle > summary::-webkit-details-marker { display: none; }
.docs-layout .doc .release-source-toggle > summary::before { content: ""; flex: 0 0 14px; inline-size: 14px; block-size: 14px; background: currentColor; color: var(--muted); mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m5.5 3 5 5-5 5' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; transform: rotate(0deg); transform-origin: center; transition: transform var(--oc-duration-ui) var(--oc-ease-out); }
:root[dir="rtl"] .docs-layout .doc .release-source-toggle > summary::before { transform: rotate(180deg); }
.docs-layout .doc .release-source-toggle[open] > summary::before,
:root[dir="rtl"] .docs-layout .doc .release-source-toggle[open] > summary::before { transform: rotate(90deg); }
.docs-layout .doc .release-source-content { display: flow-root; }
.docs-layout .doc .release-source-toggle > summary:focus-visible::before { transition: none; }
@media (prefers-reduced-motion:reduce) {
  .docs-layout .doc .release-source-toggle > summary::before { transition: none; }}
.docs-layout .doc .release-source-toggle > summary:focus-visible { outline: 2px solid var(--oc-focus-ring); outline-offset: 2px; }
/* Patch lists keep their detail control in the sentence's inline flow. */
.docs-layout .doc li:has(> .release-source-inline) > p:first-child { display: inline; margin: 0; }
.docs-layout .doc .release-source-inline { display: inline; }
.docs-layout .doc .release-source-inline > summary { display: inline-flex; vertical-align: baseline; margin-inline-start: .35em; }
@media (hover:hover) and (pointer:fine) {
  .docs-layout .doc .release-source-toggle > summary:hover::before { color: var(--ink); }}
.docs-layout .doc > :is(p,ul,ol,blockquote) { max-inline-size: var(--docs-prose-measure); margin-block: 0 var(--docs-paragraph-gap); }
.docs-layout .doc blockquote { margin: 1.5rem 0; padding: 0; padding-inline-start: 1rem; border: 0; border-inline-start: 2px solid color-mix(in srgb,var(--ink) 16%,transparent); color: var(--docs-muted); font: 400 var(--docs-body-size)/var(--docs-leading) var(--oc-font-body); }
.docs-layout .doc blockquote > :first-child { margin-block-start: 0; }
.docs-layout .doc blockquote > :last-child { margin-block-end: 0; }
.docs-layout .doc > :is(h2,h3,h4,h5,h6) { font-weight: 600; text-align: start; }
.docs-layout .doc > h2 { margin-block: var(--docs-section-gap) 1rem; padding-top: 0; border-top: 0; font-size: 1.5rem; line-height: 1.3; letter-spacing: -.02em; }
.docs-layout .doc > h3 { margin-block: 2rem 1rem; font-size: 1.1875rem; line-height: 1.4; letter-spacing: -.01em; }
.docs-layout .doc > :is(h4,h5,h6) { margin-block: 1.5rem 1rem; font-size: 1rem; line-height: 1.5; letter-spacing: 0; }
.docs-layout .doc > :is(h2,h3,h4) + :is(h3,h4,h5,h6) { margin-block-start: 1rem; }
/* The heading owns its following gap, whether the next block is prose, code or cards. */
.docs-layout .article .doc > :is(h2,h3,h4,h5,h6) + :not(h1,h2,h3,h4,h5,h6) { margin-block-start: 0; }
/* The article header owns the opening gap, including pages with a hidden source H1. */
.docs-layout .article .doc > :first-child,
.docs-layout .article .doc > h1:first-child + * { margin-block-start: 0; }
.docs-layout .doc :where(ul,ol) { padding-inline-start: 1.5em; padding-inline-end: 0; }
.docs-layout .doc li { margin-block: .25em; }
.docs-layout .doc li > :is(ul,ol) { margin-block: .5em 0; }
.docs-layout .doc li > p { margin-block: .5em; }
.docs-layout .doc li::marker { color: var(--muted); }
.docs-layout .doc :where(p,li) { word-break: normal; }
.docs-layout .doc .oc-step > h3 { margin-block: 0 10px; font-size: 18px; font-weight: 600; line-height: 1.4; letter-spacing: -.15px; }
.docs-layout .doc .oc-step > :is(p,ul,ol) { max-inline-size: 72ch; }
.docs-layout .article :is(h1,h2,h3) { text-wrap: balance; }
.docs-layout .doc a { text-underline-offset: .18em; text-decoration-skip-ink: auto; }
/* Editorial components share the reading palette, with emphasis reserved for the data. */
.docs-layout .doc .oc-lead { max-inline-size: 62ch; margin-block: 20px 32px; font: 400 18px/1.65 var(--oc-font-body); color: var(--text); }
.docs-layout .doc .oc-lead p { margin: 0; }
.docs-layout .doc .oc-pullquote { margin: 32px 0; padding: 0; padding-inline-start: 22px; border: 0; border-inline-start: 2px solid color-mix(in srgb,var(--brand) 65%,transparent); }
.docs-layout .doc .oc-pullquote blockquote { margin: 0; padding: 0; border: 0; color: var(--ink); font: 400 23px/1.5 var(--oc-font-serif); }
.docs-layout .doc .oc-pullquote blockquote > :first-child { margin-top: 0; }
.docs-layout .doc .oc-pullquote blockquote > :last-child { margin-bottom: 0; }
.docs-layout .doc .oc-pullquote figcaption { margin-top: 12px; color: var(--muted); font: 400 13px/1.5 var(--oc-font-body); }
.docs-layout .oc-stat-grid { gap: 12px; margin-block: 28px; }
.docs-layout .doc .oc-stat { display: grid; grid-template-columns: minmax(0,1fr) auto; align-content: start; align-items: center; gap: 10px 8px; min-width: 0; padding: 22px; border-color: var(--docs-border); background: var(--paper); }
.docs-layout .doc .oc-stat > strong { grid-area: 1 / 1; margin: 0; color: var(--ink); font: 600 32px/1.1 var(--oc-font-body); letter-spacing: -.8px; font-variant-numeric: tabular-nums lining-nums; overflow-wrap: anywhere; }
.docs-layout .doc .oc-stat > span:not(.oc-stat-delta) { grid-area: 2 / 1 / auto / -1; color: var(--text); font: 400 13px/1.5 var(--oc-font-body); }
.docs-layout .doc .oc-stat > .oc-stat-delta { grid-area: 1 / 2; max-width: 100%; margin: 0; padding: 3px 7px; border: 0; color: var(--text)!important; background: color-mix(in srgb,var(--ink) 6%,transparent); font: 400 12px/1.4 var(--oc-font-body); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.docs-layout .doc .oc-stat > div { grid-column: 1 / -1; color: var(--muted); font: 400 13px/1.55 var(--oc-font-body); }
.docs-layout .doc .oc-stat > div:empty { display: none; }
.docs-layout .doc .oc-stat > div p { margin: 2px 0 0; font: inherit; }
.docs-layout .doc .oc-chart { margin-block: 24px; padding: 24px; border-color: var(--docs-border); background: var(--paper); }
.docs-layout .doc .oc-chart figcaption { flex-wrap: wrap; align-items: baseline; gap: 4px 16px; margin-bottom: 24px; }
.docs-layout .doc .oc-chart figcaption strong { color: var(--ink); font: 600 15px/1.4 var(--oc-font-body); }
.docs-layout .doc .oc-chart figcaption span { font: 400 12px/1.5 var(--oc-font-body); }
.docs-layout .doc .oc-chart-bars { gap: 14px; }
.docs-layout .doc .oc-chart-row { grid-template-columns: minmax(72px,100px) minmax(0,1fr) minmax(4ch,auto); gap: 16px; min-height: 22px; }
.docs-layout .doc .oc-chart-row > span { font-size: 13px; line-height: 1.45; white-space: normal; overflow-wrap: anywhere; }
.docs-layout .doc .oc-chart-row > strong { color: var(--ink); font: 600 13px/1.4 var(--oc-font-body); font-variant-numeric: tabular-nums; text-align: end; }
.docs-layout .doc .oc-chart-track { height: 6px; background: var(--oc-chart-track-color); overflow: visible; }
.docs-layout .doc .oc-chart-track i { background: var(--oc-chart-series-1); }
.docs-layout .doc .oc-chart-line-svg polyline { stroke-width: 2; }
.docs-layout .doc .oc-chart-line-svg circle { stroke-width: 2; }
.docs-layout .doc .oc-chart-gridline { stroke: var(--oc-chart-grid-color); }
.docs-layout .doc .oc-chart-area-fill { fill: var(--oc-chart-area-color); }
.docs-layout .doc .oc-chart-axis { margin-top: 4px; font-size: 12px; font-variant-numeric: tabular-nums; }
.docs-layout .doc .oc-chart-donut-key { font-size: 13px; }
.docs-layout .doc .oc-chart-donut-key strong { color: var(--ink); font-weight: 600; font-variant-numeric: tabular-nums; }
.docs-layout .doc .oc-cta { grid-template-columns: minmax(0,1fr); gap: 22px; margin-block: 32px; padding: 28px; border: 1px solid var(--docs-border); background: var(--paper); box-shadow: none; }
.docs-layout .doc .oc-cta-copy > span { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; color: var(--brand); font: 400 12px/1.4 var(--oc-font-body); }
.docs-layout .doc .oc-cta-copy > span::before { content: ""; width: 18px; height: 1px; flex: 0 0 18px; background: currentColor; opacity: .65; }
.docs-layout .doc .oc-cta-copy > strong { display: block; margin-bottom: 10px; color: var(--ink); font: 600 20px/1.35 var(--oc-font-body); letter-spacing: -.3px; text-wrap: balance; }
.docs-layout .doc .oc-cta-copy p { max-inline-size: 60ch; margin: 0; color: var(--text); font: 400 14px/1.65 var(--oc-font-body); text-wrap: pretty; }
.docs-layout .doc .oc-cta-actions { justify-content: flex-start; gap: 12px 20px; }
.docs-layout .doc .oc-cta-link { --cta-action-ink: color-mix(in srgb,var(--brand) 85%,var(--ink)); gap: 8px; min-height: 36px; padding: 8px 12px; border: 0; color: var(--cta-action-ink); background: color-mix(in srgb,var(--brand) 10%,var(--paper)); box-shadow: none; font: 600 13px/1.4 var(--oc-font-body); letter-spacing: 0; text-decoration: none; }
.docs-layout .doc .oc-cta-link-secondary { padding-inline: 0; color: var(--text); background: transparent; font-weight: 400; }
.docs-layout .doc .oc-cta-link-secondary .oc-cta-arrow { display: none; }
.docs-layout .doc .oc-cta-link:focus-visible { outline: 2px solid var(--oc-focus-ring); outline-offset: 3px; }
@media (hover:hover) and (pointer:fine) {
  .docs-layout .doc .oc-cta-link:hover { color: var(--cta-action-ink); background: color-mix(in srgb,var(--brand) 16%,var(--paper)); filter: none; }
  .docs-layout .doc .oc-cta-link-secondary:hover { color: var(--ink); background: transparent; text-decoration: underline; text-underline-offset: 4px; }}
@media (max-width: 520px) {
  .docs-layout .doc .oc-cta { padding: 22px; }
  .docs-layout .doc .oc-chart { padding: 20px; }
  .docs-layout .doc .oc-chart-row { grid-template-columns: minmax(62px,80px) minmax(0,1fr) minmax(4ch,auto); gap: 10px; }}
.docs-layout .toc { background: var(--bg); }
.docs-layout .toc h2 { font: 500 12px var(--oc-font-body); text-transform: none; letter-spacing: 0; }
.docs-layout .toc h2::before { content: none; }
.docs-layout .toc-label { display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; }
.docs-layout .toc :is(h2,.toc-label) > .icon { width: 14px; height: 14px; min-width: 14px; flex: 0 0 14px; stroke-width: 1.75; }
.docs-layout .toc a { color: var(--docs-muted); font-size: 13px; line-height: 1.5; }
.docs-layout .toc a.active { color: var(--ink); background: color-mix(in srgb,var(--ink) 5%,transparent); font-weight: 500; }
@media (hover:hover) and (pointer:fine) {
  .docs-layout .toc a:not(.active):hover { color: var(--ink); background: color-mix(in srgb,var(--ink) 3%,transparent); }}
@media (max-width:1280px) {
  .docs-layout { --compact-toc-inset: var(--docs-nav); }
  .docs-layout .toc { isolation: isolate; background: transparent; border: 0; }
  /* Blur a separate layer so the mobile menu keeps its viewport positioning. */
  .docs-layout .toc::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: color-mix(in srgb,var(--bg) 84%,transparent); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
  /* One backdrop spans both sticky rows; clipping leaves the sidebar uncovered. */
  .docs-layout.has-docked-toc .doc-shell::before { content: ""; position: fixed; inset: 0 0 auto; height: var(--sticky-header-h); z-index: 59; pointer-events: none; background: color-mix(in srgb,var(--bg) 84%,transparent); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); clip-path: polygon(0 0,100% 0,100% 100%,var(--compact-toc-inset) 100%,var(--compact-toc-inset) var(--header-row-h),0 var(--header-row-h)); }
  :root[dir="rtl"] .docs-layout.has-docked-toc .doc-shell::before { clip-path: polygon(0 0,100% 0,100% var(--header-row-h),calc(100% - var(--compact-toc-inset)) var(--header-row-h),calc(100% - var(--compact-toc-inset)) 100%,0 100%); }
  .docs-layout.has-docked-toc .site-header { background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; }
  .docs-layout.has-docked-toc .toc::before { content: none; }
  .docs-layout .toc summary { gap: 12px; border-radius: 0; background: transparent; color: var(--docs-muted); font: 500 13px/1.5 var(--oc-font-body); }
  .docs-layout .toc-current { flex: 0 1 auto; min-inline-size: 0; max-inline-size: 60%; margin-inline-start: auto; overflow: hidden; white-space: nowrap; text-overflow: clip; color: var(--docs-muted); font: 400 12px/1.5 var(--oc-font-body); }
  .docs-layout .toc-current:empty { display: none; }
  .docs-layout .toc-current.is-overflowing { mask-image: linear-gradient(to right,#000 calc(100% - 24px),transparent); }
  :root[dir="rtl"] .docs-layout .toc-current.is-overflowing { mask-image: linear-gradient(to left,#000 calc(100% - 24px),transparent); }
  .docs-layout .toc[open] summary { background: transparent; color: var(--ink); }
  .docs-layout .toc summary::after { flex: 0 0 6px; margin-inline-end: 2px; color: var(--muted); }
  .docs-layout .toc summary:focus-visible { outline-offset: -3px; }
  .docs-layout .toc nav { max-height: min(70dvh,calc(100dvh - var(--sticky-header-h,108px) - 24px)); border-color: var(--docs-border); border-radius: var(--oc-radius-control); scrollbar-width: thin; }
}
@media (min-width:821px) and (max-width:1280px) {
  .docs-layout .toc nav { inset-block-start: calc(100% + 8px); inset-inline-start: 8px; inset-inline-end: auto; width: min(380px,calc(100% - 16px)); }}
.docs-layout .doc .oc-card-grid, .docs-layout .doc .oc-card-group { border: 0; gap: 14px; }
.docs-layout .doc .oc-card { padding: 22px; border: 1px solid var(--docs-border); border-radius: var(--oc-radius-lg); background: var(--docs-surface); box-shadow: var(--docs-surface-shadow); transition: background 160ms ease, border-color 160ms ease; }
.docs-layout .doc .oc-card > div > strong:first-child, .docs-layout .doc .oc-card > h3, .docs-layout .doc .oc-card > strong { color: var(--ink); font: 600 16px/1.4 var(--oc-font-body); letter-spacing: -.1px; text-transform: none; }
.docs-layout .doc .oc-card p { margin-top: 8px; color: var(--docs-muted); font-size: var(--docs-detail-size); line-height: 1.6; text-wrap: pretty; }
.docs-layout .doc .oc-card-icon { width: 21px; height: 21px; color: var(--docs-muted); }
.docs-layout .doc .oc-code, .docs-layout .doc .oc-code-group, .docs-layout .doc .oc-callout, .docs-layout .doc .oc-table-wrap, .docs-layout .doc .oc-tabs, .docs-layout .doc .oc-panel { border-radius: var(--oc-radius-surface); border-color: var(--docs-border); }
.docs-layout .doc pre { scrollbar-width: thin; scrollbar-color: color-mix(in srgb,var(--muted) 65%,transparent) transparent; }
.docs-layout .doc pre::-webkit-scrollbar { width: 8px; height: 8px; background: transparent; }
.docs-layout .doc pre::-webkit-scrollbar-track, .docs-layout .doc pre::-webkit-scrollbar-corner { background: transparent; border: 0; box-shadow: none; }
.docs-layout .doc pre::-webkit-scrollbar-thumb { background: color-mix(in srgb,var(--muted) 65%,transparent); border: 2px solid transparent; border-radius: 8px; background-clip: padding-box; }
.docs-layout .doc .oc-table-wrap { margin-block: 24px 32px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.docs-layout .doc .oc-table { margin: 0; background: transparent; font-size: var(--docs-detail-size); line-height: 1.6; }
.docs-layout .doc .oc-table :is(th,td) { padding: 14px 16px; border-bottom-color: var(--docs-border); background: transparent; }
.docs-layout .doc .oc-table th { position: static; padding-block: 0 12px; color: var(--muted); font: 600 12px/1.5 var(--oc-font-body); }
.docs-layout .doc .oc-table td:first-child { color: var(--ink); font-weight: 600; }
.docs-layout .doc .oc-table :is(th,td):first-child { padding-inline-start: 0; }
.docs-layout .doc .oc-table :is(th,td):last-child { padding-inline-end: 0; }
@media (max-width: 520px) {
  .docs-layout .doc .oc-table :is(th,td) { padding-inline: 10px; }
  .docs-layout .doc .oc-table :is(th,td):first-child { padding-inline-start: 0; }
  .docs-layout .doc .oc-table :is(th,td):last-child { padding-inline-end: 0; }}
.docs-layout .doc .oc-code { box-shadow: var(--docs-surface-shadow); background: var(--code-block); }
.docs-layout .doc .oc-code figcaption { background: transparent; min-height: 40px; }
.docs-layout .doc .oc-code figcaption .oc-code-label { font: 500 11px/1.4 var(--oc-font-mono); letter-spacing: .06em; }
.docs-layout .doc .oc-code-tabs { gap: 24px; padding: 0 18px; border-block-end: 1px solid var(--docs-border); background: transparent; overflow-x: auto; scrollbar-width: thin; }
.docs-layout .doc .oc-code-tab { position: relative; flex: 0 0 auto; min-block-size: 44px; padding: 10px 0; border-radius: 4px; background: transparent; color: var(--muted); font: 500 12px/1.4 var(--oc-font-mono); white-space: nowrap; }
.docs-layout .doc .oc-code-tab.active { color: var(--ink); background: transparent; }
.docs-layout .doc .oc-code-tab::after { content: ""; position: absolute; inset-inline: 0; inset-block-end: 0; block-size: 2px; border-radius: 1px; background: transparent; }
.docs-layout .doc .oc-code-tab.active::after { background: var(--brand); }
.docs-layout .doc .oc-code-tab:focus-visible { outline: 2px solid var(--oc-focus-ring); outline-offset: -2px; }
@media (hover:hover) and (pointer:fine) {
  .docs-layout .doc .oc-code-tab:hover { color: var(--ink); background: transparent; }
  .docs-layout .doc .oc-code-tab:not(.active):hover::after { background: color-mix(in srgb,var(--muted) 45%,transparent); }}
.docs-layout .doc .oc-callout { box-shadow: var(--docs-surface-shadow); }
:root[data-theme="light"] .docs-layout .doc .oc-callout { border: 1px solid var(--docs-border); }
:root[data-theme="light"] .docs-layout .doc .oc-code-expand { color: color-mix(in srgb,var(--brand) 85%,var(--ink)); }
.docs-layout .doc .oc-step::before { border: 1px solid var(--docs-border); background: var(--paper); color: var(--brand); box-shadow: var(--docs-surface-shadow); }
.docs-layout .doc .oc-code pre { font-size: 13px; line-height: 1.65; }
.docs-layout .doc pre code { font-size: inherit; }
/* Focus metadata quiets surrounding lines without making their text translucent. */
.docs-layout .doc .code-line.is-dimmed { opacity: 1; color: color-mix(in srgb,var(--muted) 90%,var(--ink)); }
.docs-layout .doc .code-line.is-dimmed span { color: inherit; font-weight: inherit; }
:root[data-theme="light"] .docs-layout .doc .code-line.is-highlighted { background: color-mix(in srgb,var(--brand) 7%,transparent); }
:root[data-theme="light"] .docs-layout .doc .code-line::before,
:root[data-theme="light"] .docs-layout .doc .oc-code-label { color: var(--tok-comment); }
.docs-layout .doc .oc-tabs { display: grid; gap: 28px; margin-block: 24px 32px; padding: 0; border: 0; border-radius: 0; background: transparent; overflow: visible; }
.docs-layout .doc .oc-tab { display: flow-root; min-width: 0; padding: 0; border: 0; }
.docs-layout .doc .oc-tab > h3 { margin: 0 0 10px; color: var(--ink); font: 600 14px/1.5 var(--oc-font-body); letter-spacing: 0; }
.docs-layout .doc .oc-tab > .oc-code { margin-block: 16px; }
.docs-layout .doc .oc-tab > h3 + .oc-code { margin-top: 0; }
.docs-layout .doc .oc-tab > :last-child { margin-bottom: 0; }
.docs-layout .doc .oc-param { min-width: 0; margin: 0; padding: 22px 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.docs-layout .doc :is(h2,h3) + .oc-param { padding-block-start: 4px; }
.docs-layout .doc .oc-param + .oc-param { border-block-start: 1px solid var(--docs-border); }
.docs-layout .doc .oc-param > header { align-items: baseline; gap: 6px 12px; margin-bottom: 8px; }
.docs-layout .doc .oc-param > header > code { max-width: 100%; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--ink); font: 600 13px/1.6 var(--oc-font-mono); white-space: normal; overflow-wrap: anywhere; }
.docs-layout .doc .oc-param > header > :is(.oc-param-type,.oc-param-default,.oc-param-required) { padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--muted); font: 400 12px/1.5 var(--oc-font-body); overflow-wrap: anywhere; }
.docs-layout .doc .oc-param > header > .oc-param-type { font-family: var(--oc-font-mono); }
.docs-layout .doc .oc-param > header > .oc-param-required { margin-inline-start: auto; color: var(--brand); }
.docs-layout .doc .oc-param > p { margin-block: 8px 0; color: var(--text); font-size: var(--docs-detail-size); line-height: 1.65; }
.docs-layout .doc .oc-param > :last-child { margin-bottom: 0; }
@media (max-width: 520px) {
  .docs-layout .doc .oc-param > header > code { flex-basis: 100%; }}
.docs-layout .page-tools { font-family: var(--oc-font-body); }
.docs-layout .page-tools :is(.page-actions-primary,.page-actions-more > summary,.page-action):focus-visible { outline-offset: -3px; }
.docs-layout .page-tools .page-actions-menu { inset-block-start: calc(100% + 6px); inline-size: 300px; min-inline-size: 0; max-inline-size: calc(100vw - 32px); gap: 2px; padding: 8px; }
.docs-layout .page-tools .page-action { grid-template-columns: 20px minmax(0,1fr) 16px; gap: 12px; min-block-size: 58px; padding: 10px 12px; font-weight: 400; }
.docs-layout .page-tools .page-action:is(:hover,:focus-visible) { background: color-mix(in srgb,var(--ink) 6%,var(--paper)); color: var(--ink); }
.docs-layout .page-tools .page-action > .icon { inline-size: 20px; min-inline-size: 20px; block-size: 20px; color: var(--text); }
.docs-layout .page-tools .page-action > span { min-inline-size: 0; }
.docs-layout .page-tools .page-action strong { font: 500 13px/1.4 var(--oc-font-body); }
.docs-layout .page-tools .page-action small { margin-block-start: 3px; font: 400 12px/1.4 var(--oc-font-body); }
.docs-layout .page-tools .page-action-external { display: grid; place-items: center; inline-size: 16px; block-size: 20px; color: var(--muted); opacity: .65; }
.docs-layout .page-tools .page-action-external .icon { width: 13px; height: 13px; }
.docs-layout .oc-mermaid { min-height: 0; margin-block: 24px; padding: 48px 28px 28px; border-color: var(--docs-border); background: var(--paper); color: var(--text); box-shadow: none; }
.docs-media-scene { position: relative; isolation: isolate; min-width: 0; margin-block: 24px; padding: clamp(16px,3vw,40px); overflow: clip; border: 1px solid color-mix(in srgb,var(--ink) 7%,var(--bg)); border-radius: var(--oc-radius-lg); background: var(--paper); background-clip: padding-box; }
.docs-layout .doc .docs-media-background { position: absolute; z-index: -1; inset: 0; display: block; width: 100%; height: 100%; max-width: none; margin: 0; border: 0; border-radius: 0; object-fit: cover; object-position: center; pointer-events: none; box-shadow: none; }
.docs-media-content { position: relative; min-width: 0; }
.docs-layout .docs-media-content > :is(.oc-mermaid,.oc-frame) { margin: 0; background: var(--paper); box-shadow: 0 10px 24px #24201a18,0 2px 4px #24201a0d; }
.docs-layout .doc .docs-media-content > p { margin: 0; text-align: center; }
.docs-layout .doc .docs-media-content :is(img,video,iframe) { max-width: 100%; margin: 0; vertical-align: middle; border: 1px solid var(--docs-border); border-radius: var(--oc-radius-control); box-shadow: 0 10px 24px #24201a24,0 2px 4px #24201a0d; }
.docs-layout .doc .docs-media-content img { width: auto; height: auto; max-height: min(520px,65svh); object-fit: contain; }
/* Authored SVG diagrams use fixed ink colors, including over transparent areas. */
.docs-layout .doc .docs-media-content img:is([src$=".svg" i],[src*=".svg?" i],[src*=".svg#" i]) { background: #fff; background-clip: padding-box; }
.docs-layout .docs-media-content .oc-frame { padding: 16px; }
.docs-layout .docs-media-content .oc-frame figcaption { padding: 0 0 12px; }
.docs-layout .oc-mermaid-actions { inset: 10px 10px auto auto; }
.docs-layout .oc-mermaid-expand { width: 32px; height: 32px; border: 0; background: transparent; box-shadow: none; color: var(--muted); }
.docs-layout .oc-mermaid-expand .icon { width: 16px; min-width: 16px; max-width: 16px; height: 16px; stroke-width: 1.5; }
.docs-layout :is(.oc-mermaid-expand,.oc-mermaid-overlay-close):hover { border-color: var(--docs-border); background: color-mix(in srgb,var(--ink) 6%,var(--paper)); color: var(--ink); }
.docs-layout :is(.oc-mermaid-expand,.oc-mermaid-overlay-close):focus-visible { outline: 2px solid var(--oc-focus-ring); outline-offset: 2px; }
.docs-layout :is(.oc-mermaid,.oc-mermaid-overlay-canvas) svg rect.actor { rx: 10px; ry: 10px; }
.docs-layout :is(.oc-mermaid,.oc-mermaid-overlay-canvas) svg .node rect { rx: 8px; ry: 8px; }
.docs-layout :is(.oc-mermaid,.oc-mermaid-overlay-canvas) svg .actor-line { stroke-width: 1px; stroke-dasharray: 4 5; }
.docs-layout :is(.oc-mermaid,.oc-mermaid-overlay-canvas) svg :is(.messageLine0,.messageLine1) { stroke-width: 1.25px; }
.docs-layout .oc-mermaid-overlay-canvas { border-color: var(--docs-border); background: var(--paper); box-shadow: none; padding: 32px; }
.docs-layout .doc .oc-mermaid.is-error { padding: 18px 20px; border-color: var(--docs-border); }
.docs-layout .oc-mermaid-error { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; color: var(--muted); font: 400 12px/1.5 var(--oc-font-body); }
.docs-layout .oc-mermaid-error svg { flex: 0 0 16px; color: var(--oc-status-warning-fg); }
.docs-layout .doc .oc-mermaid.is-error pre { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: var(--text); font-size: 12px; line-height: 1.65; }
@media (max-width: 520px) {
  .docs-layout .oc-mermaid { padding: 44px 16px 20px; }}
/* A section title belongs to its first block, regardless of that block's default margin. */
.docs-layout .article .doc > :is(h2,h3,h4,h5,h6) + :where(p,ul,ol,blockquote,figure,aside,details,div,section) { margin-block-start: 0; }
.docs-layout .site-footer { margin-top: 0; border-bottom: 0; background: var(--bg); }
.docs-layout .site-footer-inner { max-width: 1500px; margin-inline: auto; }
.docs-layout .site-footer-links { border: 0; }
.docs-layout .site-footer-links h2 { text-transform: none; font: 500 12px var(--oc-font-body); letter-spacing: 0; }
.docs-layout .site-footer-legal { font: 400 11px var(--oc-font-body); }
.docs-layout .search-panel { border: 1px solid var(--docs-border); border-radius: var(--oc-radius-surface); background: var(--paper); }
.docs-layout:not(:has([data-docs-chat])) [data-search-molty] { display: none; }

/* Homepage: navigation, setup, then reference content. */
.docs-layout.docs-home-layout .main { display: block; }
.docs-layout.docs-home-layout .main > .toc, .docs-layout.docs-home-layout .article-header, .docs-layout.docs-home-layout .page-feedback, .docs-layout.docs-home-layout .page-nav { display: none; }
.docs-layout.docs-home-layout .article { padding: 0 48px 64px; }
.docs-layout.docs-home-layout .article > .doc { max-width: 1040px; width: 100%; }
.home-heading { position: relative; isolation: isolate; display: flex; align-items: center; min-height: 192px; margin: 0; padding: 48px 0 40px; }
.home-heading-copy { position: relative; z-index: 1; max-width: 100%; }
.home-layout h2[tabindex="-1"]:focus { outline: none; }
/* Shared by every page and locale, behind the header and content in the main pane. */
.home-hero { --home-hero-image: url("home-hero-diagonal-dark.svg"); position: absolute; z-index: -1; inset-block-start: calc(-60px - var(--header-row-h,64px)); inset-inline: 0; height: 400px; overflow: clip; pointer-events: none; user-select: none; mask-image: linear-gradient(90deg,transparent 15%,#000 55%,#000 88%,transparent); }
.home-hero::before { content: ""; display: block; width: 100%; height: 100%; background: var(--home-hero-image) right top / 100% 100% no-repeat; opacity: .48; mask-image: linear-gradient(#000 45%,transparent); }
:root[data-theme="light"] .home-hero { --home-hero-image: url("home-hero-diagonal-light.svg"); }
.docs-layout .home-heading h1 { margin: 0; font-size: 42px; font-weight: 600; letter-spacing: -1.4px; }
.home-description > span { display: block; }
.home-heading .home-description { max-width: 52rem; margin: 16px 0 0; color: var(--docs-muted); font-size: var(--docs-body-size); line-height: 1.6; }
.home-layout > section:not(.home-heading), .home-about { padding-block: 56px; border-bottom: 1px solid var(--docs-border); }
.home-layout > section.home-community { border-bottom: 0; }
.home-layout section > h2 { margin: 0 0 24px; padding: 0; border: 0; color: var(--ink); font: 600 25px/1.3 var(--oc-font-body); letter-spacing: -.5px; text-transform: none; }
.home-reading-section > :not(h2) { max-width: none; }
.home-reading-section > p { color: var(--text); }
.home-reading-section > :last-child { margin-bottom: 0; }
.home-about > .home-reading-section + .home-reading-section { padding-top: 32px; }
.docs-layout .home-intro { margin: 35px 0 0; max-width: none; padding: 24px 0 0; border-top: 1px solid var(--docs-border); color: var(--docs-muted); font-size: 13px; }
.docs-layout .home-intro > h1 { display: none; }
.docs-layout .home-intro blockquote { border: 0; padding: 0; color: var(--muted); font-size: 13px; }
.docs-layout .home-intro p[align] { text-align: start; }
.home-setup .oc-steps { margin: 28px 0 20px; }
.home-setup .oc-step h3 { font-size: 16px; font-weight: 600; }
.home-setup .oc-step p { font-size: var(--docs-body-size); line-height: 1.65; }
.docs-layout .home-setup .oc-tabs { gap: 0; margin-block: 20px 24px; padding: 0; border: 0; border-radius: 0; background: transparent; overflow: visible; }
.docs-layout .home-setup .oc-tab { padding: 0; border: 0; }
.docs-layout .home-setup .oc-tab + .oc-tab { margin-top: 24px; }
.docs-layout .home-setup .oc-tab h3 { margin-bottom: 8px; color: var(--docs-muted); font-size: var(--docs-detail-size); font-weight: 400; }
.docs-layout .home-setup .oc-code { margin-block: 10px 16px; }
.docs-layout .home-directory .oc-card-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 24px 0 0; }
.docs-layout .home-directory .oc-card { padding: 24px; min-height: 0; border: 1px solid var(--docs-border); border-radius: var(--oc-radius-lg); }
.docs-layout .home-directory .oc-card-icon { width: 22px; height: 22px; margin-bottom: 22px; }
.docs-layout .home-directory .oc-card p { font-size: var(--docs-detail-size); }
.docs-layout .home-capabilities .oc-card { padding: 0; overflow: hidden; border-color: color-mix(in srgb,var(--ink) 5%,transparent); background: color-mix(in srgb,var(--paper) 55%,var(--bg)); }
.home-capability-header { display: flex; align-items: center; block-size: 64px; padding-inline: 22px; }
.docs-layout .home-capability-header .oc-card-icon { width: 24px; height: 24px; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: var(--docs-muted); stroke-width: 1.6; }
/* Artwork replaces the icon in a short, padded header. Contain is intentional:
   use --capability-art-fit: cover only when cropping is intentional. */
.home-capability-header:has(img) { block-size: 112px; padding: 12px 22px 16px; }
.home-capability-header img { display: block; inline-size: 100%; block-size: 100%; min-inline-size: 0; object-fit: var(--capability-art-fit,contain); object-position: var(--capability-art-position,center); }
.home-capability-copy { padding: 0 22px 22px; }
.docs-layout .home-capability-copy > strong:first-child { margin-top: 0; }
.home-channels { display: block; }
.home-channels h2 { margin: 0 0 10px; font: 600 25px/1.3 var(--oc-font-body); letter-spacing: -.5px; }
.home-channels p { margin: 0 0 16px; color: var(--docs-muted); font-size: var(--docs-detail-size); text-wrap: pretty; }
.home-text-link { display: inline-flex; align-items: center; gap: 8px; font-size: var(--docs-detail-size); font-weight: 400; text-decoration: none !important; }
.home-text-link .icon { width: 13px; height: 13px; }
.home-channel-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.doc .home-channel { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 14px 18px; border: 1px solid var(--docs-border); border-radius: var(--oc-radius-surface); color: var(--ink); background: var(--docs-surface); box-shadow: var(--docs-surface-shadow); font-size: var(--docs-detail-size); font-weight: 400; text-decoration: none; transition: background 160ms ease, border-color 160ms ease; }
.home-channel-icon { display: grid; place-items: center; width: 39px; height: 39px; flex: 0 0 auto; color: var(--channel-color); }
.home-channel-icon .icon, .home-channel-glyph { width: 24px; height: 24px; }
.home-channel-more .home-channel-icon { color: var(--muted); }
.home-channel > .icon { width: 12px; height: 12px; margin-inline-start: auto; color: var(--muted); opacity: .35; }
.home-channel-more > .icon { opacity: 1; }
@media (hover:hover) {
  .docs-layout .docs-quick-nav .nav-link:hover:not(.active) { background: var(--paper); color: var(--ink); }
  .docs-layout .doc .oc-card:hover { background: color-mix(in srgb,var(--ink) 3%,var(--docs-surface)); border-color: color-mix(in srgb,var(--ink) 20%,transparent); transform: none; }
  .home-channel:hover > .icon { opacity: 1; }
  .doc .home-channel:hover { color: var(--ink); border-color: color-mix(in srgb,var(--ink) 24%,transparent); background: var(--paper); }}
@media (min-width:1281px) {
  .docs-layout:not(.docs-home-layout) .main:has(> .toc) { padding-inline-end: var(--header-padding); }
  .docs-layout .toc { --toc-rail-inset: 43px; background: transparent; }}
@media (max-width:1280px) {
  .docs-layout { --docs-nav: 240px; --docs-inset: 38px; }
  .docs-layout.docs-home-layout .article { padding-inline: 38px; }}
@media (min-width:821px) and (max-width:1180px) {
  .docs-layout .header-actions, .docs-layout .header-links { gap: 20px; }}
@media (max-width:1120px) {
  .docs-layout .network-nav { display: none; }}
@media (max-width:1024px) {
  .docs-layout .sidebar { --docs-sidebar-inset-end: 14px; padding-inline: 14px; }
  .home-channel-grid { gap: 16px; }}
@media (max-width:820px) {
  .docs-layout { --compact-toc-inset: 0px; }
  .docs-layout .site-header { --header-padding: 16px; }
  .docs-layout .header-row { display: flex; height: 60px; min-height: 60px; gap: 4px; }
  .docs-layout .header-left { flex-shrink: 0; }
  .docs-layout .header-actions { display: contents; }
  .docs-layout .brand img { width: 26px; height: 26px; }
  .docs-layout .brand-name { font-size: 16px; }
  .docs-layout .brand-tag { display: none; }
  .docs-layout .search-button { order: 2; width: 44px; min-width: 44px; max-width: 44px; height: 44px; margin: 0; padding: 0; justify-content: center; border: 0; background: transparent; }
  .docs-layout .search-button > .icon { width: 20px; height: 20px; flex-basis: 20px; max-width: 20px; }
  .docs-layout .nav-toggle { width: 44px; height: 44px; gap: 5px; border-radius: var(--oc-radius-control); }
  .docs-layout .nav-toggle span { width: 20px; height: 1.5px; }
  .docs-layout .nav-toggle span:last-child { display: none; }
  .docs-layout .search-button .search-label, .docs-layout .search-button .search-shortcut { display: none; }
  .docs-layout .header-links { margin: 0; gap: 1px; }
  .docs-layout .header-social-group { display: none; }
  .docs-layout .header-preferences-group { display: contents; }
  .docs-layout .header-links :is(.top-icon-link,.theme-toggle) { display: none; }
  .docs-layout .header-links .language-picker { order: 1; flex-shrink: 0; margin: 0; }
  .docs-layout .header-links .language-trigger { width: 48px; height: 44px; padding: 0 6px; gap: 4px; justify-content: center; }
  .docs-layout .language-menu { inset-inline-start: auto; inset-inline-end: 0; top: calc(100% + 12px); max-height: min(50dvh,320px); }
  .docs-layout .language-option { min-height: 36px; }
  .docs-layout :is(.search-button,.nav-toggle,.theme-toggle) { flex-shrink: 0; }
  .docs-layout .main { border: 0; }
  .docs-layout .article, .docs-layout.docs-home-layout .article { padding-inline: 24px; }
  .docs-layout :is(.sidebar,.community-invite) { width: min(380px,100vw); }
  .docs-layout .sidebar { --docs-sidebar-inset-end: 20px; top: 0; padding: 0 20px; max-height: 100dvh; height: 100dvh; }
  .docs-layout .sidebar-head { min-height: 60px; margin: 0; padding-block: 8px; justify-content: space-between; border-bottom: 1px solid var(--docs-border); }
  .docs-layout .sidebar-brand { min-height: 44px; gap: 8px; }
  .docs-layout .sidebar-brand .brand-tag { display: inline; }
  .docs-layout .sidebar-close { width: 44px; height: 44px; border: 0; background: transparent; }
  .docs-layout .sidebar-tools { display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; gap: 12px; padding: 12px 0 max(12px,env(safe-area-inset-bottom)); margin-inline-end: var(--docs-sidebar-inset-end); border-top: 1px solid var(--docs-border); background: var(--bg); }
  .sidebar-socials { display: flex; align-items: center; gap: 4px; }
  .sidebar-socials a { display: flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; border-radius: var(--oc-radius-control); color: var(--docs-muted); }
  .sidebar-socials .icon { width: 17px; height: 17px; }
  .docs-layout .sidebar-tools .theme-toggle { display: inline-grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 1px solid var(--docs-border); border-radius: var(--oc-radius-control); background: var(--paper); color: var(--docs-muted); cursor: pointer; }
  .sidebar-tools .theme-toggle .icon { width: 18px; height: 18px; }
  .sidebar-tools :is(a,button):focus-visible { outline: 2px solid var(--ink); outline-offset: -2px; }
  .sidebar-socials a:active { color: var(--ink); background: var(--paper); }
  .docs-layout.nav-open .docs-chat { visibility: hidden; pointer-events: none; }


  .docs-layout .docs-quick-nav .nav-link, .docs-layout .docs-section > summary { min-height: 44px; }
  .docs-layout .docs-section-pages .nav-link { min-height: 38px; display: flex; align-items: center; }
  .home-heading { min-height: 170px; padding: 38px 0 28px; }
  .home-heading .home-description { text-wrap: balance; }
  .home-hero { --home-hero-image: url("home-hero-diagonal-dark-mobile.svg"); inset-block-start: calc(-35px - var(--header-row-h,64px)); height: 280px; mask-image: linear-gradient(90deg,transparent 8%,#000 58%,#000 88%,transparent); }
  .home-hero::before { opacity: .38; }
  :root[data-theme="light"] .home-hero { --home-hero-image: url("home-hero-diagonal-light-mobile.svg"); }
  .docs-layout .home-heading h1 { font-size: 36px; }
  .home-layout > section:not(.home-heading), .home-about { padding-block: 34px; }}
@media (max-width:580px) {
  .docs-layout .site-header { --header-padding: 12px; }
  .docs-layout .header-row { gap: 2px; }
  .docs-layout .article h1, .docs-layout .home-heading h1 { font-size: 2rem; letter-spacing: -.025em; }
  .home-layout section > h2, .home-channels h2 { font-size: 23px; }
  .docs-layout .home-directory .oc-card-grid { grid-template-columns: 1fr; gap: 10px; }
  .home-channel-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .doc .home-channel { gap: 8px; padding: 12px; font-size: 13px; }
  .home-channel-icon { width: 26px; height: 30px; }
  .home-channel > .icon { display: none; }
}

/* A single reading frame for the whole homepage. */
.docs-layout .home-layout .home-reading-section > *,
.docs-layout .home-layout .home-intro { max-width: none; }
.docs-layout .home-quick-links .oc-card-grid { grid-template-columns: repeat(4,minmax(0,1fr)); margin: 0 0 16px; gap: 0; border: 1px solid var(--docs-border); border-radius: var(--oc-radius-lg); overflow: hidden; background: var(--docs-surface); box-shadow: var(--docs-surface-shadow); }
.docs-layout .home-quick-links .oc-card { display: block; padding: 26px 24px; border: 0; border-inline-start: 1px solid var(--docs-border); border-radius: 0; corner-shape: inherit; background: transparent; box-shadow: none; }
/* The focused link owns the same outer corners as its responsive group. */
.docs-layout .home-quick-links .oc-card:first-child { border-inline-start: 0; border-start-start-radius: inherit; }
.docs-layout .home-quick-links .oc-card:last-child { border-end-end-radius: inherit; }
@media (min-width:1101px) {
  .docs-layout .home-quick-links .oc-card:first-child { border-end-start-radius: inherit; }
  .docs-layout .home-quick-links .oc-card:last-child { border-start-end-radius: inherit; }}
@media (min-width:581px) and (max-width:1100px) {
  .docs-layout .home-quick-links .oc-card:nth-child(2) { border-start-end-radius: inherit; }
  .docs-layout .home-quick-links .oc-card:nth-child(3) { border-end-start-radius: inherit; }}
.docs-layout .home-quick-links .oc-card > .oc-card-icon { width: 36px; height: 36px; padding: 8px; margin: 0 0 22px; border: 1px solid var(--docs-border); border-radius: var(--oc-radius-control); color: var(--brand); background: var(--docs-surface); box-shadow: var(--docs-surface-shadow); }
.docs-layout .home-quick-links .oc-card p { margin-top: 10px; }
.docs-layout .home-quick-links .oc-card:focus-visible { outline: 2px solid var(--brand); outline-offset: -3px; background: var(--paper); }
@media (hover:hover) and (pointer:fine) {
  .docs-layout .home-quick-links .oc-card:hover { background: color-mix(in srgb,var(--ink) 4%,transparent); border-color: var(--docs-border); }}
.home-section-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; margin-bottom: 24px; }
.home-section-heading h2 { margin: 0; font: 600 25px/1.3 var(--oc-font-body); letter-spacing: -.5px; }
.home-guide-grid, .home-community-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.doc .home-guide { display: flex; flex-direction: column; min-width: 0; color: var(--ink); background: transparent; text-decoration: none; border-radius: var(--oc-radius-lg); }
.home-guide-art { display: grid; place-items: center; aspect-ratio: 1.6; margin: 0; padding: 0; }
.home-guide-art .docs-media-content { display: grid; place-items: center; width: 100%; }
.docs-layout .doc .home-guide-art .home-guide-ui { display: block; width: 80%; max-width: none; height: auto; margin: 0; border: 1px solid #34445418; border-radius: var(--oc-radius-control); box-shadow: 0 10px 24px #24201a24, 0 2px 4px #24201a0d; }
.home-guide-copy { display: flex; flex-direction: column; flex: 1; align-items: flex-start; padding: 18px 2px 0; }
.home-guide-copy h3 { display: flex; align-items: baseline; justify-content: space-between; width: 100%; gap: 14px; color: var(--ink); font: 600 17px/1.4 var(--oc-font-body); letter-spacing: -.2px; margin: 0 0 8px; }
.home-guide-copy h3 .icon { width: 15px; height: 15px; flex: 0 0 15px; color: var(--muted); }
.home-guide-copy p { color: var(--docs-muted); margin: 0; font-size: 14px; line-height: 1.6; }
.doc .home-guide:focus-visible { outline: 2px solid var(--brand); outline-offset: 6px; }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .home-guide-art .docs-media-content { will-change: transform; transition: transform calc(var(--oc-duration-ui) * 2) ease; }
  .home-guide:hover .home-guide-art .docs-media-content { transform: scale(1.025); }}
.home-community { container: community / inline-size; }
.home-discord { --ink: #f0f1f2; --docs-muted: #a0a5aa; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); overflow: hidden; border: 1px solid var(--docs-border); border-radius: var(--oc-radius-lg); background: #121416; color: var(--ink); }
.home-discord-copy { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; min-width: 0; padding: 38px; }
.docs-layout .home-discord-copy h3 { font: 600 27px/1.3 var(--oc-font-body); letter-spacing: -.6px; margin: 0 0 14px; color: var(--ink); }
.home-discord-copy p { font-size: 14px; color: var(--docs-muted); margin: 0 0 24px; }
.doc .home-discord-button { display: inline-flex; align-items: center; gap: 12px; padding: 10px 16px; border: 1px solid transparent; border-radius: var(--oc-radius-control); background: #5865f2; color: #fff; font-size: 14px; font-weight: 600; text-decoration: none; transition: background-color 160ms ease; }
.doc .home-discord-button:focus-visible { outline: 2px solid #5865f2; outline-offset: 3px; }
.home-discord-button .icon { width: 15px; height: 15px; }
.home-discord-art { position: relative; min-width: 0; align-self: center; aspect-ratio: 1.6; margin: 0; overflow: clip; mask-image: linear-gradient(90deg,transparent,#000 12%); }
.home-discord-art img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: none; margin: 0; border: 0; border-radius: 0; object-fit: cover; object-position: center; }
:root[dir="rtl"] .home-discord-art { mask-image: linear-gradient(270deg,transparent,#000 12%); }
.home-community-grid { margin-top: 18px; }
.doc .home-community-link { padding: 24px; border: 1px solid var(--docs-border); border-radius: var(--oc-radius-lg); color: var(--ink); background: var(--docs-surface); box-shadow: var(--docs-surface-shadow); text-decoration: none; }
.home-community-link > .icon { width: 23px; height: 23px; margin-bottom: 22px; color: var(--docs-muted); }
.home-community-link h3 { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; margin: 0 0 8px; font: 600 16px/1.4 var(--oc-font-body); }
.home-community-link h3 .icon { width: 15px; min-width: 15px; height: 15px; flex: 0 0 15px; color: var(--muted); }
.home-community-link p { margin: 0; font-size: 14px; color: var(--docs-muted); }
@media (hover:hover) and (pointer:fine) {
  .doc .home-guide:hover h3 { color: var(--brand); }
  .doc .home-guide:hover h3 .icon { color: var(--brand); }
  .doc .home-community-link:hover { border-color: color-mix(in srgb,var(--ink) 25%,transparent); background: var(--paper); }
  .doc .home-discord-button:hover { background: #4752c4; color: #fff; }}

.home-architecture .oc-mermaid { --diagram-header-height: 40px; position: relative; padding: 60px 24px 24px; border-radius: var(--oc-radius-surface); }
.home-architecture .oc-mermaid::before { content: 'OpenClaw Gateway'; position: absolute; inset: 0 0 auto; height: var(--diagram-header-height); padding-inline: 48px; display: grid; place-items: center; border-bottom: 1px solid var(--docs-border); color: var(--muted); font: 12px var(--oc-font-mono); }
.docs-layout .home-architecture .oc-mermaid-actions { inset: 0 auto auto; inset-inline-end: 8px; height: var(--diagram-header-height); align-items: center; }
.home-architecture .oc-mermaid > svg { display: block; max-height: 420px; margin-inline: auto; background: transparent; }
@media (max-width:580px) {
  .docs-media-scene:not(.home-guide-art) { padding: 16px 12px; }
  .home-architecture .oc-mermaid { padding: 48px 12px 12px; }
  .home-architecture .oc-mermaid > svg { min-width: 490px; }}

/* Native disclosures remain the no-script fallback; enhanced navigation shows one level. */
.docs-layout .sidebar:has(.docs-sidebar-levels) { display: flex; flex-direction: column; height: calc(100dvh - var(--header-row-h,68px)); padding-block: 0; padding-inline-end: 0; overflow: clip; mask-image: none; -webkit-mask-image: none; }
.docs-layout .sidebar:has(.docs-sidebar-levels) .sidebar-head { flex-shrink: 0; padding-inline-end: var(--docs-sidebar-inset-end); }
.docs-sidebar-levels { position: relative; flex: 1; min-height: 0; overflow: clip; }
.docs-sidebar-directory, .docs-sidebar-context { width: 100%; transition: opacity 180ms var(--oc-ease-out), transform 180ms var(--oc-ease-out), visibility 0s; }
.docs-sidebar-directory { height: 100%; padding-block: 24px 12px; overflow-y: auto; }
.docs-sidebar-context { display: flex; flex-direction: column; height: 100%; min-height: 0; }
.docs-sidebar-context > .docs-sections { flex: 1; min-height: 0; padding-block-end: 12px; overflow-y: auto; }
/* Keep the link inset inside the scrollers so their tracks meet the sidebar edge. */
.docs-sidebar-directory, .docs-sidebar-context > .docs-sections { padding-inline-end: var(--docs-sidebar-inset-end); }
.docs-sidebar-directory, .docs-sidebar-context > .docs-sections { --nav-fade-top: 0px; --nav-fade-bottom: 0px; scrollbar-width: thin; scrollbar-gutter: stable; overscroll-behavior-y: contain; scroll-padding-block: 32px; mask-image: linear-gradient(to bottom, transparent, #000 var(--nav-fade-top), #000 calc(100% - var(--nav-fade-bottom)), transparent), linear-gradient(#000, #000), linear-gradient(#000, #000); mask-size: 100% 100%, 12px 100%, 12px 100%; mask-position: center, left, right; mask-repeat: no-repeat; }
/* Both navigation levels inherit the thumb color; keep the gutter stable during the fade. */
@property --docs-sidebar-thumb { syntax: "<color>"; inherits: true; initial-value: transparent; }
@media (hover:hover) and (pointer:fine) {
  .docs-layout .sidebar { --docs-sidebar-thumb: transparent; scrollbar-color: var(--docs-sidebar-thumb) transparent; transition: --docs-sidebar-thumb var(--oc-duration-ui) ease, transform var(--oc-duration-ui) var(--oc-ease-out); }
  .docs-layout .sidebar:hover { --docs-sidebar-thumb: color-mix(in srgb,var(--muted) 42%,transparent); transition-duration: var(--oc-duration-fast), var(--oc-duration-ui); }
  .docs-layout .sidebar:has(:focus-visible) { --docs-sidebar-thumb: color-mix(in srgb,var(--muted) 42%,transparent); transition-duration: 0s, var(--oc-duration-ui); }
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:reduce) {
  .docs-layout .sidebar { transition-property: --docs-sidebar-thumb; transition-duration: var(--oc-duration-fast); }
}
.docs-sidebar-levels .can-scroll-up { --nav-fade-top: 28px; }
.docs-sidebar-levels .can-scroll-down { --nav-fade-bottom: 36px; }

/* Match the left navigation's overflow cues without fading the native scrollbar. */
@property --docs-toc-thumb { syntax: "<color>"; inherits: true; initial-value: transparent; }
@media (min-width:1281px) {
  .docs-layout .toc { --toc-fade-distance: 36px; --toc-fade-top: 0px; --toc-fade-bottom: 0px; --docs-toc-thumb: color-mix(in srgb,var(--muted) 42%,transparent); scrollbar-width: thin; scrollbar-gutter: stable; scrollbar-color: var(--docs-toc-thumb) transparent; overscroll-behavior-y: contain; mask-image: linear-gradient(to bottom,transparent,#000 var(--toc-fade-top),#000 calc(100% - var(--toc-fade-bottom)),transparent),linear-gradient(#000,#000),linear-gradient(#000,#000); mask-size: 100% 100%,12px 100%,12px 100%; mask-position: center,left,right; mask-repeat: no-repeat; }
  .docs-layout .toc::-webkit-scrollbar { width: 8px; background: transparent; }
  .docs-layout .toc::-webkit-scrollbar-track, .docs-layout .toc::-webkit-scrollbar-corner { background: transparent; border: 0; box-shadow: none; }
  .docs-layout .toc::-webkit-scrollbar-button { display: none; }
  .docs-layout .toc::-webkit-scrollbar-thumb { background: var(--docs-toc-thumb); border: 2px solid transparent; border-radius: var(--oc-radius-round); background-clip: padding-box; }
  .docs-layout .toc.can-scroll-up { --toc-fade-top: 28px; }
  .docs-layout .toc.can-scroll-down { --toc-fade-bottom: var(--toc-fade-distance); }
  .docs-layout .toc:has(:focus-visible) { mask-image: none; }
}
/* Opt into the custom thumb where supported; standard scrollbar properties take precedence otherwise. */
@supports selector(::-webkit-scrollbar) {
  @media (min-width:1281px) {
    .docs-layout .toc { scrollbar-width: auto; scrollbar-color: auto; }
  }
}
@media (min-width:1281px) and (hover:hover) and (pointer:fine) {
  .docs-layout .toc { --docs-toc-thumb: transparent; transition: --docs-toc-thumb var(--oc-duration-ui) ease; }
  .docs-layout .toc:hover { --docs-toc-thumb: color-mix(in srgb,var(--muted) 42%,transparent); transition-duration: var(--oc-duration-fast); }
  .docs-layout .toc:has(:focus-visible) { --docs-toc-thumb: color-mix(in srgb,var(--muted) 42%,transparent); transition-duration: 0s; }
}
@media (min-width:1281px) and (forced-colors:active) {
  .docs-layout .toc { scrollbar-color: auto; mask-image: none; }
}
.docs-sidebar-levels[data-level="section"] .docs-sidebar-directory,
.docs-sidebar-levels[data-level="directory"] .docs-sidebar-context { position: absolute; inset-block-start: 0; max-height: 100%; overflow: hidden; visibility: hidden; opacity: 0; pointer-events: none; transition: opacity 180ms var(--oc-ease-out), transform 180ms var(--oc-ease-out), visibility 0s 180ms; }
.docs-sidebar-levels[data-level="section"] .docs-sidebar-directory { transform: translateX(-12px); }
.docs-sidebar-levels[data-level="directory"] .docs-sidebar-context { transform: translateX(12px); }
:root[dir="rtl"] .docs-sidebar-levels[data-level="section"] .docs-sidebar-directory { transform: translateX(12px); }
:root[dir="rtl"] .docs-sidebar-levels[data-level="directory"] .docs-sidebar-context { transform: translateX(-12px); }
.docs-sidebar-levels[data-instant="true"] > * { transition: none; }
.docs-section-trigger, .docs-sidebar-back { display: flex; align-items: center; gap: 10px; width: 100%; border: 0; border-radius: var(--oc-radius-control); padding: 10px; color: var(--docs-muted); background: transparent; font: 400 13px/1.4 var(--oc-font-body); text-align: start; cursor: pointer; }
.docs-section-trigger { min-height: 38px; padding-block: 8px; font-size: 14px; line-height: 22px; }
.docs-section-trigger .icon { width: 12px; min-width: 12px; height: 12px; flex: 0 0 12px; margin-inline-start: auto; transform: rotate(-90deg); color: var(--muted); opacity: .42; stroke-width: 1.5; }
:root[dir="rtl"] .docs-section-trigger .icon { transform: rotate(90deg); }
.docs-section-trigger[aria-current="true"] { color: var(--ink); font-weight: 600; }
.docs-sidebar-back { flex-shrink: 0; width: calc(100% - var(--docs-sidebar-inset-end)); margin-block: 16px; background: var(--docs-surface); box-shadow: var(--docs-surface-shadow); color: var(--ink); font-size: 14px; font-weight: 600; }
:root[data-theme="light"] .docs-layout .docs-sidebar-back { border: 1px solid var(--docs-border); }
.docs-sidebar-back svg { width: 16px; height: 16px; flex: 0 0 16px; }
:root[dir="rtl"] .docs-sidebar-back svg { transform: rotate(180deg); }
.docs-sidebar-levels .docs-section > summary { display: none; }
.docs-layout .docs-sidebar-levels .docs-section-pages { margin: 0; padding: 0; border: 0; }
.docs-layout .docs-sidebar-levels .docs-section-pages .nav-section { padding: 0; margin: 0; }
.docs-layout .docs-sidebar-levels .docs-section-pages .nav-section + .nav-section { margin-block-start: 28px; }
.docs-layout .docs-sidebar-levels .docs-section-pages .nav-link { margin-block: 0; padding: 7px 10px; min-height: 36px; font-size: 14px; line-height: 22px; }
.docs-layout .docs-sidebar-levels .docs-section-pages .nav-section > .nav-link { margin-inline: 0; }
.docs-layout .docs-sidebar-levels .docs-section-pages .nav-link.active { color: var(--brand); font-weight: 600; }
.docs-layout .docs-section-pages :is(.nav-section, .nav-nested) > summary > h2 { margin: 0; padding: 0; color: inherit; font: inherit; letter-spacing: 0; text-transform: none; }
.docs-section-trigger:focus-visible > .icon, .docs-layout :is(.nav-section, .nav-nested) > summary:focus-visible > .icon { opacity: .85; }
@media (hover:hover) and (pointer:fine) {
  .docs-section-trigger:hover, .docs-sidebar-back:hover, .docs-layout :is(.nav-section, .nav-nested) > summary:hover { color: var(--ink); background: var(--paper); }
  .docs-section-trigger:hover > .icon, .docs-layout :is(.nav-section, .nav-nested) > summary:hover > .icon { opacity: .75; }}
@media (prefers-reduced-motion:reduce) { .docs-sidebar-levels > * { transition: none !important; transform: none !important; }}
@media (max-width:1100px) {
  .docs-layout .home-quick-links .oc-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .docs-layout .home-quick-links .oc-card:nth-child(3) { border-inline-start: 0; }
  .docs-layout .home-quick-links .oc-card:nth-child(n+3) { border-top: 1px solid var(--docs-border); }
  .home-guide-grid { gap: 12px; }
  .home-guide-copy { padding: 18px 2px 0; }
  .home-guide-copy h3 { font-size: 16px; }}
@media (max-width:820px) {
  .docs-layout .sidebar:has(.docs-sidebar-levels) { height: 100dvh; }
  .docs-section-trigger, .docs-sidebar-back, .docs-layout :is(.nav-section, .nav-nested) > summary { min-height: 44px; }
  .home-community-link > .icon { margin-bottom: 16px; }
  .doc .home-community-link { padding: 20px; }}
@media (max-width:580px) {
  .docs-layout .home-quick-links .oc-card-grid { grid-template-columns: 1fr; }
  .docs-layout .home-quick-links .oc-card { display: grid; grid-template-columns: 32px minmax(0,1fr); align-items: start; min-height: 0; gap: 12px; border-inline-start: 0; padding: 18px; }
  .docs-layout .home-quick-links .oc-card:first-child { border-start-end-radius: inherit; }
  .docs-layout .home-quick-links .oc-card:last-child { border-end-start-radius: inherit; }
  .docs-layout .home-quick-links .oc-card + .oc-card { border-top: 1px solid var(--docs-border); }
  .docs-layout .home-quick-links .oc-card > .oc-card-icon { width: 32px; height: 32px; padding: 6px; margin: 0; }
  .docs-layout .home-quick-links .oc-card > div > strong:first-child { margin: 3px 0 0; line-height: 26px; }
  .docs-layout .home-quick-links .oc-card p { margin: 6px 0 0; line-height: 1.55; }
  .home-guide-grid, .home-community-grid { grid-template-columns: 1fr; }
  .home-guide-copy { padding: 22px; }
  .home-section-heading { gap: 12px; }
  .home-section-heading .home-text-link { white-space: nowrap; }}
@container community (max-width:640px) {
  .home-discord { grid-template-columns: 1fr; }
  .home-discord-copy { padding: 8px 24px 28px; }
  .docs-layout .home-discord-copy h3 { font-size: 23px; }
  .home-discord-art, :root[dir="rtl"] .home-discord-art { grid-row: 1; aspect-ratio: 1.7; mask-image: linear-gradient(180deg,#000 72%,transparent); }}

/* A quiet, reachable launcher shared by desktop and mobile. */
.docs-layout .docs-chat-launcher { min-height: 44px; height: 44px; gap: 8px; padding: 0 14px 0 9px; border-color: color-mix(in srgb,var(--ink) 14%,var(--paper)); border-radius: 14px; background: var(--paper); font: 600 14px/1 var(--oc-font-body); box-shadow: 0 2px 8px #0001,0 6px 24px #0001; }
.docs-layout .docs-chat-launcher .docs-chat-avatar { width: 26px; height: 26px; }
.docs-layout .docs-chat-launcher:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.docs-layout .docs-chat-launcher:active { transform: scale(.97); }
@media (hover:hover) and (pointer:fine) {
  .docs-layout .docs-chat-launcher:hover { border-color: color-mix(in srgb,var(--ink) 30%,var(--paper)); background: color-mix(in srgb,var(--ink) 4%,var(--paper)); }}
@media (min-width:821px) {
  .docs-layout:dir(rtl) :is(.docs-sidebar-directory, .docs-sidebar-context > .docs-sections) { padding-block-end: 88px; }
}

.docs-layout :is(.docs-section > summary,.docs-section-trigger):has(.release-nav-version) { gap:8px; }
.docs-layout .release-nav-version { display:inline-flex; align-items:center; gap:5px; flex:none; margin-inline-start:auto; padding:3px 5px; border-radius:5px; background:var(--oc-status-success-bg); color:var(--oc-status-success-fg); font:10px/1.3 var(--oc-font-mono); white-space:nowrap; }
.docs-layout :is(.docs-section > summary,.docs-section-trigger):has(.release-nav-version) > .icon { margin-inline-start:0; }
.release-nav-version i, .release-entry-badge i, .release-strip-heading > i { display:inline-block; width:5px; height:5px; flex:0 0 5px; border-radius:50%; background:var(--oc-status-success-fg); }
.docs-layout .nav-link:has(.release-entry-badge) { display:flex; align-items:center; gap:8px; }
.release-entry-badge { display:inline-flex; align-items:center; gap:5px; padding:1px 5px; border-radius:4px; color:var(--oc-status-success-fg); background:var(--oc-status-success-bg); font:500 10px/1.5 var(--oc-font-body); }
/* Keep the release announcement a single compact row at every width. */
.docs-layout .doc .release-strip { position:relative; isolation:isolate; container:release-strip / inline-size; display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:44px; margin:0 0 24px; padding:10px 16px; border:1px solid var(--docs-border); border-radius:var(--oc-radius-lg); background:var(--docs-surface); color:var(--ink); text-decoration:none; box-shadow:var(--docs-surface-shadow); }
.release-strip-body { position:relative; z-index:1; display:flex; align-items:center; gap:20px; min-width:0; }
.release-strip-heading { display:flex; align-items:center; gap:8px; flex:none; font:400 13px/1.5 var(--oc-font-body); white-space:nowrap; }
.release-strip-label { color:var(--docs-muted); }
.release-strip-version { color:var(--ink); font-weight:500; }
.release-strip-summary { display:none; color:var(--docs-muted); font:400 14px/1.5 var(--oc-font-body); text-wrap:pretty; min-width:0; }
.release-strip-action { position:relative; z-index:1; display:inline-flex; align-items:center; gap:8px; flex:none; font:500 12px/1.5 var(--oc-font-body); color:var(--ink); white-space:nowrap; }
.release-strip-action-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.release-strip-action svg { width:14px; height:14px; flex:0 0 14px; color:var(--ink); opacity:.48; transition:opacity 160ms ease; }
.docs-layout .doc .release-strip::before { content:""; position:absolute; inset:1px; border-radius:calc(var(--oc-radius-lg) - 1px); corner-shape:inherit; background:var(--ink); opacity:0; pointer-events:none; transition:opacity 160ms ease; }
.docs-layout .doc .release-strip:focus-visible { outline:2px solid var(--brand); outline-offset:3px; }
@media (hover:hover) and (pointer:fine) {
 .docs-layout .doc .release-strip:hover { border-color:var(--docs-border); color:var(--ink); }
 .docs-layout .doc .release-strip:hover::before { opacity:.025; }
 .release-strip:hover .release-strip-action svg { opacity:.85; }
}
@media (prefers-reduced-motion:reduce) {
 .docs-layout .doc .release-strip::before, .release-strip-action svg { transition-duration:100ms; }
}
@container release-strip (min-width:500px) {
 .release-strip-action-label { position:static; width:auto; height:auto; overflow:visible; clip-path:none; }
}
@container release-strip (min-width:900px) {
 .release-strip-summary { display:block; }
}
.release-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }

