:root,[data-color-mode=light][data-light-theme=light],[data-color-mode=dark][data-dark-theme=light]{--color-canvas-default-transparent:rgba(255,255,255,0);--color-prettylights-syntax-comment:#57606a;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-entity:#6639ba;--color-prettylights-syntax-storage-modifier-import:#24292f;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-variable:#953800;--color-prettylights-syntax-string-regexp:#116329;--color-prettylights-syntax-markup-deleted-text:#82071e;--color-prettylights-syntax-markup-deleted-bg:#ffebe9;--color-prettylights-syntax-markup-inserted-text:#116329;--color-prettylights-syntax-markup-inserted-bg:#dafbe1;--color-prettylights-syntax-constant-other-reference-link:#0a3069;--color-fg-default:#1f2328;--color-fg-muted:#656d76;--color-canvas-default:#fff;--color-canvas-subtle:#f6f8fa;--color-border-default:#d0d7de;--color-border-muted:#d8dee4;--color-neutral-muted:rgba(175,184,193,.2);--color-accent-fg:#0969da;--color-accent-emphasis:#0969da;--color-danger-fg:#d1242f}:root::selection{--color-canvas-default-transparent:rgba(255,255,255,0);--color-prettylights-syntax-comment:#57606a;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-entity:#6639ba;--color-prettylights-syntax-storage-modifier-import:#24292f;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-variable:#953800;--color-prettylights-syntax-string-regexp:#116329;--color-prettylights-syntax-markup-deleted-text:#82071e;--color-prettylights-syntax-markup-deleted-bg:#ffebe9;--color-prettylights-syntax-markup-inserted-text:#116329;--color-prettylights-syntax-markup-inserted-bg:#dafbe1;--color-prettylights-syntax-constant-other-reference-link:#0a3069;--color-fg-default:#1f2328;--color-fg-muted:#656d76;--color-canvas-default:#fff;--color-canvas-subtle:#f6f8fa;--color-border-default:#d0d7de;--color-border-muted:#d8dee4;--color-neutral-muted:rgba(175,184,193,.2);--color-accent-fg:#0969da;--color-accent-emphasis:#0969da;--color-danger-fg:#d1242f}[data-color-mode=light][data-light-theme=light]::selection{--color-canvas-default-transparent:rgba(255,255,255,0);--color-prettylights-syntax-comment:#57606a;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-entity:#6639ba;--color-prettylights-syntax-storage-modifier-import:#24292f;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-variable:#953800;--color-prettylights-syntax-string-regexp:#116329;--color-prettylights-syntax-markup-deleted-text:#82071e;--color-prettylights-syntax-markup-deleted-bg:#ffebe9;--color-prettylights-syntax-markup-inserted-text:#116329;--color-prettylights-syntax-markup-inserted-bg:#dafbe1;--color-prettylights-syntax-constant-other-reference-link:#0a3069;--color-fg-default:#1f2328;--color-fg-muted:#656d76;--color-canvas-default:#fff;--color-canvas-subtle:#f6f8fa;--color-border-default:#d0d7de;--color-border-muted:#d8dee4;--color-neutral-muted:rgba(175,184,193,.2);--color-accent-fg:#0969da;--color-accent-emphasis:#0969da;--color-danger-fg:#d1242f}[data-color-mode=dark][data-dark-theme=light]::selection{--color-canvas-default-transparent:rgba(255,255,255,0);--color-prettylights-syntax-comment:#57606a;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-entity:#6639ba;--color-prettylights-syntax-storage-modifier-import:#24292f;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-variable:#953800;--color-prettylights-syntax-string-regexp:#116329;--color-prettylights-syntax-markup-deleted-text:#82071e;--color-prettylights-syntax-markup-deleted-bg:#ffebe9;--color-prettylights-syntax-markup-inserted-text:#116329;--color-prettylights-syntax-markup-inserted-bg:#dafbe1;--color-prettylights-syntax-constant-other-reference-link:#0a3069;--color-fg-default:#1f2328;--color-fg-muted:#656d76;--color-canvas-default:#fff;--color-canvas-subtle:#f6f8fa;--color-border-default:#d0d7de;--color-border-muted:#d8dee4;--color-neutral-muted:rgba(175,184,193,.2);--color-accent-fg:#0969da;--color-accent-emphasis:#0969da;--color-danger-fg:#d1242f}[data-color-mode=light][data-light-theme=light] ::-webkit-backdrop{--color-canvas-default-transparent:rgba(255,255,255,0);--color-prettylights-syntax-comment:#57606a;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-entity:#6639ba;--color-prettylights-syntax-storage-modifier-import:#24292f;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-variable:#953800;--color-prettylights-syntax-string-regexp:#116329;--color-prettylights-syntax-markup-deleted-text:#82071e;--color-prettylights-syntax-markup-deleted-bg:#ffebe9;--color-prettylights-syntax-markup-inserted-text:#116329;--color-prettylights-syntax-markup-inserted-bg:#dafbe1;--color-prettylights-syntax-constant-other-reference-link:#0a3069;--color-fg-default:#1f2328;--color-fg-muted:#656d76;--color-canvas-default:#fff;--color-canvas-subtle:#f6f8fa;--color-border-default:#d0d7de;--color-border-muted:#d8dee4;--color-neutral-muted:rgba(175,184,193,.2);--color-accent-fg:#0969da;--color-accent-emphasis:#0969da;--color-danger-fg:#d1242f}[data-color-mode=light][data-light-theme=light] ::backdrop{--color-canvas-default-transparent:rgba(255,255,255,0);--color-prettylights-syntax-comment:#57606a;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-entity:#6639ba;--color-prettylights-syntax-storage-modifier-import:#24292f;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-variable:#953800;--color-prettylights-syntax-string-regexp:#116329;--color-prettylights-syntax-markup-deleted-text:#82071e;--color-prettylights-syntax-markup-deleted-bg:#ffebe9;--color-prettylights-syntax-markup-inserted-text:#116329;--color-prettylights-syntax-markup-inserted-bg:#dafbe1;--color-prettylights-syntax-constant-other-reference-link:#0a3069;--color-fg-default:#1f2328;--color-fg-muted:#656d76;--color-canvas-default:#fff;--color-canvas-subtle:#f6f8fa;--color-border-default:#d0d7de;--color-border-muted:#d8dee4;--color-neutral-muted:rgba(175,184,193,.2);--color-accent-fg:#0969da;--color-accent-emphasis:#0969da;--color-danger-fg:#d1242f}[data-color-mode=dark][data-dark-theme=light] ::-webkit-backdrop{--color-canvas-default-transparent:rgba(255,255,255,0);--color-prettylights-syntax-comment:#57606a;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-entity:#6639ba;--color-prettylights-syntax-storage-modifier-import:#24292f;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-variable:#953800;--color-prettylights-syntax-string-regexp:#116329;--color-prettylights-syntax-markup-deleted-text:#82071e;--color-prettylights-syntax-markup-deleted-bg:#ffebe9;--color-prettylights-syntax-markup-inserted-text:#116329;--color-prettylights-syntax-markup-inserted-bg:#dafbe1;--color-prettylights-syntax-constant-other-reference-link:#0a3069;--color-fg-default:#1f2328;--color-fg-muted:#656d76;--color-canvas-default:#fff;--color-canvas-subtle:#f6f8fa;--color-border-default:#d0d7de;--color-border-muted:#d8dee4;--color-neutral-muted:rgba(175,184,193,.2);--color-accent-fg:#0969da;--color-accent-emphasis:#0969da;--color-danger-fg:#d1242f}[data-color-mode=dark][data-dark-theme=light] ::backdrop{--color-canvas-default-transparent:rgba(255,255,255,0);--color-prettylights-syntax-comment:#57606a;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-entity:#6639ba;--color-prettylights-syntax-storage-modifier-import:#24292f;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-variable:#953800;--color-prettylights-syntax-string-regexp:#116329;--color-prettylights-syntax-markup-deleted-text:#82071e;--color-prettylights-syntax-markup-deleted-bg:#ffebe9;--color-prettylights-syntax-markup-inserted-text:#116329;--color-prettylights-syntax-markup-inserted-bg:#dafbe1;--color-prettylights-syntax-constant-other-reference-link:#0a3069;--color-fg-default:#1f2328;--color-fg-muted:#656d76;--color-canvas-default:#fff;--color-canvas-subtle:#f6f8fa;--color-border-default:#d0d7de;--color-border-muted:#d8dee4;--color-neutral-muted:rgba(175,184,193,.2);--color-accent-fg:#0969da;--color-accent-emphasis:#0969da;--color-danger-fg:#d1242f}@media (prefers-color-scheme:light){[data-color-mode=auto][data-light-theme=light]{--color-canvas-default-transparent:rgba(255,255,255,0);--color-prettylights-syntax-comment:#57606a;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-entity:#6639ba;--color-prettylights-syntax-storage-modifier-import:#24292f;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-variable:#953800;--color-prettylights-syntax-string-regexp:#116329;--color-prettylights-syntax-markup-deleted-text:#82071e;--color-prettylights-syntax-markup-deleted-bg:#ffebe9;--color-prettylights-syntax-markup-inserted-text:#116329;--color-prettylights-syntax-markup-inserted-bg:#dafbe1;--color-prettylights-syntax-constant-other-reference-link:#0a3069;--color-fg-default:#1f2328;--color-fg-muted:#656d76;--color-canvas-default:#fff;--color-canvas-subtle:#f6f8fa;--color-border-default:#d0d7de;--color-border-muted:#d8dee4;--color-neutral-muted:rgba(175,184,193,.2);--color-accent-fg:#0969da;--color-accent-emphasis:#0969da;--color-danger-fg:#d1242f}[data-color-mode=auto][data-light-theme=light]::selection{--color-canvas-default-transparent:rgba(255,255,255,0);--color-prettylights-syntax-comment:#57606a;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-entity:#6639ba;--color-prettylights-syntax-storage-modifier-import:#24292f;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-variable:#953800;--color-prettylights-syntax-string-regexp:#116329;--color-prettylights-syntax-markup-deleted-text:#82071e;--color-prettylights-syntax-markup-deleted-bg:#ffebe9;--color-prettylights-syntax-markup-inserted-text:#116329;--color-prettylights-syntax-markup-inserted-bg:#dafbe1;--color-prettylights-syntax-constant-other-reference-link:#0a3069;--color-fg-default:#1f2328;--color-fg-muted:#656d76;--color-canvas-default:#fff;--color-canvas-subtle:#f6f8fa;--color-border-default:#d0d7de;--color-border-muted:#d8dee4;--color-neutral-muted:rgba(175,184,193,.2);--color-accent-fg:#0969da;--color-accent-emphasis:#0969da;--color-danger-fg:#d1242f}[data-color-mode=auto][data-light-theme=light] ::-webkit-backdrop{--color-canvas-default-transparent:rgba(255,255,255,0);--color-prettylights-syntax-comment:#57606a;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-entity:#6639ba;--color-prettylights-syntax-storage-modifier-import:#24292f;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-variable:#953800;--color-prettylights-syntax-string-regexp:#116329;--color-prettylights-syntax-markup-deleted-text:#82071e;--color-prettylights-syntax-markup-deleted-bg:#ffebe9;--color-prettylights-syntax-markup-inserted-text:#116329;--color-prettylights-syntax-markup-inserted-bg:#dafbe1;--color-prettylights-syntax-constant-other-reference-link:#0a3069;--color-fg-default:#1f2328;--color-fg-muted:#656d76;--color-canvas-default:#fff;--color-canvas-subtle:#f6f8fa;--color-border-default:#d0d7de;--color-border-muted:#d8dee4;--color-neutral-muted:rgba(175,184,193,.2);--color-accent-fg:#0969da;--color-accent-emphasis:#0969da;--color-danger-fg:#d1242f}[data-color-mode=auto][data-light-theme=light] ::backdrop{--color-canvas-default-transparent:rgba(255,255,255,0);--color-prettylights-syntax-comment:#57606a;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-entity:#6639ba;--color-prettylights-syntax-storage-modifier-import:#24292f;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-variable:#953800;--color-prettylights-syntax-string-regexp:#116329;--color-prettylights-syntax-markup-deleted-text:#82071e;--color-prettylights-syntax-markup-deleted-bg:#ffebe9;--color-prettylights-syntax-markup-inserted-text:#116329;--color-prettylights-syntax-markup-inserted-bg:#dafbe1;--color-prettylights-syntax-constant-other-reference-link:#0a3069;--color-fg-default:#1f2328;--color-fg-muted:#656d76;--color-canvas-default:#fff;--color-canvas-subtle:#f6f8fa;--color-border-default:#d0d7de;--color-border-muted:#d8dee4;--color-neutral-muted:rgba(175,184,193,.2);--color-accent-fg:#0969da;--color-accent-emphasis:#0969da;--color-danger-fg:#d1242f}}@media (prefers-color-scheme:dark){[data-color-mode=auto][data-dark-theme=light]{--color-canvas-default-transparent:rgba(255,255,255,0);--color-prettylights-syntax-comment:#57606a;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-entity:#6639ba;--color-prettylights-syntax-storage-modifier-import:#24292f;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-variable:#953800;--color-prettylights-syntax-string-regexp:#116329;--color-prettylights-syntax-markup-deleted-text:#82071e;--color-prettylights-syntax-markup-deleted-bg:#ffebe9;--color-prettylights-syntax-markup-inserted-text:#116329;--color-prettylights-syntax-markup-inserted-bg:#dafbe1;--color-prettylights-syntax-constant-other-reference-link:#0a3069;--color-fg-default:#1f2328;--color-fg-muted:#656d76;--color-canvas-default:#fff;--color-canvas-subtle:#f6f8fa;--color-border-default:#d0d7de;--color-border-muted:#d8dee4;--color-neutral-muted:rgba(175,184,193,.2);--color-accent-fg:#0969da;--color-accent-emphasis:#0969da;--color-danger-fg:#d1242f}[data-color-mode=auto][data-dark-theme=light]::selection{--color-canvas-default-transparent:rgba(255,255,255,0);--color-prettylights-syntax-comment:#57606a;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-entity:#6639ba;--color-prettylights-syntax-storage-modifier-import:#24292f;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-variable:#953800;--color-prettylights-syntax-string-regexp:#116329;--color-prettylights-syntax-markup-deleted-text:#82071e;--color-prettylights-syntax-markup-deleted-bg:#ffebe9;--color-prettylights-syntax-markup-inserted-text:#116329;--color-prettylights-syntax-markup-inserted-bg:#dafbe1;--color-prettylights-syntax-constant-other-reference-link:#0a3069;--color-fg-default:#1f2328;--color-fg-muted:#656d76;--color-canvas-default:#fff;--color-canvas-subtle:#f6f8fa;--color-border-default:#d0d7de;--color-border-muted:#d8dee4;--color-neutral-muted:rgba(175,184,193,.2);--color-accent-fg:#0969da;--color-accent-emphasis:#0969da;--color-danger-fg:#d1242f}[data-color-mode=auto][data-light-theme=light] ::-webkit-backdrop{--color-canvas-default-transparent:rgba(255,255,255,0);--color-prettylights-syntax-comment:#57606a;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-entity:#6639ba;--color-prettylights-syntax-storage-modifier-import:#24292f;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-variable:#953800;--color-prettylights-syntax-string-regexp:#116329;--color-prettylights-syntax-markup-deleted-text:#82071e;--color-prettylights-syntax-markup-deleted-bg:#ffebe9;--color-prettylights-syntax-markup-inserted-text:#116329;--color-prettylights-syntax-markup-inserted-bg:#dafbe1;--color-prettylights-syntax-constant-other-reference-link:#0a3069;--color-fg-default:#1f2328;--color-fg-muted:#656d76;--color-canvas-default:#fff;--color-canvas-subtle:#f6f8fa;--color-border-default:#d0d7de;--color-border-muted:#d8dee4;--color-neutral-muted:rgba(175,184,193,.2);--color-accent-fg:#0969da;--color-accent-emphasis:#0969da;--color-danger-fg:#d1242f}[data-color-mode=auto][data-light-theme=light] ::backdrop{--color-canvas-default-transparent:rgba(255,255,255,0);--color-prettylights-syntax-comment:#57606a;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-entity:#6639ba;--color-prettylights-syntax-storage-modifier-import:#24292f;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-variable:#953800;--color-prettylights-syntax-string-regexp:#116329;--color-prettylights-syntax-markup-deleted-text:#82071e;--color-prettylights-syntax-markup-deleted-bg:#ffebe9;--color-prettylights-syntax-markup-inserted-text:#116329;--color-prettylights-syntax-markup-inserted-bg:#dafbe1;--color-prettylights-syntax-constant-other-reference-link:#0a3069;--color-fg-default:#1f2328;--color-fg-muted:#656d76;--color-canvas-default:#fff;--color-canvas-subtle:#f6f8fa;--color-border-default:#d0d7de;--color-border-muted:#d8dee4;--color-neutral-muted:rgba(175,184,193,.2);--color-accent-fg:#0969da;--color-accent-emphasis:#0969da;--color-danger-fg:#d1242f}}[data-color-mode=light][data-light-theme=dark],[data-color-mode=dark][data-dark-theme=dark]{--color-canvas-default-transparent:rgba(13,17,23,0);--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-fg-default:#e6edf3;--color-fg-muted:#848d97;--color-canvas-default:#0d1117;--color-canvas-subtle:#161b22;--color-border-default:#30363d;--color-border-muted:#21262d;--color-neutral-muted:rgba(110,118,129,.4);--color-accent-fg:#2f81f7;--color-accent-emphasis:#1f6feb;--color-danger-fg:#f85149}[data-color-mode=light][data-light-theme=dark]::selection{--color-canvas-default-transparent:rgba(13,17,23,0);--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-fg-default:#e6edf3;--color-fg-muted:#848d97;--color-canvas-default:#0d1117;--color-canvas-subtle:#161b22;--color-border-default:#30363d;--color-border-muted:#21262d;--color-neutral-muted:rgba(110,118,129,.4);--color-accent-fg:#2f81f7;--color-accent-emphasis:#1f6feb;--color-danger-fg:#f85149}[data-color-mode=dark][data-dark-theme=dark]::selection{--color-canvas-default-transparent:rgba(13,17,23,0);--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-fg-default:#e6edf3;--color-fg-muted:#848d97;--color-canvas-default:#0d1117;--color-canvas-subtle:#161b22;--color-border-default:#30363d;--color-border-muted:#21262d;--color-neutral-muted:rgba(110,118,129,.4);--color-accent-fg:#2f81f7;--color-accent-emphasis:#1f6feb;--color-danger-fg:#f85149}::-webkit-backdrop{--color-canvas-default-transparent:rgba(13,17,23,0);--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-fg-default:#e6edf3;--color-fg-muted:#848d97;--color-canvas-default:#0d1117;--color-canvas-subtle:#161b22;--color-border-default:#30363d;--color-border-muted:#21262d;--color-neutral-muted:rgba(110,118,129,.4);--color-accent-fg:#2f81f7;--color-accent-emphasis:#1f6feb;--color-danger-fg:#f85149}::backdrop{--color-canvas-default-transparent:rgba(13,17,23,0);--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-fg-default:#e6edf3;--color-fg-muted:#848d97;--color-canvas-default:#0d1117;--color-canvas-subtle:#161b22;--color-border-default:#30363d;--color-border-muted:#21262d;--color-neutral-muted:rgba(110,118,129,.4);--color-accent-fg:#2f81f7;--color-accent-emphasis:#1f6feb;--color-danger-fg:#f85149}[data-color-mode=light][data-light-theme=dark] ::-webkit-backdrop{--color-canvas-default-transparent:rgba(13,17,23,0);--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-fg-default:#e6edf3;--color-fg-muted:#848d97;--color-canvas-default:#0d1117;--color-canvas-subtle:#161b22;--color-border-default:#30363d;--color-border-muted:#21262d;--color-neutral-muted:rgba(110,118,129,.4);--color-accent-fg:#2f81f7;--color-accent-emphasis:#1f6feb;--color-danger-fg:#f85149}[data-color-mode=light][data-light-theme=dark] ::backdrop{--color-canvas-default-transparent:rgba(13,17,23,0);--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-fg-default:#e6edf3;--color-fg-muted:#848d97;--color-canvas-default:#0d1117;--color-canvas-subtle:#161b22;--color-border-default:#30363d;--color-border-muted:#21262d;--color-neutral-muted:rgba(110,118,129,.4);--color-accent-fg:#2f81f7;--color-accent-emphasis:#1f6feb;--color-danger-fg:#f85149}[data-color-mode=dark][data-dark-theme=dark] ::-webkit-backdrop{--color-canvas-default-transparent:rgba(13,17,23,0);--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-fg-default:#e6edf3;--color-fg-muted:#848d97;--color-canvas-default:#0d1117;--color-canvas-subtle:#161b22;--color-border-default:#30363d;--color-border-muted:#21262d;--color-neutral-muted:rgba(110,118,129,.4);--color-accent-fg:#2f81f7;--color-accent-emphasis:#1f6feb;--color-danger-fg:#f85149}[data-color-mode=dark][data-dark-theme=dark] ::backdrop{--color-canvas-default-transparent:rgba(13,17,23,0);--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-fg-default:#e6edf3;--color-fg-muted:#848d97;--color-canvas-default:#0d1117;--color-canvas-subtle:#161b22;--color-border-default:#30363d;--color-border-muted:#21262d;--color-neutral-muted:rgba(110,118,129,.4);--color-accent-fg:#2f81f7;--color-accent-emphasis:#1f6feb;--color-danger-fg:#f85149}@media (prefers-color-scheme:light){[data-color-mode=auto][data-light-theme=dark]{--color-canvas-default-transparent:rgba(13,17,23,0);--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-fg-default:#e6edf3;--color-fg-muted:#848d97;--color-canvas-default:#0d1117;--color-canvas-subtle:#161b22;--color-border-default:#30363d;--color-border-muted:#21262d;--color-neutral-muted:rgba(110,118,129,.4);--color-accent-fg:#2f81f7;--color-accent-emphasis:#1f6feb;--color-danger-fg:#f85149}[data-color-mode=auto][data-light-theme=dark]::selection{--color-canvas-default-transparent:rgba(13,17,23,0);--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-fg-default:#e6edf3;--color-fg-muted:#848d97;--color-canvas-default:#0d1117;--color-canvas-subtle:#161b22;--color-border-default:#30363d;--color-border-muted:#21262d;--color-neutral-muted:rgba(110,118,129,.4);--color-accent-fg:#2f81f7;--color-accent-emphasis:#1f6feb;--color-danger-fg:#f85149}[data-color-mode=auto][data-light-theme=dark] ::-webkit-backdrop{--color-canvas-default-transparent:rgba(13,17,23,0);--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-fg-default:#e6edf3;--color-fg-muted:#848d97;--color-canvas-default:#0d1117;--color-canvas-subtle:#161b22;--color-border-default:#30363d;--color-border-muted:#21262d;--color-neutral-muted:rgba(110,118,129,.4);--color-accent-fg:#2f81f7;--color-accent-emphasis:#1f6feb;--color-danger-fg:#f85149}[data-color-mode=auto][data-light-theme=dark] ::backdrop{--color-canvas-default-transparent:rgba(13,17,23,0);--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-fg-default:#e6edf3;--color-fg-muted:#848d97;--color-canvas-default:#0d1117;--color-canvas-subtle:#161b22;--color-border-default:#30363d;--color-border-muted:#21262d;--color-neutral-muted:rgba(110,118,129,.4);--color-accent-fg:#2f81f7;--color-accent-emphasis:#1f6feb;--color-danger-fg:#f85149}}@media (prefers-color-scheme:dark){[data-color-mode=auto][data-dark-theme=dark]{--color-canvas-default-transparent:rgba(13,17,23,0);--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-fg-default:#e6edf3;--color-fg-muted:#848d97;--color-canvas-default:#0d1117;--color-canvas-subtle:#161b22;--color-border-default:#30363d;--color-border-muted:#21262d;--color-neutral-muted:rgba(110,118,129,.4);--color-accent-fg:#2f81f7;--color-accent-emphasis:#1f6feb;--color-danger-fg:#f85149}[data-color-mode=auto][data-dark-theme=dark]::selection{--color-canvas-default-transparent:rgba(13,17,23,0);--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-fg-default:#e6edf3;--color-fg-muted:#848d97;--color-canvas-default:#0d1117;--color-canvas-subtle:#161b22;--color-border-default:#30363d;--color-border-muted:#21262d;--color-neutral-muted:rgba(110,118,129,.4);--color-accent-fg:#2f81f7;--color-accent-emphasis:#1f6feb;--color-danger-fg:#f85149}[data-color-mode=auto][data-light-theme=dark] ::-webkit-backdrop{--color-canvas-default-transparent:rgba(13,17,23,0);--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-fg-default:#e6edf3;--color-fg-muted:#848d97;--color-canvas-default:#0d1117;--color-canvas-subtle:#161b22;--color-border-default:#30363d;--color-border-muted:#21262d;--color-neutral-muted:rgba(110,118,129,.4);--color-accent-fg:#2f81f7;--color-accent-emphasis:#1f6feb;--color-danger-fg:#f85149}[data-color-mode=auto][data-light-theme=dark] ::backdrop{--color-canvas-default-transparent:rgba(13,17,23,0);--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-fg-default:#e6edf3;--color-fg-muted:#848d97;--color-canvas-default:#0d1117;--color-canvas-subtle:#161b22;--color-border-default:#30363d;--color-border-muted:#21262d;--color-neutral-muted:rgba(110,118,129,.4);--color-accent-fg:#2f81f7;--color-accent-emphasis:#1f6feb;--color-danger-fg:#f85149}}.markdown-body{word-wrap:break-word;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;font-size:16px;line-height:1.5}.markdown-body:before{content:"";display:table}.markdown-body:after{clear:both;content:"";display:table}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:var(--fgColor-danger,var(--color-danger-fg))}.markdown-body .anchor{float:left;margin-left:-20px;padding-right:4px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:16px}.markdown-body hr{background-color:var(--borderColor-default,var(--color-border-default));border:0;height:.25em;margin:24px 0;padding:0}.markdown-body blockquote{color:var(--fgColor-muted,var(--color-fg-muted));border-left:.25em solid var(--borderColor-default,var(--color-border-default));padding:0 1em}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{font-weight:var(--base-text-weight-semibold,600);margin-top:24px;margin-bottom:16px;line-height:1.25}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:var(--fgColor-default,var(--color-fg-default));vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{font-size:inherit;padding:0 .2em}.markdown-body h1{border-bottom:1px solid var(--borderColor-muted,var(--color-border-muted));padding-bottom:.3em;font-size:2em}.markdown-body h2{border-bottom:1px solid var(--borderColor-muted,var(--color-border-muted));padding-bottom:.3em;font-size:1.5em}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:.875em}.markdown-body h6{color:var(--fgColor-muted,var(--color-fg-muted));font-size:.85em}.markdown-body summary h1,.markdown-body summary h2,.markdown-body summary h3,.markdown-body summary h4,.markdown-body summary h5,.markdown-body summary h6{display:inline-block}.markdown-body summary h1 .anchor,.markdown-body summary h2 .anchor,.markdown-body summary h3 .anchor,.markdown-body summary h4 .anchor,.markdown-body summary h5 .anchor,.markdown-body summary h6 .anchor{margin-left:-40px}.markdown-body summary h1,.markdown-body summary h2{border-bottom:0;padding-bottom:0}.markdown-body ul,.markdown-body ol{padding-left:2em}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ol[type=a s]{list-style-type:lower-alpha}.markdown-body ol[type=A s]{list-style-type:upper-alpha}.markdown-body ol[type=i s]{list-style-type:lower-roman}.markdown-body ol[type=I s]{list-style-type:upper-roman}.markdown-body ol[type="1"]{list-style-type:decimal}.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{font-size:1em;font-style:italic;font-weight:var(--base-text-weight-semibold,600);margin-top:16px;padding:0}.markdown-body dl dd{margin-bottom:16px;padding:0 16px}.markdown-body table{width:100%;width:max-content;max-width:100%;display:block;overflow:auto}.markdown-body table th{font-weight:var(--base-text-weight-semibold,600)}.markdown-body table th,.markdown-body table td{border:1px solid var(--borderColor-default,var(--color-border-default));padding:6px 13px}.markdown-body table td>:last-child{margin-bottom:0}.markdown-body table tr{background-color:var(--bgColor-default,var(--color-canvas-default));border-top:1px solid var(--borderColor-muted,var(--color-border-muted))}.markdown-body table tr:nth-child(2n){background-color:var(--bgColor-muted,var(--color-canvas-subtle))}.markdown-body table img{background-color:transparent}.markdown-body img{box-sizing:content-box;background-color:var(--bgColor-default,var(--color-canvas-default));max-width:100%}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{vertical-align:text-top;background-color:transparent;max-width:none}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{float:left;border:1px solid var(--borderColor-default,var(--color-border-default));width:auto;margin:13px 0 0;padding:7px;display:block;overflow:hidden}.markdown-body span.frame span img{float:left;display:block}.markdown-body span.frame span span{clear:both;color:var(--fgColor-default,var(--color-fg-default));padding:5px 0 0;display:block}.markdown-body span.align-center{clear:both;display:block;overflow:hidden}.markdown-body span.align-center>span{text-align:center;margin:13px auto 0;display:block;overflow:hidden}.markdown-body span.align-center span img{text-align:center;margin:0 auto}.markdown-body span.align-right{clear:both;display:block;overflow:hidden}.markdown-body span.align-right>span{text-align:right;margin:13px 0 0;display:block;overflow:hidden}.markdown-body span.align-right span img{text-align:right;margin:0}.markdown-body span.float-left{float:left;margin-right:13px;display:block;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{float:right;margin-left:13px;display:block;overflow:hidden}.markdown-body span.float-right>span{text-align:right;margin:13px auto 0;display:block;overflow:hidden}.markdown-body code,.markdown-body tt{white-space:break-spaces;background-color:var(--bgColor-neutral-muted,var(--color-neutral-muted));border-radius:6px;margin:0;padding:.2em .4em;font-size:85%}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}.markdown-body samp{font-size:85%}.markdown-body pre{word-wrap:normal}.markdown-body pre code{font-size:100%}.markdown-body pre>code{word-break:normal;white-space:pre;background:0 0;border:0;margin:0;padding:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{word-break:normal;margin-bottom:0}.markdown-body .highlight pre,.markdown-body pre{color:var(--fgColor-default,var(--color-fg-default));background-color:var(--bgColor-muted,var(--color-canvas-subtle));border-radius:6px;padding:16px;font-size:85%;line-height:1.45;overflow:auto}.markdown-body pre code,.markdown-body pre tt{max-width:auto;line-height:inherit;word-wrap:normal;background-color:transparent;border:0;margin:0;padding:0;display:inline;overflow:visible}.markdown-body .csv-data td,.markdown-body .csv-data th{text-align:left;white-space:nowrap;padding:5px;font-size:12px;line-height:1;overflow:hidden}.markdown-body .csv-data .blob-num{text-align:right;background:var(--bgColor-default,var(--color-canvas-default));border:0;padding:10px 8px 9px}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:var(--base-text-weight-semibold,600);background:var(--bgColor-muted,var(--color-canvas-subtle));border-top:0}.markdown-body [data-footnote-ref]:before{content:"["}.markdown-body [data-footnote-ref]:after{content:"]"}.markdown-body .footnotes{color:var(--fgColor-muted,var(--color-fg-muted));border-top:1px solid var(--borderColor-default,var(--color-border-default));font-size:12px}.markdown-body .footnotes ol{padding-left:16px}.markdown-body .footnotes ol ul{margin-top:16px;padding-left:16px;display:inline-block}.markdown-body .footnotes li{position:relative}.markdown-body .footnotes li:target:before{pointer-events:none;content:"";border:2px solid var(--borderColor-accent-emphasis,var(--color-accent-emphasis));border-radius:6px;position:absolute;top:-8px;bottom:-8px;left:-24px;right:-8px}.markdown-body .footnotes li:target{color:var(--fgColor-default,var(--color-fg-default))}.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.dark{--color-canvas-default-transparent:rgba(13,17,23,0);--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-fg-default:#e6edf3;--color-fg-muted:#848d97;--color-canvas-default:#0d1117;--color-canvas-subtle:#161b22;--color-border-default:#30363d;--color-border-muted:#21262d;--color-neutral-muted:rgba(110,118,129,.4);--color-accent-fg:#2f81f7;--color-accent-emphasis:#1f6feb;--color-danger-fg:#f85149}.markdown-body{background-color:var(--color-canvas-default);color:var(--color-fg-default)}.markdown-body a{color:var(--color-accent-fg);text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body img{display:inline}.markdown-body img[align=center]{margin:0 auto}.markdown-body iframe{background-color:#fff;border:0;margin-bottom:16px}.markdown-body svg.octicon{fill:currentColor}.markdown-body .anchor>.octicon{display:inline}.markdown-body figcaption{text-align:center;padding-top:2px}.markdown-body ol{list-style:decimal}.markdown-body ul{list-style:disc}.markdown-body table{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.markdown-body .highlight .token.keyword,.gfm-highlight .token.keyword{color:var(--color-prettylights-syntax-keyword)}.markdown-body .highlight .token.tag .token.class-name,.markdown-body .highlight .token.tag .token.script .token.punctuation,.gfm-highlight .token.tag .token.class-name,.gfm-highlight .token.tag .token.script .token.punctuation{color:var(--color-prettylights-syntax-storage-modifier-import)}.markdown-body .highlight .token.operator,.markdown-body .highlight .token.number,.markdown-body .highlight .token.boolean,.markdown-body .highlight .token.tag .token.punctuation,.markdown-body .highlight .token.tag .token.script .token.script-punctuation,.markdown-body .highlight .token.tag .token.attr-name,.gfm-highlight .token.operator,.gfm-highlight .token.number,.gfm-highlight .token.boolean,.gfm-highlight .token.tag .token.punctuation,.gfm-highlight .token.tag .token.script .token.script-punctuation,.gfm-highlight .token.tag .token.attr-name{color:var(--color-prettylights-syntax-constant)}.markdown-body .highlight .token.atrule,.gfm-highlight .token.atrule{color:var(--color-prettylights-syntax-keyword)}.markdown-body .highlight .token.punctuation,.gfm-highlight .token.punctuation,.markdown-body .highlight .token.function,.gfm-highlight .token.function{color:var(--color-prettylights-syntax-entity)}.markdown-body .highlight .token.string,.gfm-highlight .token.string{color:var(--color-prettylights-syntax-string)}.markdown-body .highlight .token.comment,.gfm-highlight .token.comment{color:var(--color-prettylights-syntax-comment)}.markdown-body .highlight .token.class-name,.gfm-highlight .token.class-name{color:var(--color-prettylights-syntax-variable)}.markdown-body .highlight .token.regex,.gfm-highlight .token.regex{color:var(--color-prettylights-syntax-string)}.markdown-body .highlight .token.regex .regex-delimiter,.gfm-highlight .token.regex .regex-delimiter{color:var(--color-prettylights-syntax-constant)}.markdown-body .highlight .token.tag .token.tag,.markdown-body .highlight .token.property,.gfm-highlight .token.tag .token.tag,.gfm-highlight .token.property{color:var(--color-prettylights-syntax-entity-tag)}.markdown-body .highlight .token.deleted,.gfm-highlight .token.deleted{color:var(--color-prettylights-syntax-markup-deleted-text);background-color:var(--color-prettylights-syntax-markup-deleted-bg)}.markdown-body .highlight .token.inserted,.gfm-highlight .token.inserted{color:var(--color-prettylights-syntax-markup-inserted-text);background-color:var(--color-prettylights-syntax-markup-inserted-bg)}.markdown-body .markdown-alert{color:inherit;border-left:.25em solid #3d444d;margin-bottom:1rem;padding:.5rem 1rem}.markdown-body .markdown-alert:first-child{margin-top:0}.markdown-body .markdown-alert:last-child{margin-bottom:0}.markdown-body .markdown-alert .markdown-alert-title{align-items:center;gap:7px;font-weight:500;line-height:1;display:flex}.markdown-body .markdown-alert.markdown-alert-note{border-left-color:#1f6feb}.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title{color:#4493f8}.markdown-body .markdown-alert.markdown-alert-important{border-left-color:#8957e5}.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title{color:#ab7df8}.markdown-body .markdown-alert.markdown-alert-warning{border-left-color:#9e6a03}.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title{color:#d29922}.markdown-body .markdown-alert.markdown-alert-tip{border-left-color:#238636}.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title{color:#3fb950}.markdown-body .markdown-alert.markdown-alert-caution{border-left-color:#da3633}.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title{color:#f85149}.markdown-body .markdown-code-title{background-color:var(--bgColor-muted,var(--color-canvas-subtle));border-bottom:1px solid var(--borderColor-muted,var(--color-border-muted));margin:0;padding:8px 16px;font-size:85%;font-weight:700;display:block}.sr-only{clip:rect(0,0,0,0);word-wrap:normal;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}[data-footnote-ref]:before{content:"["}[data-footnote-ref]:after{content:"]"}

/* styles/tokens.css */
/* Levirge DS tokens — merged from the design-system handoff (design/design/_ds/.../tokens/).
   Space Grotesk (logo wordmark only) is loaded via <link> in templates/base.eta, not @import. */

/* ─── Levirge — Color tokens ──────────────────────────────────────────────
   HSL 3-tier neutrals + OKLCH accents. Dark mode is the default and primary;
   light mode is parity via [data-theme="light"] on <html>.
   Lighter surface = closer to the user = more important. Layering does the
   depth work, so borders on lighter tiers are optional. */

:root {
  /* ─── Surfaces (dark) — canvas → surface → raised → hover, plus inset ── */
  --bg-base: hsl(60 2% 12%);       /* page canvas — warm near-black */
  --bg-surface: rgb(38, 38, 38);   /* cards, panels, sidebars */
  --bg-raised: hsl(240 6% 19%);    /* hover / secondary surface */
  --bg-hover: hsl(240 6% 23%);     /* selected / interactive highlight */
  --bg-inset: hsl(240 6% 5%);      /* inputs, code blocks — recessed below canvas */

  /* Legacy bg aliases used by component CSS */
  --bg-0: var(--bg-base);
  --bg-1: var(--bg-surface);
  --bg-2: var(--bg-raised);
  --bg-3: var(--bg-hover);

  /* ─── Borders — subtle → default → strong ─────────────────────────── */
  --line-1: hsl(0 0% 100% / 0.06);
  --line-2: hsl(0 0% 100% / 0.10);
  --line-3: hsl(0 0% 100% / 0.18);
  --top-highlight: hsl(0 0% 100% / 0.06); /* top-edge highlight on raised surfaces */

  /* ─── Foreground — step down as content matters less. Never pure white. */
  --fg-0: hsl(240 8% 92%);   /* primary text, headings, values */
  --fg-1: hsl(240 6% 70%);   /* secondary text, descriptions */
  --fg-2: hsl(240 5% 52%);   /* tertiary, placeholders, metadata */
  --fg-3: hsl(240 5% 36%);   /* disabled / decorative, timestamps */

  /* ─── Accent — amber. One brand colour + neutrals covers 90% of the UI. */
  --accent: oklch(0.731 0.132 73.9);
  --accent-hi: oklch(0.80 0.132 73.9);              /* hover / pressed */
  --accent-soft: oklch(0.731 0.132 73.9 / 0.18);    /* selection, chip tint */
  --accent-line: oklch(0.731 0.132 73.9 / 0.42);    /* focus ring, active outline */

  /* ─── Status — functional, read peripherally. 4-state model. ──────── */
  --status-online: oklch(0.74 0.13 150);
  --status-degraded: oklch(0.78 0.14 75);
  --status-offline: hsl(240 5% 38%);
  --status-error: oklch(0.70 0.18 18);
  --status-unknown: transparent; /* rendered as a hollow ring */

  /* ─── Environment palette — 6 assignable hues (base / soft / line) ── */
  --env-slate: oklch(0.72 0.02 270);
  --env-cyan: oklch(0.72 0.13 220);
  --env-mint: oklch(0.78 0.14 160);
  --env-amber: oklch(0.80 0.14 78);
  --env-rose: oklch(0.70 0.18 18);   /* prod / error / destructive */
  --env-iris: oklch(0.74 0.13 290);

  --env-slate-soft: oklch(0.72 0.02 270 / 0.20);
  --env-cyan-soft: oklch(0.72 0.13 220 / 0.22);
  --env-mint-soft: oklch(0.78 0.14 160 / 0.22);
  --env-amber-soft: oklch(0.80 0.14 78 / 0.22);
  --env-rose-soft: oklch(0.70 0.18 18 / 0.22);
  --env-iris-soft: oklch(0.74 0.13 290 / 0.22);

  --env-slate-line: oklch(0.72 0.02 270 / 0.55);
  --env-cyan-line: oklch(0.72 0.13 220 / 0.60);
  --env-mint-line: oklch(0.78 0.14 160 / 0.60);
  --env-amber-line: oklch(0.80 0.14 78 / 0.60);
  --env-rose-line: oklch(0.70 0.18 18 / 0.60);
  --env-iris-line: oklch(0.74 0.13 290 / 0.60);

  /* ─── Syntax highlighting — restrained; five colours before six. ──── */
  --syn-keyword: oklch(0.78 0.13 290);
  --syn-string: oklch(0.78 0.10 145);
  --syn-number: oklch(0.80 0.13 75);
  --syn-ident: var(--fg-0);
  --syn-comment: hsl(240 5% 44%);
  --syn-fn: oklch(0.82 0.10 290);

  /* ─── Icon filters (theme-aware brightness for <img>-based icons) ─── */
  --icon-filter-0: brightness(0) invert(1);       /* @kind other */
  --icon-filter-1: brightness(0) invert(1) opacity(0.74); /* @kind other */
  --icon-filter-2: brightness(0) invert(1) opacity(0.51); /* @kind other */
  --icon-filter-3: brightness(0) invert(1) opacity(0.34); /* @kind other */
  --icon-filter-primary: var(--icon-filter-0);
  --icon-filter-secondary: var(--icon-filter-1);
  --icon-filter-muted: var(--icon-filter-2);
  --icon-filter-disabled: var(--icon-filter-3);
}

/* ─── LIGHT MODE — white main, warm-grey surfaces. Parity, not default. */
[data-theme="light"] {
  --bg-base: hsl(0 0% 100%);
  --bg-surface: hsl(36 12% 97%);
  --bg-raised: hsl(0 0% 100%);
  --bg-hover: hsl(36 16% 93%);
  --bg-inset: hsl(36 12% 91%);

  --line-1: hsl(30 18% 16% / 0.07);
  --line-2: hsl(30 18% 16% / 0.13);
  --line-3: hsl(30 18% 16% / 0.22);
  --top-highlight: hsl(0 0% 100% / 0.85);

  --fg-0: hsl(30 18% 10%);
  --fg-1: hsl(30 12% 24%);
  --fg-2: hsl(30 8% 40%);
  --fg-3: hsl(30 6% 56%);

  --accent: oklch(0.56 0.132 73.9);
  --accent-hi: oklch(0.48 0.140 73.9);
  --accent-soft: oklch(0.56 0.132 73.9 / 0.14);
  --accent-line: oklch(0.56 0.132 73.9 / 0.42);

  --status-online: oklch(0.55 0.15 150);
  --status-degraded: oklch(0.62 0.15 68);
  --status-offline: hsl(30 6% 60%);

  --env-slate: oklch(0.50 0.02 270);
  --env-cyan: oklch(0.55 0.14 220);
  --env-mint: oklch(0.55 0.15 155);
  --env-amber: oklch(0.62 0.16 72);
  --env-rose: oklch(0.55 0.20 18);
  --env-iris: oklch(0.50 0.16 290);

  --env-slate-soft: oklch(0.50 0.02 270 / 0.14);
  --env-cyan-soft: oklch(0.55 0.14 220 / 0.14);
  --env-mint-soft: oklch(0.55 0.15 155 / 0.14);
  --env-amber-soft: oklch(0.62 0.16 72 / 0.16);
  --env-rose-soft: oklch(0.55 0.20 18 / 0.14);
  --env-iris-soft: oklch(0.50 0.16 290 / 0.14);

  --env-slate-line: oklch(0.50 0.02 270 / 0.55);
  --env-cyan-line: oklch(0.55 0.14 220 / 0.55);
  --env-mint-line: oklch(0.55 0.15 155 / 0.55);
  --env-amber-line: oklch(0.62 0.16 72 / 0.60);
  --env-rose-line: oklch(0.55 0.20 18 / 0.55);
  --env-iris-line: oklch(0.50 0.16 290 / 0.55);

  --syn-keyword: oklch(0.50 0.16 290);
  --syn-string: oklch(0.45 0.13 150);
  --syn-number: oklch(0.55 0.14 60);
  --syn-comment: hsl(30 6% 56%);
  --syn-fn: oklch(0.42 0.18 290);

  --icon-filter-0: brightness(0); /* @kind other */
  --icon-filter-1: brightness(0) opacity(0.70); /* @kind other */
  --icon-filter-2: brightness(0) opacity(0.48); /* @kind other */
  --icon-filter-3: brightness(0) opacity(0.28); /* @kind other */
}

/* ─── Levirge — Typography tokens ─────────────────────────────────────────
   Two families, used ruthlessly. Sans for chrome, labels, prose. Mono for
   SQL, data values, IDs, durations — mono earns its place, not decorates.
   Space Grotesk (600) is the logo wordmark face only — never body copy. */

:root {
  /* Families */
  --font-sans:
    ui-sans-serif, -apple-system, BlinkMacSystemFont,
    "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-mono:
    ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  --font-brand: "Space Grotesk", var(--font-sans);

  /* ─── Size scale — the product is 13px-base and dense. ────────────── */
  /* t-N = N px expressed in rem (root = 16px) */
  --t-11: 0.6875rem;  /* uppercase micro-labels */
  --t-12: 0.75rem;    /* metadata, timestamps, captions */
  --t-13: 0.8125rem;  /* body / UI default */
  --t-14: 0.875rem;   /* slightly prominent body */
  --t-16: 1rem;       /* headings, modal titles */
  --t-20: 1.25rem;    /* section headings */
  --t-28: 1.75rem;    /* display / hero */

  /* Semantic scale aliases (product convention) */
  --font-size-xs: 0.6875rem;   /* 11px — UPPERCASE tracked labels only */
  --font-size-sm: 0.75rem;     /* 12px */
  --font-size-base: 0.8125rem; /* 13px — UI default */
  --font-size-md: 0.875rem;    /* 14px */
  --font-size-lg: 1rem;        /* 16px */
  --font-size-xl: 1.25rem;     /* 20px */
  --font-size-2xl: 1.75rem;    /* 28px */

  /* Weights — 400 body, 500 labels/names, 600 for uppercase micro-labels.
     Avoid 700+ in UI chrome. */
  --weight-normal: 400;
  --weight-medium: 500;
  --weight-semibold: 600;

  /* Tracking */
  --tracking-tight: -0.02em;   /* display / wordmark */
  --tracking-label: 0.04em;    /* uppercase micro-labels */
}

/* ─── Levirge — Spacing, radii & row heights ──────────────────────────────
   Use rem/em for spacing, sizing, layout. px only for 1px borders, shadow
   blur/spread, media breakpoints, and the row-height tokens (they align to a
   pixel grid via CSS grid-auto-rows). Density is high — padding is earned. */

:root {
  /* Spacing scale (rem) */
  --space-1: 0.125rem;  /* 2px  */
  --space-2: 0.25rem;   /* 4px  */
  --space-3: 0.375rem;  /* 6px  */
  --space-4: 0.5rem;    /* 8px  */
  --space-5: 0.625rem;  /* 10px */
  --space-6: 0.75rem;   /* 12px */
  --space-8: 1rem;      /* 16px */
  --space-10: 1.25rem;  /* 20px */
  --space-12: 1.5rem;   /* 24px */
  --space-16: 2rem;     /* 32px */

  /* ─── Border radius — small; this is tool chrome, not a consumer app. */
  --r-2: 0.125rem;  /* tiny chips, badges */
  --r-4: 0.25rem;   /* buttons, inputs, cards */
  --r-6: 0.375rem;  /* menus, popovers, modals */
  --r-8: 0.5rem;    /* large panels */
  --radius-xs: 0.125rem;
  --radius-sm: 0.25rem;
  --radius-md: 0.375rem;
  --radius-lg: 0.5rem;
  --radius-pill: 624.9375rem;

  /* ─── Row heights — px, aligned to the pixel grid ─────────────────── */
  --row-tight: 1.5rem;   /* 24px — dense data tables */
  --row: 1.75rem;        /* 28px — standard list rows */
  --row-loose: 2rem;     /* 32px — comfortable rows, sidebars */
  --row-height-tight: 1.5rem;
  --row-height: 1.75rem;
  --row-height-loose: 2rem;

  /* Generic border defaults */
  --border-color: var(--line-2);
  --border-width: 0.0625rem;
  --border-radius: 0.5rem;
  --button-border-radius: var(--border-radius);

  /* ─── z-index layers ──────────────────────────────────────────────── */
  --z-base: 0;        /* @kind other */
  --z-sticky: 10;     /* @kind other */
  --z-menu: 200;      /* @kind other */
  --z-modal: 500;     /* @kind other */
  --z-toast: 900;     /* @kind other */
}

/* ─── Levirge — Elevation & effects ───────────────────────────────────────
   Depth = layered surface tiers + dual shadows. Always two shadows per
   elevated element: a short+dark contact shadow and a long+soft ambient one.
   Alpha via hsl(... / a), never rgba() or solid shadow colours.
   Inset elements (tables, inputs, progress) get an inset shadow to push down. */

:root {
  --shadow-sm: 0 1px 0.125rem hsl(0 0% 0% / 0.40), 0 0.25rem 0.75rem hsl(0 0% 0% / 0.22);
  --shadow-md: 0 1px 0.1875rem hsl(0 0% 0% / 0.45), 0 0.5rem 1.5rem hsl(0 0% 0% / 0.28);
  --shadow-lg: 0 0.125rem 0.25rem hsl(0 0% 0% / 0.50), 0 1rem 2.5rem hsl(0 0% 0% / 0.34);
  --shadow-inset: inset 0 0.125rem 0.25rem hsl(0 0% 0% / 0.32), inset 0 -0.0625rem 1px hsl(0 0% 100% / 0.04);
  --shadow-selected: inset 0 1px 0 hsl(0 0% 100% / 0.06), inset 0 -0.0625rem 0 hsl(0 0% 0% / 0.18);

  /* Surface gradient — reinforces "light from above" on raised cards */
  --surface-gradient: linear-gradient(to bottom, var(--bg-raised), var(--bg-surface));

  /* Motion — minimal and functional. Things appear/update; they don't bounce. */
  --ease: cubic-bezier(0.4, 0, 0.2, 1); /* @kind other */
  --dur-fast: 90ms;  /* @kind other */
  --dur: 150ms;      /* @kind other */
  --dur-slow: 240ms; /* @kind other */
}

/* Light mode: shadows are less visible — larger blur, lower opacity. */
[data-theme="light"] {
  --shadow-sm: 0 1px 0.125rem hsl(30 18% 16% / 0.06), 0 0.375rem 1.125rem hsl(30 18% 16% / 0.06);
  --shadow-md: 0 1px 0.1875rem hsl(30 18% 16% / 0.08), 0 0.75rem 2rem hsl(30 18% 16% / 0.08);
  --shadow-lg: 0 0.125rem 0.375rem hsl(30 18% 16% / 0.10), 0 1.25rem 3rem hsl(30 18% 16% / 0.10);
  --shadow-inset: inset 0 0.125rem 0.25rem hsl(30 18% 16% / 0.10), inset 0 -0.0625rem 1px hsl(0 0% 100% / 0.50);
  --shadow-selected: inset 0 1px 0 hsl(0 0% 100% / 0.60), inset 0 -0.0625rem 0 hsl(30 18% 16% / 0.06);
}


/* Base reset (previously inherited from the React IoT tokens) */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }

/* ---- Token bridge: old var names → Levirge DS tokens ---- */
.levirge {
  font-family: var(--font-sans);
  font-size: var(--font-size-md);
  line-height: 1.5;

  /* Accent — amber (was gold #d99a3a) */
  --brand: var(--accent);
  --brand-hover: var(--accent-hi);
  --brand-press: var(--accent-hi);
  --sky: var(--accent-hi);

  /* Surfaces — warm near-black, three-tier */
  --bg: var(--bg-base);
  --surface: var(--bg-surface);
  --surface-2: var(--bg-raised);
  --surface-3: var(--bg-hover);

  /* Neutral ramp → DS surface/fg tiers */
  --neutral-0: hsl(0 0% 100%);
  --neutral-50: var(--bg-raised);
  --neutral-100: var(--bg-raised);
  --neutral-200: var(--bg-hover);
  --neutral-300: var(--line-3);
  --neutral-400: var(--fg-2);
  --neutral-500: var(--fg-2);
  --neutral-600: var(--fg-3);
  --neutral-700: var(--bg-hover);
  --neutral-800: var(--bg-raised);
  --neutral-900: var(--bg-surface);
  --neutral-950: var(--bg-inset);

  /* Foreground — pages use --fg-1 as PRIMARY; DS uses --fg-0.
     Hardcode secondary/tertiary to DS values to avoid self-reference. */
  --fg-1: var(--fg-0);
  --fg-2: hsl(240 6% 70%);
  --fg-3: hsl(240 5% 52%);

  /* Depth accents (were navy) → warm inset/raised surfaces */
  --ink-navy: var(--bg-inset);
  --deep-navy: var(--bg-raised);

  /* Lines */
  --border: var(--line-2);
  --border-strong: var(--line-3);

  /* Status */
  --success: var(--status-online);
  --warning: var(--status-degraded);
  --danger: var(--status-error);
  --info: var(--env-iris);

  /* Motion alias (pages use --dur-base; DS calls it --dur) */
  --dur-base: var(--dur);
  --tracking-eyebrow: 0.16em;

  color: var(--fg-1);
}

/* Page canvas */
html:has(body.levirge) { background: var(--bg-base); }

/* ---- Brand wordmark — Space Grotesk (DS --font-brand) ---- */
.levirge .nav__word,
.levirge .footer__word { font-family: var(--font-brand); font-weight: 600; letter-spacing: -0.02em; }

/* ---- Amber accent is light: primary buttons take dark text ---- */
.levirge .btn--primary,
.levirge .gate__btn--primary,
.levirge .try__btn { color: hsl(40 45% 9%); }
.levirge .btn--primary:hover { box-shadow: var(--shadow-md); }

/* ---- Replace the old blue glows / tints with amber + warm ---- */
.levirge ::selection { background: var(--accent-soft); }

.levirge .hero__bg {
  background:
    radial-gradient(ellipse 90% 60% at 50% -10%, var(--accent-soft), transparent 60%),
    radial-gradient(ellipse 60% 50% at 85% 20%, hsl(36 32% 16% / 0.6), transparent 70%);
}
.levirge .cta__bg {
  background: radial-gradient(ellipse 70% 80% at 50% 120%, var(--accent-soft), transparent 60%);
}
.levirge .wb__node.is-active { background: var(--accent-soft); box-shadow: inset 2px 0 0 var(--accent); }
.levirge .proj.is-active { background: var(--accent-soft); border-color: var(--accent-line); }
.levirge .arch__tier--bus {
  background: linear-gradient(135deg, var(--bg-inset), var(--bg-raised));
  border-color: var(--accent-line);
  box-shadow: 0 0 30px -8px var(--accent-line);
}
.levirge .vs__side--us { background: linear-gradient(160deg, var(--accent-soft), var(--bg-surface)); }
.levirge .pill--next { color: var(--accent-hi); background: var(--accent-soft); border-color: var(--accent-line); }
.levirge .pill--next .dot { background: var(--accent-hi); }


/* styles/site.css */
/* ============================================================
   Veska — dark-mode-first marketing surface for React IoT.
   Inherits React IoT design tokens (colors_and_type.css), runs
   on data-theme="dark". agentic operations platform.
   ============================================================ */

/* Levirge brand accent — gold #d99a3a. Scoped to Levirge-branded pages
   (landing, DevOps, Control) so it overrides the inherited React IoT blue.
   ESP32 Workbench omits .levirge and keeps the OSS green/blue accents. */
.levirge { --brand: #d99a3a; --brand-hover: #cf8d2e; --brand-press: #b0741f; --sky: #e7b667; }

/* Dark-first base */
html { background: var(--bg); }
body { background: var(--bg); color: var(--fg-1); -webkit-font-smoothing: antialiased; }
::selection { background: rgba(41,121,255,0.32); }

.wrap { max-width: 77.5rem; margin: 0 auto; padding: 0 2rem; }
.wrap--narrow { max-width: 56.25rem; }
.section-pad { padding: 6.25rem 0; }
.section-pad-sm { padding: 4rem 0; }
.band { background: var(--neutral-900); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }

/* ---------- Type helpers ---------- */
.eyebrow { display: inline-block; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--sky); }
.mono { font-family: var(--font-mono); }
.subj { font-family: var(--font-mono); font-size: 0.92em; color: var(--sky); }

.sec-head { display: flex; flex-direction: column; gap: 0.875rem; margin-bottom: 3rem; max-width: 45rem; }
.sec-head--center { margin-left: auto; margin-right: auto; text-align: center; align-items: center; }
.sec-head__title { font-size: 2.5rem; line-height: 1.1; letter-spacing: -0.03em; font-weight: 700; color: var(--fg-1); margin: 0; text-wrap: balance; }
.sec-head__sub { font-size: 1.125rem; line-height: 1.6; color: var(--fg-2); margin: 0; }
.sec-head__row { display: flex; justify-content: space-between; align-items: flex-end; gap: 1.5rem; margin-bottom: 3rem; flex-wrap: wrap; }

/* ---------- Buttons ---------- */
.btn { height: 2.75rem; padding: 0 1.25rem; border-radius: 0.375rem; font-family: var(--font-sans); font-size: 0.9375rem; font-weight: 600; line-height: 1; cursor: pointer; border: 1px solid transparent; display: inline-flex; align-items: center; gap: 0.5rem; text-decoration: none; white-space: nowrap; transition: all var(--dur-fast) var(--ease); }
.btn--sm { height: 2.25rem; padding: 0 0.875rem; font-size: 0.875rem; }
.btn--lg { height: 3.125rem; padding: 0 1.5rem; font-size: 1rem; }
.btn--primary { background: var(--brand); color: #fff; }
.btn--primary:hover { background: var(--brand-hover); box-shadow: 0 6px 20px -6px rgba(41,121,255,0.5); transform: translateY(-0.0625rem); }
.btn--primary:active { transform: scale(0.98); box-shadow: none; }
.btn--secondary { background: var(--surface-2); color: var(--fg-1); border-color: var(--border-strong); }
.btn--secondary:hover { border-color: var(--neutral-500); background: var(--surface-3); }
.btn--ghost { background: transparent; color: var(--fg-1); border-color: var(--border-strong); }
.btn--ghost:hover { border-color: var(--sky); color: var(--sky); }
.btn--link { background: transparent; color: var(--sky); border: 0; padding: 0; height: auto; }
.btn--link:hover { gap: 0.6875rem; }

/* ---------- Nav ---------- */
.nav { position: sticky; top: 0; z-index: 60; border-bottom: 1px solid transparent; transition: background var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease); }
.nav.scrolled { background: rgba(6,9,18,0.8); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border-bottom: 1px solid var(--border); }
.nav__inner { max-width: 77.5rem; margin: 0 auto; padding: 0.9375rem 2rem; display: flex; align-items: center; gap: 2.125rem; }
.nav__brand { display: flex; align-items: center; gap: 0.5625rem; text-decoration: none; }
.nav__brand img { height: 1.5rem; width: auto; }
.nav__word { font-size: 1.3125rem; font-weight: 700; letter-spacing: -0.02em; color: var(--fg-1); }
.nav__by { font-size: 0.6875rem; color: var(--fg-3); border-left: 1px solid var(--border-strong); padding-left: 0.5625rem; margin-left: 0.125rem; line-height: 1.2; }
.nav__by b { color: var(--fg-2); font-weight: 600; display: block; font-size: 0.75rem; }
.nav__links { display: flex; gap: 1.625rem; flex: 1; }
.nav__link { font-size: 0.9375rem; font-weight: 500; color: var(--fg-2); text-decoration: none; transition: color var(--dur-fast) var(--ease); }
.nav__link:hover { color: var(--fg-1); }
.nav__right { display: flex; align-items: center; gap: 1rem; }
.nav__gh { color: var(--fg-2); display: flex; align-items: center; transition: color var(--dur-fast) var(--ease); }
.nav__gh:hover { color: var(--fg-1); }

/* ---------- Hero ---------- */
.hero { position: relative; overflow: hidden; border-bottom: 1px solid var(--border); }
.hero__bg { position: absolute; inset: 0; background: radial-gradient(ellipse 90% 60% at 50% -10%, rgba(41,121,255,0.18), transparent 60%), radial-gradient(ellipse 60% 50% at 85% 20%, rgba(20,48,92,0.5), transparent 70%); pointer-events: none; }
.hero__grid { position: absolute; inset: 0; background-image: linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px); background-size: 3.5rem 3.5rem; opacity: 0.4; mask-image: radial-gradient(ellipse 80% 70% at 50% 0%, black, transparent 75%); -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 0%, black, transparent 75%); }
.hero__inner { position: relative; padding: 5.25rem 0 0; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 1.5rem; }
.hero__badge { display: inline-flex; align-items: center; gap: 0.5625rem; font-size: 0.8125rem; color: var(--fg-2); background: var(--surface-2); border: 1px solid var(--border); border-radius: 999rem; padding: 0.375rem 0.875rem 0.375rem 0.5rem; }
.hero__badge .subj { font-size: 0.75rem; }
.hero__badge-tag { font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-navy); background: var(--sky); border-radius: 999rem; padding: 0.1875rem 0.5rem; }
.hero__title { font-size: 4.25rem; line-height: 1.04; letter-spacing: -0.04em; font-weight: 700; color: var(--fg-1); margin: 0; max-width: 16ch; text-wrap: balance; }
.hero__title em { font-style: normal; background: linear-gradient(100deg, var(--sky), var(--brand)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero__lede { font-size: 1.25rem; line-height: 1.6; color: var(--fg-2); max-width: 41.25rem; margin: 0; }
.hero__cta { display: flex; gap: 0.75rem; flex-wrap: wrap; justify-content: center; }
.hero__meta { display: flex; gap: 1.125rem; align-items: center; flex-wrap: wrap; justify-content: center; color: var(--fg-3); font-size: 0.875rem; }
.hero__meta-item { display: inline-flex; align-items: center; gap: 0.5rem; }
.hero__stage { position: relative; margin-top: 3.5rem; padding-bottom: 5.625rem; }
.hero__stage::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 11.25rem; background: linear-gradient(to top, var(--bg), transparent); pointer-events: none; }

/* ---------- Dot / status ---------- */
.dot { width: 0.5rem; height: 0.5rem; border-radius: 999rem; display: inline-block; }
.dot--ok { background: var(--success); box-shadow: 0 0 0 3px rgba(16,185,129,0.2); }
.dot--live { background: var(--success); animation: pulse 2s var(--ease) infinite; }
@keyframes pulse { 0%,100% { box-shadow: 0 0 0 0 rgba(16,185,129,0.45);} 50% { box-shadow: 0 0 0 5px rgba(16,185,129,0);} }

/* ---------- Status pills (roadmap) ---------- */
.pill { display: inline-flex; align-items: center; gap: 0.375rem; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; padding: 0.25rem 0.625rem; border-radius: 999rem; border: 1px solid transparent; }
.pill .dot { width: 0.375rem; height: 0.375rem; }
.pill--shipped { color: var(--success); background: rgba(16,185,129,0.12); border-color: rgba(16,185,129,0.3); }
.pill--shipped .dot { background: var(--success); }
.pill--next { color: var(--sky); background: rgba(127,176,255,0.12); border-color: rgba(127,176,255,0.3); }
.pill--next .dot { background: var(--sky); }
.pill--planned { color: var(--fg-3); background: var(--surface-2); border-color: var(--border-strong); }
.pill--planned .dot { background: var(--fg-3); }

/* ============================================================
   WINDOW CHROME — shared frame for mocked product UIs
   ============================================================ */
.win { background: var(--neutral-900); border: 1px solid var(--border-strong); border-radius: 0.75rem; overflow: hidden; box-shadow: 0 40px 90px -30px rgba(0,0,0,0.8); }
.win__bar { display: flex; align-items: center; gap: 0.75rem; padding: 0.6875rem 0.875rem; background: var(--surface-2); border-bottom: 1px solid var(--border); }
.win__dots { display: flex; gap: 0.4375rem; }
.win__dots i { width: 0.6875rem; height: 0.6875rem; border-radius: 999rem; background: var(--neutral-700); display: block; }
.win__title { font-size: 0.7812rem; color: var(--fg-2); font-weight: 600; display: flex; align-items: center; gap: 0.5rem; }
.win__nats { margin-left: auto; display: flex; align-items: center; gap: 0.875rem; font-family: var(--font-mono); font-size: 0.7188rem; color: var(--fg-3); }
.win__nats .ok { color: var(--success); }
.win__jwt { display: inline-flex; align-items: center; gap: 0.375rem; background: var(--neutral-800); border: 1px solid var(--border); border-radius: 999rem; padding: 0.1875rem 0.5625rem; color: var(--fg-2); }

/* ---------- Workbench three-tier pane ---------- */
.wb { display: grid; grid-template-columns: 14rem 1fr; height: 28.75rem; }
.wb__rail { border-right: 1px solid var(--border); padding: 0.75rem 0; overflow: hidden; background: var(--neutral-950); }
.wb__rail-h { font-size: 0.6562rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--fg-3); padding: 0.375rem 1rem 0.625rem; }
.wb__node { padding: 0.4375rem 1rem; display: flex; align-items: center; gap: 0.5625rem; font-size: 0.8125rem; color: var(--fg-2); cursor: default; }
.wb__node small { font-family: var(--font-mono); font-size: 0.6875rem; color: var(--fg-3); margin-left: auto; }
.wb__node.is-active { background: rgba(41,121,255,0.12); color: var(--fg-1); box-shadow: inset 2px 0 0 var(--brand); }
.wb__node .ic { width: 0.9375rem; height: 0.9375rem; color: var(--sky); flex-shrink: 0; }
.wb__node .engine { font-family: var(--font-mono); font-size: 0.625rem; padding: 1px 0.3125rem; border-radius: 0.1875rem; background: var(--surface-2); color: var(--fg-3); margin-left: auto; }
.wb__main { display: grid; grid-template-rows: auto 1fr; min-width: 0; }
.wb__editor { border-bottom: 1px solid var(--border); padding: 0.875rem 1.125rem; background: var(--neutral-950); }
.wb__tabs { display: flex; gap: 0.25rem; margin-bottom: 0.75rem; }
.wb__tab { font-size: 0.75rem; padding: 0.3125rem 0.6875rem; border-radius: 0.3125rem 0.3125rem 0 0; color: var(--fg-3); border: 1px solid transparent; }
.wb__tab.is-active { color: var(--fg-1); background: var(--surface); border-color: var(--border); border-bottom-color: var(--surface); }
.wb__sql { font-family: var(--font-mono); font-size: 0.8125rem; line-height: 1.7; margin: 0; white-space: pre-wrap; color: var(--fg-2); }
.wb__sql .kw { color: var(--sky); }
.wb__sql .fn { color: #c4b5fd; }
.wb__sql .str { color: #86efac; }
.wb__sql .num { color: #fbbf24; }
.wb__sql .cm { color: var(--fg-3); }
.wb__results { overflow: hidden; }
.wb__grid { width: 100%; border-collapse: collapse; font-size: 0.7812rem; }
.wb__grid th { text-align: left; font-family: var(--font-mono); font-size: 0.6875rem; font-weight: 600; color: var(--fg-3); padding: 0.5rem 0.875rem; background: var(--surface-2); border-bottom: 1px solid var(--border); position: sticky; top: 0; letter-spacing: 0.02em; }
.wb__grid td { padding: 0.5rem 0.875rem; border-bottom: 1px solid var(--border); color: var(--fg-2); font-variant-numeric: tabular-nums; }
.wb__grid td.m { font-family: var(--font-mono); color: var(--fg-1); }
.wb__grid tr:nth-child(even) td { background: rgba(255,255,255,0.015); }
.wb__statusbar { display: flex; align-items: center; gap: 1rem; padding: 0.4375rem 1rem; border-top: 1px solid var(--border); font-family: var(--font-mono); font-size: 0.6875rem; color: var(--fg-3); background: var(--neutral-950); }

/* ---------- Command three-panel pane ---------- */
.cmd { display: grid; grid-template-columns: 14.375rem 1fr 17.5rem; height: 30rem; }
.cmd__col { min-width: 0; display: flex; flex-direction: column; }
.cmd__col + .cmd__col { border-left: 1px solid var(--border); }
.cmd__colhead { display: flex; align-items: center; gap: 0.5rem; padding: 0.75rem 1rem; font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--fg-3); border-bottom: 1px solid var(--border); }
.cmd__colhead .count { margin-left: auto; font-family: var(--font-mono); font-size: 0.6875rem; color: var(--fg-3); background: var(--surface-2); border-radius: 999rem; padding: 1px 0.5rem; }
.cmd__scroll { overflow: hidden; padding: 0.625rem; display: flex; flex-direction: column; gap: 0.5rem; }

/* Projects */
.proj { background: var(--neutral-950); border: 1px solid var(--border); border-radius: 0.5rem; padding: 0.6875rem 0.75rem; display: flex; flex-direction: column; gap: 0.4375rem; }
.proj.is-active { border-color: var(--brand); background: rgba(41,121,255,0.08); }
.proj__name { font-size: 0.8125rem; font-weight: 600; color: var(--fg-1); display: flex; align-items: center; gap: 0.4375rem; }
.proj__src { font-family: var(--font-mono); font-size: 0.6562rem; color: var(--fg-3); }
.proj__meta { display: flex; align-items: center; gap: 0.5rem; margin-top: 1px; }
.proj__open { font-size: 0.6875rem; color: var(--fg-3); }
.proj__needs { font-size: 0.6562rem; font-weight: 700; color: var(--warning); background: rgba(232,163,61,0.14); border: 1px solid rgba(232,163,61,0.32); border-radius: 999rem; padding: 1px 0.4375rem; margin-left: auto; }
.proj__run { display: inline-flex; align-items: center; gap: 0.3125rem; font-size: 0.6562rem; color: var(--success); }

/* Kanban */
.kan { display: grid; grid-auto-flow: column; grid-auto-columns: 9.375rem; gap: 0.5rem; overflow: hidden; padding: 0.625rem; height: 100%; }
.kan__col { display: flex; flex-direction: column; gap: 0.4375rem; min-width: 0; }
.kan__h { font-size: 0.625rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--fg-3); padding: 0.125rem 0.125rem 0.25rem; display: flex; align-items: center; gap: 0.375rem; }
.kan__h .n { color: var(--fg-3); font-family: var(--font-mono); }
.tkt { background: var(--neutral-950); border: 1px solid var(--border); border-radius: 0.4375rem; padding: 0.5625rem 0.625rem; display: flex; flex-direction: column; gap: 0.4375rem; }
.tkt.is-blocked { border-color: rgba(232,163,61,0.4); }
.tkt.is-review { border-color: rgba(139,92,246,0.4); }
.tkt__id { font-family: var(--font-mono); font-size: 0.625rem; color: var(--fg-3); }
.tkt__t { font-size: 0.7188rem; line-height: 1.35; color: var(--fg-1); }
.tkt__foot { display: flex; align-items: center; gap: 0.375rem; }
.av { width: 1.125rem; height: 1.125rem; border-radius: 999rem; display: inline-flex; align-items: center; justify-content: center; font-size: 0.5625rem; font-weight: 700; color: #fff; }
.av--agent { background: linear-gradient(135deg, var(--brand), var(--info)); }
.av--human { background: var(--neutral-600); }
.av--council { background: linear-gradient(135deg, var(--info), var(--sky)); }
.tkt__who { font-size: 0.625rem; color: var(--fg-3); }

/* Gate queue */
.gate { background: var(--neutral-950); border: 1px solid var(--border); border-left-width: 0.1875rem; border-radius: 0.4375rem; padding: 0.6875rem 0.75rem; display: flex; flex-direction: column; gap: 0.5rem; }
.gate--perm { border-left-color: var(--warning); }
.gate--q { border-left-color: var(--info); }
.gate--stuck { border-left-color: var(--danger); }
.gate__top { display: flex; align-items: center; gap: 0.5rem; }
.gate__kind { font-size: 0.625rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; }
.gate--perm .gate__kind { color: var(--warning); }
.gate--q .gate__kind { color: var(--info); }
.gate--stuck .gate__kind { color: var(--danger); }
.gate__agent { font-family: var(--font-mono); font-size: 0.6562rem; color: var(--fg-3); margin-left: auto; }
.gate__msg { font-size: 0.75rem; line-height: 1.45; color: var(--fg-1); }
.gate__msg .subj { font-size: 0.6875rem; }
.gate__actions { display: flex; gap: 0.375rem; }
.gate__btn { font-size: 0.6875rem; font-weight: 600; padding: 0.3125rem 0.6875rem; border-radius: 0.3125rem; border: 1px solid var(--border-strong); background: var(--surface-2); color: var(--fg-1); cursor: pointer; }
.gate__btn--primary { background: var(--brand); border-color: var(--brand); color: #fff; }

/* ============================================================
   CONTENT BLOCKS
   ============================================================ */

/* DNA strip */
.dna { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--border); border: 1px solid var(--border); border-radius: 0.75rem; overflow: hidden; }
.dna__cell { background: var(--neutral-900); padding: 1.375rem 1.25rem; display: flex; flex-direction: column; gap: 0.5rem; }
.dna__ic { width: 1.625rem; height: 1.625rem; color: var(--sky); }
.dna__h { font-size: 0.875rem; font-weight: 600; color: var(--fg-1); margin: 0; }
.dna__p { font-size: 0.7812rem; line-height: 1.5; color: var(--fg-3); margin: 0; }

/* Product split (two panes one fabric) */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.pcard { background: var(--neutral-900); border: 1px solid var(--border); border-radius: 0.875rem; padding: 1.875rem; display: flex; flex-direction: column; gap: 1.125rem; transition: all var(--dur-base) var(--ease); text-decoration: none; position: relative; overflow: hidden; }
.pcard:hover { border-color: var(--border-strong); transform: translateY(-0.125rem); }
/* Linked cards announce themselves: amber ring, brighter glow, arrow slides */
a.pcard:hover { border-color: var(--brand); box-shadow: 0 0 0 1px rgba(217,154,58,0.25); }
a.pcard:hover .pcard__glow { opacity: 0.32; }
a.pcard .pcard__foot { transition: gap var(--dur-fast) var(--ease); }
a.pcard:hover .pcard__foot { gap: 0.8125rem; text-decoration: underline; text-underline-offset: 0.25rem; }
a.pcard:focus-visible { outline: 2px solid var(--accent-line); outline-offset: 2px; }
.pcard__glow { position: absolute; top: -3.75rem; right: -3.75rem; width: 12.5rem; height: 12.5rem; border-radius: 50%; filter: blur(70px); opacity: 0.18; }
.pcard__head { display: flex; align-items: center; gap: 0.75rem; position: relative; }
.pcard__logo { width: 3rem; height: 3rem; display: flex; align-items: center; justify-content: center; color: var(--sky); }
.pcard__logo img { width: 3rem; height: 3rem; }
.pcard__name { font-size: 1.375rem; font-weight: 700; letter-spacing: -0.02em; color: var(--fg-1); margin: 0; }
.pcard__name b { color: var(--fg-3); font-weight: 400; }
.pcard__one { font-size: 0.9688rem; line-height: 1.55; color: var(--fg-2); margin: 0; position: relative; }
.pcard__rows { display: flex; flex-direction: column; gap: 0; position: relative; }
.pcard__row { display: grid; grid-template-columns: 6rem 1fr; gap: 0.875rem; padding: 0.6875rem 0; border-top: 1px solid var(--border); font-size: 0.8438rem; }
.pcard__row dt { color: var(--fg-3); }
.pcard__row dd { margin: 0; color: var(--fg-1); }
.pcard__foot { margin-top: auto; display: flex; align-items: center; gap: 0.5rem; color: var(--sky); font-weight: 600; font-size: 0.9062rem; position: relative; }

/* Feature / pillar grid */
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
.card { background: var(--neutral-900); border: 1px solid var(--border); border-radius: 0.625rem; padding: 1.5rem; display: flex; flex-direction: column; gap: 0.75rem; transition: all var(--dur-base) var(--ease); }
.card--hover:hover { border-color: var(--border-strong); transform: translateY(-0.125rem); }
.card__ic { width: 2.5rem; height: 2.5rem; border-radius: 0.5625rem; background: var(--surface-2); border: 1px solid var(--border); color: var(--sky); display: flex; align-items: center; justify-content: center; }
.card__h { font-size: 1.0625rem; font-weight: 600; color: var(--fg-1); margin: 0; display: flex; align-items: center; gap: 0.625rem; flex-wrap: wrap; }
.card__p { font-size: 0.875rem; line-height: 1.6; color: var(--fg-2); margin: 0; }
.card__list { list-style: none; margin: 0.25rem 0 0; padding: 0; display: flex; flex-direction: column; gap: 0.4375rem; }
.card__list li { font-size: 0.8125rem; color: var(--fg-3); display: flex; gap: 0.5625rem; align-items: baseline; }
.card__list li::before { content: ""; width: 0.3125rem; height: 0.3125rem; border-radius: 999rem; background: var(--brand); flex-shrink: 0; transform: translateY(-0.125rem); }

/* Pillar card (numbered, with status) */
.pillar { background: var(--neutral-900); border: 1px solid var(--border); border-radius: 0.75rem; padding: 1.625rem; display: flex; flex-direction: column; gap: 0.875rem; }
.pillar__top { display: flex; align-items: center; gap: 0.75rem; }
.pillar__num { font-family: var(--font-mono); font-size: 0.75rem; color: var(--fg-3); }
.pillar__ic { width: 2.5rem; height: 2.5rem; border-radius: 0.5625rem; background: var(--surface-2); border: 1px solid var(--border); color: var(--sky); display: flex; align-items: center; justify-content: center; }
.pillar__name { font-size: 1.125rem; font-weight: 600; color: var(--fg-1); margin: 0; }

/* How-it-works / architecture diagram */
.arch { background: var(--neutral-900); border: 1px solid var(--border); border-radius: 0.875rem; padding: 2.5rem; }
.arch__flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: 0; }
.arch__node { display: flex; flex-direction: column; gap: 0.625rem; }
.arch__tier { background: var(--neutral-950); border: 1px solid var(--border); border-radius: 0.625rem; padding: 1rem; display: flex; flex-direction: column; gap: 0.5625rem; align-items: center; text-align: center; }
.arch__tier--bus { background: linear-gradient(135deg, var(--ink-navy), var(--deep-navy)); border-color: var(--brand); box-shadow: 0 0 30px -8px rgba(41,121,255,0.4); }
.arch__chip { font-size: 0.7812rem; font-weight: 600; color: var(--fg-1); display: flex; align-items: center; gap: 0.5rem; }
.arch__chip small { display: block; font-family: var(--font-mono); font-size: 0.6562rem; color: var(--fg-3); font-weight: 400; margin-top: 0.125rem; }
.arch__bus-label { font-family: var(--font-mono); font-size: 1rem; font-weight: 700; color: #fff; letter-spacing: 0.02em; }
.arch__bus-sub { font-size: 0.6875rem; color: var(--sky); font-family: var(--font-mono); }
.arch__arrow { display: flex; align-items: center; justify-content: center; padding: 0 1.125rem; color: var(--fg-3); }
.arch__arrow span { font-family: var(--font-mono); font-size: 0.625rem; color: var(--fg-3); white-space: nowrap; }
.arch__cap { text-align: center; font-size: 0.8125rem; color: var(--fg-3); margin: 1.375rem 0 0; }

/* Comparison */
.vs { display: grid; grid-template-columns: 1fr 4rem 1fr; gap: 0; align-items: stretch; }
.vs__side { border: 1px solid var(--border); border-radius: 0.75rem; padding: 1.75rem; display: flex; flex-direction: column; gap: 1rem; }
.vs__side--them { background: var(--neutral-950); }
.vs__side--us { background: linear-gradient(160deg, rgba(41,121,255,0.08), var(--neutral-900)); border-color: var(--brand); }
.vs__h { font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--fg-3); margin: 0; }
.vs__side--us .vs__h { color: var(--sky); }
.vs__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.8125rem; }
.vs__list li { display: flex; gap: 0.6875rem; align-items: flex-start; font-size: 0.875rem; line-height: 1.45; color: var(--fg-2); }
.vs__list .ic { flex-shrink: 0; margin-top: 1px; }
.vs__side--them .ic { color: var(--fg-3); }
.vs__side--us .ic { color: var(--success); }
.vs__side--us li { color: var(--fg-1); }
.vs__mid { display: flex; align-items: center; justify-content: center; }
.vs__mid span { font-family: var(--font-mono); font-size: 0.8125rem; font-weight: 700; color: var(--fg-3); width: 2.5rem; height: 2.5rem; border-radius: 999rem; border: 1px solid var(--border); background: var(--neutral-900); display: flex; align-items: center; justify-content: center; }

/* Tool logos row */
.tools { display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: center; }
.tool { display: inline-flex; align-items: center; gap: 0.5625rem; font-size: 0.875rem; font-weight: 500; color: var(--fg-2); background: var(--neutral-900); border: 1px solid var(--border); border-radius: 999rem; padding: 0.5625rem 1rem; }
.tool .ic { width: 1rem; height: 1rem; color: var(--sky); }

/* Scenario (day in command) */
.scene { display: flex; flex-direction: column; gap: 0; position: relative; }
.scene::before { content: ""; position: absolute; left: 1.1875rem; top: 1.125rem; bottom: 1.125rem; width: 0.125rem; background: var(--border); }
.scene__step { display: grid; grid-template-columns: 2.5rem 1fr; gap: 1.125rem; padding: 0.875rem 0; position: relative; }
.scene__dot { width: 2.5rem; height: 2.5rem; border-radius: 999rem; background: var(--neutral-900); border: 1px solid var(--border-strong); display: flex; align-items: center; justify-content: center; color: var(--sky); z-index: 1; }
.scene__dot--you { background: var(--brand); border-color: var(--brand); color: #fff; }
.scene__body { padding-top: 0.4375rem; }
.scene__t { font-size: 0.9375rem; font-weight: 600; color: var(--fg-1); margin: 0 0 0.25rem; }
.scene__p { font-size: 0.875rem; line-height: 1.55; color: var(--fg-2); margin: 0; }
.scene__p .subj { font-size: 0.8125rem; }

/* CTA */
.cta { position: relative; overflow: hidden; border-top: 1px solid var(--border); }
.cta__bg { position: absolute; inset: 0; background: radial-gradient(ellipse 70% 80% at 50% 120%, rgba(41,121,255,0.22), transparent 60%); }
.cta__inner { position: relative; padding: 6rem 0; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 1.125rem; }
.cta__title { font-size: 2.875rem; line-height: 1.08; letter-spacing: -0.03em; font-weight: 700; color: var(--fg-1); margin: 0; max-width: 18ch; text-wrap: balance; }
.cta__sub { font-size: 1.125rem; line-height: 1.6; color: var(--fg-2); max-width: 35rem; margin: 0; }
.cta__row { display: flex; gap: 0.75rem; flex-wrap: wrap; justify-content: center; margin-top: 0.5rem; }

/* Footer */
.footer { border-top: 1px solid var(--border); background: var(--neutral-950); }
.footer__inner { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr 1fr; gap: 2.5rem; padding: 3.5rem 0 2.25rem; }
.footer__brand { display: flex; flex-direction: column; gap: 0.875rem; max-width: 18.75rem; }
.footer__brand img { height: 1.625rem; width: auto; align-self: flex-start; }
.footer__word { font-size: 1.1875rem; font-weight: 700; color: var(--fg-1); }
.footer__tag { font-size: 0.8438rem; line-height: 1.6; color: var(--fg-3); margin: 0; }
.footer__h { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--fg-3); margin: 0 0 1rem; }
.footer__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.6875rem; }
.footer__col a { color: var(--fg-2); font-size: 0.875rem; text-decoration: none; transition: color var(--dur-fast) var(--ease); }
.footer__col a:hover { color: var(--sky); }
.footer__legal { border-top: 1px solid var(--border); padding: 1.375rem 0; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 0.75rem; font-size: 0.8125rem; color: var(--fg-3); }
.footer__legal .mono { font-size: 0.75rem; }
.footer__legal-links { display: flex; gap: 1.25rem; }
.footer__legal-links a { color: var(--fg-3); text-decoration: none; }
.footer__legal-links a:hover { color: var(--fg-1); }

/* ---------- Reveal on scroll (capture-safe: visible unless JS opts in) ---------- */
.reveal { opacity: 1; transform: none; }
html.js-anim .reveal { opacity: 0; transform: translateY(1rem); transition: opacity 0.5s var(--ease), transform 0.5s var(--ease); }
html.js-anim .reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { html.js-anim .reveal { opacity: 1; transform: none; } .dot--live { animation: none; } }

/* ---------- Responsive ---------- */
@media (max-width: 1000px) {
  .hero__title { font-size: 3.25rem; }
  .split, .grid-4, .vs { grid-template-columns: 1fr; }
  .vs__mid { display: none; }
  .dna { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .arch__flow { grid-template-columns: 1fr; gap: 0.875rem; }
  .arch__arrow { transform: rotate(90deg); padding: 0.375rem 0; }
  .footer__inner { grid-template-columns: 1fr 1fr; }
  .wb, .cmd { height: auto; }
  .cmd { grid-template-columns: 1fr; }
  .cmd__col + .cmd__col { border-left: 0; border-top: 1px solid var(--border); }
}
@media (max-width: 640px) {
  .wrap { padding: 0 1.25rem; }
  .nav__inner { padding: 0.75rem 1rem; gap: 0.75rem; }
  .nav__brand { min-width: 0; }
  .nav__links { display: flex; flex: 1; gap: 1rem; }
  .nav__link { font-size: 0.875rem; padding: 0.625rem 0; }
  .nav__right { gap: 0.5rem; flex-shrink: 0; }
  .nav .btn--sm { height: 2.75rem; }
  .hero__title { font-size: 2.375rem; }
  .sec-head__title, .cta__title { font-size: 1.875rem; }
  .grid-3, .grid-2, .dna { grid-template-columns: 1fr; }
  .section-pad { padding: 4.5rem 0; }
}
@media (max-width: 480px) {
  .nav__by { display: none; }
  .nav__word { display: none; }
  .nav__brand { padding: 0.5rem 0.25rem; flex-shrink: 0; }
  .nav__brand img { height: 1.75rem; }
}

/* ---------- Additions for the CMS port ---------- */
.nav__link.is-active { color: var(--fg-1); }

/* Teams page uses .platform__grid with inline column ratios; the class had no
   definition in the handoff (came from the React IoT site css). */
.platform__grid { display: grid; gap: 3rem; align-items: center; }
@media (max-width: 900px) { .platform__grid { grid-template-columns: 1fr !important; } }

/* Proof stats row — shared by the Search and Brain pages */
.proofs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 1.625rem; }
.proof { background: var(--neutral-900); border: 1px solid var(--border); border-radius: 0.75rem; padding: 1.25rem 1.375rem; text-align: center; }
.proof__n { font-size: 1.625rem; font-weight: 700; letter-spacing: -0.02em; color: var(--sky); font-family: var(--font-mono); white-space: nowrap; }
.proof__l { font-size: 0.8125rem; color: var(--fg-3); margin-top: 0.375rem; line-height: 1.4; }
@media (max-width: 700px) { .proofs { grid-template-columns: 1fr; } }

/* Early-access banner on install surfaces */
.ea { display: flex; align-items: flex-start; gap: 0.625rem; max-width: 40rem; margin: 0 auto 1.25rem; padding: 0.75rem 1rem; background: rgba(217,154,58,0.08); border: 1px solid rgba(217,154,58,0.35); border-radius: 0.625rem; text-align: left; }
.ea svg { flex-shrink: 0; color: var(--sky); margin-top: 0.125rem; }
.ea p { margin: 0; font-size: 0.8438rem; line-height: 1.55; color: var(--fg-2); }
.ea b { color: var(--sky); }

/* Products as rows — info and live example share one card border */
.prows { display: flex; flex-direction: column; gap: 2rem; }
.pcard--row { display: grid; grid-template-columns: 1fr 1.15fr; gap: 2rem; align-items: center; }
.pcard--row .pcard__info { display: flex; flex-direction: column; gap: 1.125rem; min-width: 0; }
.pcard--row .win { min-width: 0; }
@media (max-width: 1000px) { .pcard--row { grid-template-columns: 1fr; gap: 1.25rem; } }


/* styles/pages/brain.css */
/* Brain page styles — ported from the handoff's per-page <style> block */
  /* Curation spotlight */
  .spot { display: grid; grid-template-columns: 0.95fr 1.05fr; gap: 2.75rem; align-items: center; }
  .spot__copy .eyebrow { display: block; margin-bottom: 0.75rem; }
  .spot__copy .sec-head__title { margin: 0 0 0.875rem; }
  .spot__copy .sec-head__sub + .sec-head__sub { margin-top: 0.75rem; }
  .spot__viz { background: var(--neutral-900); border: 1px solid var(--border); border-radius: 1rem; padding: 1.5rem; display: flex; flex-direction: column; gap: 0.875rem; }
  .spot__lbl { font-size: 0.6562rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--fg-3); margin-bottom: 0.625rem; }
  .spot__raw { display: flex; flex-wrap: wrap; gap: 0.4375rem; }
  .spot__raw span { font-family: var(--font-mono); font-size: 0.6875rem; color: var(--fg-3); background: var(--bg-inset); border: 1px solid var(--border); border-radius: 0.3125rem; padding: 0.3125rem 0.5625rem; }
  .spot__arrow { display: flex; align-items: center; gap: 0.625rem; }
  .spot__arrow .line { flex: 1; height: 1px; background: var(--border-strong); }
  .spot__arrow .tag { font-family: var(--font-mono); font-size: 0.625rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--sky); background: rgba(217,154,58,0.12); border: 1px solid rgba(217,154,58,0.3); border-radius: 999rem; padding: 0.1875rem 0.625rem; }
  .spot__sum { background: var(--neutral-950); border: 1px solid var(--border); border-radius: 0.625rem; padding: 1rem 1.125rem; }
  .spot__ent { font-family: var(--font-mono); font-size: 0.6875rem; color: var(--sky); }
  .spot__sum p { font-size: 0.8438rem; line-height: 1.6; color: var(--fg-1); margin: 0.5rem 0 0.75rem; }
  .spot__cites { display: flex; flex-wrap: wrap; gap: 0.375rem; }
  .spot__cites span { font-family: var(--font-mono); font-size: 0.625rem; color: var(--fg-3); border: 1px solid var(--border); border-radius: 999rem; padding: 0.125rem 0.5rem; }
  @media (max-width: 900px) { .spot { grid-template-columns: 1fr; gap: 1.75rem; } }

  /* Feature groups */
  .fgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
  .fgroup { background: var(--neutral-900); border: 1px solid var(--border); border-radius: 0.875rem; padding: 1.375rem 1.5rem; }
  .fgroup__h { font-size: 0.875rem; font-weight: 600; color: var(--fg-1); margin: 0 0 0.875rem; padding-bottom: 0.75rem; border-bottom: 1px solid var(--border); }
  .fgroup__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.6875rem; }
  .fgroup__list li { font-size: 0.8125rem; line-height: 1.55; color: var(--fg-3); }
  .fgroup__list b { font-weight: 600; color: var(--fg-1); }
  @media (max-width: 1040px) { .fgrid { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 700px) { .fgrid { grid-template-columns: 1fr; } }

/* For-agents connection card */
.agents-card { margin: 0; padding: 1rem 1.25rem 1.125rem; background: var(--neutral-950); display: grid; grid-template-columns: 6.5rem 1fr; row-gap: 0.5625rem; column-gap: 1rem; font-family: var(--font-mono); font-size: 0.8125rem; }
.agents-card dt { color: var(--fg-3); }
.agents-card dd { margin: 0; color: var(--fg-1); overflow-wrap: anywhere; }
.agents-card dd a { color: var(--sky); text-decoration: none; }
.agents-card dd a:hover { text-decoration: underline; }
.agents-card dd b { color: var(--sky); font-weight: 600; }
.agents-card__foot { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 0.625rem; padding-top: 0.875rem; border-top: 1px solid var(--border); font-family: var(--font-sans); font-size: 0.7812rem; color: var(--fg-3); }


/* styles/pages/examples.css */
/* Search examples view — pain-point scenario cards */
.ex-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }
.ex { background: var(--neutral-900); border: 1px solid var(--border); border-radius: 0.75rem; padding: 1.5rem; display: flex; flex-direction: column; gap: 0.75rem; }
.ex__h { font-size: 1.0625rem; font-weight: 600; color: var(--fg-1); margin: 0; }
.ex__p { font-size: 0.875rem; line-height: 1.6; color: var(--fg-2); margin: 0; }
.ex__rows { display: flex; flex-direction: column; gap: 0.625rem; border-top: 1px solid var(--border); padding-top: 0.875rem; margin-top: auto; }
.ex__row { display: flex; gap: 0.625rem; align-items: flex-start; font-size: 0.8438rem; line-height: 1.55; }
.ex__row svg { flex-shrink: 0; margin-top: 0.125rem; }
.ex__row--fail { color: var(--fg-3); }
.ex__row--ok { color: var(--fg-1); }
.ex__row--ok svg { color: var(--success); }
.ex-foot { display: flex; gap: 0.75rem; flex-wrap: wrap; justify-content: space-between; margin-top: 2.5rem; padding-top: 1.625rem; border-top: 1px solid var(--border); }
@media (max-width: 900px) { .ex-grid { grid-template-columns: 1fr; } }

/* Worked example — numbered steps, prose beside a window-chrome payload capture */
.exw { display: flex; flex-direction: column; gap: 1.75rem; max-width: 68.75rem; margin: 0 auto; }
.exw__step { display: grid; grid-template-columns: 2.75rem 1fr; column-gap: 1.125rem; row-gap: 0.875rem; }
.exw__num { width: 2.125rem; height: 2.125rem; border-radius: 999rem; display: flex; align-items: center; justify-content: center; background: var(--surface-2); border: 1px solid var(--border-strong); color: var(--brand); font-weight: 700; font-size: 0.9375rem; }
.exw__h { font-size: 1rem; font-weight: 600; color: var(--fg-1); margin: 0.3125rem 0 0.375rem; }
.exw__p { font-size: 0.875rem; line-height: 1.6; color: var(--fg-2); margin: 0; }
.exw__win { grid-column: 2; }
.exw__code { margin: 0; padding: 1rem 1.125rem; font-family: var(--font-mono); font-size: 0.7812rem; line-height: 1.65; color: var(--fg-1); overflow-x: auto; background: var(--neutral-950); }
.exw__dim { color: var(--fg-3); }
.exw__fail { color: var(--fg-3); }
.exw__fail::first-letter { color: var(--danger, #d66); }
@media (max-width: 640px) {
  .exw__step { grid-template-columns: 1fr; }
  .exw__win { grid-column: 1; }
}
/* Long fetched URLs stay on one line and ellipsize instead of wrapping/scrolling */
.exw__url { display: inline-block; max-width: calc(100% - 5ch); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; color: var(--sky, var(--fg-1)); }
/* Step 3: side-by-side raw vs selected response */
.exw__cmp { grid-column: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; align-items: start; }
.exw__cmp .exw__code { font-size: 0.7188rem; }
.exw__foot { padding: 0.625rem 1.125rem; border-top: 1px solid var(--border); font-size: 0.7812rem; color: var(--fg-3); }
.exw__foot a { color: var(--sky, var(--fg-2)); text-decoration: none; }
.exw__foot a:hover { text-decoration: underline; }
@media (max-width: 900px) { .exw__cmp { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .exw__cmp { grid-column: 1; } }

/* Index link cards */
.ex--link { text-decoration: none; transition: border-color var(--dur) var(--ease), transform var(--dur) var(--ease); }
.ex--link:hover { border-color: var(--border-strong); transform: translateY(-0.125rem); }
.ex__go { margin-top: auto; padding-top: 0.75rem; border-top: 1px solid var(--border); color: var(--sky); font-weight: 600; font-size: 0.8438rem; }
.ex--worked { border-color: rgba(217,154,58,0.35); }

/* Back link above example page titles */
.ex-back { display: inline-block; font-size: 0.8125rem; font-weight: 600; color: var(--sky); text-decoration: none; margin-bottom: 0.625rem; }
.ex-back:hover { text-decoration: underline; }

/* Prev/next footer nav on example pages — prev left, index/product middle, next right */
.ex-nav { display: flex; justify-content: space-between; align-items: center; gap: 0.75rem; flex-wrap: wrap; margin-top: 2.5rem; padding-top: 1.625rem; border-top: 1px solid var(--border); }
.ex-nav__spacer { flex: 0 0 1px; }
.ex-nav__mid { display: flex; align-items: center; gap: 0.625rem; font-size: 0.8438rem; }
.ex-nav__mid a { color: var(--fg-2); text-decoration: none; font-weight: 600; transition: color var(--dur-fast) var(--ease); }
.ex-nav__mid a:hover { color: var(--sky); }
.ex-nav__dot { color: var(--fg-3); }
/* Prose example pages share the full wrap; body text stays a readable measure */
.exmd { max-width: 72ch; }
/* Example pages: let the header span the wrap so long titles stay on one line */
.sec-head:has(.ex-back) { max-width: none; }
.ex-group { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--fg-3); margin: 2.5rem 0 0.875rem; }
.ex-group:first-of-type { margin-top: 0; }
.exw a { color: var(--sky); }


/* styles/pages/faq.css */
/* FAQ view — styles the gfm-rendered markdown body to the site look */
.faq { display: flex; flex-direction: column; gap: 0.375rem; }
.faq .anchor { display: none; } /* gfm heading link icons — noise here */
.faq h2 { font-size: 1.0625rem; font-weight: 600; color: var(--fg-1); margin: 1.625rem 0 0.5rem; padding-top: 1.375rem; border-top: 1px solid var(--border); }
.faq h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.faq p { font-size: 0.9062rem; line-height: 1.65; color: var(--fg-2); margin: 0 0 0.375rem; }
.faq a { color: var(--sky); }
.faq code { font-family: var(--font-mono); font-size: 0.92em; color: var(--fg-1); background: var(--bg-inset); border: 1px solid var(--border); border-radius: 0.3125rem; padding: 1px 0.375rem; }
.faq__foot { display: flex; gap: 0.75rem; flex-wrap: wrap; margin-top: 2.5rem; padding-top: 1.625rem; border-top: 1px solid var(--border); }
/* Fenced code blocks in md-rendered pages (FAQ, examples) — match the payload panes */
.faq pre { margin: 0.625rem 0 0.875rem; padding: 1rem 1.125rem; background: var(--bg-inset); border: 1px solid var(--border); border-radius: 0.625rem; overflow-x: auto; font-family: var(--font-mono); font-size: 0.7812rem; line-height: 1.65; color: var(--fg-1); }
.faq pre code { background: transparent; border: 0; padding: 0; color: inherit; font-size: inherit; }
.faq img { display: block; width: 100%; height: auto; border: 1px solid var(--border-strong); border-radius: 0.75rem; margin: 0.75rem 0 1.125rem; }


/* styles/pages/search.css */
/* Search page styles — ported from the handoff's per-page <style> block */
  /* Search MCP mock — scoped to this page */
  .srch { display: grid; grid-template-columns: 1.05fr 0.95fr; height: 25rem; }
  .srch__io { border-right: 1px solid var(--border); background: var(--neutral-950); padding: 1rem 1.125rem; display: flex; flex-direction: column; gap: 0.6875rem; overflow: hidden; }
  .srch__line { font-size: 0.7188rem; color: var(--fg-3); }
  .srch__agent { font-family: var(--font-mono); color: var(--sky); }
  .srch__call { font-family: var(--font-mono); font-size: 0.8125rem; color: var(--fg-1); background: var(--surface-2); border: 1px solid var(--border); border-radius: 0.4375rem; padding: 0.5625rem 0.75rem; }
  .srch__call--2 { margin-top: 0.25rem; }
  .srch__call .tool { color: var(--sky); font-weight: 600; }
  .srch__call .arg { color: #86efac; }
  .srch__res { display: flex; flex-direction: column; gap: 0.5rem; }
  .srch__resrow { display: grid; grid-template-columns: 1.375rem 1fr; gap: 0.625rem; align-items: start; background: var(--neutral-900); border: 1px solid var(--border); border-radius: 0.4375rem; padding: 0.5625rem 0.6875rem; }
  .srch__resrow.is-gated { border-color: rgba(217,154,58,0.4); }
  .srch__idx { font-family: var(--font-mono); font-size: 0.6875rem; color: var(--fg-3); text-align: center; padding-top: 1px; }
  .srch__t { font-size: 0.7812rem; color: var(--fg-1); line-height: 1.35; display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
  .srch__u { font-family: var(--font-mono); font-size: 0.6562rem; color: var(--fg-3); margin-top: 0.1875rem; }
  .srch__lock { display: inline-flex; align-items: center; gap: 0.25rem; font-family: var(--font-mono); font-size: 0.5938rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--sky); background: rgba(217,154,58,0.14); border: 1px solid rgba(217,154,58,0.32); border-radius: 999rem; padding: 1px 0.4375rem 1px 0.3125rem; }
  .srch__note { display: inline-flex; align-items: center; gap: 0.4375rem; font-family: var(--font-mono); font-size: 0.6875rem; color: var(--success); margin-top: 0.125rem; }
  .srch__out { background: var(--bg-inset); padding: 1rem 1.125rem; display: flex; flex-direction: column; gap: 0.75rem; overflow: hidden; }
  .srch__fail { font-family: var(--font-mono); font-size: 0.6875rem; color: var(--fg-3); text-decoration: line-through; }
  .srch__fail .srch__failx { color: var(--danger); text-decoration: none; display: inline-block; margin-right: 0.25rem; }
  .srch__outhead { font-size: 0.6562rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--fg-3); }
  .srch__doc { background: var(--neutral-950); border: 1px solid var(--border); border-radius: 0.5625rem; padding: 0.8125rem 0.875rem; display: flex; flex-direction: column; gap: 0.5625rem; }
  .srch__docmeta { display: flex; align-items: center; gap: 0.5rem; }
  .srch__src { font-family: var(--font-mono); font-size: 0.6562rem; color: var(--fg-3); }
  .srch__badge { margin-left: auto; font-family: var(--font-mono); font-size: 0.5938rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--sky); background: rgba(217,154,58,0.14); border: 1px solid rgba(217,154,58,0.3); border-radius: 999rem; padding: 0.125rem 0.5rem; }
  .srch__doctitle { font-size: 0.8438rem; font-weight: 600; color: var(--fg-1); line-height: 1.3; }
  .srch__json { font-family: var(--font-mono); font-size: 0.7188rem; line-height: 1.6; margin: 0; white-space: pre-wrap; color: var(--fg-2); }
  .srch__json .k { color: var(--fg-3); }
  .srch__json .key { color: var(--sky); }
  .srch__json .str { color: #86efac; }
  .srch__json .num { color: #fbbf24; }
  @media (max-width: 1000px) { .srch { grid-template-columns: 1fr; height: auto; } .srch__io { border-right: 0; border-bottom: 1px solid var(--border); } }

  /* Search flow diagram */
  .flow { display: grid; grid-template-columns: 1fr auto 1.05fr auto 1fr; align-items: center; background: var(--neutral-900); border: 1px solid var(--border); border-radius: 1rem; padding: 2.25rem 1.625rem; }
  .flow__col { display: flex; flex-direction: column; gap: 0.75rem; }
  .flow__label { font-size: 0.6562rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--fg-3); text-align: center; }
  .flow__stack, .flow__sites { display: flex; flex-direction: column; gap: 0.5625rem; }
  .flow__chip { display: flex; align-items: center; gap: 0.625rem; font-size: 0.8125rem; color: var(--fg-1); background: var(--neutral-950); border: 1px solid var(--border); border-radius: 0.5625rem; padding: 0.6875rem 0.8125rem; }
  .flow__chip svg { width: 1rem; height: 1rem; color: var(--sky); flex-shrink: 0; }
  .flow__chip--muted { color: var(--fg-3); font-family: var(--font-mono); font-size: 0.7188rem; }
  .flow__chip--muted svg { color: var(--fg-3); }
  .flow__link { display: flex; flex-direction: column; gap: 0.75rem; padding: 0 0.875rem; min-width: 5.75rem; }
  .flow__wire { display: flex; align-items: center; gap: 0.375rem; font-family: var(--font-mono); font-size: 0.5938rem; letter-spacing: 0.03em; }
  .flow__wire .line { flex: 1; height: 0.125rem; border-radius: 0.125rem; }
  .flow__wire svg { flex-shrink: 0; }
  .flow__wire--out { color: var(--sky); }
  .flow__wire--out .line { background: linear-gradient(90deg, transparent, var(--sky)); }
  .flow__wire--back { color: var(--success); }
  .flow__wire--back .line { background: linear-gradient(90deg, var(--success), transparent); }
  .flow__engine { display: flex; flex-direction: column; align-items: center; gap: 0.75rem; text-align: center; background: linear-gradient(160deg, var(--ink-navy), var(--deep-navy)); border: 1px solid var(--brand); border-radius: 0.875rem; padding: 1.5rem 1.25rem; box-shadow: 0 0 44px -12px rgba(217,154,58,0.5); }
  .flow__engine-ic { width: 3.25rem; height: 3.25rem; border-radius: 0.8125rem; background: rgba(217,154,58,0.14); border: 1px solid rgba(217,154,58,0.4); display: flex; align-items: center; justify-content: center; color: var(--sky); }
  .flow__engine-ic svg { width: 1.625rem; height: 1.625rem; }
  .flow__engine-name { font-size: 1rem; font-weight: 700; color: #fff; letter-spacing: -0.01em; }
  .flow__engine-tags { display: flex; flex-wrap: wrap; gap: 0.375rem; justify-content: center; }
  .flow__engine-tags span { font-family: var(--font-mono); font-size: 0.6562rem; color: var(--sky); background: rgba(217,154,58,0.12); border: 1px solid rgba(217,154,58,0.3); border-radius: 999rem; padding: 0.1875rem 0.5625rem; }
  .flow__site { display: flex; align-items: center; gap: 0.5625rem; font-size: 0.7812rem; color: var(--fg-1); background: var(--neutral-950); border: 1px solid var(--border); border-radius: 0.5625rem; padding: 0.625rem 0.75rem; }
  .flow__site .lead { width: 0.9375rem; height: 0.9375rem; flex-shrink: 0; color: var(--fg-3); }
  .flow__site.is-gated { border-color: rgba(217,154,58,0.4); }
  .flow__site.is-gated .lead { color: var(--sky); }
  .flow__site .dot-ok { width: 0.5rem; height: 0.5rem; border-radius: 999rem; background: var(--success); flex-shrink: 0; }
  .flow__site .chk { margin-left: auto; display: inline-flex; align-items: center; gap: 0.25rem; font-family: var(--font-mono); font-size: 0.5938rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--success); }
  @media (max-width: 1000px) {
    .flow { grid-template-columns: 1fr; gap: 1rem; }
    .flow__link { flex-direction: row; justify-content: center; align-items: center; padding: 0.125rem 0; min-width: 0; gap: 1.25rem; }
    .flow__wire .line { min-width: 2.5rem; }
    .flow__link svg { transform: rotate(90deg); }
  }

  .hero__wordmark { display: block; height: 2.625rem; width: auto; margin: 0 0 1.375rem; }
  /* Install line */
  .install { display: flex; align-items: center; gap: 0.625rem; background: var(--bg-inset); border: 1px solid var(--border-strong); border-radius: 0.625rem; padding: 0.5rem 0.5rem 0.5rem 1rem; max-width: 35rem; }
  .install--hero { margin: 0.375rem 0 0.625rem; }
  .install__cmd { flex: 1; min-width: 0; font-family: var(--font-mono); font-size: 0.875rem; color: var(--fg-1); overflow-x: auto; white-space: nowrap; }
  .install__copy { flex-shrink: 0; background: var(--surface-2); color: var(--fg-2); border: 1px solid var(--border); border-radius: 0.4375rem; font-size: 0.7812rem; font-weight: 600; padding: 0.4375rem 0.875rem; cursor: pointer; transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
  .install__copy:hover { color: var(--sky); border-color: var(--brand); }
  .install__note { font-size: 0.8125rem; color: var(--fg-3); margin: 0 0 1.375rem; }
  .install__foot { font-size: 0.8125rem; color: var(--fg-3); text-align: center; margin: 1.375rem 0 0; }
  #install .install { margin: 0 auto; }
  .steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.875rem; margin-top: 1.625rem; }
  .step { display: flex; gap: 0.75rem; background: var(--neutral-900); border: 1px solid var(--border); border-radius: 0.75rem; padding: 1rem 1.125rem; }
  .step__n { flex-shrink: 0; width: 1.375rem; height: 1.375rem; border-radius: 999rem; background: rgba(217,154,58,0.14); border: 1px solid rgba(217,154,58,0.35); color: var(--sky); font-family: var(--font-mono); font-size: 0.7188rem; display: flex; align-items: center; justify-content: center; }
  .step__h { font-size: 0.8438rem; font-weight: 600; color: var(--fg-1); }
  .step__p { font-size: 0.7812rem; color: var(--fg-3); line-height: 1.5; margin-top: 0.25rem; }
  @media (max-width: 800px) { .steps { grid-template-columns: 1fr; } }

  /* Context savings */
  .ctx { display: grid; grid-template-columns: 1fr 1fr; gap: 2.75rem; align-items: center; }
  .ctx__copy .eyebrow { display: block; margin-bottom: 0.75rem; }
  .ctx__copy .sec-head__title { margin: 0 0 0.875rem; }
  .ctx__kicker { font-size: 0.9375rem; font-weight: 600; color: var(--fg-1); margin: 1.125rem 0 0; }
  .ctx__viz { background: var(--neutral-900); border: 1px solid var(--border); border-radius: 1rem; padding: 1.625rem 1.5rem; display: flex; flex-direction: column; gap: 1.125rem; }
  .ctx__row { display: grid; grid-template-columns: 9.375rem 1fr 4.625rem; gap: 0.875rem; align-items: center; }
  .ctx__lbl { font-size: 0.7812rem; color: var(--fg-3); }
  .ctx__bar { height: 0.875rem; border-radius: 0.25rem; background: var(--bg-inset); border: 1px solid var(--border); overflow: hidden; }
  .ctx__fill { display: block; height: 100%; }
  .ctx__fill--full { width: 100%; background: var(--surface-2); }
  .ctx__fill--slim { width: 1.2%; min-width: 0.25rem; background: var(--brand); }
  .ctx__val { font-family: var(--font-mono); font-size: 0.8125rem; color: var(--fg-3); text-align: right; }
  .ctx__val--hi { color: var(--sky); font-weight: 600; }
  .ctx__foot { display: flex; flex-direction: column; gap: 0.375rem; border-top: 1px solid var(--border); padding-top: 0.875rem; font-family: var(--font-mono); font-size: 0.7188rem; color: var(--fg-3); }
  @media (max-width: 900px) { .ctx { grid-template-columns: 1fr; gap: 1.75rem; } .ctx__row { grid-template-columns: 7.5rem 1fr 4.25rem; } }

  /* BLUF popover — native Popover API, centered by the UA stylesheet */
  .bluf { max-width: 34rem; width: calc(100vw - 2.5rem); text-align: left; background: var(--surface); border: 1px solid var(--border-strong); border-radius: 0.875rem; padding: 1.5rem 1.625rem; color: var(--fg-1); box-shadow: var(--shadow-lg); }
  .bluf::backdrop { background: hsl(0 0% 0% / 0.55); }
  .bluf__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.75rem; }
  .bluf__close { background: transparent; color: var(--fg-3); border: 1px solid var(--border-strong); border-radius: 0.375rem; font-size: 0.75rem; font-weight: 600; padding: 0.3125rem 0.75rem; cursor: pointer; transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
  .bluf__close:hover { color: var(--sky); border-color: var(--brand); }
  .bluf__line { font-size: 0.9375rem; line-height: 1.6; font-weight: 600; color: var(--fg-1); margin: 0 0 0.875rem; }
  .bluf__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.625rem; }
  .bluf__list li { font-size: 0.8438rem; line-height: 1.55; color: var(--fg-3); }
  .bluf__list b { font-weight: 600; color: var(--fg-1); }

  /* Tool contract table */
  .contract { overflow-x: auto; background: var(--neutral-900); border: 1px solid var(--border); border-radius: 0.75rem; }
  .contract table { width: 100%; border-collapse: collapse; font-size: 0.8125rem; min-width: 45rem; }
  .contract th { text-align: left; font-size: 0.6562rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--fg-3); padding: 0.75rem 1rem; border-bottom: 1px solid var(--border); }
  .contract td { padding: 0.75rem 1rem; border-top: 1px solid var(--border); color: var(--fg-2); vertical-align: top; line-height: 1.5; }
  .contract tr:first-child td { border-top: 0; }
  .contract td.m { font-family: var(--font-mono); color: var(--sky); white-space: nowrap; }
  .contract__proof { display: block; margin-top: 0.375rem; font-size: 0.75rem; color: var(--fg-3); }
  .contract__send { display: block; margin-top: 0.3125rem; font-family: var(--font-mono); font-size: 0.7188rem; color: var(--fg-3); white-space: normal; }
  .contract__proof a { color: var(--sky); white-space: nowrap; }

  /* Problem section as a table (contract variant) */
  .contract--vs table { min-width: 40rem; }
  .contract th.ok { color: var(--sky); }
  .contract td.lbl { color: var(--fg-1); font-weight: 600; white-space: nowrap; }
  .contract td.okc { color: var(--fg-1); }
  .contract--vs td:nth-child(2) { color: var(--fg-3); }

  /* Flow diagram: branded agents converge on the hub via curved dashed paths */
  .flow__stack--agents { justify-content: space-between; height: 100%; }
  .flow__link--curves { position: relative; padding: 0; min-width: 6.875rem; align-self: stretch; display: flex; }
  .flow__curves { width: 6.875rem; flex: 1; height: 100%; min-height: 20.625rem; }
  .flow__curves path { fill: none; stroke: var(--brand); stroke-width: 1.8; stroke-dasharray: 4.2 3.4; stroke-linecap: round; }
  .flow__curves path:nth-child(1) { opacity: 0.9; }
  .flow__curves path:nth-child(2) { opacity: 0.75; }
  .flow__curves path:nth-child(3) { opacity: 0.65; }
  .flow__curves path:nth-child(6), .flow__curves path:nth-child(7) { opacity: 0.55; }
  .flow__curves path:nth-child(4) { opacity: 0.75; }
  .flow__curves path:nth-child(5) { opacity: 0.9; }
  .flow__curves circle { fill: var(--brand); }
  .flow__curves-lbl { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -190%); font-family: var(--font-mono); font-size: 0.5938rem; letter-spacing: 0.03em; color: var(--sky); background: var(--neutral-900); padding: 1px 0.375rem; border-radius: 999rem; }
  @media (max-width: 1000px) {
    .flow__link--curves { display: none; }
    .flow__stack--agents { height: auto; }
  }

  /* Full-SVG flow diagram */
  .flowsvg-wrap { background: var(--neutral-900); border: 1px solid var(--border); border-radius: 1rem; padding: 1.125rem 0.75rem; overflow-x: auto; }
  .flowsvg { display: block; width: 100%; min-width: 55rem; height: auto; }

/* Mobile: the vs-table hides its payoff column off-screen — stack each row
   into a card instead (without / with shown one under the other). */
@media (max-width: 640px) {
  .contract--vs { overflow-x: visible; background: transparent; border: 0; }
  .contract--vs table { min-width: 0; display: block; }
  .contract--vs thead { display: none; }
  .contract--vs tbody { display: flex; flex-direction: column; gap: 0.75rem; }
  .contract--vs tr { display: block; background: var(--neutral-900); border: 1px solid var(--border); border-radius: 0.75rem; padding: 0.25rem 0; }
  .contract--vs td { display: block; border-top: 0; padding: 0.625rem 1rem; }
  .contract--vs td.lbl { white-space: normal; padding-bottom: 0; font-size: 0.875rem; }
  .contract--vs td:nth-child(2)::before,
  .contract--vs td:nth-child(3)::before { display: block; font-size: 0.625rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--fg-3); margin-bottom: 0.25rem; }
  .contract--vs td:nth-child(2)::before { content: "Without Search"; }
  .contract--vs td:nth-child(3)::before { content: "With Levirge Search"; color: var(--sky); }
  .contract--vs td:nth-child(3) { border-top: 1px dashed var(--border); }
  /* Tool table: stack each row into a card — 4 of 6 columns were off-screen. */
  .contract:not(.contract--vs) { overflow-x: visible; background: transparent; border: 0; }
  .contract:not(.contract--vs) table { min-width: 0; display: block; }
  .contract:not(.contract--vs) thead { display: none; }
  .contract:not(.contract--vs) tbody { display: flex; flex-direction: column; gap: 0.75rem; }
  .contract:not(.contract--vs) tr { display: block; background: var(--neutral-900); border: 1px solid var(--border); border-radius: 0.75rem; padding: 0 0 0.5rem; }
  .contract:not(.contract--vs) td { display: block; border-top: 0; padding: 0.5rem 1rem 0; }
  .contract:not(.contract--vs) td.m { white-space: normal; font-size: 0.9062rem; padding: 0.75rem 1rem 0.625rem; border-bottom: 1px solid var(--border); margin-bottom: 0.125rem; }
  .contract:not(.contract--vs) td:nth-child(n+2)::before { display: block; font-size: 0.625rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--fg-3); margin-bottom: 0.125rem; }
  .contract:not(.contract--vs) td:nth-child(2)::before { content: "Get back"; }
  .contract:not(.contract--vs) td:nth-child(3)::before { content: "Use it when"; }
  .contract:not(.contract--vs) td:nth-child(4)::before { content: "On failure"; }
}


/* ui-contact-form/_ui-contact-form.css */
/* ui-contact-form — the Levirge contact panel. Dark DS: surface card, inset
   inputs, amber focus. Self-contained. */
ui-contact-form { display: contents; }
.cform { background: var(--surface); border: 1px solid var(--border-strong); border-radius: 0.875rem; padding: 1.875rem 2rem; max-width: 35rem; margin: 0 auto; }
.cform__row { display: grid; grid-template-columns: 1fr 1fr; gap: 0.875rem; }
.cform__field { display: flex; flex-direction: column; gap: 0.4375rem; margin-bottom: 1rem; }
.cform__field label { font-size: 0.8125rem; font-weight: 600; color: var(--fg-1); }
.cform__field input, .cform__field select, .cform__field textarea {
  font-family: var(--font-sans); font-size: 0.9062rem; color: var(--fg-1);
  background: var(--bg-inset); border: 1px solid var(--border-strong); border-radius: 0.5rem;
  padding: 0.6875rem 0.8125rem; width: 100%; transition: border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);
}
.cform__field input::placeholder, .cform__field textarea::placeholder { color: var(--fg-3); }
.cform__field input:focus, .cform__field select:focus, .cform__field textarea:focus {
  outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px var(--accent-soft);
}
.cform__field select { appearance: none; }
.cform__error { margin: 0.75rem 0 0; font-size: 0.875rem; color: var(--danger, #d66); text-align: center; }
.cform__foot { margin: 1rem 0 0; font-size: 0.8125rem; color: var(--fg-3); text-align: center; }
.cform__foot a { color: var(--sky); text-decoration: none; }
.cform__done { display: none; text-align: center; padding: 0.75rem 0; }
.cform__check { width: 3rem; height: 3rem; border-radius: 999rem; background: rgba(16,185,129,0.14); color: var(--success); display: flex; align-items: center; justify-content: center; margin: 0 auto 0.875rem; }
.cform__h { font-size: 1.1875rem; font-weight: 700; color: var(--fg-1); margin: 0 0 0.375rem; }
.cform__sub { font-size: 0.875rem; color: var(--fg-2); margin: 0; }
ui-contact-form.done form { display: none; }
ui-contact-form.done .cform__done { display: block; }
@media (max-width: 560px) { .cform { padding: 1.5rem 1.25rem; } .cform__row { grid-template-columns: 1fr; } }

.cform__optin { display: flex; align-items: center; gap: 0.625rem; font-size: 0.875rem; color: var(--fg-2); cursor: pointer; margin: 0.125rem 0 1.125rem; }
.cform__optin input { width: 1.0625rem; height: 1.0625rem; accent-color: var(--brand); flex-shrink: 0; }


/* ui-copy/_ui-copy.css */
/* ui-copy — injected Copy button inside rendered-markdown code blocks (.faq pre). */
.faq pre { position: relative; }
.faq pre .ui-copy__inpre { position: absolute; top: 0.625rem; right: 0.625rem; }


/* ui-install-tabs/_ui-install-tabs.css */
/* ui-install-tabs — per-agent install command switcher */
ui-install-tabs { display: block; width: 100%; max-width: 40rem; min-width: 0; margin: 0 auto; }
.itabs__panel, .itabs__block { min-width: 0; max-width: 100%; }
.itabs__bar { display: flex; gap: 0.4375rem; flex-wrap: wrap; justify-content: center; margin-bottom: 1rem; }
.itabs__btn { background: transparent; color: var(--fg-2); border: 1px solid var(--border-strong); border-radius: 999rem; font-size: 0.8125rem; font-weight: 600; padding: 0.4375rem 0.9375rem; cursor: pointer; transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease); }
.itabs__btn:hover { color: var(--fg-1); }
.itabs__btn:focus-visible { outline: 0.125rem solid var(--accent-line); outline-offset: 0.125rem; }
.itabs__btn.is-active { background: var(--accent-soft); border-color: var(--brand); color: var(--sky); }
.itabs__block { position: relative; background: var(--bg-inset); border: 1px solid var(--border-strong); border-radius: 0.625rem; padding: 0.875rem 5.625rem 0.875rem 1rem; text-align: left; }
.itabs__block pre { margin: 0; font-family: var(--font-mono); font-size: 0.8125rem; line-height: 1.6; color: var(--fg-1); overflow-x: auto; }
.itabs__block .install__copy { position: absolute; top: 0.625rem; right: 0.625rem; }
.itabs__block + .itabs__block { margin-top: 0.625rem; }
.itabs__lbl { font-size: 0.7812rem; color: var(--fg-3); margin: 0.875rem 0.125rem 0.5rem; text-align: left; }.itabs__note { font-size: 0.8125rem; color: var(--fg-3); margin: 0.625rem 0.125rem 0; text-align: left; line-height: 1.5; }
.itabs__note a { color: var(--sky); }
/* Narrow screens: Copy gets its own row so it can never leave the viewport */
@media (max-width: 480px) {
  .itabs__block { padding: 0.75rem 0.875rem; }
  .itabs__block .install__copy { position: static; display: block; margin-top: 0.625rem; }
}


/* ui-trace-demo/_ui-trace-demo.css */
/* ui-trace-demo — clickable stages over the shared .srch mock styles */
ui-trace-demo .srch__stage { display: block; width: 100%; text-align: left; font: inherit; cursor: pointer; transition: border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease); }
ui-trace-demo .srch__stage:hover { border-color: var(--border-strong); }
ui-trace-demo .srch__stage.is-active { border-color: var(--brand); box-shadow: 0 0 0 1px rgba(217, 154, 58, 0.25); }
ui-trace-demo .srch__stage:focus-visible { outline: 0.125rem solid var(--accent-line); outline-offset: 0.125rem; }
ui-trace-demo .srch__hint { font-weight: 600; color: var(--sky); }
ui-trace-demo .srch__xmark { color: var(--danger, #d66); font-weight: 700; }
/* site.css's global .tool is a pill chip — inside the trace these spans are
   code tokens, not chips */
ui-trace-demo .srch__call .tool { display: inline; background: transparent; border: 0; border-radius: 0; padding: 0; font-size: inherit; color: var(--sky); font-weight: 600; }
ui-trace-demo .srch__stage--fail .tool { color: var(--fg-3); }
ui-trace-demo .srch__badge--fail { color: var(--danger, #d66); background: rgba(214, 102, 102, 0.1); border-color: rgba(214, 102, 102, 0.3); }
ui-trace-demo [data-panel] { display: flex; flex-direction: column; gap: 0.75rem; }
ui-trace-demo [data-panel][hidden] { display: none; }


/* ui-try-fetch/_ui-try-fetch.css */
/* ui-try-fetch — self-contained styles for the Search try-it widget */
ui-try-fetch { display: block; }

  .try { max-width: 45rem; margin: 0 auto; }
  .try__bar { display: flex; gap: 0.625rem; background: var(--neutral-950); border: 1px solid var(--border-strong); border-radius: 0.625rem; padding: 0.5rem; transition: border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease); }
  .try__bar:focus-within { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(217,154,58,0.18); }
  .try__input { flex: 1; min-width: 0; background: transparent; border: 0; outline: none; color: var(--fg-1); font-family: var(--font-mono); font-size: 0.875rem; padding: 0.5rem 0.625rem; }
  .try__input::placeholder { color: var(--fg-3); }
  .try__btn { flex-shrink: 0; background: var(--brand); color: #fff; border: 0; border-radius: 0.4375rem; font-weight: 600; font-size: 0.875rem; padding: 0 1.125rem; cursor: pointer; transition: background var(--dur-fast) var(--ease); }
  .try__btn:hover { background: var(--brand-hover); }
  .try__btn:disabled { opacity: 0.55; cursor: default; }
  .try__hint { font-size: 0.75rem; color: var(--fg-3); margin: 0.625rem 0.125rem 0; font-family: var(--font-mono); }
  .try__result { margin-top: 1.125rem; background: var(--neutral-900); border: 1px solid var(--border); border-radius: 0.75rem; overflow: hidden; }
  .try__loading, .try__err { padding: 1.125rem 1.25rem; font-family: var(--font-mono); font-size: 0.8125rem; color: var(--fg-2); }
  .try__err { color: var(--danger); }
  .try__head { display: flex; align-items: center; gap: 0.625rem; padding: 0.8125rem 1.125rem; border-bottom: 1px solid var(--border); background: var(--surface-2); }
  .try__status { font-family: var(--font-mono); font-size: 0.6875rem; font-weight: 700; padding: 0.125rem 0.5rem; border-radius: 999rem; flex-shrink: 0; }
  .try__status.ok { color: var(--success); background: rgba(16,185,129,0.14); }
  .try__status.bad { color: var(--danger); background: rgba(239,68,68,0.14); }
  .try__url { font-family: var(--font-mono); font-size: 0.75rem; color: var(--fg-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .try__title { padding: 1rem 1.125rem 0.375rem; }
  .try__title-lbl { font-size: 0.625rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--fg-3); }
  .try__title-val { font-size: 1rem; font-weight: 600; color: var(--fg-1); margin-top: 0.25rem; line-height: 1.35; }
  .try__meta { padding: 0.5rem 1.125rem 1.125rem; }
  .try__metarow { display: grid; grid-template-columns: 11.25rem 1fr; gap: 0.75rem; padding: 0.5rem 0; border-top: 1px solid var(--border); font-size: 0.7812rem; }
  .try__metarow:first-child { border-top: 0; }
  .try__k { font-family: var(--font-mono); color: var(--sky); overflow: hidden; text-overflow: ellipsis; }
  .try__v { color: var(--fg-2); word-break: break-word; }
  .try__empty { color: var(--fg-3); font-family: var(--font-mono); font-size: 0.7812rem; padding: 0.25rem 0; }
  @media (max-width: 620px) { .try__metarow { grid-template-columns: 1fr; gap: 0.125rem; } }

  /* In-flight spinner — a cold read through the full browser can take seconds */
  .try__loading { display: flex; align-items: center; gap: 0.625rem; }
  .try__spinner { flex-shrink: 0; width: 0.9375rem; height: 0.9375rem; border-radius: 50%; border: 0.125rem solid var(--border-strong); border-top-color: var(--brand); animation: try-spin 0.8s linear infinite; }
  @keyframes try-spin { to { transform: rotate(360deg); } }
  @media (prefers-reduced-motion: reduce) { .try__spinner { animation: none; border-top-color: var(--border-strong); } }
  .try__loading-url { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
