@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 400;
  src:
    url(../font/roboto-latin-400-normal.woff2) format("woff2"),
    url(../font/roboto-latin-400-normal.woff) format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  font-display: swap;
}

@font-face {
  font-family: "Roboto";
  font-style: italic;
  font-weight: 400;
  src:
    url(../font/roboto-latin-400-italic.woff2) format("woff2"),
    url(../font/roboto-latin-400-italic.woff) format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  font-display: swap;
}

@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 500;
  src:
    url(../font/roboto-latin-500-normal.woff2) format("woff2"),
    url(../font/roboto-latin-500-normal.woff) format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  font-display: swap;
}

@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 500;
  src:
    url(../font/roboto-latin-500-italic.woff2) format("woff2"),
    url(../font/roboto-latin-500-italic.woff) format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  font-display: swap;
}

@font-face {
  font-family: "Roboto Mono";
  font-style: normal;
  font-weight: 400;
  src:
    url(../font/roboto-mono-latin-400-normal.woff2) format("woff2"),
    url(../font/roboto-mono-latin-400-normal.woff) format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  font-display: swap;
}

@font-face {
  font-family: "Roboto Mono";
  font-style: normal;
  font-weight: 500;
  src:
    url(../font/roboto-mono-latin-500-normal.woff2) format("woff2"),
    url(../font/roboto-mono-latin-500-normal.woff) format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  font-display: swap;
}

/* =============================================================================
   LEGACY DESIGN TOKENS (Pre-2025)
   These will be gradually phased out as components are updated to use the new
   design system tokens in the :root selector below.
   ============================================================================= */

html:not([data-theme=dark]),
html[data-theme=dark] {
  --ash-900: #212121;
  --ash-800: #252525;
  --ash-700: #292929;
  --ash-600: #3e3e3e;
  --ash-500: #545454;
  --ash-400: #696969;
  --ash-300: #bfbfbf;
  --ash-200: #d4d4d4;
  --ash-100: #eaeaea;
  --ash-50: #f4f4f4;
  --ash-25: #f9f9f9;
  --slate-900: #101828;
  --slate-800: #1d2939;
  --slate-700: #344054;
  --slate-600: #475467;
  --slate-500: #667085;
  --slate-400: #98a2b3;
  --slate-300: #d0d5dd;
  --slate-200: #eaecf0;
  --slate-100: #f2f4f7;
  --slate-50: #f9fafb;
  --slate-25: #fcfcfd;
  --saphire-900: #111322;
  --saphire-800: #30374f;
  --saphire-700: #404968;
  --saphire-600: #4a5578;
  --saphire-500: #5d6b98;
  --saphire-400: #7d89b0;
  --saphire-300: #b9c0d4;
  --saphire-200: #dcdfea;
  --saphire-100: #eff1f5;
  --saphire-50: #f9f9fb;
  --saphire-25: #fcfcfd;
  --sepia-900: #1d1711;
  --sepia-800: #392e21;
  --sepia-700: #564632;
  --sepia-600: #725d42;
  --sepia-500: #8e7453;
  --sepia-400: #a78b67;
  --sepia-300: #b7a184;
  --sepia-200: #c8b6a0;
  --sepia-100: #d8ccbd;
  --sepia-50: #e9e2d9;
  --sepia-25: #f4f1ec;
  --amber-900: #713b12;
  --amber-800: #854a0e;
  --amber-700: #a15c07;
  --amber-600: #ca8504;
  --amber-500: #eaaa08;
  --amber-400: #fac515;
  --amber-300: #fde272;
  --amber-200: #feee95;
  --amber-100: #fef7c3;
  --amber-50: #fefbe8;
  --amber-25: #fefdf0;
  --saffron-900: #be5107;
  --saffron-800: #da5d08;
  --saffron-700: #f77923;
  --saffron-600: #f88639;
  --saffron-500: #f9944f;
  --saffron-400: #faa165;
  --saffron-300: #fbb77b;
  --saffron-200: #fbbc91;
  --saffron-100: #fdd7bd;
  --saffron-50: #feefe4;
  --saffron-25: #fef2e9;
  --redpanda-1000: #a33016;
  --redpanda-900: #c83918;
  --redpanda-800: #e2401b;
  --redpanda-700: #e65433;
  --redpanda-600: #ed7f66;
  --redpanda-500: #f0947f;
  --redpanda-400: #f3aa99;
  --redpanda-300: #f6bfb2;
  --redpanda-200: #f9cbc1;
  --redpanda-100: #f9d4cc;
  --redpanda-50: #fceae5;
  --redpanda-25: #fff5f5;
  --light-dark: #262626;
  /* colors */
  --color-white: #fff;
  --color-smoke-10: var(--ash-25);
  --color-smoke-30: var(--ash-50);
  --color-smoke-50: var(--ash-50);
  --color-smoke-70: var(--ash-100);
  --color-smoke-90: var(--ash-200);
  --color-gray-10: var(--ash-300);
  --color-gray-30: var(--ash-400);
  --color-gray-40: var(--ash-400);
  --color-gray-50: var(--ash-500);
  --color-gray-70: var(--slate-500);
  --color-jet-20: var(--ash-600);
  --color-jet-30: var(--ash-700);
  --color-jet-50: var(--ash-900);
  --color-jet-60: var(--ash-900);
  --color-jet-70: var(--slate-900);
  --color-jet-80: var(--slate-900);
  --color-black: var(--slate-900);
  /* fonts */
  --rem-base: 18; /* used to compute rem value from desired pixel value (e.g., calc(18 / var(--rem-base) * 1rem) = 18px) */
  --body-font-size: 15px; /* Prototype: 15px body text */
  --body-font-size--desktop: var(--body-font-size);
  --secondary-font-size: calc(14/var(--rem-base)*1rem);
  --body-font-size--print: 0.9375em;
  --body-line-height: 1.15;
  --body-font-family: var(--font-sans, "Inter", sans-serif);
  --body-font-weight-bold: 600;
  --body-font-family-bold: var(--font-sans, "Inter", sans-serif);
  --monospace-font-family: var(--font-mono, "JetBrains Mono", ui-monospace, monospace);
  --monospace-font-weight-bold: 500;
  --alt-heading-font-weight: bold;
  /* nav */
  --nav-line-height: 1.3;
  /* admonitions */
  --admonition-border-left-width: 5px;
  --admonition-border-radius: 10px;
  --admonition-box-shadow: 0 1px 2px 0 #0000001a;
  --admonition-padding: 1rem;
  --beta-label-color: #fff;
  --beta-label-background: var(--link-highlight-color);
  --beta-label-border: var(--slate-800);
  --limited-availability-label-color: #fff;
  --limited-availability-label-background: var(--default-header-color);
  --limited-availability-label-border: var(--amber-800);
  --limited-availability-highlight-background-color: rgba(202, 133, 4, 0.08);
  --limited-availability-highlight-background-color: rgba(248, 134, 57, 0.08);
  /* BYOC badge */
  --byoc-label-color: #fff;
  --byoc-label-background: #014f86;
  --byoc-highlight-background-color: rgba(1, 79, 134, 0.08);
  /* Cloud badge */
  --cloud-label-color: #fff;
  --cloud-label-background: #6c63ff;
  --cloud-highlight-background-color: rgba(108, 99, 255, 0.08);
  /* doc */
  --doc-font-size: inherit;
  --doc-font-size--desktop: var(--body-font-size);
  --doc-line-height: 1.7;
  --heading-font-weight: 600;
  --heading-font-family: var(--font-display, "Inter Display", "Inter", sans-serif);
  --admonition-label-font-weight: var(--body-font-weight-bold);
  --caption-font-style: normal;
  --caption-font-weight: var(--body-font-weight-bold);
  /* toc */
  --toc-line-height: 1.2;
  /* footer */
  --footer-line-height: var(--doc-line-height);
  /* dimensions and positioning */

  --navbar-height: calc(70/var(--rem-base)*1rem);
  --toolbar-top-padding: 32px;
  --toolbar-height: calc(50/var(--rem-base)*1rem);
  --drawer-height: 24px;
  --body-top: calc(var(--navbar-height) + var(--announcement-bar-height));
  --body-top--desktop: calc(var(--navbar-height) + var(--announcement-bar-height--desktop));
  --body-min-height: calc(100vh - var(--body-top));
  --nav-height: calc(var(--body-min-height) - var(--toolbar-height));
  --nav-collapse-height: 40px;
  --default-header-color: var(--redpanda-800);
  --announcement-bar-height: 0px; /* Set by JS when announcement is shown */
  --announcement-bar-height--desktop: 0px; /* Set by JS when announcement is shown */
  --nav-height--desktop: var(--body-min-height);
  --nav-panel-menu-height: calc(100% - var(--drawer-height));
  --nav-panel-explore-height: calc(50% + var(--drawer-height));
  --nav-width: 280px;
  --toc-top: calc(var(--body-top) + var(--toolbar-height) + 3rem);
  --toc-height: calc(100vh - var(--toc-top) - 2.5rem);
  --toc-width: 232px;
  --toc-width--widescreen: calc(280/var(--rem-base)*1rem);
  --doc-max-width: 920px;
  /* stacking */
  --z-index-page-version-menu: 2;
  --z-index-nav: 3;
  --z-index-toolbar: 4;
  --z-index-navbar: 5;
  /* Algolia */
  --aa-detached-modal-max-width: 1200px;
  --aa-spacing-factor: 0.8;
  /* Prism */
  --highlight-background: rgba(255, 255, 0, 0.23);
}

/* Dark mode overrides */

html[data-theme=dark] {
  /* BYOC badge - brighter blue for dark mode visibility with dark text for contrast */
  --byoc-label-color: #101828;
  --byoc-label-background: #4da8da;
  --byoc-highlight-background-color: rgba(77, 168, 218, 0.15);
  /* Cloud badge - brighter purple for dark mode visibility with dark text for contrast */
  --cloud-label-color: #101828;
  --cloud-label-background: #9d97ff;
  --cloud-highlight-background-color: rgba(157, 151, 255, 0.15);
  /* Availability block - brighter for dark mode */
  --availability-block-background: rgba(173, 181, 189, 0.15);
  --availability-block-border: #adb5bd;
}

html:not([data-theme=dark]) {
  --body-font-color: #181818;
  --body-faint-font-color: #667085;
  --body-footer-font-color: #98a2b3;
  /* base */
  --body-background: var(--color-white);
  --banner-background: #f0f1fd;
  --home-background: #f5f5f5;
  --card-color: #e4e9f0;
  --input-color: white;
  --chip-color: #e8e9eb;
  --chip-text-color: rgb(102, 112, 133);
  --card-border-color: #c6cddb;
  --button-font-color: white;
  --panel-background: #f9fafb;
  --panel-border-color: #e0e0e0;
  --kapa-question-color: #e0e0e0;
  --scrollbar-track-color: var(--color-smoke-30);
  --scrollbar-thumb-color: var(--color-gray-10);
  --scrollbar_hover-thumb-color: var(--color-gray-30);
  --sticky-table-header-background: #f6f6f6;
  --tooltip-background: var(--slate-900);
  --tooltip-font-color: white;
  --feature-background-color: var(--card-color);
  /* search */
  --search-hits-boxshadow: 0 0 0 1px rgba(35, 38, 59, 0.05), 0 1px 3px 0 rgba(35, 38, 59, 0.15);
  --search-detached-mode-background: #f5f6f7;
  --search-icon-color: unset;
  /* navbar */
  --navbar-background: var(--color-white);
  --navbar-font-color: #a8b2c7;
  --navbar_hover-background: var(--color-white);
  --navbar-button-background: var(--color-white);
  --navbar-button-border-color: var(--panel-border-color);
  --navbar-button-font-color: var(--body-font-color);
  --navbar-menu-border-color: var(--panel-border-color);
  --navbar-menu-background: var(--color-white);
  --navbar-menu-font-color: var(--navbar-font-color);
  --navbar-menu_hover-background: var(--color-smoke-50);
  --navbar-boxshadow: 1px 3px 5px var(--ash-50);
  --navbar-dropdown-boxshadow: 0 4px 10px #0003;
  --navbar-dropdown-background-hover-color: #0000000d;

  /* navbar animations */
  --transition-timing-default: cubic-bezier(0.08, 0.52, 0.52, 1);
  --transition-fast: 200ms;

  /* nav */
  --nav-background: white;
  --nav-border-color: var(--slate-100);
  --nav-heading-font-color: var(--color-jet-30);
  --nav-muted-color: var(--color-gray-70);
  --nav-panel-divider-color: var(--color-smoke-90);
  --nav-secondary-background: var(--color-smoke-70);
  --nav-toggle-filter: '';
  --color-aliases-static-palette-text-secondary: var(--color-primitives-global-grey-grey-700);
  /* toolbar */
  --toolbar-background: var(--body-background);
  --toolbar-border-color: var(--panel-border-color);
  --toolbar-font-color: var(--color-gray-70);
  --toolbar-muted-color: var(--color-gray-40);
  --page-version-menu-background: var(--color-smoke-70);
  --page-version-font-color: inherit;
  --page-version-missing-font-color: var(--color-gray-40);
  /* feedback */
  --feedback-modal-background: #fefefe;
  /* admonitions */
  --important-background: rgba(68, 76, 231, 0.1);
  --important-on-color: var(--body-font-color);
  --important-icon: url(../img/info-purple.svg) no-repeat center right / auto 100%;
  --warning-background: rgba(205, 55, 44, 0.1);
  --warning-on-color: var(--body-font-color);
  --warning-icon: url(../img/report-red.svg) no-repeat center right / auto 100%;
  --note-background: rgba(69, 173, 232, 0.1);
  --note-on-color: var(--body-font-color);
  --note-icon: url(../img/info-blue.svg) no-repeat center right / auto 100%;
  --tip-background: rgba(56, 161, 105, 0.1);
  --tip-on-color: var(--body-font-color);
  --tip-icon: url(../img/check-circle-green.svg) no-repeat center right / auto 100%;
  --caution-background: rgba(249, 161, 101, 0.1);
  --caution-on-color: var(--body-font-color);
  --caution-icon: url(../img/warning-orange.svg) no-repeat center right / auto 100%;
  /* availability block */
  --availability-block-background: rgba(108, 117, 125, 0.08);
  --availability-block-border: #6c757d;
  /* doc */
  --doc-font-color: var(--color-jet-50);
  --heading-font-color: var(--color-jet-80);
  --section-divider-color: var(--panel-border-color);
  --link-font-color: var(--redpanda-800);
  --accordian-background: rgba(0, 0, 0, 0.05);
  --link-highlight-color: #444ce7;
  --highlight-border: #a4bcfd;
  --link-highlight-background-color: rgba(68, 76, 231, 0.08);
  --link_hover-font-color: #2c30a0;
  --link_unresolved-font-color: var(--redpanda-800);
  --abstract-background: var(--color-smoke-70);
  --abstract-font-color: var(--color-jet-20);
  --abstract-border-color: var(--panel-border-color);
  --admonition-background: var(--panel-background);
  --admonition-label-font-weight: var(--body-font-weight-bold);
  --caption-font-color: var(--color-gray-70);
  --caption-background-color: #f6f8fa;
  --caption-font-style: normal;
  --tabs_hover-background: #0000000d;
  --caption-font-weight: normal;
  --code-background: var(--panel-background);
  --code-font-color: rgb(0 0 0/1);
  --editable-code-font-color: var(--link-font-color);
  --editable-background: #eff0f1;
  --example-background: var(--color-white);
  --example-border-color: var(--color-gray-70);
  --kbd-background: var(--panel-background);
  --kbd-border-color: var(--color-gray-10);
  --pre-background: var(--panel-background);
  --pre-border-color: var(--panel-border-color);
  --pre-annotation-font-color: var(--color-gray-50);
  --quote-background: var(--panel-background);
  --quote-border-color: var(--color-gray-70);
  --quote-font-color: var(--color-gray-70);
  --quote-attribution-font-color: var(--color-gray-40);
  --sidebar-background: var(--color-smoke-90);
  --table-border-color: var(--panel-border-color);
  --table-stripe-background: #00000008;
  --table-footer-background: linear-gradient(to bottom, var(--color-smoke-70) 0%, var(--color-white) 100%);
  /* toc */
  --toc-font-color: var(--nav-muted-color);
  --toc-heading-font-color: var(--doc-font-color);
  --toc-border-color: var(--panel-border-color);
  /* footer */
  --footer-line-height: var(--doc-line-height);
  --footer-background: var(--slate-50);
  --footer-font-color: var(--color-gray-70);
  --footer-link-font-color: var(--color-jet-80);
  /* home */
  --highlight-container-background: #f9fafb;
}

/* =============================================================================
   NEW DESIGN SYSTEM TOKENS - GLOBAL (All Themes)
   ============================================================================= */

:root {
  /* Typography - Font Families */
  --font-sans: "Inter", ui-sans-serif, system-ui, sans-serif;
  --font-display: "Inter Display", "Inter", ui-sans-serif, system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, sfmono-regular, menlo, monospace;
  /* Typography - Tracking */
  --tracking-heading: -0.01em;
  --tracking-label: -0.0125em;
  --tracking-caption: 0.01em;
  --tracking-number: -0.05em;
  --tracking-number-tight: -0.025em;
  --tracking-caption-wide: 0.05em;
  /* Typography scale */
  --text-9xl: 4.5rem;
  --text-8xl: 3.5rem;
  --text-7xl: 3rem;
  --text-6xl: 2.5rem;
  --text-5xl: 2rem;
  --text-4xl: 1.5rem;
  --text-3xl: 1.25rem;
  --text-2xl: 1.125rem;
  --text-xl: 1rem;
  /* New color scales - Grey */
  --grey-50-new: #f5f5f5;
  --grey-100-new: #dcdcde;
  --grey-200-new: #c3c4c6;
  --grey-300-new: #aaabae;
  --grey-400-new: #919295;
  --grey-500-new: #79797d;
  --grey-600-new: #606164;
  --grey-700-new: #48484a;
  --grey-800-new: #303032;
  --grey-900-new: #181818;
  /* Brand (Redpanda Red) - New scale */
  --brand-50-new: #fff5f5;
  --brand-100-new: #fcebe9;
  --brand-200-new: #fae0db;
  --brand-300-new: #f4b9ae;
  --brand-400-new: #ee9281;
  --brand-500-new: #e86b54;
  --brand-600-new: #e24328;
  --brand-700-new: #c1331a;
  --brand-800-new: #9e2e1a;
  --brand-900-new: #711e0f;
  /* Indigo (Primary UI) - New scale */
  --indigo-50-new: #eef4ff;
  --indigo-100-new: #e0eaff;
  --indigo-200-new: #c7d2fe;
  --indigo-300-new: #a4bcfd;
  --indigo-400-new: #8098f9;
  --indigo-500-new: #6172f3;
  --indigo-600-new: #444ce7;
  --indigo-700-new: #3538cd;
  --indigo-800-new: #2c30a0;
  --indigo-900-new: #2d3282;
  /* Teal/Green (Redpanda Connect) - New scale */
  --teal-50-new: #f0fdf9;
  --teal-100-new: #ccfbef;
  --teal-200-new: #99f6df;
  --teal-300-new: #5fe9ca;
  --teal-400-new: #2ed3ae;
  --teal-500-new: #14b895;
  --teal-600-new: #0b8c6b;
  --teal-700-new: #0e7058;
  --teal-800-new: #105947;
  --teal-900-new: #12493b;
  /* Sky Blue (Cloud) - New scale */
  --sky-50-new: #f0f9ff;
  --sky-100-new: #e0f2fe;
  --sky-200-new: #bae6fd;
  --sky-300-new: #7dd3fc;
  --sky-400-new: #38bdf8;
  --sky-500-new: #0ea5e9;
  --sky-600-new: #0284c7;
  --sky-700-new: #0369a1;
  --sky-800-new: #075985;
  --sky-900-new: #0c4a6e;
  /* Slate (Self-managed) - New scale */
  --slate-50-new: #f8fafc;
  --slate-100-new: #f1f5f9;
  --slate-200-new: #e2e8f0;
  --slate-300-new: #cbd5e1;
  --slate-400-new: #94a3b8;
  --slate-500-new: #64748b;
  --slate-600-new: #475569;
  --slate-700-new: #334155;
  --slate-800-new: #1e293b;
  --slate-900-new: #0f172a;
  /* =============================================================================
     COMPONENT COLORS - Dynamic theming based on current product
     These colors are applied via data-component attribute on the body element
     ============================================================================= */
  /* Default/fallback component colors (Data Platform - Indigo) */
  --component-50: var(--indigo-50-new);
  --component-100: var(--indigo-100-new);
  --component-200: var(--indigo-200-new);
  --component-500: var(--indigo-500-new);
  --component-600: var(--indigo-600-new);
  --component-700: var(--indigo-700-new);
  --component-bg-tint: rgba(79, 70, 229, 0.06);
  --component-bg-tint-hover: rgba(79, 70, 229, 0.1);
  --component-bg-tint-active: rgba(79, 70, 229, 0.14);
  /* Dark Blue (Sidebar) - New scale */
  --dark-blue-50-new: #eff1f6;
  --dark-blue-100-new: #e5e9f0;
  --dark-blue-200-new: #c6cedc;
  --dark-blue-300-new: #a8b2c7;
  --dark-blue-400-new: #5972a6;
  --dark-blue-500-new: #475b85;
  --dark-blue-600-new: #2d3a53;
  --dark-blue-700-new: #20293c;
  --dark-blue-800-new: #161e2d;
  --dark-blue-900-new: #101828;
  /* Semantic colors - New design system */
  --fg-strong-new: var(--grey-900-new);
  --fg-new: var(--grey-700-new);
  --fg-muted-new: var(--grey-600-new);
  --fg-subtle-new: var(--grey-500-new);
  --fg-disabled-new: var(--grey-400-new);
  --brand-new: var(--brand-600-new);
  --brand-hover-new: var(--brand-700-new);
  --primary-new: var(--indigo-600-new);
  --primary-hover-new: var(--indigo-700-new);
  /* Sidebar theme variables */
  --sidebar-bg: #0f1727; /* Exact prototype color - slightly deeper than dark-blue-800 */
  --sidebar-fg: #c6cedc; /* Exact prototype color */
  --sidebar-fg-muted: var(--dark-blue-300-new);
  --sidebar-accent: rgba(255, 255, 255, 0.08);
  --sidebar-border: rgba(255, 255, 255, 0.04); /* Exact prototype border */
  --sidebar-item-hover-bg: rgba(255, 255, 255, 0.05);
  --sidebar-item-active-bg: rgba(255, 255, 255, 0.1);
  /* Border radius - New scale */
  --radius-xs-new: 0.125rem;
  --radius-sm-new: 0.25rem;
  --radius-md-new: 0.375rem;
  --radius-lg-new: 0.5rem;
  --radius-xl-new: 0.75rem;
  --radius-2xl-new: 1rem;
  --radius-3xl-new: 1.25rem;
  --radius-full-new: 9999px;
  /* Shadows - New design */
  --shadow-sm-new: 0 1px 4px 0 rgba(0, 0, 0, 0.08);
  --shadow-md-new: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
  --shadow-lg-new: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.05);
  --shadow-elevated-new: 4px 4px 0px 0px rgba(0, 0, 0, 0.08);

  /* =============================================================================
     LEGACY REDPANDA DS TOKENS
     ============================================================================= */

  /* Light Mode */
  /* color */
  --color-aliases-interactive-palette-opacity-brand-disabled: var(--color-primitives-alpha-primary-brand-primary-brand-alpha-500);
  --color-aliases-interactive-palette-opacity-brand-empty: var(--color-primitives-alpha-primary-brand-primary-brand-alpha-0);
  --color-aliases-interactive-palette-opacity-brand-enabled: var(--color-primitives-alpha-primary-brand-primary-brand-alpha-50);
  --color-aliases-interactive-palette-opacity-brand-enabled-strong: var(--color-primitives-alpha-primary-brand-primary-brand-alpha-300);
  --color-aliases-interactive-palette-opacity-brand-hover: var(--color-primitives-alpha-primary-brand-primary-brand-alpha-100);
  --color-aliases-interactive-palette-opacity-brand-pressed: var(--color-primitives-alpha-primary-brand-primary-brand-alpha-200);
  --color-aliases-interactive-palette-opacity-dark-disabled: var(--color-primitives-alpha-black-black-alpha-50);
  --color-aliases-interactive-palette-opacity-dark-empty: var(--color-primitives-alpha-black-black-alpha-0);
  --color-aliases-interactive-palette-opacity-dark-enabled: var(--color-primitives-alpha-black-black-alpha-50);
  --color-aliases-interactive-palette-opacity-dark-enabled-strong: var(--color-primitives-alpha-black-black-alpha-300);
  --color-aliases-interactive-palette-opacity-dark-hover: var(--color-primitives-alpha-black-black-alpha-100);
  --color-aliases-interactive-palette-opacity-dark-pressed: var(--color-primitives-alpha-black-black-alpha-200);
  --color-aliases-interactive-palette-opacity-error-disabled: var(--color-primitives-alpha-red-red-alpha-500);
  --color-aliases-interactive-palette-opacity-error-empty: var(--color-primitives-alpha-red-red-alpha-0);
  --color-aliases-interactive-palette-opacity-error-enabled: var(--color-primitives-alpha-red-red-alpha-50);
  --color-aliases-interactive-palette-opacity-error-enabled-strong: var(--color-primitives-alpha-red-red-alpha-200);
  --color-aliases-interactive-palette-opacity-error-hover: var(--color-primitives-alpha-red-red-alpha-100);
  --color-aliases-interactive-palette-opacity-error-pressed: var(--color-primitives-alpha-red-red-alpha-200);
  --color-aliases-interactive-palette-opacity-informative-empty: var(--color-primitives-alpha-blue-blue-alpha-0);
  --color-aliases-interactive-palette-opacity-informative-enabled: var(--color-primitives-alpha-blue-blue-alpha-50);
  --color-aliases-interactive-palette-opacity-informative-enabled-strong: var(--color-primitives-alpha-blue-blue-alpha-100);
  --color-aliases-interactive-palette-opacity-informative-hover: var(--color-primitives-alpha-blue-blue-alpha-300);
  --color-aliases-interactive-palette-opacity-informative-pressed: var(--color-primitives-alpha-blue-blue-alpha-400);
  --color-aliases-interactive-palette-opacity-light-disabled: var(--color-primitives-alpha-white-white-alpha-600);
  --color-aliases-interactive-palette-opacity-light-empty: var(--color-primitives-alpha-white-white-alpha-0);
  --color-aliases-interactive-palette-opacity-light-enabled: var(--color-primitives-alpha-white-white-alpha-50);
  --color-aliases-interactive-palette-opacity-light-enabled-strong: var(--color-primitives-alpha-white-white-alpha-300);
  --color-aliases-interactive-palette-opacity-light-hover: var(--color-primitives-alpha-white-white-alpha-100);
  --color-aliases-interactive-palette-opacity-light-pressed: var(--color-primitives-alpha-white-white-alpha-200);
  --color-aliases-interactive-palette-opacity-primary-disabled: var(--color-primitives-alpha-indigo-indigo-alpha-500);
  --color-aliases-interactive-palette-opacity-primary-empty: var(--color-primitives-alpha-indigo-indigo-alpha-0);
  --color-aliases-interactive-palette-opacity-primary-enabled: var(--color-primitives-alpha-indigo-indigo-alpha-50);
  --color-aliases-interactive-palette-opacity-primary-enabled-strong: var(--color-primitives-alpha-indigo-indigo-alpha-300);
  --color-aliases-interactive-palette-opacity-primary-hover: var(--color-primitives-alpha-indigo-indigo-alpha-100);
  --color-aliases-interactive-palette-opacity-primary-pressed: var(--color-primitives-alpha-indigo-indigo-alpha-200);
  --color-aliases-interactive-palette-opacity-secondary-disabled: var(--color-primitives-alpha-dark-blue-dark-blue-alpha-400);
  --color-aliases-interactive-palette-opacity-secondary-empty: var(--color-primitives-alpha-dark-blue-dark-blue-alpha-0);
  --color-aliases-interactive-palette-opacity-secondary-enabled: var(--color-primitives-alpha-dark-blue-dark-blue-alpha-50);
  --color-aliases-interactive-palette-opacity-secondary-enabled-strong: var(--color-primitives-alpha-dark-blue-dark-blue-alpha-500);
  --color-aliases-interactive-palette-opacity-secondary-pressed: var(--color-primitives-alpha-dark-blue-dark-blue-alpha-200);
  --color-aliases-interactive-palette-opacity-secondary-hover: var(--color-primitives-alpha-dark-blue-dark-blue-alpha-100);
  --color-aliases-interactive-palette-outline-brand-disabled: var(--color-primitives-global-grey-grey-400);
  --color-aliases-interactive-palette-outline-brand-enabled: var(--color-primitives-global-primary-brand-primary-brand-300);
  --color-aliases-interactive-palette-outline-brand-hover: var(--color-primitives-global-primary-brand-primary-brand-500);
  --color-aliases-interactive-palette-outline-brand-pressed: var(--color-primitives-global-primary-brand-primary-brand-500);
  --color-aliases-interactive-palette-outline-error-disabled: var(--color-primitives-global-grey-grey-400);
  --color-aliases-interactive-palette-outline-error-enabled: var(--color-primitives-global-red-red-400);
  --color-aliases-interactive-palette-outline-error-hover: var(--color-primitives-global-red-red-500);
  --color-aliases-interactive-palette-outline-error-pressed: var(--color-primitives-global-red-red-600);
  --color-aliases-interactive-palette-outline-informative-disabled: var(--color-primitives-global-grey-grey-400);
  --color-aliases-interactive-palette-outline-informative-enabled: var(--color-primitives-global-blue-blue-600);
  --color-aliases-interactive-palette-outline-informative-hover: var(--color-primitives-global-blue-blue-700);
  --color-aliases-interactive-palette-outline-informative-pressed: var(--color-primitives-global-blue-blue-800);
  --color-aliases-interactive-palette-outline-inverse-disabled: var(--color-primitives-global-grey-grey-50);
  --color-aliases-interactive-palette-outline-inverse-enabled: var(--color-primitives-global-dark-blue-dark-blue-100);
  --color-aliases-interactive-palette-outline-inverse-hover: var(--color-primitives-global-dark-blue-dark-blue-200);
  --color-aliases-interactive-palette-outline-inverse-pressed: var(--color-primitives-global-dark-blue-dark-blue-300);
  --color-aliases-interactive-palette-outline-neutral-disabled: var(--color-primitives-global-grey-grey-400);
  --color-aliases-interactive-palette-outline-neutral-enabled: var(--color-primitives-global-grey-grey-600);
  --color-aliases-interactive-palette-outline-neutral-hover: var(--color-primitives-global-grey-grey-800);
  --color-aliases-interactive-palette-outline-neutral-pressed: var(--color-primitives-global-grey-grey-800);
  --color-aliases-interactive-palette-outline-primary-disabled: var(--color-primitives-global-grey-grey-200);
  --color-aliases-interactive-palette-outline-primary-enabled: var(--color-primitives-global-indigo-indigo-400);
  --color-aliases-interactive-palette-outline-primary-hover: var(--color-primitives-global-indigo-indigo-500);
  --color-aliases-interactive-palette-outline-primary-pressed: var(--color-primitives-global-indigo-indigo-600);
  --color-aliases-interactive-palette-outline-secondary-disabled: var(--color-primitives-global-grey-grey-50);
  --color-aliases-interactive-palette-outline-secondary-enabled: var(--color-primitives-global-dark-blue-dark-blue-300);
  --color-aliases-interactive-palette-outline-secondary-hover: var(--color-primitives-global-dark-blue-dark-blue-400);
  --color-aliases-interactive-palette-outline-secondary-pressed: var(--color-primitives-global-dark-blue-dark-blue-500);
  --color-aliases-interactive-palette-outline-secondary-subtle: var(--color-primitives-global-dark-blue-dark-blue-100);
  --color-aliases-interactive-palette-outline-success-disabled: var(--color-primitives-global-grey-grey-400);
  --color-aliases-interactive-palette-outline-success-enabled: var(--color-primitives-global-green-green-500);
  --color-aliases-interactive-palette-outline-success-hover: var(--color-primitives-global-green-green-600);
  --color-aliases-interactive-palette-outline-success-pressed: var(--color-primitives-global-green-green-700);
  --color-aliases-interactive-palette-outline-warning-disabled: var(--color-primitives-global-grey-grey-400);
  --color-aliases-interactive-palette-outline-warning-enabled: var(--color-primitives-global-orange-orange-400);
  --color-aliases-interactive-palette-outline-warning-hover: var(--color-primitives-global-orange-orange-500);
  --color-aliases-interactive-palette-outline-warning-pressed: var(--color-primitives-global-orange-orange-600);
  --color-aliases-interactive-palette-surfaces-brand-disabled: var(--color-primitives-global-grey-grey-400);
  --color-aliases-interactive-palette-surfaces-brand-enabled: var(--color-primitives-global-primary-brand-primary-brand-600);
  --color-aliases-interactive-palette-surfaces-brand-hover: var(--color-primitives-global-primary-brand-primary-brand-700);
  --color-aliases-interactive-palette-surfaces-brand-pressed: var(--color-primitives-global-primary-brand-primary-brand-800);
  --color-aliases-interactive-palette-surfaces-error-disabled: var(--color-primitives-global-grey-grey-400);
  --color-aliases-interactive-palette-surfaces-error-enabled: var(--color-primitives-global-red-red-600);
  --color-aliases-interactive-palette-surfaces-error-hover: var(--color-primitives-global-red-red-700);
  --color-aliases-interactive-palette-surfaces-error-pressed: var(--color-primitives-global-red-red-800);
  --color-aliases-interactive-palette-surfaces-informative-disabled: var(--color-primitives-global-grey-grey-400);
  --color-aliases-interactive-palette-surfaces-informative-enabled: var(--color-primitives-global-blue-blue-600);
  --color-aliases-interactive-palette-surfaces-informative-hover: var(--color-primitives-global-blue-blue-700);
  --color-aliases-interactive-palette-surfaces-informative-pressed: var(--color-primitives-global-blue-blue-800);
  --color-aliases-interactive-palette-surfaces-inverse-disabled: var(--color-primitives-global-grey-grey-50);
  --color-aliases-interactive-palette-surfaces-inverse-enabled: var(--color-primitives-global-grey-white);
  --color-aliases-interactive-palette-surfaces-inverse-hover: var(--color-primitives-global-grey-grey-50);
  --color-aliases-interactive-palette-surfaces-inverse-pressed: var(--color-primitives-global-grey-grey-100);
  --color-aliases-interactive-palette-surfaces-neutral-dark-disabled: var(--color-primitives-global-grey-grey-400);
  --color-aliases-interactive-palette-surfaces-neutral-dark-enabled: var(--color-primitives-global-grey-grey-800);
  --color-aliases-interactive-palette-surfaces-neutral-dark-hover: var(--color-primitives-global-grey-grey-700);
  --color-aliases-interactive-palette-surfaces-neutral-dark-pressed: var(--color-primitives-global-grey-grey-600);
  --color-aliases-interactive-palette-surfaces-neutral-light-disabled: var(--color-primitives-global-grey-grey-50);
  --color-aliases-interactive-palette-surfaces-neutral-light-enabled: var(--color-primitives-global-grey-grey-200);
  --color-aliases-interactive-palette-surfaces-neutral-light-hover: var(--color-primitives-global-grey-grey-300);
  --color-aliases-interactive-palette-surfaces-neutral-light-pressed: var(--color-primitives-global-grey-grey-400);
  --color-aliases-interactive-palette-surfaces-primary-disabled: var(--color-primitives-global-grey-grey-400);
  --color-aliases-interactive-palette-surfaces-primary-enabled: var(--color-primitives-global-indigo-indigo-600);
  --color-aliases-interactive-palette-surfaces-primary-hover: var(--color-primitives-global-indigo-indigo-800);
  --color-aliases-interactive-palette-surfaces-primary-pressed: var(--color-primitives-global-indigo-indigo-900);
  --color-aliases-interactive-palette-surfaces-secondary-disabled: var(--color-primitives-global-grey-grey-400);
  --color-aliases-interactive-palette-surfaces-secondary-enabled: var(--color-primitives-global-dark-blue-dark-blue-600);
  --color-aliases-interactive-palette-surfaces-secondary-hover: var(--color-primitives-global-dark-blue-dark-blue-800);
  --color-aliases-interactive-palette-surfaces-secondary-pressed: var(--color-primitives-global-dark-blue-dark-blue-900);
  --color-aliases-interactive-palette-surfaces-success-disabled: var(--color-primitives-global-grey-grey-400);
  --color-aliases-interactive-palette-surfaces-success-enabled: var(--color-primitives-global-green-green-500);
  --color-aliases-interactive-palette-surfaces-success-hover: var(--color-primitives-global-green-green-600);
  --color-aliases-interactive-palette-surfaces-success-pressed: var(--color-primitives-global-green-green-700);
  --color-aliases-interactive-palette-surfaces-warning-disabled: var(--color-primitives-global-grey-grey-400);
  --color-aliases-interactive-palette-surfaces-warning-enabled: var(--color-primitives-global-orange-orange-400);
  --color-aliases-interactive-palette-surfaces-warning-hover: var(--color-primitives-global-orange-orange-800);
  --color-aliases-interactive-palette-surfaces-warning-pressed: var(--color-primitives-global-orange-orange-900);
  --color-aliases-overlays-brand-background: var(--color-primitives-alpha-primary-brand-primary-brand-alpha-300);
  --color-aliases-overlays-brand-disabled: var(--color-primitives-alpha-primary-brand-primary-brand-alpha-500);
  --color-aliases-overlays-brand-empty: var(--color-primitives-alpha-primary-brand-primary-brand-alpha-0);
  --color-aliases-overlays-brand-enabled: var(--color-primitives-alpha-primary-brand-primary-brand-alpha-50);
  --color-aliases-overlays-brand-hover: var(--color-primitives-alpha-primary-brand-primary-brand-alpha-100);
  --color-aliases-overlays-brand-pressed: var(--color-primitives-alpha-primary-brand-primary-brand-alpha-200);
  --color-aliases-overlays-error-background: var(--color-primitives-alpha-red-red-alpha-200);
  --color-aliases-overlays-error-disabled: var(--color-primitives-alpha-red-red-alpha-500);
  --color-aliases-overlays-error-empty: var(--color-primitives-alpha-red-red-alpha-0);
  --color-aliases-overlays-error-enabled: var(--color-primitives-alpha-red-red-alpha-50);
  --color-aliases-overlays-error-hover: var(--color-primitives-alpha-red-red-alpha-100);
  --color-aliases-overlays-error-pressed: var(--color-primitives-alpha-red-red-alpha-200);
  --color-aliases-overlays-informative-background: var(--color-primitives-alpha-blue-blue-alpha-100);
  --color-aliases-overlays-informative-empty: var(--color-primitives-alpha-blue-blue-alpha-0);
  --color-aliases-overlays-informative-enabled: var(--color-primitives-alpha-blue-blue-alpha-50);
  --color-aliases-overlays-informative-hover: var(--color-primitives-alpha-blue-blue-alpha-300);
  --color-aliases-overlays-informative-pressed: var(--color-primitives-alpha-blue-blue-alpha-400);
  --color-aliases-overlays-inverse-background: var(--color-primitives-alpha-white-white-alpha-300);
  --color-aliases-overlays-inverse-disabled: var(--color-primitives-alpha-white-white-alpha-600);
  --color-aliases-overlays-inverse-empty: var(--color-primitives-alpha-white-white-alpha-0);
  --color-aliases-overlays-inverse-enabled: var(--color-primitives-alpha-white-white-alpha-50);
  --color-aliases-overlays-inverse-hover: var(--color-primitives-alpha-white-white-alpha-100);
  --color-aliases-overlays-inverse-pressed: var(--color-primitives-alpha-white-white-alpha-200);
  --color-aliases-overlays-neutral-background: var(--color-primitives-alpha-black-black-alpha-300);
  --color-aliases-overlays-neutral-disabled: var(--color-primitives-alpha-black-black-alpha-50);
  --color-aliases-overlays-neutral-empty: var(--color-primitives-alpha-black-black-alpha-0);
  --color-aliases-overlays-neutral-enabled: var(--color-primitives-alpha-black-black-alpha-50);
  --color-aliases-overlays-neutral-hover: var(--color-primitives-alpha-black-black-alpha-100);
  --color-aliases-overlays-neutral-pressed: var(--color-primitives-alpha-black-black-alpha-200);
  --color-aliases-overlays-primary-background: var(--color-primitives-alpha-indigo-indigo-alpha-300);
  --color-aliases-overlays-primary-disabled: var(--color-primitives-alpha-indigo-indigo-alpha-500);
  --color-aliases-overlays-primary-empty: var(--color-primitives-alpha-indigo-indigo-alpha-0);
  --color-aliases-overlays-primary-enabled: var(--color-primitives-alpha-indigo-indigo-alpha-50);
  --color-aliases-overlays-primary-hover: var(--color-primitives-alpha-indigo-indigo-alpha-100);
  --color-aliases-overlays-primary-pressed: var(--color-primitives-alpha-indigo-indigo-alpha-200);
  --color-aliases-overlays-secondary-background: var(--color-primitives-alpha-dark-blue-dark-blue-alpha-500);
  --color-aliases-overlays-secondary-disabled: var(--color-primitives-alpha-dark-blue-dark-blue-alpha-400);
  --color-aliases-overlays-secondary-empty: var(--color-primitives-alpha-dark-blue-dark-blue-alpha-0);
  --color-aliases-overlays-secondary-enabled: var(--color-primitives-alpha-dark-blue-dark-blue-alpha-50);
  --color-aliases-overlays-secondary-pressed: var(--color-primitives-alpha-dark-blue-dark-blue-alpha-200);
  --color-aliases-overlays-secondary-hover: var(--color-primitives-alpha-dark-blue-dark-blue-alpha-100);
  --color-aliases-static-palette-background-base: var(--color-primitives-global-grey-grey-50);
  --color-aliases-static-palette-background-strong: var(--color-primitives-global-grey-white);
  --color-aliases-static-palette-background-subtle: var(--color-primitives-global-dark-blue-dark-blue-50);
  --color-aliases-static-palette-background-brand-strong: var(--color-primitives-global-primary-brand-primary-brand-600);
  --color-aliases-static-palette-background-brand-subtle: var(--color-primitives-global-primary-brand-primary-brand-100);
  --color-aliases-static-palette-background-inverse-base: var(--color-primitives-global-dark-blue-dark-blue-900);
  --color-aliases-static-palette-background-inverse-subtle: var(--color-primitives-global-grey-grey-600);
  --color-aliases-static-palette-background-semantic-error-strong: var(--color-primitives-global-red-red-600);
  --color-aliases-static-palette-background-semantic-error-subtle: var(--color-primitives-global-red-red-50);
  --color-aliases-static-palette-background-semantic-informative-strong: var(--color-primitives-global-blue-blue-600);
  --color-aliases-static-palette-background-semantic-informative-subtle: var(--color-primitives-global-blue-blue-50);
  --color-aliases-static-palette-background-semantic-success-strong: var(--color-primitives-global-green-green-500);
  --color-aliases-static-palette-background-semantic-success-subtle: var(--color-primitives-global-green-green-50);
  --color-aliases-static-palette-background-semantic-warning-strong: var(--color-primitives-global-orange-orange-400);
  --color-aliases-static-palette-background-semantic-warning-subtle: var(--color-primitives-global-orange-orange-50);
  --color-aliases-static-palette-background-on-background-strong: var(--color-primitives-global-grey-grey-100);
  --color-aliases-static-palette-background-on-background-subtle: var(--color-primitives-global-grey-grey-50);
  --color-aliases-static-palette-divider-inverse-standard: var(--color-primitives-alpha-white-white-alpha-100);
  --color-aliases-static-palette-divider-inverse-strong: var(--color-primitives-alpha-white-white-alpha-300);
  --color-aliases-static-palette-divider-inverse-weak: var(--color-primitives-alpha-white-white-alpha-200);
  --color-aliases-static-palette-divider-standard: var(--color-primitives-global-dark-blue-dark-blue-100);
  --color-aliases-static-palette-divider-strong: var(--color-primitives-global-dark-blue-dark-blue-300);
  --color-aliases-static-palette-divider-weak: var(--color-primitives-global-dark-blue-dark-blue-200);
  --color-aliases-static-palette-text-disabled: var(--color-primitives-global-grey-grey-300);
  --color-aliases-static-palette-text-primary: var(--color-primitives-global-grey-grey-900);
  --color-aliases-static-palette-text-subtle: var(--color-primitives-global-grey-grey-500);
  --color-aliases-static-palette-text-tertiary: var(--color-primitives-global-grey-grey-600);
  --color-aliases-static-palette-text-action-accent: var(--color-primitives-global-primary-brand-primary-brand-700);
  --color-aliases-static-palette-text-action-on-secondary: var(--color-primitives-global-dark-blue-dark-blue-500);
  --color-aliases-static-palette-text-action-primary: var(--color-primitives-global-indigo-indigo-600);
  --color-aliases-static-palette-text-action-primary-hover: var(--color-primitives-global-indigo-indigo-800);
  --color-aliases-static-palette-text-inverse-disabled: var(--color-primitives-global-grey-grey-500);
  --color-aliases-static-palette-text-inverse-primary: var(--color-primitives-global-grey-white);
  --color-aliases-static-palette-text-inverse-secondary: var(--color-primitives-global-grey-grey-50);
  --color-aliases-static-palette-text-inverse-tertiary: var(--color-primitives-global-dark-blue-dark-blue-300);
  --color-aliases-static-palette-text-semantic-error: var(--color-primitives-global-red-red-700);
  --color-aliases-static-palette-text-semantic-infromative: var(--color-primitives-global-blue-blue-700);
  --color-aliases-static-palette-text-semantic-success: var(--color-primitives-global-green-green-500);
  --color-aliases-static-palette-text-semantic-warning: var(--color-primitives-global-orange-orange-600);
  --color-primitives-alpha-black-black-alpha-0: #00000000;
  --color-primitives-alpha-black-black-alpha-100: #0000000d;
  --color-primitives-alpha-black-black-alpha-200: #00000014;
  --color-primitives-alpha-black-black-alpha-300: #00000029;
  --color-primitives-alpha-black-black-alpha-400: #0000003d;
  --color-primitives-alpha-black-black-alpha-50: #00000008;
  --color-primitives-alpha-black-black-alpha-500: #0000005c;
  --color-primitives-alpha-black-black-alpha-600: #0000007a;
  --color-primitives-alpha-black-black-alpha-700: #000000a3;
  --color-primitives-alpha-black-black-alpha-800: #000000cc;
  --color-primitives-alpha-black-black-alpha-900: #000000eb;
  --color-primitives-alpha-blue-blue-alpha-0: #45ade800;
  --color-primitives-alpha-blue-blue-alpha-100: #45ade80f;
  --color-primitives-alpha-blue-blue-alpha-200: #45ade814;
  --color-primitives-alpha-blue-blue-alpha-300: #45ade829;
  --color-primitives-alpha-blue-blue-alpha-400: #45ade83d;
  --color-primitives-alpha-blue-blue-alpha-50: #45ade80a;
  --color-primitives-alpha-blue-blue-alpha-500: #45ade85c;
  --color-primitives-alpha-blue-blue-alpha-600: #45ade87a;
  --color-primitives-alpha-blue-blue-alpha-700: #45ade8a3;
  --color-primitives-alpha-blue-blue-alpha-800: #45ade8cc;
  --color-primitives-alpha-blue-blue-alpha-900: #45ade8eb;
  --color-primitives-alpha-dark-blue-dark-blue-alpha-0: #2d3a5300;
  --color-primitives-alpha-dark-blue-dark-blue-alpha-100: #2d3a530f;
  --color-primitives-alpha-dark-blue-dark-blue-alpha-200: #2d3a5314;
  --color-primitives-alpha-dark-blue-dark-blue-alpha-300: #2d3a5329;
  --color-primitives-alpha-dark-blue-dark-blue-alpha-400: #2d3a533d;
  --color-primitives-alpha-dark-blue-dark-blue-alpha-50: #2d3a530a;
  --color-primitives-alpha-dark-blue-dark-blue-alpha-500: #2d3a535c;
  --color-primitives-alpha-dark-blue-dark-blue-alpha-600: #2d3a537a;
  --color-primitives-alpha-dark-blue-dark-blue-alpha-700: #2d3a53a3;
  --color-primitives-alpha-dark-blue-dark-blue-alpha-800: #2d3a53cc;
  --color-primitives-alpha-dark-blue-dark-blue-alpha-900: #2d3a53eb;
  --color-primitives-alpha-indigo-indigo-alpha-0: #444ce700;
  --color-primitives-alpha-indigo-indigo-alpha-100: #444ce70f;
  --color-primitives-alpha-indigo-indigo-alpha-200: #444ce714;
  --color-primitives-alpha-indigo-indigo-alpha-300: #444ce729;
  --color-primitives-alpha-indigo-indigo-alpha-400: #444ce73d;
  --color-primitives-alpha-indigo-indigo-alpha-50: #444ce70a;
  --color-primitives-alpha-indigo-indigo-alpha-500: #444ce75c;
  --color-primitives-alpha-indigo-indigo-alpha-600: #444ce77a;
  --color-primitives-alpha-indigo-indigo-alpha-700: #444ce7a3;
  --color-primitives-alpha-indigo-indigo-alpha-800: #444ce7cc;
  --color-primitives-alpha-indigo-indigo-alpha-900: #444ce7eb;
  --color-primitives-alpha-primary-brand-primary-brand-alpha-0: #e2432800;
  --color-primitives-alpha-primary-brand-primary-brand-alpha-100: #e243280f;
  --color-primitives-alpha-primary-brand-primary-brand-alpha-200: #e2432814;
  --color-primitives-alpha-primary-brand-primary-brand-alpha-300: #e2432829;
  --color-primitives-alpha-primary-brand-primary-brand-alpha-400: #e243283d;
  --color-primitives-alpha-primary-brand-primary-brand-alpha-50: #e243280a;
  --color-primitives-alpha-primary-brand-primary-brand-alpha-500: #e243285c;
  --color-primitives-alpha-primary-brand-primary-brand-alpha-600: #e243287a;
  --color-primitives-alpha-primary-brand-primary-brand-alpha-700: #e24328a3;
  --color-primitives-alpha-primary-brand-primary-brand-alpha-800: #e24328cc;
  --color-primitives-alpha-primary-brand-primary-brand-alpha-900: #e24328eb;
  --color-primitives-alpha-red-red-alpha-0: #d92d2000;
  --color-primitives-alpha-red-red-alpha-100: #d92d200f;
  --color-primitives-alpha-red-red-alpha-200: #d92d2014;
  --color-primitives-alpha-red-red-alpha-300: #d92d2029;
  --color-primitives-alpha-red-red-alpha-400: #d92d203d;
  --color-primitives-alpha-red-red-alpha-50: #d92d200a;
  --color-primitives-alpha-red-red-alpha-500: #d92d205c;
  --color-primitives-alpha-red-red-alpha-600: #d92d207a;
  --color-primitives-alpha-red-red-alpha-700: #d92d20a3;
  --color-primitives-alpha-red-red-alpha-800: #d92d20cc;
  --color-primitives-alpha-red-red-alpha-900: #d92d20eb;
  --color-primitives-alpha-white-white-alpha-0: #ffffff00;
  --color-primitives-alpha-white-white-alpha-100: #ffffff0d;
  --color-primitives-alpha-white-white-alpha-200: #ffffff14;
  --color-primitives-alpha-white-white-alpha-300: #ffffff29;
  --color-primitives-alpha-white-white-alpha-400: #ffffff3d;
  --color-primitives-alpha-white-white-alpha-50: #ffffff08;
  --color-primitives-alpha-white-white-alpha-500: #ffffff5c;
  --color-primitives-alpha-white-white-alpha-600: #ffffff7a;
  --color-primitives-alpha-white-white-alpha-700: #ffffffa3;
  --color-primitives-alpha-white-white-alpha-800: #ffffffcc;
  --color-primitives-alpha-white-white-alpha-900: #ffffffeb;
  --color-primitives-global-blue-blue-100: #d2ebf9;
  --color-primitives-global-blue-blue-200: #bbe1f7;
  --color-primitives-global-blue-blue-300: #a4d7f4;
  --color-primitives-global-blue-blue-400: #84c9f0;
  --color-primitives-global-blue-blue-50: #e8f5fc;
  --color-primitives-global-blue-blue-500: #6ebfed;
  --color-primitives-global-blue-blue-600: #45ade8;
  --color-primitives-global-blue-blue-700: #1c9be3;
  --color-primitives-global-blue-blue-800: #115d88;
  --color-primitives-global-blue-blue-900: #0b3e5b;
  --color-primitives-global-dark-blue-dark-blue-100: #e5e9f0;
  --color-primitives-global-dark-blue-dark-blue-200: #c6cedc;
  --color-primitives-global-dark-blue-dark-blue-300: #a8b2c7;
  --color-primitives-global-dark-blue-dark-blue-400: #5972a6;
  --color-primitives-global-dark-blue-dark-blue-50: #eff1f6;
  --color-primitives-global-dark-blue-dark-blue-500: #475b85;
  --color-primitives-global-dark-blue-dark-blue-600: #2d3a53;
  --color-primitives-global-dark-blue-dark-blue-700: #20293c;
  --color-primitives-global-dark-blue-dark-blue-800: #161e2d;
  --color-primitives-global-dark-blue-dark-blue-900: #101828;
  --color-primitives-global-green-green-100: #d7eed5;
  --color-primitives-global-green-green-200: #9ae6b4;
  --color-primitives-global-green-green-300: #68d391;
  --color-primitives-global-green-green-400: #48bb78;
  --color-primitives-global-green-green-50: #f4fbf6;
  --color-primitives-global-green-green-500: #38a169;
  --color-primitives-global-green-green-600: #25855a;
  --color-primitives-global-green-green-700: #276749;
  --color-primitives-global-green-green-800: #22543d;
  --color-primitives-global-green-green-900: #1c4532;
  --color-primitives-global-grey-grey-100: #dcddde;
  --color-primitives-global-grey-grey-200: #c3c4c6;
  --color-primitives-global-grey-grey-300: #aaabae;
  --color-primitives-global-grey-grey-400: #919295;
  --color-primitives-global-grey-grey-50: #f5f5f5;
  --color-primitives-global-grey-grey-500: #79797d;
  --color-primitives-global-grey-grey-600: #606164;
  --color-primitives-global-grey-grey-700: #48484a;
  --color-primitives-global-grey-grey-800: #303032;
  --color-primitives-global-grey-grey-900: #181818;
  --color-primitives-global-grey-white: #ffffff;
  --color-primitives-global-indigo-indigo-100: #e0eaff;
  --color-primitives-global-indigo-indigo-200: #c7d7fe;
  --color-primitives-global-indigo-indigo-300: #a4bcfd;
  --color-primitives-global-indigo-indigo-400: #8098f9;
  --color-primitives-global-indigo-indigo-50: #eef4ff;
  --color-primitives-global-indigo-indigo-500: #6172f3;
  --color-primitives-global-indigo-indigo-600: #444ce7;
  --color-primitives-global-indigo-indigo-700: #3538cd;
  --color-primitives-global-indigo-indigo-800: #2c30a0;
  --color-primitives-global-indigo-indigo-900: #2d3282;
  --color-primitives-global-orange-orange-100: #fdd7bd;
  --color-primitives-global-orange-orange-200: #fbbc91;
  --color-primitives-global-orange-orange-300: #faaf7b;
  --color-primitives-global-orange-orange-400: #f9a165;
  --color-primitives-global-orange-orange-50: #fef0e7;
  --color-primitives-global-orange-orange-500: #f9944f;
  --color-primitives-global-orange-orange-600: #f88639;
  --color-primitives-global-orange-orange-700: #f77923;
  --color-primitives-global-orange-orange-800: #da5d08;
  --color-primitives-global-orange-orange-900: #be5107;
  --color-primitives-global-primary-brand-primary-brand-100: #fcebe9;
  --color-primitives-global-primary-brand-primary-brand-200: #fae0db;
  --color-primitives-global-primary-brand-primary-brand-300: #f4b9ae;
  --color-primitives-global-primary-brand-primary-brand-400: #ee9281;
  --color-primitives-global-primary-brand-primary-brand-50: #fff5f5;
  --color-primitives-global-primary-brand-primary-brand-500: #e86b54;
  --color-primitives-global-primary-brand-primary-brand-600: #d73d23;
  --color-primitives-global-primary-brand-primary-brand-700: #ca3921;
  --color-primitives-global-primary-brand-primary-brand-800: #9e2e1a;
  --color-primitives-global-primary-brand-primary-brand-900: #942714;
  --color-primitives-global-purple-purple-100: #f4ebff;
  --color-primitives-global-purple-purple-200: #e9d7fe;
  --color-primitives-global-purple-purple-300: #d6bbfb;
  --color-primitives-global-purple-purple-400: #b692f6;
  --color-primitives-global-purple-purple-50: #f9f5ff;
  --color-primitives-global-purple-purple-500: #9e77ed;
  --color-primitives-global-purple-purple-600: #7f56d9;
  --color-primitives-global-purple-purple-700: #6941c6;
  --color-primitives-global-purple-purple-800: #53389e;
  --color-primitives-global-purple-purple-900: #42307d;
  --color-primitives-global-red-red-100: #fee8e6;
  --color-primitives-global-red-red-200: #fed0cd;
  --color-primitives-global-red-red-300: #fea19a;
  --color-primitives-global-red-red-400: #ff6b60;
  --color-primitives-global-red-red-50: #fff6f5;
  --color-primitives-global-red-red-500: #ea4a3e;
  --color-primitives-global-red-red-600: #cd372c;
  --color-primitives-global-red-red-700: #be1b0e;
  --color-primitives-global-red-red-800: #a21107;
  --color-primitives-global-red-red-900: #901704;
  --color-primitives-global-yellow-yellow-100: #fef7c3;
  --color-primitives-global-yellow-yellow-200: #faf089;
  --color-primitives-global-yellow-yellow-300: #fde272;
  --color-primitives-global-yellow-yellow-400: #ecc94b;
  --color-primitives-global-yellow-yellow-50: #fefbe8;
  --color-primitives-global-yellow-yellow-500: #eaaa08;
  --color-primitives-global-yellow-yellow-600: #ca8504;
  --color-primitives-global-yellow-yellow-700: #a15c07;
  --color-primitives-global-yellow-yellow-800: #854a0e;
  --color-primitives-global-yellow-yellow-900: #713b12;
  --non-semantic-alpha-alpha-1: var(--color-primitives-alpha-white-white-alpha-400);
  --non-semantic-fill-special-fill-1: var(--color-primitives-global-blue-blue-600);
  --non-semantic-fill-special-fill-2: var(--color-primitives-global-purple-purple-600);
  --non-semantic-fill-special-fill-3: var(--color-primitives-global-yellow-yellow-500);
  --non-semantic-fill-special-fill-4: var(--color-primitives-global-primary-brand-primary-brand-600);
  --non-semantic-fill-special-fill-5: var(--color-primitives-global-orange-orange-100);
  --non-semantic-modal-overlay-modal-overlay-dark: var(--color-primitives-alpha-black-black-alpha-500);
  --non-semantic-modal-overlay-modal-overlay-darker: var(--color-primitives-alpha-black-black-alpha-700);
  /* number */
  --border-radius-radius-none: 0rem;
  --border-radius-radius-xs: 0.125rem;
  --border-radius-radius-sm: 0.25rem;
  --border-radius-radius-md: 0.375rem;
  --border-radius-radius-lg: 0.5rem;
  --border-radius-radius-xl: 0.75rem;
  --border-radius-radius-2xl: 1rem;
  --border-radius-radius-3xl: 1.25rem;
  --border-radius-radius-full: 624.9375rem;
  --border-width-border-default: 0.0625rem;
  --border-width-border-width-2: 0.125rem;
  --border-width-border-width-4: 0.25rem;
  --border-width-border-width-8: 0.5rem;
  --spacings-spacing-none: 0rem;
  --spacings-spacing-3xs: 0.25rem;
  --spacings-spacing-2xs: 0.375rem;
  --spacings-spacing-xs: 0.5rem;
  --spacings-spacing-sm: 0.75rem;
  --spacings-spacing-md: 0.875rem;
  --spacings-spacing-lg: 1rem;
  --spacings-spacing-xl: 1.5rem;
  --spacings-spacing-2xl: 2rem;
  --spacings-spacing-3xl: 2.5rem;
  --spacings-spacing-4xl: 3rem;
  --spacings-spacing-5xl: 3.5rem;
  --spacings-spacing-6xl: 4rem;
  --spacings-spacing-7xl: 5rem;
  --spacings-spacing-8xl: 5.5rem;
  --spacings-spacing-9xl: 8rem;
  --spacings-spacing-10xl: 9rem;
}

/* =============================================================================
   COMPONENT COLOR OVERRIDES
   Applied based on data-component attribute on body element
   ============================================================================= */

/* ADP - Agentic Data Plane (Redpanda Brand Red) */

body[data-component="redpanda-adp"] {
  --component-50: var(--brand-50-new);
  --component-100: var(--brand-100-new);
  --component-200: var(--brand-200-new);
  --component-500: var(--brand-500-new);
  --component-600: var(--brand-600-new);
  --component-700: var(--brand-700-new);
  --component-bg-tint: rgba(226, 67, 40, 0.06);
  --component-bg-tint-hover: rgba(226, 67, 40, 0.1);
  --component-bg-tint-active: rgba(226, 67, 40, 0.14);
  --topbar-bg: rgba(226, 67, 40, 0.08);
  --topbar-border: rgba(226, 67, 40, 0.15);
}

/* Data Platform / Streaming (Indigo - default, explicit for clarity) */

body[data-component="streaming"] {
  --component-50: var(--indigo-50-new);
  --component-100: var(--indigo-100-new);
  --component-200: var(--indigo-200-new);
  --component-500: var(--indigo-500-new);
  --component-600: var(--indigo-600-new);
  --component-700: var(--indigo-700-new);
  --component-bg-tint: rgba(79, 70, 229, 0.06);
  --component-bg-tint-hover: rgba(79, 70, 229, 0.1);
  --component-bg-tint-active: rgba(79, 70, 229, 0.14);
  --topbar-bg: rgba(79, 70, 229, 0.08);
  --topbar-border: rgba(79, 70, 229, 0.15);
}

/* Redpanda Connect (Teal/Green) */

body[data-component="connect"] {
  --component-50: var(--teal-50-new);
  --component-100: var(--teal-100-new);
  --component-200: var(--teal-200-new);
  --component-500: var(--teal-500-new);
  --component-600: var(--teal-600-new);
  --component-700: var(--teal-700-new);
  --component-bg-tint: rgba(11, 140, 107, 0.06);
  --component-bg-tint-hover: rgba(11, 140, 107, 0.1);
  --component-bg-tint-active: rgba(11, 140, 107, 0.14);
  --topbar-bg: rgba(11, 140, 107, 0.08);
  --topbar-border: rgba(11, 140, 107, 0.15);
}

/* Cloud Data Platform (Sky Blue) */

body[data-component="cloud-data-platform"] {
  --component-50: var(--sky-50-new);
  --component-100: var(--sky-100-new);
  --component-200: var(--sky-200-new);
  --component-500: var(--sky-500-new);
  --component-600: var(--sky-600-new);
  --component-700: var(--sky-700-new);
  --component-bg-tint: rgba(14, 165, 233, 0.06);
  --component-bg-tint-hover: rgba(14, 165, 233, 0.1);
  --component-bg-tint-active: rgba(14, 165, 233, 0.14);
  --topbar-bg: rgba(14, 165, 233, 0.08);
  --topbar-border: rgba(14, 165, 233, 0.15);
}

html[data-theme=dark] {
  /* base */
  --body-background: var(--slate-900);
  --banner-background: #54478c;
  --home-background: var(--body-background);
  --card-color: #1e2128;
  --chip-color: #1e2128;
  --input-color: #1e2128;
  --chip-text-color: #a0a0a0;
  --card-border-color: rgba(58, 63, 72, 0);
  --panel-background: #ffffff12;
  --kapa-question-color: #ffffff12;
  --panel-border-color: var(--color-white);
  --scrollbar-track-color: var(--color-white);
  --scrollbar-thumb-color: var(--color-gray-10);
  --scrollbar_hover-thumb-color: var(--color-gray-30);
  --body-font-color: var(--color-white);
  --button-font-color: #181818;
  --alt-heading-font-weight: bold;
  --sticky-table-header-background: #545454;
  --tooltip-background: white;
  --tooltip-font-color: #181818;
  --feature-background-color: var(--card-color);
  /* search */
  --search-hits-boxshadow: 0 0 0 1px rgba(255, 255, 255, 0.05), 0 1px 3px 0 rgba(255, 255, 255, 0.15);
  --search-detached-mode-background: #0a0908;
  --search-icon-color: unset;
  /* navbar */
  --navbar-background: var(--body-background);
  --navbar-font-color: var(--body-font-color);
  --navbar_hover-background: none;
  --navbar-button-background: var(--body-background);
  --navbar-button-border-color: var(--panel-border-color);
  --navbar-button-font-color: var(--body-font-color);
  --navbar-menu-border-color: var(--panel-border-color);
  --navbar-menu-background: var(--body-background);
  --navbar-menu-font-color: var(--body-font-color);
  --navbar-menu_hover-background: none;
  --navbar-boxshadow: 1px 3px 5px rgba(16, 16, 16, 0.5);
  --navbar-dropdown-boxshadow: 0 4px 10px #f2f2f2;
  --navbar-dropdown-background-hover-color: #ffffff0d;
  /* nav */
  --nav-background: var(--body-background);
  --nav-border-color: rgba(0, 0, 0, 0.2);
  --nav-heading-font-color: var(--color-jet-30);
  --nav-muted-color: var(--body-font-color);
  --nav-panel-divider-color: var(--color-smoke-90);
  --nav-secondary-background: var(--color-smoke-70);
  --nav-toggle-filter: invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%);
  /* toolbar */
  --toolbar-background: var(--body-background);
  --toolbar-border-color: var(--panel-border-color);
  --toolbar-font-color: var(--body-font-color);
  --default-header-color: var(--redpanda-800);
  --toolbar-muted-color: var(--color-gray-40);
  --page-version-menu-background: #545454;
  --page-version-font-color: var(--body-font-color);
  --page-version-missing-font-color: var(--color-gray-40);
  /* feedback */
  --feedback-modal-background: var(--body-background);
  /* admonitions */
  --important-background: rgba(68, 76, 231, 0.2);
  --important-on-color: var(--body-font-color);
  --important-icon: url(../img/info-white.svg) no-repeat center right / auto 100%;
  --warning-background: rgba(205, 55, 44, 0.2);
  --warning-on-color: var(--body-font-color);
  --warning-icon: url(../img/report-white.svg) no-repeat center right / auto 100%;
  --note-background: rgba(69, 173, 232, 0.2);
  --note-on-color: var(--body-font-color);
  --note-icon: url(../img/info-white.svg) no-repeat center right / auto 100%;
  --tip-background: rgba(56, 161, 105, 0.2);
  --tip-on-color: var(--body-font-color);
  --tip-icon: url(../img/check-circle-white.svg) no-repeat center right / auto 100%;
  --caution-background: rgba(249, 161, 101, 0.2);
  --caution-on-color: var(--body-font-color);
  --caution-icon: url(../img/warning-white.svg) no-repeat center right / auto 100%;
  /* doc */
  --doc-font-color: var(--body-font-color);
  --heading-font-color: var(--body-font-color);
  --section-divider-color: var(--panel-border-color);
  --link-font-color: #f15d61;
  --accordian-background: var(--link-highlight-background-color);
  --link-highlight-color: #9184f1;
  --highlight-border: rgba(145, 132, 241, 0.48);
  --link-highlight-background-color: rgba(145, 132, 241, 0.16);
  --link_hover-font-color: #2c30a0;
  --external-link-filter: invert(100%) sepia(5%) saturate(1016%) hue-rotate(181deg) brightness(100%) contrast(106%);
  --link_unresolved-font-color: var(--redpanda-800);
  --abstract-background: var(--color-smoke-70);
  --abstract-font-color: var(--color-jet-20);
  --abstract-border-color: var(--panel-border-color);
  --admonition-background: var(--panel-background);
  --admonition-label-font-family: var(--body-font-family-bold);
  --caption-font-color: var(--body-font-color);
  --caption-background-color: #ffffff0d;
  --caption-font-style: normal;
  --caption-font-family: var(--body-font-family-bold);
  --code-background: rgba(177, 209, 241, 0.15);
  --code-font-color: #eceff1;
  --tabs_hover-background: var(--caption-background-color);
  --editable-code-font-color: var(--link-font-color);
  --editable-background: #323440;
  --example-background: var(--body-background);
  --example-border-color: var(--color-gray-70);
  --kbd-background: var(--panel-background);
  --kbd-border-color: var(--color-gray-10);
  --pre-background: var(--slate-900);
  --pre-border-color: var(--panel-border-color);
  --pre-annotation-font-color: var(--color-gray-50);
  --quote-background: var(--panel-background);
  --quote-border-color: var(--color-gray-70);
  --quote-font-color: var(--color-gray-70);
  --quote-attribution-font-color: var(--color-gray-40);
  --sidebar-background: var(--code-background);
  --table-border-color: var(--panel-border-color);
  --table-stripe-background: var(--panel-background);
  --table-footer-background: linear-gradient(to bottom, var(--color-smoke-70) 0%, var(--body-background) 100%);
  /* toc */
  --toc-font-color: var(--doc-font-color);
  --toc-heading-font-color: var(--doc-font-color);
  --toc-border-color: var(--panel-border-color);
  /* footer */
  --footer-line-height: var(--doc-line-height);
  --footer-background: var(--light-dark);
  --footer-font-color: var(--color-gray-70);
  --footer-link-font-color: var(--color-jet-80);
  /* home */
  --svg-dark-mode-filter: invert(100%) sepia(5%) saturate(100%) hue-rotate(181deg) brightness(100%) contrast(106%);
  --highlight-container-background: #262626;
  --color-aliases-static-palette-text-secondary: var(--color-primitives-global-grey-grey-200);
}

/* TOC hover color override for dark mode */

html[data-theme=dark] .toc a:hover {
  color: var(--color-white);
}

*,
*::before,
*::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: var(--body-font-size);
  height: 100%;
  max-width: 100%;
  overflow-x: hidden;
  padding: 0;
  margin: 0;
}

@media screen and (min-width: 1024px) {
  html {
    font-size: var(--body-font-size--desktop);
  }
}

body {
  background: var(--body-background);
  color: var(--body-font-color);
  font-family: var(--body-font-family);
  line-height: var(--body-line-height);
  margin: 0;
  -moz-tab-size: 4;
    -o-tab-size: 4;
       tab-size: 4;
  word-wrap: anywhere; /* aka overflow-wrap; used when hyphens are disabled or aren't sufficient */
}

a {
  text-decoration: none;
}

a:active {
  background-color: none;
}

code,
kbd,
pre {
  font-family: var(--monospace-font-family) !important;
  font-size: 0.9em;
  border: 1px solid var(--code-background);
}

code {
  word-wrap: break-word;
}

b,
dt,
strong,
th {
  font-family: var(--body-font-family-bold);
  font-weight: lighter;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

em em { /* stylelint-disable-line */
  font-style: normal;
}

strong strong { /* stylelint-disable-line */
  font-weight: normal;
}

button {
  cursor: pointer;
  font-family: inherit;
  font-size: 1rem;
  line-height: var(--body-line-height);
  margin: 0;
}

button::-moz-focus-inner {
  border: none;
  padding: 0;
}

summary {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  outline: none;
}

table {
  border-collapse: collapse;
  word-wrap: inherit; /* table widths aren't computed as expected when word-wrap is enabled */
}

object[type="image/svg+xml"]:not([width]) {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

::-webkit-input-placeholder {
  opacity: 0.5;
}

::-moz-placeholder {
  opacity: 0.5;
}

:-ms-input-placeholder {
  opacity: 0.5;
}

::-ms-input-placeholder {
  opacity: 0.5;
}

::placeholder {
  opacity: 0.5;
}

.hint {
  margin: 0.5em 0;
  color: #555;
  font-size: small;
  text-align: center;
}

button[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

button[disabled]:hover {
  opacity: 0.5;
  cursor: not-allowed;
}

@media (pointer: fine) {
  @supports (scrollbar-width: thin) {
    html {
      scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-track-color);
    }

    body * {
      scrollbar-width: none;
      scrollbar-color: var(--scrollbar-thumb-color) transparent;
    }
  }

  html::-webkit-scrollbar {
    background-color: var(--scrollbar-track-color);
    height: 12px;
    width: 12px;
  }

  body ::-webkit-scrollbar {
    height: 6px;
    width: 6px;
  }

  ::-webkit-scrollbar-thumb {
    background-clip: padding-box;
    background-color: var(--scrollbar-thumb-color);
    border: 3px solid transparent;
    border-radius: 12px;
  }

  body ::-webkit-scrollbar-thumb {
    border-width: 1.75px;
    border-radius: 6px;
  }

  ::-webkit-scrollbar-thumb:hover {
    background-color: var(--scrollbar_hover-thumb-color);
  }
}

/* Ensure page title is visible */

.bloblang-playground .doc h1.page {
  display: block;
  font-size: calc(32/var(--rem-base)*1rem);
  margin: 1rem 0 1.5rem;
  letter-spacing: -0.025em;
}

/* Fix component indicator overlapping H1 - remove negative margin */

.bloblang-playground .component-indicator-sticky {
  margin-top: 0;
}

@media screen and (min-width: 769px) {
  .bloblang-playground .doc h1.page {
    font-size: calc(40/var(--rem-base)*1rem);
  }
}

.bloblang-playground .doc {
  max-width: unset;
  margin-right: 48px;
  overflow-x: hidden;
}

/* Form */

.bloblang-playground .banner {
  position: fixed;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  bottom: 0;
  width: calc(100% - var(--nav-width));
  margin-left: -48px;
  background-color: var(--banner-background);
  padding: 8px 20px;
  -webkit-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.08);
          box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.08);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  z-index: 1000;
}

.bloblang-playground .custom-ai-help-button {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  -webkit-box-shadow: 0 1px 3px rgba(102, 126, 234, 0.2);
          box-shadow: 0 1px 3px rgba(102, 126, 234, 0.2);
  border-radius: 6px;
  border: none;
  color: white;
  height: 32px;
  padding: 0 12px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 13px;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  font-weight: 500;
  font-family: var(--body-font-family);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 6px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  white-space: nowrap;
}

/* Smaller Ask AI button when in editor header to fit within constrained height */

.bloblang-playground .editor-header-content .custom-ai-help-button {
  height: 20px;
  padding: 0 8px;
  font-size: 11px;
  gap: 4px;
}

.bloblang-playground .editor-header-content .custom-ai-help-button svg {
  width: 12px;
  height: 12px;
}

.bloblang-playground .custom-ai-help-button:hover {
  background: linear-gradient(135deg, #5a67d8 0%, #6b3fa0 100%);
  color: white;
  cursor: pointer;
  -webkit-box-shadow: 0 2px 6px rgba(102, 126, 234, 0.3);
          box-shadow: 0 2px 6px rgba(102, 126, 234, 0.3);
}

.bloblang-playground .custom-ai-help-button svg {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 14px;
  height: 14px;
}

.bloblang-playground .banner span {
  margin: 0;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

.bloblang-playground .banner-container {
  display: none;
  position: relative;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.bloblang-playground .banner-container .close {
  position: absolute;
  top: 10px;
  right: 10px;
  margin-top: 0;
  padding: 0;
  background: transparent;
  border: none;
  font-size: 20px;
  color: #555555;
  cursor: pointer;
  -webkit-transition: color 0.3s, -webkit-transform 0.2s;
  transition: color 0.3s, -webkit-transform 0.2s;
  transition: color 0.3s, transform 0.2s;
  transition: color 0.3s, transform 0.2s, -webkit-transform 0.2s;
}

.bloblang-playground .banner-container .close:hover {
  color: #000000;
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}

.bloblang-playground .banner-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.bloblang-playground #contact-email {
  padding: 8px;
  font-size: 14px;
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e5e5);
  border-radius: 6px;
  background: var(--body-background);
  color: var(--body-font-color);
  -webkit-transition: border-color 0.15s ease;
  transition: border-color 0.15s ease;
}

html[data-theme=dark] .bloblang-playground #contact-email {
  border-color: rgba(255, 255, 255, 0.1);
}

.bloblang-playground #contact-email:focus {
  outline: none;
  border-color: #6366f1;
  border-color: var(--component-color, #6366f1);
  -webkit-box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.15);
          box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.15);
}

/* Main container setup - horizontal flow on desktop, vertical on mobile */

.bloblang-playground .playground-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 16px;
  font-family: var(--body-font-family);
  max-width: 100%;
  overflow-x: hidden;
}

/* Responsive: switch to vertical layout on smaller screens */

@media (max-width: 1024px) {
  .bloblang-playground .playground-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

/* Editor sections - vertical flow */

.bloblang-playground .editors {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  color: var(--code-font-color);
}

.bloblang-playground .doc .choices {
  -webkit-box-flex: 0.4 !important;
      -ms-flex: 0.4 !important;
          flex: 0.4 !important;
  z-index: 2;
  min-width: 200px;
}

.bloblang-playground .doc .choices[data-type*=select-one] .choices__input {
  background: var(--body-background);
  color: var(--body-font-color);
}

.bloblang-playground .choices__inner {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.bloblang-playground .choices__item {
  white-space: nowrap;
}

/* Dropdown list styling */

.bloblang-playground .choices__list--dropdown {
  padding: 8px 0 !important;
}

/* Search input in dropdown - ensure it has space and doesn't overlap items */

.bloblang-playground .choices__list--dropdown .choices__input {
  padding: 10px 12px !important;
  margin: 8px 8px 16px 8px !important;
  background: var(--body-background);
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e5e5);
  border-radius: 6px;
}

html[data-theme=dark] .bloblang-playground .choices__list--dropdown .choices__input {
  border-color: rgba(255, 255, 255, 0.1);
}

/* Dropdown items - ensure proper spacing from search input */

.bloblang-playground .choices__list--dropdown .choices__item--choice {
  padding: 10px 12px !important;
  margin: 2px 4px !important;
}

.bloblang-playground .button-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  margin-top: 10px;
  margin-bottom: 10px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.bloblang-playground .button-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.bloblang-playground .button-group-primary {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.bloblang-playground .button-group-secondary,
.bloblang-playground .button-group-utility {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.bloblang-playground .status-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
  margin-bottom: 10px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 13px;
  color: var(--body-font-color);
  opacity: 0.8;
}

.bloblang-playground .execution-time {
  font-family: var(--monospace-font-family);
  padding: 4px 8px;
  border-radius: 4px;
  background: rgba(68, 76, 231, 0.1);
  min-width: 120px;
}

.bloblang-playground .execution-time-success {
  background: #f4fbf6;
  background: var(--color-primitives-global-green-green-50);
  color: #276749;
  color: var(--color-primitives-global-green-green-700);
}

html[data-theme=dark] .bloblang-playground .execution-time-success {
  background: rgba(56, 161, 105, 0.15);
  color: #48bb78;
  color: var(--color-primitives-global-green-green-400);
}

.bloblang-playground .execution-time-error {
  background: #fff6f5;
  background: var(--color-primitives-global-red-red-50);
  color: #be1b0e;
  color: var(--color-primitives-global-red-red-700);
}

html[data-theme=dark] .bloblang-playground .execution-time-error {
  background: rgba(255, 107, 96, 0.15);
  color: #ff6b60;
  color: var(--color-primitives-global-red-red-400);
}

.bloblang-playground .auto-run-toggle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.bloblang-playground .auto-run-toggle input[type="checkbox"] {
  cursor: pointer;
}

.bloblang-playground input#bloblang-email {
  padding: 6px 8px;
  background: var(--body-background);
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e5e5);
  border-radius: 6px;
  color: var(--body-font-color);
  margin-top: 0;
  font-size: 14px;
  -webkit-transition: border-color 0.15s ease;
  transition: border-color 0.15s ease;
}

html[data-theme=dark] .bloblang-playground input#bloblang-email {
  border-color: rgba(255, 255, 255, 0.1);
}

.bloblang-playground input#bloblang-email:focus {
  outline: none;
  border-color: #6366f1;
  border-color: var(--component-color, #6366f1);
  -webkit-box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.15);
          box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.15);
}

/* Modern button styling matching redesign */

.bloblang-playground .button:not(#sample-dropdown),
.bloblang-playground button[type=submit]:not(.aa-SubmitButton) {
  padding: 8px 14px;
  background: var(--body-background);
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e5e5);
  border-radius: 8px;
  color: var(--body-font-color);
  margin-top: 0;
  cursor: pointer;
  font-size: 13px;
  -webkit-transition: all 0.15s ease;
  transition: all 0.15s ease;
  font-weight: 500;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  white-space: nowrap;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

html[data-theme=dark] .bloblang-playground .button:not(#sample-dropdown),
html[data-theme=dark] .bloblang-playground button[type=submit]:not(.aa-SubmitButton) {
  border-color: rgba(255, 255, 255, 0.1);
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

.bloblang-playground #sample-dropdown {
  padding: 8px 12px;
  background: var(--body-background);
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e5e5);
  border-radius: 8px;
  color: var(--body-font-color);
  margin-top: 0;
  cursor: pointer;
  font-size: 13px;
  -webkit-transition: all 0.15s ease;
  transition: all 0.15s ease;
  font-weight: 500;
  display: inline-block;
  width: auto;
  min-width: 200px;
}

html[data-theme=dark] .bloblang-playground #sample-dropdown {
  border-color: rgba(255, 255, 255, 0.1);
}

.bloblang-playground #sample-dropdown option {
  padding: 8px;
}

.bloblang-playground button[type=submit]:not(.aa-SubmitButton) {
  background-color: #6366f1;
  background-color: var(--component-color, #6366f1);
  color: #ffffff;
  border-color: #6366f1;
  border-color: var(--component-color, #6366f1);
}

.bloblang-playground button[type=submit]:not(.aa-SubmitButton):hover {
  -webkit-filter: brightness(1.1);
          filter: brightness(1.1);
  color: #ffffff;
}

.bloblang-playground .button {
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e5e5);
  border-radius: 8px;
}

html[data-theme=dark] .bloblang-playground .button {
  border-color: rgba(255, 255, 255, 0.1);
}

.bloblang-playground .button:hover {
  background: #f5f5f5;
  background: var(--grey-50-new, #f9fafb);
  border-color: #aaabae;
  border-color: var(--grey-300-new, #d1d5db);
  color: var(--body-font-color);
}

html[data-theme=dark] .bloblang-playground .button:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.15);
  color: var(--body-font-color);
}

/* Editor container - vertical layout */

.bloblang-playground .editor-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}

/* Tab style for sections */

.bloblang-playground .editor-section {
  margin-bottom: 16px;
}

.bloblang-playground .editor-section-always-open {
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e5e5);
  border-radius: 8px;
  overflow: visible;
  background: var(--body-background);
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  -webkit-transition: border-color 0.15s ease, -webkit-box-shadow 0.15s ease;
  transition: border-color 0.15s ease, -webkit-box-shadow 0.15s ease;
  transition: box-shadow 0.15s ease, border-color 0.15s ease;
  transition: box-shadow 0.15s ease, border-color 0.15s ease, -webkit-box-shadow 0.15s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-width: 0;
  max-width: 100%;
}

html[data-theme=dark] .bloblang-playground .editor-section-always-open {
  border-color: rgba(255, 255, 255, 0.1);
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

/* Flow arrow divider between input/mapping and output */

.bloblang-playground .flow-arrow {
  display: none;
}

@media (min-width: 1025px) {
  .bloblang-playground .flow-arrow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    padding: 4px 0;
  }

  .bloblang-playground .flow-arrow-icon {
    color: #6b7280;
    color: var(--body-font-color, #6b7280);
    font-size: 18px;
    line-height: 1;
    opacity: 0.6;
  }
}

/* Desktop layout: Input and Mapping side by side, Output below */

@media (min-width: 1025px) {
  /* Input and Mapping take half width each */
  .bloblang-playground .playground-container > .editor-section-always-open:nth-child(1),
  .bloblang-playground .playground-container > .editor-section-always-open:nth-child(2) {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 calc(50% - 8px);
            flex: 1 1 calc(50% - 8px);
  }

  /* Output takes full width below (4th child after flow-arrow) */
  .bloblang-playground .playground-container > .editor-section-always-open:nth-child(4) {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
}

.bloblang-playground .editor-section-always-open:hover {
  -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
          box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
  border-color: #aaabae;
  border-color: var(--grey-300-new, #d1d5db);
}

html[data-theme=dark] .bloblang-playground .editor-section-always-open:hover {
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  border-color: rgba(255, 255, 255, 0.15);
}

.bloblang-playground .editor-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 10px 12px;
  background: var(--body-background);
  border-bottom: 1px solid #dcdcde;
  border-bottom: 1px solid var(--grey-100-new, #f3f4f6);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  min-height: 70px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html[data-theme=dark] .bloblang-playground .editor-header {
  border-bottom-color: rgba(255, 255, 255, 0.06);
}

.bloblang-playground .editor-header-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

/* Status/validation row in headers - allow expansion for errors */

.bloblang-playground .editor-header-content > div:last-child {
  min-height: 22px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
}

.bloblang-playground .editor-header h4 {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--body-font-color);
}

/* Output section */

.bloblang-playground .output-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}

/* Advanced options panel - contains metadata fields */

.bloblang-playground .advanced-options {
  margin-top: 8px;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 100%;
          flex: 1 1 100%;
  min-width: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.bloblang-playground .advanced-options > summary {
  display: block;
  list-style: none;
  list-style-type: none;
  cursor: pointer;
}

/* Hide all possible disclosure markers across browsers */

.bloblang-playground .advanced-options > summary::-webkit-details-marker,
.bloblang-playground .advanced-options > summary::marker,
.bloblang-playground .advanced-options::-webkit-details-marker,
.bloblang-playground .advanced-options::marker {
  display: none !important;
  content: none !important;
  list-style: none !important;
}

/* Override global .doc details > summary::after chevron */

.bloblang-playground .advanced-options > summary::after {
  display: none;
  content: none;
}

.bloblang-playground .advanced-options-toggle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding: 12px 16px;
  background: var(--body-background);
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e5e5);
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  color: var(--body-font-color);
  width: 100%;
  -webkit-transition: background-color 0.15s ease, border-color 0.15s ease;
  transition: background-color 0.15s ease, border-color 0.15s ease;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html[data-theme=dark] .bloblang-playground .advanced-options-toggle {
  border-color: rgba(255, 255, 255, 0.1);
}

.bloblang-playground .advanced-options-toggle:hover {
  background: #f5f5f5;
  background: var(--grey-50-new, #f9fafb);
  border-color: #aaabae;
  border-color: var(--grey-300-new, #d1d5db);
}

html[data-theme=dark] .bloblang-playground .advanced-options-toggle:hover {
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(255, 255, 255, 0.15);
}

.bloblang-playground .advanced-options-toggle .toggle-icon {
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
  font-size: 12px;
  color: var(--body-font-color);
  opacity: 0.6;
}

.bloblang-playground .advanced-options[open] .toggle-icon {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.bloblang-playground .advanced-options-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  padding-top: 16px;
}

@media (max-width: 768px) {
  .bloblang-playground .advanced-options-content {
    grid-template-columns: 1fr;
  }
}

.bloblang-playground .editor-section-collapsible {
  background: var(--body-background);
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e5e5);
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

html[data-theme=dark] .bloblang-playground .editor-section-collapsible {
  border-color: rgba(255, 255, 255, 0.1);
}

.bloblang-playground .editor-section-collapsible[open] {
  /* When open, allow content to stretch */
}

.bloblang-playground .editor-section-collapsible > .editor {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.bloblang-playground .editor-section-collapsible summary {
  padding: 10px 12px;
  cursor: pointer;
  background: var(--body-background);
  color: var(--body-font-color);
  font-weight: 600;
  font-size: 14px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}

.bloblang-playground .editor-section-collapsible summary::after {
  display: none;
}

/* Buttons inside collapsible summary */

.bloblang-playground .editor-section-collapsible summary > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  margin-left: auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.bloblang-playground .editor-section-collapsible summary button {
  pointer-events: all;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  padding: 5px 12px !important;
  cursor: pointer !important;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: auto;
  white-space: nowrap;
}

@media (max-width: 768px) {
  .bloblang-playground .editor-section-collapsible summary {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 8px;
  }

  .bloblang-playground .editor-section-collapsible summary > div {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-left: 0;
    margin-top: 4px;
    gap: 8px;
  }

  .bloblang-playground .editor-section-collapsible summary button {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
  }
}

.bloblang-playground .optional-badge {
  font-size: 10px;
  background: #dcdcde;
  background: var(--grey-100-new, #f3f4f6);
  color: #606164;
  color: var(--grey-600-new, #4b5563);
  padding: 2px 6px;
  border-radius: 4px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

html[data-theme=dark] .bloblang-playground .optional-badge {
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.6);
}

/* Editor areas */

.bloblang-playground .editor {
  font-size: var(--body-font-size);
  background-color: var(--pre-background) !important;
  color: var(--code-font-color) !important;
  min-height: 130px;
  max-height: 400px;
  padding: 10px;
  overflow-y: auto;
  border-radius: 6px;
  position: relative;
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e5e5);
  resize: vertical;
  min-width: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-transition: border-color 0.15s ease;
  transition: border-color 0.15s ease;
}

html[data-theme=dark] .bloblang-playground .editor {
  border-color: rgba(255, 255, 255, 0.1);
}

.bloblang-playground .editor:focus-within {
  border-color: #6366f1;
  border-color: var(--component-color, #6366f1);
  -webkit-box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.1);
          box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.1);
}

html[data-theme=dark] .bloblang-playground .editor:focus-within {
  -webkit-box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.2);
          box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.2);
}

/* Ensure Ace editor scrollbars are always visible when content overflows */

.bloblang-playground .editor .ace_scrollbar-v {
  width: 12px !important;
  right: 0 !important;
}

.bloblang-playground .editor .ace_scrollbar-h {
  height: 12px !important;
  bottom: 0 !important;
}

.bloblang-playground .editor .ace_scrollbar::-webkit-scrollbar {
  width: 12px;
  height: 12px;
}

.bloblang-playground .editor .ace_scrollbar::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.05);
  border-radius: 6px;
}

.bloblang-playground .editor .ace_scrollbar::-webkit-scrollbar-thumb {
  background: rgba(156, 163, 175, 0.5);
  border-radius: 6px;
  border: 2px solid transparent;
  background-clip: padding-box;
}

.bloblang-playground .editor .ace_scrollbar::-webkit-scrollbar-thumb:hover {
  background: rgba(156, 163, 175, 0.7);
}

.bloblang-playground #ace-input-metadata,
.bloblang-playground #ace-metadata {
  min-height: 130px;
}

.bloblang-playground .choices[data-type*=select-one] .choices__inner {
  padding: 0;
}

.bloblang-snippet {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1em;
  padding: 1.5em;
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e5e5);
  border-radius: 8px;
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  margin: 2em 0;
}

html[data-theme=dark] .bloblang-snippet {
  border-color: rgba(255, 255, 255, 0.1);
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.bloblang-snippet .bloblang-editor {
  font-family: var(--monospace-font-family);
  font-size: var(--body-font-size);
  resize: horizontal;
}

.bloblang-snippet .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1em;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.bloblang-snippet .box {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.bloblang-snippet .box.full-width {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}

.bloblang-snippet .ace-editor {
  width: 100%;
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e5e5);
  border-radius: 6px;
  min-height: 75px;
  color: var(--code-font-color);
  background-color: var(--pre-background);
}

html[data-theme=dark] .bloblang-snippet .ace-editor {
  border-color: rgba(255, 255, 255, 0.1);
}

@media (max-width: 1024px) {
  .bloblang-playground .banner {
    margin-left: -1rem;
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px;
  }

  .bloblang-playground .button-bar {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }

  .bloblang-playground .button-bar .choices {
    width: 100%;
  }

  .bloblang-playground .doc .choices {
    -webkit-box-flex: 100% !important;
        -ms-flex: 100% !important;
            flex: 100% !important;
  }

  .bloblang-playground .doc {
    margin-right: unset;
  }

  .bloblang-snippet .row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

/* Playground tip */

.bloblang-playground .playground-tip {
  background: #f5f5f5;
  background: var(--grey-50-new, #f9fafb);
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e5e5);
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 16px;
  position: relative;
  font-size: 13px;
  line-height: 1.5;
}

html[data-theme=dark] .bloblang-playground .playground-tip {
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(255, 255, 255, 0.1);
}

.bloblang-playground .playground-tip-content {
  color: var(--body-font-color);
}

.bloblang-playground .playground-tip-content strong {
  color: var(--body-font-color);
  font-weight: 600;
}

.bloblang-playground .playground-tip-content a {
  color: #6366f1;
  color: var(--component-color, #6366f1);
  text-decoration: none;
  font-weight: 500;
}

.bloblang-playground .playground-tip-content a:hover {
  text-decoration: underline;
}

.bloblang-playground .try-example-button {
  background: #6366f1;
  background: var(--component-color, #6366f1);
  color: white;
  border: none;
  border-radius: 6px;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  -webkit-transition: all 0.15s ease;
  transition: all 0.15s ease;
  display: inline-block;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.bloblang-playground .try-example-button:hover {
  -webkit-filter: brightness(1.1);
          filter: brightness(1.1);
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}

.bloblang-playground .dismiss-tip {
  position: absolute;
  top: 8px;
  right: 8px;
  background: none;
  border: none;
  font-size: 20px;
  color: var(--body-font-color);
  opacity: 0.5;
  cursor: pointer;
  padding: 0;
  width: 24px;
  height: 24px;
  line-height: 1;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}

.bloblang-playground .dismiss-tip:hover {
  opacity: 1;
}

/* Editor help icons */

.bloblang-playground .editor-help-icon {
  font-size: 12px;
  opacity: 0.5;
  cursor: help;
  margin-left: 4px;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}

.bloblang-playground .editor-help-icon:hover {
  opacity: 1;
}

@media (max-width: 768px) {
  /* Hide tooltips on mobile - they interfere with touch */
  .bloblang-playground .editor-help-icon {
    display: none;
  }

  /* Fix editor header to prevent squishing - remove fixed height on mobile */
  .bloblang-playground .editor-header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    min-height: auto;
    max-height: none;
    overflow: visible;
  }

  .bloblang-playground .editor-header-content {
    width: 100%;
    max-height: none;
  }

  /* Remove fixed height from status row on mobile */
  .bloblang-playground .editor-header-content > div:last-child {
    min-height: auto;
    max-height: none;
  }

  /* Stack editor header action buttons on mobile */
  .bloblang-playground .editor-header > div[style*="display: flex"] {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 6px !important;
  }

  .bloblang-playground .editor-header > div[style*="display: flex"] button {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 calc(50% - 3px);
            flex: 1 1 calc(50% - 3px);
    min-width: 0;
    font-size: 12px;
    padding: 6px 8px;
  }

  /* Give error messages and Ask AI button full width */
  .bloblang-playground .editor-header h4 {
    font-size: 13px;
    line-height: 1.4;
    word-wrap: break-word;
  }

  /* Stack validation indicators and buttons vertically on mobile */
  .bloblang-playground .editor-header-content > div {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
    -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
            align-items: stretch !important;
    gap: 8px !important;
  }

  .bloblang-playground .validation-indicator {
    display: block;
    width: 100%;
    text-align: left;
    word-break: break-word;
    white-space: normal;
    max-width: none;
    max-height: none;
  }

  /* Give Ask AI button more space on mobile */
  .bloblang-playground .custom-ai-help-button {
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }

  /* Button bar improvements */
  .bloblang-playground .button-bar {
    gap: 8px;
  }

  .bloblang-playground .button-group {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
    gap: 6px;
  }

  .bloblang-playground .button-group-primary {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }

  .bloblang-playground .button-group .button:not(#sample-dropdown) {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
    font-size: 13px;
    padding: 10px 8px;
  }

  .bloblang-playground #sample-dropdown {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
  }

  .bloblang-playground #show-shortcuts {
    min-width: 38px;
  }

  /* Status bar improvements for mobile */
  .bloblang-playground .status-bar {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 8px;
  }

  .bloblang-playground .auto-run-toggle {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
  }

  .bloblang-playground .execution-time {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
    min-width: auto;
  }

  .bloblang-playground .shortcuts-content {
    padding: 20px;
  }

  .bloblang-playground .share-modal-content {
    padding: 20px;
  }

  .bloblang-playground .notification {
    top: 160px;
    right: 10px;
    left: 10px;
    max-width: none;
  }

  /* Make input format selector more touch-friendly */
  .bloblang-playground .input-format-selector {
    min-height: 36px;
    font-size: 13px;
    padding: 6px 10px;
  }
}

@media (max-width: 480px) {
  .bloblang-playground .button-group-secondary,
  .bloblang-playground .button-group-utility {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }

  .bloblang-playground .button-group .button {
    width: 100%;
  }
}

/* Hide all tooltips on touch devices - they flash/interfere with tap interactions */

@media (hover: none) and (pointer: coarse) {
  .bloblang-playground .tippy-box {
    display: none !important;
  }

  .bloblang-playground .editor-help-icon {
    display: none;
  }
}

@media (max-width: 600px) {
  .bloblang-playground .banner-container .close {
    top: 5px;
    right: 5px;
    font-size: 18px;
  }

  .bloblang-playground .button {
    font-size: 13px;
    padding: 10px 14px;
    min-height: 44px;
  }
}

/* Notifications */

.bloblang-playground .notification {
  position: absolute;
  top: 180px;
  right: 20px;
  padding: 12px 20px;
  border-radius: 8px;
  background: var(--body-background);
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  z-index: 10000;
  opacity: 0;
  -webkit-transform: translateX(400px);
          transform: translateX(400px);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  max-width: 400px;
  font-size: 14px;
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e5e5);
  border-left: 4px solid #6366f1;
  border-left: 4px solid var(--component-color, #6366f1);
}

html[data-theme=dark] .bloblang-playground .notification {
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  border-color: rgba(255, 255, 255, 0.1);
  border-left-color: #6366f1;
  border-left-color: var(--component-color, #6366f1);
}

.bloblang-playground {
  position: relative;
}

.bloblang-playground .notification-show {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.bloblang-playground .notification-success {
  border-left-color: #25855a;
  border-left-color: var(--color-primitives-global-green-green-600);
  color: #22543d;
  color: var(--color-primitives-global-green-green-800);
  background: #d7eed5;
  background: var(--color-primitives-global-green-green-100);
}

html[data-theme=dark] .bloblang-playground .notification-success {
  border-left-color: #38a169;
  border-left-color: var(--color-primitives-global-green-green-500);
  color: #9ae6b4;
  color: var(--color-primitives-global-green-green-200);
  background: rgba(56, 161, 105, 0.2);
}

.bloblang-playground .notification-error {
  border-left-color: #cd372c;
  border-left-color: var(--color-primitives-global-red-red-600);
  color: #a21107;
  color: var(--color-primitives-global-red-red-800);
  background: #fee8e6;
  background: var(--color-primitives-global-red-red-100);
}

html[data-theme=dark] .bloblang-playground .notification-error {
  border-left-color: #ea4a3e;
  border-left-color: var(--color-primitives-global-red-red-500);
  color: #fed0cd;
  color: var(--color-primitives-global-red-red-200);
  background: rgba(255, 107, 96, 0.2);
}

.bloblang-playground .notification-warning {
  border-left-color: #f88639;
  border-left-color: var(--color-primitives-global-orange-orange-600);
  color: #da5d08;
  color: var(--color-primitives-global-orange-orange-800);
  background: #fdd7bd;
  background: var(--color-primitives-global-orange-orange-100);
}

html[data-theme=dark] .bloblang-playground .notification-warning {
  border-left-color: #f9944f;
  border-left-color: var(--color-primitives-global-orange-orange-500);
  color: #fbbc91;
  color: var(--color-primitives-global-orange-orange-200);
  background: rgba(249, 148, 79, 0.2);
}

.bloblang-playground .notification-info {
  border-left-color: #45ade8;
  border-left-color: var(--color-primitives-global-blue-blue-600);
  color: #115d88;
  color: var(--color-primitives-global-blue-blue-800);
  background: #d2ebf9;
  background: var(--color-primitives-global-blue-blue-100);
}

html[data-theme=dark] .bloblang-playground .notification-info {
  border-left-color: #6ebfed;
  border-left-color: var(--color-primitives-global-blue-blue-500);
  color: #bbe1f7;
  color: var(--color-primitives-global-blue-blue-200);
  background: rgba(69, 173, 232, 0.2);
}

/* Validation indicators */

.bloblang-playground .validation-indicator {
  font-size: 11px;
  font-weight: 500;
  padding: 4px 10px;
  border-radius: 6px;
  display: inline-block;
  -ms-flex-negative: 1;
      flex-shrink: 1;
  min-width: 0;
  line-height: 1.4;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Success state - compact single line */

.bloblang-playground .validation-success {
  color: #276749;
  color: var(--color-primitives-global-green-green-700);
  background: #f4fbf6;
  background: var(--color-primitives-global-green-green-50);
  white-space: nowrap;
}

html[data-theme=dark] .bloblang-playground .validation-success {
  color: #48bb78;
  color: var(--color-primitives-global-green-green-400);
  background: rgba(56, 161, 105, 0.15);
}

/* Error state - allow full message to show */

.bloblang-playground .validation-error {
  color: #be1b0e;
  color: var(--color-primitives-global-red-red-700);
  background: #fff6f5;
  background: var(--color-primitives-global-red-red-50);
  white-space: normal;
  word-break: break-word;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  max-width: 100%;
}

html[data-theme=dark] .bloblang-playground .validation-error {
  color: #ff6b60;
  color: var(--color-primitives-global-red-red-400);
  background: rgba(255, 107, 96, 0.15);
}

.bloblang-playground .validation-info {
  color: #48484a;
  color: var(--color-primitives-global-grey-grey-700);
  background: #f5f5f5;
  background: var(--color-primitives-global-grey-grey-50);
}

html[data-theme=dark] .bloblang-playground .validation-info {
  color: #aaabae;
  color: var(--color-primitives-global-grey-grey-300);
  background: rgba(170, 171, 174, 0.15);
}

/* Input format selector */

.bloblang-playground .input-format-selector {
  font-size: 12px;
  padding: 4px 8px;
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e5e5);
  border-radius: 6px;
  background: var(--body-background);
  color: var(--body-font-color);
  cursor: pointer;
  -webkit-transition: border-color 0.15s ease;
  transition: border-color 0.15s ease;
}

html[data-theme=dark] .bloblang-playground .input-format-selector {
  border-color: rgba(255, 255, 255, 0.1);
}

.bloblang-playground .input-format-selector:hover {
  border-color: #aaabae;
  border-color: var(--grey-300-new, #d1d5db);
}

html[data-theme=dark] .bloblang-playground .input-format-selector:hover {
  border-color: rgba(255, 255, 255, 0.15);
}

.bloblang-playground .input-format-selector:focus {
  outline: none;
  border-color: #6366f1;
  border-color: var(--component-color, #6366f1);
  -webkit-box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.15);
          box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.15);
}

html[data-theme=dark] .bloblang-playground .input-format-selector:focus {
  -webkit-box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.25);
          box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.25);
}

/* Streamlined tooltips for playground */

.bloblang-playground .tippy-box[data-theme~='redpanda-term'] {
  font-size: 12px;
  padding: 6px 10px;
}

.bloblang-playground .tippy-box[data-theme~='redpanda-term'] .tippy-content {
  padding: 0;
}

/* Editor error/success states */

.bloblang-playground .editor-error {
  border: 2px solid #cd372c !important;
  border: 2px solid var(--color-primitives-global-red-red-600) !important;
  background: #fff6f5 !important;
  background: var(--color-primitives-global-red-red-50) !important;
}

html[data-theme=dark] .bloblang-playground .editor-error {
  border: 2px solid #ea4a3e !important;
  border: 2px solid var(--color-primitives-global-red-red-500) !important;
  background: rgba(255, 107, 96, 0.08) !important;
}

.bloblang-playground .editor-success {
  border: 2px solid #25855a !important;
  border: 2px solid var(--color-primitives-global-green-green-600) !important;
}

html[data-theme=dark] .bloblang-playground .editor-success {
  border: 2px solid #38a169 !important;
  border: 2px solid var(--color-primitives-global-green-green-500) !important;
}

/* Copy output button */

.bloblang-playground .copy-output-button {
  background: var(--body-background);
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e5e5);
  color: var(--body-font-color);
  padding: 5px 12px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 500;
  -webkit-transition: all 0.15s ease;
  transition: all 0.15s ease;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

html[data-theme=dark] .bloblang-playground .copy-output-button {
  border-color: rgba(255, 255, 255, 0.1);
}

.bloblang-playground .copy-output-button:hover {
  background: #f5f5f5;
  background: var(--grey-50-new, #f9fafb);
  border-color: #aaabae;
  border-color: var(--grey-300-new, #d1d5db);
  color: var(--body-font-color);
}

html[data-theme=dark] .bloblang-playground .copy-output-button:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.15);
}

/* Shortcuts overlay */

.bloblang-playground .shortcuts-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.7);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 10000;
  overflow: auto;
}

.bloblang-playground .shortcuts-content {
  background: var(--body-background);
  padding: 30px;
  border-radius: 12px;
  max-width: 500px;
  width: 90%;
  position: relative;
  -webkit-box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
          box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e5e5);
}

html[data-theme=dark] .bloblang-playground .shortcuts-content {
  -webkit-box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
          box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
  border-color: rgba(255, 255, 255, 0.1);
}

.bloblang-playground .shortcuts-content h3 {
  margin-top: 0;
  color: var(--body-font-color);
}

.bloblang-playground .close-shortcuts {
  position: absolute;
  top: 15px;
  right: 15px;
  background: none;
  border: none;
  font-size: 28px;
  cursor: pointer;
  color: var(--body-font-color);
  line-height: 1;
  padding: 0;
  width: 30px;
  height: 30px;
}

.bloblang-playground .close-shortcuts:hover {
  opacity: 0.7;
}

.bloblang-playground .shortcuts-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.bloblang-playground .shortcuts-list li {
  padding: 10px 0;
  border-bottom: 1px solid #dcdcde;
  border-bottom: 1px solid var(--grey-100-new, #f3f4f6);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: var(--body-font-color);
}

html[data-theme=dark] .bloblang-playground .shortcuts-list li {
  border-bottom-color: rgba(255, 255, 255, 0.06);
}

.bloblang-playground .shortcuts-list li:last-child {
  border-bottom: none;
}

.bloblang-playground .shortcuts-list kbd {
  background: #dcdcde;
  background: var(--grey-100-new, #f3f4f6);
  padding: 4px 8px;
  border-radius: 4px;
  font-family: var(--monospace-font-family);
  font-size: 12px;
  color: var(--body-font-color);
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e5e5);
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
          box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}

html[data-theme=dark] .bloblang-playground .shortcuts-list kbd {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.1);
}

.bloblang-playground .shortcuts-divider {
  border-top: 1px solid #c3c4c6;
  border-top: 1px solid var(--grey-200-new, #e5e5e5);
  margin: 24px 0 20px 0;
}

html[data-theme=dark] .bloblang-playground .shortcuts-divider {
  border-top-color: rgba(255, 255, 255, 0.1);
}

.bloblang-playground .shortcuts-claude-section {
  margin-top: 0;
}

.bloblang-playground .shortcuts-claude-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--body-font-color);
  margin: 0 0 8px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.bloblang-playground .shortcuts-claude-title svg {
  color: #6366f1;
  color: var(--component-color, #6366f1);
}

.bloblang-playground .shortcuts-claude-description {
  color: var(--body-font-color);
  opacity: 0.8;
  margin: 0 0 12px 0;
  font-size: 13px;
}

.bloblang-playground .shortcuts-claude-list {
  list-style: none;
  padding: 0;
  margin: 0 0 16px 0;
}

.bloblang-playground .shortcuts-claude-list li {
  padding: 8px 0;
  color: var(--body-font-color);
  font-size: 13px;
  line-height: 1.5;
}

.bloblang-playground .shortcuts-claude-list strong {
  font-family: var(--monospace-font-family);
  color: #6366f1;
  color: var(--component-color, #6366f1);
  font-weight: 600;
  font-size: 12px;
  background: rgba(99, 102, 241, 0.08);
  padding: 2px 6px;
  border-radius: 4px;
  margin-right: 4px;
}

html[data-theme="dark"] .bloblang-playground .shortcuts-claude-list strong {
  background: rgba(99, 102, 241, 0.15);
}

.bloblang-playground .shortcuts-claude-link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #6366f1;
  color: var(--component-color, #6366f1);
  text-decoration: none;
  font-size: 13px;
  font-weight: 500;
  -webkit-transition: all 0.15s ease;
  transition: all 0.15s ease;
}

.bloblang-playground .shortcuts-claude-link:hover {
  text-decoration: underline;
}

/* Share modal */

.bloblang-playground .share-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.7);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 10000;
  overflow: auto;
}

.bloblang-playground .share-modal-content {
  background: var(--body-background);
  padding: 30px;
  border-radius: 12px;
  max-width: 600px;
  width: 90%;
  -webkit-box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
          box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e5e5);
}

html[data-theme=dark] .bloblang-playground .share-modal-content {
  -webkit-box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
          box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
  border-color: rgba(255, 255, 255, 0.1);
}

.bloblang-playground .share-modal-content h3 {
  margin-top: 0;
  color: var(--body-font-color);
}

.bloblang-playground .share-url-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  margin: 20px 0;
}

.bloblang-playground .share-url-container input {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 10px;
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e5e5);
  border-radius: 6px;
  font-family: var(--monospace-font-family);
  font-size: 12px;
  background: var(--pre-background);
  color: var(--code-font-color);
}

html[data-theme=dark] .bloblang-playground .share-url-container input {
  border-color: rgba(255, 255, 255, 0.1);
}

.bloblang-playground .button-primary {
  background: #6366f1;
  background: var(--component-color, #6366f1);
  color: white;
  border: 1px solid #6366f1;
  border: 1px solid var(--component-color, #6366f1);
  font-weight: 500;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.bloblang-playground .button-primary:hover {
  -webkit-filter: brightness(1.1);
          filter: brightness(1.1);
  color: white;
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}

.bloblang-playground .button-secondary {
  background: var(--body-background);
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e5e5);
  color: var(--body-font-color);
}

html[data-theme=dark] .bloblang-playground .button-secondary {
  border-color: rgba(255, 255, 255, 0.1);
}

.bloblang-playground .button-secondary:hover {
  background: #f5f5f5;
  background: var(--grey-50-new, #f9fafb);
  border-color: #aaabae;
  border-color: var(--grey-300-new, #d1d5db);
  color: var(--body-font-color);
}

html[data-theme=dark] .bloblang-playground .button-secondary:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.15);
}

.bloblang-playground #show-shortcuts {
  min-width: 38px;
  padding: 8px 12px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 18px;
  font-weight: 500;
  border-radius: 8px;
}

/* ACE Editor Autocomplete Styles */

.bloblang-playground .ace_editor.ace_autocomplete {
  background: var(--body-background) !important;
  border: 1px solid #c3c4c6 !important;
  border: 1px solid var(--grey-200-new, #e5e5e5) !important;
  border-radius: 8px !important;
  -webkit-box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1) !important;
          box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1) !important;
  padding: 4px 0 !important;
  font-family: var(--body-font-family) !important;
  font-size: 13px !important;
  width: 360px !important;
  max-width: 360px !important;
}

html[data-theme="dark"] .bloblang-playground .ace_editor.ace_autocomplete {
  border-color: rgba(255, 255, 255, 0.1) !important;
  -webkit-box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3) !important;
          box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3) !important;
}

/* Autocomplete rows */

.bloblang-playground .ace_editor.ace_autocomplete .ace_line {
  padding: 8px 12px !important;
  color: var(--body-font-color) !important;
  line-height: 1.4 !important;
  border-radius: 0 !important;
  border: none !important;
  border-bottom: 1px solid #dcdcde !important;
  border-bottom: 1px solid var(--grey-100-new, #f3f4f6) !important;
  -webkit-transition: background-color 0.15s ease !important;
  transition: background-color 0.15s ease !important;
}

.bloblang-playground .ace_editor.ace_autocomplete .ace_line:last-child {
  border-bottom: none !important;
}

html[data-theme="dark"] .bloblang-playground .ace_editor.ace_autocomplete .ace_line {
  border-bottom-color: rgba(255, 255, 255, 0.05) !important;
}

.bloblang-playground .ace_editor.ace_autocomplete .ace_line:hover {
  background: #f5f5f5 !important;
  background: var(--grey-50-new, #f9fafb) !important;
}

html[data-theme="dark"] .bloblang-playground .ace_editor.ace_autocomplete .ace_line:hover {
  background: rgba(255, 255, 255, 0.05) !important;
}

/* Selected/highlighted row */

.bloblang-playground .ace_editor.ace_autocomplete .ace_line.ace_selected {
  background: #dcdcde !important;
  background: var(--grey-100-new, #f3f4f6) !important;
  border-left: 3px solid #6366f1 !important;
  border-left: 3px solid var(--component-color, #6366f1) !important;
  padding-left: 9px !important;
}

html[data-theme="dark"] .bloblang-playground .ace_editor.ace_autocomplete .ace_line.ace_selected {
  background: rgba(255, 255, 255, 0.08) !important;
}

/* Completion text */

.bloblang-playground .ace_editor.ace_autocomplete .ace_completion-highlight {
  color: #6366f1 !important;
  color: var(--component-color, #6366f1) !important;
  font-weight: 600 !important;
  text-shadow: none !important;
}

/* Meta labels (function, method, keyword, field) */

.bloblang-playground .ace_editor.ace_autocomplete .ace_completion-meta {
  float: right !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  padding: 2px 8px !important;
  border-radius: 4px !important;
  margin-left: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}

/* Meta type colors */

.bloblang-playground .ace_editor.ace_autocomplete .ace_line .ace_completion-meta {
  background: #dcdcde !important;
  background: var(--grey-100-new, #f3f4f6) !important;
  color: #606164 !important;
  color: var(--grey-600-new, #4b5563) !important;
}

.bloblang-playground .ace_editor.ace_autocomplete .ace_line.ace_selected .ace_completion-meta {
  background: rgba(99, 102, 241, 0.12) !important;
  color: #6366f1 !important;
  color: var(--component-color, #6366f1) !important;
  font-weight: 600 !important;
}

html[data-theme="dark"] .bloblang-playground .ace_editor.ace_autocomplete .ace_line .ace_completion-meta {
  background: rgba(255, 255, 255, 0.08) !important;
  color: rgba(255, 255, 255, 0.6) !important;
}

html[data-theme="dark"] .bloblang-playground .ace_editor.ace_autocomplete .ace_line.ace_selected .ace_completion-meta {
  background: rgba(99, 102, 241, 0.2) !important;
}

/* Documentation popup */

.bloblang-playground .ace_editor.ace_autocomplete .ace_doc-tooltip {
  background: var(--body-background) !important;
  border: 1px solid #c3c4c6 !important;
  border: 1px solid var(--grey-200-new, #e5e5e5) !important;
  border-radius: 8px !important;
  -webkit-box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1) !important;
          box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1) !important;
  padding: 12px !important;
  font-family: var(--body-font-family) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: var(--body-font-color) !important;
  max-width: 400px !important;
}

html[data-theme="dark"] .bloblang-playground .ace_editor.ace_autocomplete .ace_doc-tooltip {
  border-color: rgba(255, 255, 255, 0.1) !important;
  -webkit-box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3) !important;
          box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3) !important;
}

.bloblang-playground .ace_editor.ace_autocomplete .ace_doc-tooltip b {
  color: #6366f1 !important;
  color: var(--component-color, #6366f1) !important;
  font-weight: 600 !important;
}

.bloblang-playground .ace_editor.ace_autocomplete .ace_doc-tooltip em {
  color: #606164 !important;
  color: var(--grey-600-new, #4b5563) !important;
  font-style: normal !important;
  font-size: 11px !important;
  font-weight: 600 !important;
}

html[data-theme="dark"] .bloblang-playground .ace_editor.ace_autocomplete .ace_doc-tooltip em {
  color: rgba(255, 255, 255, 0.6) !important;
}

/* Scrollbar for autocomplete */

.bloblang-playground .ace_editor.ace_autocomplete .ace_scroller {
  scrollbar-width: thin !important;
  scrollbar-color: rgba(156, 163, 175, 0.3) transparent !important;
}

.bloblang-playground .ace_editor.ace_autocomplete .ace_scroller::-webkit-scrollbar {
  width: 8px !important;
}

.bloblang-playground .ace_editor.ace_autocomplete .ace_scroller::-webkit-scrollbar-track {
  background: transparent !important;
}

.bloblang-playground .ace_editor.ace_autocomplete .ace_scroller::-webkit-scrollbar-thumb {
  background: rgba(156, 163, 175, 0.3) !important;
  border-radius: 4px !important;
}

.bloblang-playground .ace_editor.ace_autocomplete .ace_scroller::-webkit-scrollbar-thumb:hover {
  background: rgba(156, 163, 175, 0.5) !important;
}

/* ==========================================================================
   Ace Bloblang Syntax Highlighting - Match Prism Colors
   ========================================================================== */

.bloblang-playground #ace-mapping .ace_string {
  color: #22863a !important;
}

.bloblang-playground #ace-mapping .ace_comment {
  color: #6a737d !important;
  font-style: italic;
}

.bloblang-playground #ace-mapping .ace_keyword {
  color: #6f42c1 !important;
}

.bloblang-playground #ace-mapping .ace_constant.ace_language {
  color: #005cc5 !important;
}

.bloblang-playground #ace-mapping .ace_constant.ace_numeric {
  color: #005cc5 !important;
}

.bloblang-playground #ace-mapping .ace_support.ace_function {
  color: #6f42c1 !important;
}

.bloblang-playground #ace-mapping .ace_support.ace_function.ace_method {
  color: #6f42c1 !important;
}

.bloblang-playground #ace-mapping .ace_variable {
  color: #005cc5 !important;
}

.bloblang-playground #ace-mapping .ace_variable.ace_other {
  color: #005cc5 !important;
}

.bloblang-playground #ace-mapping .ace_variable.ace_other.ace_property {
  color: #24292e !important;
}

.bloblang-playground #ace-mapping .ace_punctuation.ace_operator {
  color: #24292e !important;
}

.bloblang-playground #ace-mapping .ace_punctuation.ace_operator.ace_arrow {
  color: #d73a49 !important;
}

.bloblang-playground #ace-mapping .ace_keyword.ace_operator {
  color: #d73a49 !important;
}

.bloblang-playground #ace-mapping .ace_keyword.ace_operator.ace_spread {
  color: #d73a49 !important;
}

.bloblang-playground #ace-mapping .ace_paren {
  color: #24292e !important;
}

/* Dark mode syntax highlighting */

html[data-theme="dark"] .bloblang-playground #ace-mapping .ace_string {
  color: #ce9178 !important;
}

html[data-theme="dark"] .bloblang-playground #ace-mapping .ace_comment {
  color: #6a9955 !important;
  font-style: italic;
}

html[data-theme="dark"] .bloblang-playground #ace-mapping .ace_keyword {
  color: #c586c0 !important;
}

html[data-theme="dark"] .bloblang-playground #ace-mapping .ace_constant.ace_language {
  color: #569cd6 !important;
}

html[data-theme="dark"] .bloblang-playground #ace-mapping .ace_constant.ace_numeric {
  color: #b5cea8 !important;
}

html[data-theme="dark"] .bloblang-playground #ace-mapping .ace_support.ace_function {
  color: #dcdcaa !important;
}

html[data-theme="dark"] .bloblang-playground #ace-mapping .ace_support.ace_function.ace_method {
  color: #dcdcaa !important;
}

html[data-theme="dark"] .bloblang-playground #ace-mapping .ace_variable {
  color: #9cdcfe !important;
}

html[data-theme="dark"] .bloblang-playground #ace-mapping .ace_variable.ace_other {
  color: #9cdcfe !important;
}

html[data-theme="dark"] .bloblang-playground #ace-mapping .ace_variable.ace_other.ace_property {
  color: #9cdcfe !important;
}

html[data-theme="dark"] .bloblang-playground #ace-mapping .ace_punctuation.ace_operator {
  color: #d4d4d4 !important;
}

html[data-theme="dark"] .bloblang-playground #ace-mapping .ace_punctuation.ace_operator.ace_arrow {
  color: #d4d4d4 !important;
}

html[data-theme="dark"] .bloblang-playground #ace-mapping .ace_keyword.ace_operator {
  color: #d4d4d4 !important;
}

html[data-theme="dark"] .bloblang-playground #ace-mapping .ace_keyword.ace_operator.ace_spread {
  color: #d4d4d4 !important;
}

html[data-theme="dark"] .bloblang-playground #ace-mapping .ace_paren {
  color: #d4d4d4 !important;
}

/* JSON syntax highlighting for dark mode (input/metadata/output editors) */

html[data-theme="dark"] .bloblang-playground :is(#ace-input, #ace-input-metadata, #ace-output, #ace-metadata) .ace_string {
  color: #ce9178 !important;
}

html[data-theme="dark"] .bloblang-playground :is(#ace-input, #ace-input-metadata, #ace-output, #ace-metadata) .ace_constant.ace_numeric {
  color: #b5cea8 !important;
}

html[data-theme="dark"] .bloblang-playground :is(#ace-input, #ace-input-metadata, #ace-output, #ace-metadata) .ace_constant.ace_language {
  color: #569cd6 !important;
}

html[data-theme="dark"] .bloblang-playground :is(#ace-input, #ace-input-metadata, #ace-output, #ace-metadata) .ace_variable {
  color: #9cdcfe !important;
}

html[data-theme="dark"] .bloblang-playground :is(#ace-input, #ace-input-metadata, #ace-output, #ace-metadata) .ace_paren {
  color: #d4d4d4 !important;
}

html[data-theme="dark"] .bloblang-playground :is(#ace-input, #ace-input-metadata, #ace-output, #ace-metadata) .ace_punctuation {
  color: #d4d4d4 !important;
}

html[data-theme="dark"] .bloblang-playground :is(#ace-input, #ace-input-metadata, #ace-output, #ace-metadata) .ace_text {
  color: #d4d4d4 !important;
}

html[data-theme="dark"] .bloblang-playground :is(#ace-input, #ace-input-metadata, #ace-output, #ace-metadata) .ace_line {
  color: #d4d4d4 !important;
}

html[data-theme="dark"] .bloblang-playground :is(#ace-input, #ace-input-metadata, #ace-output, #ace-metadata) .ace_identifier {
  color: #d4d4d4 !important;
}

html[data-theme="dark"] .bloblang-playground :is(#ace-input, #ace-input-metadata, #ace-output, #ace-metadata) .ace_keyword {
  color: #569cd6 !important;
}

html[data-theme="dark"] .bloblang-playground :is(#ace-input, #ace-input-metadata, #ace-output, #ace-metadata) .ace_support {
  color: #d4d4d4 !important;
}

html[data-theme="dark"] .bloblang-playground :is(#ace-input, #ace-input-metadata, #ace-output, #ace-metadata) .ace_support.ace_type {
  color: #9cdcfe !important;
}

html[data-theme="dark"] .bloblang-playground :is(#ace-input, #ace-input-metadata, #ace-output, #ace-metadata) [class^="ace_"] {
  color: #d4d4d4;
}

body {
  position: relative;
  min-height: 100vh;
}

.hidden {
  display: none !important;
}

/* Main body container layout */

.body {
  display: block;
}

@media screen and (min-width: 1024px) {
  .body {
    display: block;
    margin-left: 280px;
    margin-left: var(--sidebar-width, 260px);
  }
}

.article .metadata {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 15px;
  margin-top: 15px;
  font-size: var(--secondary-font-size);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.article .metadata.metadata--main {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.article .metadata.metadata--nav {
  position: sticky;
  top: 0;
  padding: 0.5rem 0;
  background-color: var(--body-background);
  z-index: 10;
  margin-top: 40px;
  margin-bottom: 0;
  min-height: 40px;
  padding-bottom: 0;
}

.article .metadata.metadata--nav.hidden {
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.article .metadata.metadata--nav:not(.hidden) {
  opacity: 1;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.article .metadata .context-switcher {
  position: relative;
  display: inline-block;
  font-size: var(--secondary-font-size);
}

/* Dropdown container */

.article .metadata .context-dropdown {
  position: relative;
  display: inline-block;
}

/* Dropdown toggle button */

.article .metadata .context-dropdown-toggle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border: 2px solid var(--link-highlight-color);
  background: var(--body-background);
  border-radius: 6px;
  color: var(--body-font-color);
  font-size: var(--secondary-font-size);
  font-weight: 500;
  cursor: pointer;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  min-width: 120px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

/* Dropdown arrow */

.article .metadata .context-dropdown-arrow {
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.article .metadata .context-dropdown-toggle[aria-expanded="true"] .context-dropdown-arrow {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

/* Dropdown menu */

.article .metadata .context-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--body-background);
  border: 1px solid var(--color-smoke-90);
  border-radius: 6px;
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(-8px);
          transform: translateY(-8px);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  margin-top: 4px;
  max-height: 300px;
  overflow-y: auto;
}

.article .metadata .context-dropdown-menu.show {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/* Dropdown items */

.article .metadata .context-dropdown-menu .context-dropdown-item {
  display: block;
  padding: 10px 16px;
  text-decoration: none;
  font-weight: 500;
  border: none;
  background: none;
  width: 100%;
  text-align: left;
  color: var(--body-font-color);
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
  border-bottom: 1px solid var(--color-smoke-70);
}

.article .toc .metadata .context-dropdown-menu .context-dropdown-item,
.article .toc .context-switcher .context-dropdown-item {
  display: block !important;
  padding: 10px 16px !important;
  color: var(--body-font-color) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  border: none !important;
  background: none !important;
  width: 100% !important;
  text-align: left !important;
  -webkit-transition: background-color 0.2s ease !important;
  transition: background-color 0.2s ease !important;
  border-bottom: 1px solid var(--color-smoke-70) !important;
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
  margin: 0 !important;
  line-height: normal !important;
}

.article .metadata .context-dropdown-menu .context-dropdown-item:last-child,
.article .toc .context-dropdown-item:last-child {
  border-bottom: none !important;
}

.article .metadata .context-dropdown-menu .context-dropdown-item:hover,
.article .toc .context-dropdown-item:hover {
  background: var(--link-highlight-color) !important;
  outline: none !important;
  color: white !important;
}

.article .metadata .context-dropdown-menu .context-dropdown-item.active,
.article .toc .context-dropdown-item.active {
  background: var(--link-highlight-color) !important;
  color: white !important;
  font-weight: 600 !important;
}

/* Base badge style */

.badge {
  font-weight: 600;
  border-radius: 10px;
  padding: 3px;
  cursor: help;
}

.badge--large {
  padding: 2px 6px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 100px;
}

.badge--label {
  background-color: #e0e0e0;
  color: #1f1f1f;
}

/* Beta */

.badge--beta {
  color: var(--beta-label-background);
  font-weight: bold;
  background-color: var(--link-highlight-background-color);
}

.badge--large.badge--beta {
  background-color: var(--beta-label-background);
  color: var(--beta-label-color);
}

.beta-label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin: 0;
  font-size: calc(18/var(--rem-base)*1rem);
}

.beta-label > p {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  border-radius: 10px;
  font-weight: bold;
  text-align: center;
  color: var(--beta-label-color);
  background-color: var(--beta-label-background);
  padding: 3px;
  min-width: 100px;
  margin: 0;
  cursor: help;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.nav-beta-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.nav-beta-label {
  font-size: calc(18/var(--rem-base)*1rem);
  font-weight: bold;
  min-width: 100px;
  padding: 3px;
  border-radius: 10px;
  color: var(--beta-label-color);
  background-color: var(--beta-label-background);
  cursor: help;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0;
}

/* Limited Availability */

.badge--limited-availability {
  color: var(--limited-availability-label-background);
  font-weight: bold;
  background-color: var(--limited-availability-highlight-background-color);
}

.badge--large.badge--limited-availability {
  background-color: var(--limited-availability-label-background);
  color: var(--limited-availability-label-color);
}

.limited-availability-label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin: 0;
  font-size: calc(18/var(--rem-base)*1rem);
}

.limited-availability-label > p {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  border-radius: 10px;
  font-weight: bold;
  text-align: center;
  color: var(--limited-availability-label-color);
  background-color: var(--limited-availability-label-background);
  padding: 4px;
  min-width: 100px;
  margin: 0;
  cursor: help;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.nav-limited-availability-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.nav-limited-availability-label {
  font-size: calc(18/var(--rem-base)*1rem);
  font-weight: bold;
  min-width: 150px;
  padding: 3px;
  border-radius: 10px;
  color: var(--limited-availability-label-color);
  background-color: var(--limited-availability-label-background);
  cursor: help;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0;
}

/* BYOC Badge */

.badge--byoc {
  color: var(--byoc-label-background);
  font-weight: bold;
  background-color: var(--byoc-highlight-background-color);
}

.badge--large.badge--byoc {
  background-color: var(--byoc-label-background);
  color: var(--byoc-label-color);
}

.byoc-label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin: 0;
  font-size: calc(18/var(--rem-base)*1rem);
}

.byoc-label > p {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  border-radius: 10px;
  font-weight: bold;
  text-align: center;
  color: var(--byoc-label-color);
  background-color: var(--byoc-label-background);
  padding: 3px;
  min-width: 100px;
  margin: 0;
  cursor: help;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.nav-byoc-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.nav-byoc-label {
  font-size: calc(18/var(--rem-base)*1rem);
  font-weight: bold;
  min-width: 100px;
  padding: 3px;
  border-radius: 10px;
  color: var(--byoc-label-color);
  background-color: var(--byoc-label-background);
  cursor: help;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0;
}

/* Cloud Badge */

.badge--cloud {
  color: var(--cloud-label-background);
  font-weight: bold;
  background-color: var(--cloud-highlight-background-color);
}

.badge--large.badge--cloud {
  background-color: var(--cloud-label-background);
  color: var(--cloud-label-color);
}

.cloud-label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin: 0;
  font-size: calc(18/var(--rem-base)*1rem);
}

.cloud-label > p {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  border-radius: 10px;
  font-weight: bold;
  text-align: center;
  color: var(--cloud-label-color);
  background-color: var(--cloud-label-background);
  padding: 3px;
  min-width: 100px;
  margin: 0;
  cursor: help;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.nav-cloud-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.nav-cloud-label {
  font-size: calc(18/var(--rem-base)*1rem);
  font-weight: bold;
  min-width: 100px;
  padding: 3px;
  border-radius: 10px;
  color: var(--cloud-label-color);
  background-color: var(--cloud-label-background);
  cursor: help;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0;
}

@media (max-width: 768px) {
  .article .metadata {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px;
  }

  .article .metadata .context-switcher {
    width: 100%;
  }

  .article .metadata .context-dropdown-toggle {
    width: 100%;
    min-width: auto;
  }
}

.ace-github .ace_gutter {
  background: var(--pre-background);
  color: var(--code-font-color);
  z-index: 1;
}

.ace_gutter-layer {
  border-right: 1px solid !important;
}

.ace_active-line,
.ace-github .ace_gutter-active-line {
  background: rgba(255, 255, 255, 0.4) !important;
}

.ace_gutter-cell.ace_error {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==) !important;
  background-repeat: no-repeat !important;
  background-position: 2px center !important;
}

.ace_cursor {
  color: var(--pre-font-color) !important;
}

.doc .ace_editor {
  font-family: var(--monospace-font-family);
  font-size: var(--body-font-size);
  background-color: var(--pre-background) !important;
  color: var(--code-font-color) !important;
  min-height: 250px;
  padding: 10px;
  overflow-y: auto;
  border-radius: 5px;
  position: relative;
  border: 1px solid rgb(204, 204, 204);
  resize: both;
  min-width: 200px;
}

.ace_selection {
  background: rgba(135, 206, 250, 0.9) !important;
}

.ace_dark > .ace_mobile-menu {
  background: var(--pre-background);
  color: var(--code-font-color);
}

.ace_dark > .ace_mobile-menu > span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
}

.ace-github .ace_comment {
  color: var(--body-font-color);
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.8);
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: auto;
  padding: 1rem;
  z-index: 9999;
}

.modal.active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.modal-content {
  background: var(--body-background);
  color: var(--body-font-color);
  padding: 20px;
  border-radius: 5px;
  max-width: 90vw;
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
          box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

.modal-content h2 {
  margin-top: 0 !important;
}

.modal-content .button-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  margin-top: 10px;
  margin-bottom: 10px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.modal-content button,
.modal-content button[type=submit]:not(.aa-SubmitButton) {
  padding: 6px 8px;
  background: rgba(68, 76, 231, 0);
  border: none;
  border-radius: 6px;
  color: var(--body-font-color);
  margin-top: 0;
  cursor: pointer;
  font-size: 14px;
  -webkit-transition: 'background 0.3s';
  transition: 'background 0.3s';
}

.modal-content button[type=submit]:not(.aa-SubmitButton) {
  background-color: #4474e7;
  color: #ffffff;
}

.modal-content button[type=submit]:not(.aa-SubmitButton):hover {
  background-color: #365bd6;
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
  color: #ffffff;
}

.modal-content button {
  border: 1px solid rgba(128, 152, 249, 1);
  border-radius: 6px;
}

.modal-content button:hover {
  background: rgba(68, 76, 231, 0.06);
  color: var(--body-font-color);
}

html[data-theme=dark] .modal-content button:hover {
  background: rgba(68, 76, 231);
  color: var(--body-font-color);
}

.close-modal {
  position: sticky;
  top: 1rem;
  left: 100%;
  background: transparent;
  border: none;
  font-size: 2rem;
  color: var(--body-font-color);
  cursor: pointer;
  z-index: 10000;
}

body.article.home {
  background-color: var(--home-background);
}

/* ============================================================================
   HOME PAGE HERO SECTION
   ============================================================================ */

.home-page {
  width: 100%;
}

/* Dark Hero Section */

.home-hero {
  position: relative;
  overflow: hidden;
  background: #0b1430;
  color: #fff;
  padding: 80px 8vw 72px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* Hero Background Effects */

.home-hero-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

/* Grid Pattern */

.home-hero-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(255, 255, 255, 0.03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, #000 40%, transparent 90%);
  -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, #000 40%, transparent 90%);
}

/* Glow Effects */

.home-hero-glow {
  position: absolute;
  border-radius: 50%;
  -webkit-filter: blur(80px);
          filter: blur(80px);
  opacity: 0.5;
}

.home-hero-glow-1 {
  width: 520px;
  height: 520px;
  background: radial-gradient(circle, #e24328 0%, transparent 70%);
  background: radial-gradient(circle, var(--brand-600-new, #e24328) 0%, transparent 70%);
  top: -120px;
  right: -80px;
}

.home-hero-glow-2 {
  width: 420px;
  height: 420px;
  background: radial-gradient(circle, #444ce7 0%, transparent 70%);
  background: radial-gradient(circle, var(--indigo-600-new, #444ce7) 0%, transparent 70%);
  bottom: -140px;
  left: -60px;
  opacity: 0.35;
}

/* Hero Content */

.home-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 960px;
  margin: 0 auto;
}

/* Eyebrow Label */

.home-hero-eyebrow {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  font-family: monospace;
  font-family: var(--monospace-font-family, monospace);
  font-size: 11.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.7);
  padding: 8px 16px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 99px;
  margin-bottom: 28px;
}

.home-hero-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #e86b54;
  background: var(--brand-500-new, #f04438);
  -webkit-box-shadow: 0 0 0 3px rgba(226, 67, 40, 0.2);
          box-shadow: 0 0 0 3px rgba(226, 67, 40, 0.2);
}

/* Hero Title */

.home-hero-title,
.doc .home-hero-title,
.article.home .home-hero-title,
h1.home-hero-title {
  font-size: clamp(36px, 5vw, 56px) !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.1 !important;
  margin: 0 0 22px !important;
  text-wrap: pretty;
  color: #fff !important;
  font-family: var(--body-font-family);
}

/* Hero Subtitle */

.home-hero-sub,
.doc .home-hero-sub,
.article.home .home-hero-sub {
  font-size: clamp(16px, 1.4vw, 19px) !important;
  line-height: 1.55 !important;
  color: #a8b2c7 !important;
  max-width: 680px;
  margin: 0 0 36px !important;
  letter-spacing: -0.005em;
  text-wrap: pretty;
}

/* Hero Ask Input */

.home-hero-ask {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  width: 100%;
  max-width: 600px;
  padding: 12px 16px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  -webkit-transition: background 0.12s, border-color 0.12s;
  transition: background 0.12s, border-color 0.12s;
}

.home-hero-ask:hover,
.home-hero-ask:focus-within {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.15);
}

.home-hero-ask-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #e86b54;
  color: var(--brand-500-new, #f04438);
}

.home-hero-ask-icon svg {
  width: 18px;
  height: 18px;
}

.home-hero-ask-input {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  background: transparent;
  border: none;
  outline: none;
  font-size: 15px;
  color: #fff;
  font-family: var(--body-font-family);
}

.home-hero-ask-input::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.home-hero-ask-input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.home-hero-ask-input:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.home-hero-ask-input::-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.home-hero-ask-input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

/* Hero Ask Submit Button - use !important to override any inherited styles */

.home-hero-ask-submit,
button.home-hero-ask-submit,
.home-hero-ask button.home-hero-ask-submit {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  background: #e24328 !important;
  background: var(--brand-600-new, #e24328) !important;
  border: none !important;
  border-radius: 8px !important;
  color: #fff !important;
  cursor: pointer !important;
  -webkit-transition: background 0.12s !important;
  transition: background 0.12s !important;
  padding: 0 !important;
  margin: 0 !important;
  -ms-flex-negative: 0 !important;
      flex-shrink: 0 !important;
}

.home-hero-ask-submit:hover,
button.home-hero-ask-submit:hover {
  background: #c1331a !important;
  background: var(--brand-700-new, #c9190b) !important;
}

/* SVG inside submit button - explicit sizing */

.home-hero-ask-submit svg,
button.home-hero-ask-submit svg,
.home-hero-ask button.home-hero-ask-submit svg {
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  min-height: 14px !important;
  display: block !important;
  stroke: #fff !important;
  fill: none !important;
  -ms-flex-negative: 0 !important;
      flex-shrink: 0 !important;
}

/* Hero Content Container */

.home-hero-content {
  position: relative;
  z-index: 2;
  max-width: 960px;
  margin: 0 auto;
  text-align: left;
}

/* Suggestion Chips in Hero */

.home-hero-chips {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin-top: 20px;
}

/* Ask Hints Section (Try: label + chips) */

.home-hero-ask-hints {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  margin-top: 20px;
}

.home-hero-ask-hints-label {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
  font-weight: 500;
}

.home-hero-chip {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  padding: 8px 14px;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.8);
  cursor: pointer;
  -webkit-transition: background 0.12s, border-color 0.12s, color 0.12s;
  transition: background 0.12s, border-color 0.12s, color 0.12s;
  font-family: var(--body-font-family);
}

.home-hero-chip:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
  color: #fff;
}

/* Glow effect for hero (single element with pseudo-elements) */

.home-hero-glow::before,
.home-hero-glow::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  -webkit-filter: blur(80px);
          filter: blur(80px);
  pointer-events: none;
}

.home-hero-glow::before {
  width: 520px;
  height: 520px;
  background: radial-gradient(circle, #e24328 0%, transparent 70%);
  background: radial-gradient(circle, var(--brand-600-new, #e24328) 0%, transparent 70%);
  top: -120px;
  right: -80px;
  opacity: 0.5;
}

.home-hero-glow::after {
  width: 420px;
  height: 420px;
  background: radial-gradient(circle, #444ce7 0%, transparent 70%);
  background: radial-gradient(circle, var(--indigo-600-new, #444ce7) 0%, transparent 70%);
  bottom: -140px;
  left: -60px;
  opacity: 0.35;
}

/* ============================================================================
   WHAT ARE YOU HERE FOR - INTENT SECTION
   ============================================================================ */

.home-intent {
  padding: 64px 8vw 48px;
  background: var(--body-background);
}

.home-intent-container {
  max-width: 900px;
  margin: 0 auto;
}

/* Section heading - uppercase label style */

.home-intent-heading,
.doc .home-intent-heading,
h2.home-intent-heading,
.doc h2.home-intent-heading,
.article.home .doc h2.home-intent-heading {
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: #79797d !important;
  color: var(--grey-500-new, #6b7280) !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  line-height: 1 !important;
}

html[data-theme="dark"] .home-intent-heading,
html[data-theme="dark"] .doc h2.home-intent-heading {
  color: #919295 !important;
  color: var(--grey-400-new, #9ca3af) !important;
}

.home-intent-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

/* Intent Cards - Two column choice cards */

.home-intent-card,
a.home-intent-card,
.doc a.home-intent-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 16px;
  padding: 24px;
  background: #fff;
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e7eb);
  border-radius: 14px;
  text-decoration: none !important;
  color: inherit;
  -webkit-transition: border-color 0.15s, -webkit-box-shadow 0.15s, -webkit-transform 0.15s;
  transition: border-color 0.15s, -webkit-box-shadow 0.15s, -webkit-transform 0.15s;
  transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s;
  transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s, -webkit-box-shadow 0.15s, -webkit-transform 0.15s;
}

.home-intent-card:hover,
a.home-intent-card:hover {
  border-color: #aaabae;
  border-color: var(--grey-300-new, #d1d5db);
  -webkit-box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
          box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}

html[data-theme="dark"] .home-intent-card,
html[data-theme="dark"] a.home-intent-card {
  background: #161e2d;
  background: var(--dark-blue-800-new, #161e2d);
  border-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .home-intent-card:hover,
html[data-theme="dark"] a.home-intent-card:hover {
  border-color: rgba(255, 255, 255, 0.15);
  -webkit-box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
          box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}

/* Intent card icon */

.home-intent-card-icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: rgba(68, 76, 231, 0.08);
  color: #444ce7;
  color: var(--indigo-600-new, #444ce7);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.home-intent-card-icon svg {
  width: 20px;
  height: 20px;
}

html[data-theme="dark"] .home-intent-card-icon {
  background: rgba(99, 102, 241, 0.15);
  color: #8098f9;
  color: var(--indigo-400-new, #818cf8);
}

/* Brand variant for ADP - uses color from page-header-data via --adp-color */

.home-intent-card-icon--brand,
.home-intent-card-icon.home-intent-card-icon--brand {
  background: color-mix(in sRGB, var(--adp-color) 8%, transparent);
  color: var(--adp-color);
}

html[data-theme="dark"] .home-intent-card-icon--brand,
html[data-theme="dark"] .home-intent-card-icon.home-intent-card-icon--brand {
  background: color-mix(in sRGB, var(--adp-color) 12%, transparent);
  color: var(--adp-color);
}

/* Intent card content */

.home-intent-card-content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

.home-intent-card-title,
.doc .home-intent-card-title,
h3.home-intent-card-title,
.doc h3.home-intent-card-title,
.article.home .doc h3.home-intent-card-title {
  font-size: 17px !important;
  font-weight: 600 !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  letter-spacing: -0.015em !important;
  line-height: 1.3 !important;
  color: #181818 !important;
  color: var(--grey-900-new, #111827) !important;
}

html[data-theme="dark"] .home-intent-card-title,
html[data-theme="dark"] .doc h3.home-intent-card-title {
  color: #fff !important;
}

.home-intent-card-desc,
.doc .home-intent-card-desc,
p.home-intent-card-desc,
.doc p.home-intent-card-desc {
  font-size: 14px !important;
  line-height: 1.5 !important;
  margin: 0 0 10px !important;
  color: #606164 !important;
  color: var(--grey-600-new, #4b5563) !important;
}

html[data-theme="dark"] .home-intent-card-desc,
html[data-theme="dark"] .doc p.home-intent-card-desc {
  color: #919295 !important;
  color: var(--grey-400-new, #9ca3af) !important;
}

/* Tags/pills showing included products */

.home-intent-card-tags {
  font-size: 12px;
  color: #79797d;
  color: var(--grey-500-new, #6b7280);
  margin-bottom: 12px;
  letter-spacing: -0.01em;
}

html[data-theme="dark"] .home-intent-card-tags {
  color: #919295;
  color: var(--grey-400-new, #9ca3af);
}

/* CTA link */

.home-intent-card-cta {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 500;
  color: #444ce7;
  color: var(--indigo-600-new, #444ce7);
  -webkit-transition: gap 0.15s, color 0.15s;
  transition: gap 0.15s, color 0.15s;
}

.home-intent-card-cta svg {
  -webkit-transition: -webkit-transform 0.15s;
  transition: -webkit-transform 0.15s;
  transition: transform 0.15s;
  transition: transform 0.15s, -webkit-transform 0.15s;
}

.home-intent-card:hover .home-intent-card-cta {
  gap: 8px;
}

.home-intent-card:hover .home-intent-card-cta svg {
  -webkit-transform: translateX(2px);
          transform: translateX(2px);
}

/* ADP card variant - uses color from page-header-data via --adp-color */

.home-intent-card--adp .home-intent-card-cta {
  color: var(--adp-color);
}

html[data-theme="dark"] .home-intent-card-cta {
  color: #8098f9;
  color: var(--indigo-400-new, #818cf8);
}

html[data-theme="dark"] .home-intent-card--adp .home-intent-card-cta {
  color: var(--adp-color);
}

/* ============================================================================
   JUMP STRAIGHT TO A PRODUCT - PRODUCT CARDS
   ============================================================================ */

.home-products {
  padding: 80px 8vw 96px;
  background: var(--body-background);
}

.home-products-container {
  max-width: 900px;
  margin: 0 auto;
}

/* Main section heading */

.home-products-heading,
.doc .home-products-heading,
h2.home-products-heading,
.doc h2.home-products-heading,
.article.home .doc h2.home-products-heading {
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: #79797d !important;
  color: var(--grey-500-new, #6b7280) !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  line-height: 1 !important;
}

html[data-theme="dark"] .home-products-heading,
html[data-theme="dark"] .doc h2.home-products-heading {
  color: #919295 !important;
  color: var(--grey-400-new, #9ca3af) !important;
}

/* Sub-section heading (Data Platform, Agentic Data Plane) */

.home-products-section-heading,
.doc .home-products-section-heading,
h3.home-products-section-heading,
.doc h3.home-products-section-heading,
.article.home .doc h3.home-products-section-heading {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #181818 !important;
  color: var(--grey-900-new, #111827) !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  line-height: 1.2 !important;
}

html[data-theme="dark"] .home-products-section-heading,
html[data-theme="dark"] .doc h3.home-products-section-heading {
  color: #dcdcde !important;
  color: var(--grey-100-new, #f3f4f6) !important;
}

.home-products-section-heading:not(:first-of-type) {
  margin-top: 40px !important;
  padding-top: 32px !important;
  border-top: 1px solid #c3c4c6;
  border-top: 1px solid var(--grey-200-new, #e5e7eb);
}

html[data-theme="dark"] .home-products-section-heading:not(:first-of-type) {
  border-top-color: #48484a;
  border-top-color: var(--grey-700-new, #374151);
}

/* Sub-sub-section heading (Self-Managed within Data Platform) */

.home-products-subsection-heading,
.doc .home-products-subsection-heading,
h4.home-products-subsection-heading,
.doc h4.home-products-subsection-heading,
.article.home .doc h4.home-products-subsection-heading {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: #79797d !important;
  color: var(--grey-500-new, #6b7280) !important;
  margin: 20px 0 10px 16px !important;
  padding: 0 !important;
  line-height: 1 !important;
}

html[data-theme="dark"] .home-products-subsection-heading,
html[data-theme="dark"] .doc h4.home-products-subsection-heading {
  color: #919295 !important;
  color: var(--grey-400-new, #9ca3af) !important;
}

/* Nested product cards (indent for Self-Managed children) */

.home-product-cards--nested {
  margin-left: 16px;
  padding-left: 12px;
  border-left: 2px solid #c3c4c6;
  border-left: 2px solid var(--grey-200-new, #e5e7eb);
}

html[data-theme="dark"] .home-product-cards--nested {
  border-left-color: #48484a;
  border-left-color: var(--grey-700-new, #374151);
}

/* Product cards grid */

.home-product-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  padding-bottom: 20px;
}

/* Individual product card */

.home-product-card,
a.home-product-card,
.doc a.home-product-card {
  --product-color: #64748b; /* fallback */

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  padding: 14px 16px;
  background: var(--body-background);
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e7eb);
  border-left: 3px solid var(--product-color);
  border-radius: 10px;
  text-decoration: none !important;
  color: inherit;
  -webkit-transition: border-color 0.12s, background 0.12s, -webkit-box-shadow 0.12s;
  transition: border-color 0.12s, background 0.12s, -webkit-box-shadow 0.12s;
  transition: border-color 0.12s, box-shadow 0.12s, background 0.12s;
  transition: border-color 0.12s, box-shadow 0.12s, background 0.12s, -webkit-box-shadow 0.12s;
}

.home-product-card:hover,
a.home-product-card:hover {
  border-color: var(--product-color);
  -webkit-box-shadow: 0 2px 8px color-mix(in sRGB, var(--product-color) 15%, transparent);
          box-shadow: 0 2px 8px color-mix(in sRGB, var(--product-color) 15%, transparent);
  background: color-mix(in sRGB, var(--product-color) 4%, var(--body-background));
}

html[data-theme="dark"] .home-product-card,
html[data-theme="dark"] a.home-product-card {
  background: #161e2d;
  background: var(--dark-blue-800-new, #161e2d);
  border-color: rgba(255, 255, 255, 0.08);
  border-left-color: var(--product-color);
}

html[data-theme="dark"] .home-product-card:hover,
html[data-theme="dark"] a.home-product-card:hover {
  border-color: var(--product-color);
  background: color-mix(in sRGB, var(--product-color) 10%, #161e2d);
  background: color-mix(in sRGB, var(--product-color) 10%, var(--dark-blue-800-new));
}

/* Product card chip - hidden, using left border accent instead */

.home-product-card-chip {
  display: none;
}

/* Product card content */

.home-product-card-content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

.home-product-card-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin-bottom: 2px;
}

.home-product-card-title {
  font-size: 14px;
  font-weight: 600;
  color: #181818;
  color: var(--grey-900-new, #111827);
  letter-spacing: -0.01em;
}

html[data-theme="dark"] .home-product-card-title {
  color: #fff;
}

.home-product-card-version {
  font-size: 11px;
  font-weight: 500;
  color: #79797d;
  color: var(--grey-500-new, #6b7280);
  background: #dcdcde;
  background: var(--grey-100-new, #f3f4f6);
  padding: 2px 6px;
  border-radius: 4px;
}

html[data-theme="dark"] .home-product-card-version {
  color: #919295;
  color: var(--grey-400-new, #9ca3af);
  background: rgba(255, 255, 255, 0.08);
}

.home-product-card-desc,
.doc .home-product-card-desc,
p.home-product-card-desc,
.doc p.home-product-card-desc {
  font-size: 12px !important;
  color: #79797d !important;
  color: var(--grey-500-new, #6b7280) !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}

html[data-theme="dark"] .home-product-card-desc,
html[data-theme="dark"] .doc p.home-product-card-desc {
  color: #919295 !important;
  color: var(--grey-400-new, #9ca3af) !important;
}

/* Product card quickstart links */

.home-product-card-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  margin-top: 10px;
}

.home-product-card-links a {
  font-size: 12px;
  font-weight: 500;
  color: var(--product-color);
  text-decoration: none;
  -webkit-transition: opacity 0.12s;
  transition: opacity 0.12s;
}

.home-product-card-links a:first-child {
  font-weight: 600;
}

.home-product-card-links a:hover {
  opacity: 0.8;
  text-decoration: underline;
}

html[data-theme="dark"] .home-product-card-links a {
  color: var(--product-color);
}

/* Down arrow indicator */

.home-products-more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 32px;
  color: #919295;
  color: var(--grey-400-new, #9ca3af);
}

html[data-theme="dark"] .home-products-more {
  color: #79797d;
  color: var(--grey-500-new, #6b7280);
}

/* Responsive - New Hero & Products */

@media (max-width: 1024px) {
  .home-product-card--featured {
    grid-column: span 1;
  }
}

@media (max-width: 768px) {
  .home-hero {
    padding: 60px 24px 48px;
  }

  .home-hero-title {
    font-size: 32px;
  }

  .home-hero-ask {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    max-width: 100%;
  }

  .home-hero-chips {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }

  .home-hero-chip {
    text-align: center;
  }

  .home-products {
    padding: 64px 24px 72px;
  }

  .home-product-cards {
    grid-template-columns: 1fr;
  }

  .home-product-card {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }

  .home-product-card-arrow {
    display: none;
  }
}

.article.home .content .doc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-width: unset;
  margin: 0;
  padding: 0;
  width: 100%;
}

/* Hero styling - contained within main content area when sidebar present */

.article.home .home-hero {
  width: 100%;
  margin-left: 0;
  border-radius: 12px;
  margin-bottom: 24px;
}

.article.home footer.footer {
  padding-top: 48px;
  padding-bottom: 48px;
  background-color: var(--home-background);
  border-top: 1px solid var(--nav-border-color);
}

/* Center footer content to match home page width */

.article.home footer.footer .container-large {
  max-width: 860px;
}

/* Simplify footer on home - hide logo and columns, keep only socials and legal */

.article.home footer.footer .footer__logo-link,
.article.home footer.footer .footer__columns {
  display: none;
}

.article.home footer.footer .footer__top {
  margin-bottom: 1.5rem;
}

/* Adjust footer layout on home */

.article.home footer.footer .footer__bottom {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
}

/* Reduce visual weight - smaller, lighter text */

.article.home footer.footer .footer__link,
.article.home footer.footer .footer__header,
.article.home footer.footer .text-style-footer-legal {
  font-size: 0.8125rem;
  color: #79797d;
  color: var(--color-aliases-static-palette-text-subtle);
}

/* Subtler social icon colors on home */

.article.home footer.footer .footer__social-link {
  color: #79797d;
  color: var(--color-aliases-static-palette-text-subtle);
  opacity: 0.7;
  -webkit-transition: opacity 0.2s, color 0.2s;
  transition: opacity 0.2s, color 0.2s;
}

.article.home footer.footer .footer__social-link:hover {
  opacity: 1;
  color: var(--body-font-color);
}

/* Labs Home Page Footer Styling - Same simplified approach as home */

main.article.labs footer.footer {
  padding-top: 48px;
  padding-bottom: 48px;
  background-color: var(--body-background);
  border-top: 1px solid var(--nav-border-color);
}

/* Center footer content to match labs page width */

main.article.labs footer.footer .container-large {
  max-width: 860px;
}

/* Simplify footer on labs home - hide logo and columns, keep only socials and legal */

main.article.labs footer.footer .footer__logo-link,
main.article.labs footer.footer .footer__columns {
  display: none;
}

main.article.labs footer.footer .footer__top {
  margin-bottom: 1.5rem;
}

/* Adjust footer layout on labs home */

main.article.labs footer.footer .footer__bottom {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
}

/* Reduce visual weight - smaller, lighter text */

main.article.labs footer.footer .footer__link,
main.article.labs footer.footer .footer__header,
main.article.labs footer.footer .text-style-footer-legal {
  font-size: 0.8125rem;
  color: #79797d;
  color: var(--color-aliases-static-palette-text-subtle);
}

/* Subtler social icon colors on labs home */

main.article.labs footer.footer .footer__social-link {
  color: #79797d;
  color: var(--color-aliases-static-palette-text-subtle);
  opacity: 0.7;
  -webkit-transition: opacity 0.2s, color 0.2s;
  transition: opacity 0.2s, color 0.2s;
}

main.article.labs footer.footer .footer__social-link:hover {
  opacity: 1;
  color: var(--body-font-color);
}

.article.home footer nav.footer-nav {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
}

@media (min-width: 400px) {
  .article.home footer nav.footer-nav {
    gap: 50px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.chat-footer-wrapper {
  width: 100%;
  padding-bottom: 130px;
}

.chat-footer-wrapper.fixed-bottom {
  position: fixed;
  bottom: 0;
  z-index: 9999999;
  max-width: 860px;
  width: 100%;
  padding: 0 20px 20px 0;
  background-color: var(--home-background);
}

.home .chat-footer-wrapper.fixed-bottom .chat-card {
  height: 100px;
  overflow-y: auto;
}

.home .chat-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  gap: var(--spacings-spacing-lg);
  height: 100%;
  position: relative;
}

.home .conversation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  gap: var(--spacings-spacing-lg);
  font-size: 14px;
  line-height: 1.8;
  padding: 0.5rem;
}

.home .disclaimer {
  font-size: 0.7rem;
  color: #6b7280;
  line-height: 1.4;
  padding: 1em;
  margin-top: 60px;
}

.home .disclaimer a {
  color: #6b7280;
}

.home .intro {
  color: #6b7280;
  font-size: 14px;
}

.home .disclaimer p {
  text-align: center;
}

.home .conversation-area {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  overflow-y: auto;
}

.conversation-area::-webkit-scrollbar {
  width: 8px;
}

.conversation-area::-webkit-scrollbar-track {
  background: transparent;
}

.conversation-area::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 4px;
}

.home .conversation-area a {
  text-decoration: underline;
}

.home .conversation-area a:hover {
  text-decoration: underline;
}

.home .grecaptcha-badge {
  z-index: 0 !important;
  display: none !important;
}

.home .section-divider {
  border: none;
  border-top: 1px solid var(--panel-border-color);
  margin: 1.5rem 0;
  margin: var(--spacings-spacing-xl) 0;
}

.home .kapa-chat-root {
  padding-top: 1rem;
  padding-top: var(--spacings-spacing-lg);
}

.home .qa-pair {
  margin-bottom: 1rem;
  margin-bottom: var(--spacings-spacing-lg);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.home .question {
  font-size: 14px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 400;
  color: var(--body-font-color);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background: var(--kapa-question-color);
  border-radius: 25px;
  padding: 16px 20px;
}

.home .answer {
  margin-top: 2rem;
  color: var(--body-font-color);
}

.home .answer h1,
.home .answer h2,
.home .answer h3,
.home .answer li,
.home .answer ol,
.home .answer code,
.home .answer pre {
  margin-bottom: 8px;
}

.home .chat-container .conversation .answer pre > code {
  padding: 0;
  background: var(--pre-background);
}

.home .chat-container .conversation .answer pre {
  padding: 1em;
}

.home .loading {
  color: #6b7280;
  font-style: italic;
  margin: 0.5rem 0;
}

.home .chat-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; /* allow content to stretch it */
  max-height: 280px;
  min-height: 140px;
  border-radius: 0.5rem;
  border-radius: var(--border-radius-radius-lg);
  background-color: var(--input-color);
  -webkit-box-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 0.12);
          box-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 0.12);
  -webkit-transition: height 0.2s ease;
  transition: height 0.2s ease;
  overflow-y: auto;
}

.home .chat-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.5rem;
  gap: var(--spacings-spacing-xs);
  padding: 1rem;
  padding: var(--spacings-spacing-lg);
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}

.home .chat-input {
  width: 100%;
  resize: none;
  overflow: auto;
  min-height: 40px;
  max-height: 200px;
  padding: 10px;
  line-height: 1.4;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border: none;
  outline: none;
  font-family: var(--body-font-family);
  font-size: 14px;
  color: #79797d;
  color: var(--color-aliases-static-palette-text-subtle);
  background: transparent;
}

.home input.chat-input::-webkit-input-placeholder {
  color: #79797d !important;
  color: var(--color-aliases-static-palette-text-subtle) !important;
}

.home input.chat-input::-moz-placeholder {
  color: #79797d !important;
  color: var(--color-aliases-static-palette-text-subtle) !important;
}

.home input.chat-input:-ms-input-placeholder {
  color: #79797d !important;
  color: var(--color-aliases-static-palette-text-subtle) !important;
}

.home input.chat-input::-ms-input-placeholder {
  color: #79797d !important;
  color: var(--color-aliases-static-palette-text-subtle) !important;
}

.home input.chat-input::placeholder {
  color: #79797d !important;
  color: var(--color-aliases-static-palette-text-subtle) !important;
}

.home .chat-input:disabled {
  color: #aaabae;
  color: var(--color-aliases-static-palette-text-disabled);
}

.home .chat-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding: 0 1rem 1rem;
  padding: 0 var(--spacings-spacing-lg) var(--spacings-spacing-lg);
}

.home button[type=submit].main-button {
  margin-top: 0;
}

.home .main-button {
  height: 24.6px;
  padding: 0 0.75rem;
  padding: 0 var(--spacings-spacing-sm);
  background-color: #da5d08;
  background-color: var(--color-primitives-global-orange-orange-800);
  border: none !important;
  border-radius: 0.375rem;
  border-radius: var(--border-radius-radius-md);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
  gap: var(--spacings-spacing-3xs);
  cursor: pointer;
  color: #ffffff;
  color: var(--color-primitives-global-grey-white);
}

.home .main-button:hover {
  background-color: #be5107 !important;
  background-color: var(--color-primitives-global-orange-orange-900) !important;
  color: white !important;
}

.home .main-button:disabled {
  background-color: #aaabae;
  background-color: var(--color-aliases-static-palette-text-disabled);
  cursor: not-allowed;
}

.home .chat-footer-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
  gap: var(--spacings-spacing-sm);
}

.home .deep-thinking-button {
  padding: 0 12px;
  background: transparent;
  border: 1px solid var(--body-font-color);
  border-radius: 0.375rem;
  border-radius: var(--border-radius-radius-md);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  cursor: pointer;
  color: var(--body-font-color);
  font-size: 14px;
  font-weight: 500;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.home .deep-thinking-button .button-icon-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: 4px;
}

.home .deep-thinking-button .button-icon {
  width: 18px;
  height: 18px;
}

.home .deep-thinking-button .button-text {
  font-size: 14px;
  font-weight: 500;
}

.home .deep-thinking-button:hover {
  background: rgba(24, 24, 24, 0.05);
  border-color: var(--body-font-color);
  color: var(--body-font-color);
}

.home .deep-thinking-button.active {
  background: rgba(218, 93, 8, 0.1);
  border-color: #da5d08;
  border-color: var(--color-primitives-global-orange-orange-800);
  color: #da5d08;
  color: var(--color-primitives-global-orange-orange-800);
}

.home .deep-thinking-button.active:hover {
  background: rgba(218, 93, 8, 0.15);
  border-color: #da5d08;
  border-color: var(--color-primitives-global-orange-orange-800);
}

.home .feedback-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
}

.home .feedback-button {
  border: none;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  cursor: pointer;
  background-color: unset;
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  color: #79797d !important;
  color: var(--color-aliases-static-palette-text-subtle) !important;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.home .feedback-button:hover {
  background: #f3f4f6;
  border-color: #d1d5db;
  border-radius: 0.25rem;
  color: #6b7280;
}

.home .feedback-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 0.5rem;
}

.home .actions-feedback {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  min-height: 40px;
  padding: 0px 18px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  margin: 0 auto;
  margin-top: 30px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background: var(--body-background);
  border-radius: 20px;
  border: 1px solid #e0e0e0;
  -webkit-box-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 0.12);
          box-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 0.12);
}

.home .actions-feedback.flex.justify-end.items-center {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.home .action-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: unset;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
}

.home .scroll-down-button {
  position: absolute;
  top: -3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: white;
  color: #181818;
  border: 1px solid var(--card-border-color);
  border-radius: 50%;
  padding: 0.5rem;
  z-index: 10000000;
  -webkit-box-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 0.12);
          box-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 0.12);
  cursor: pointer;
}

.home .scroll-down-button:focus {
  outline: 2px solid #be5107;
  outline: 2px solid var(--color-primitives-global-orange-orange-900);
}

.home .scroll-down-button:focus-visible {
  outline: 2px solid #be5107;
  outline: 2px solid var(--color-primitives-global-orange-orange-900);
}

.home .scroll-down-button svg.lucide {
  width: 24px;
  height: 24px;
}

.home .action-button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background-color: unset;
  border: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  border-radius: 1rem;
  cursor: pointer;
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  color: #79797d !important;
  color: var(--color-aliases-static-palette-text-subtle) !important;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.home .action-button:hover {
  background: #f3f4f6;
  border-color: #d1d5db;
  color: #6b7280;
}

.home .button-icon {
  width: 16px;
  height: 16px;
}

.home .button-text {
  font-family: var(--body-font-family);
  font-weight: 600;
  font-size: 12px !important;
  line-height: 24px;
}

.home svg.lucide {
  width: 16px;
  height: 16px;
}

.home .doc .suggestion-chips {
  position: relative;
  margin-top: 1rem;
}

.home .doc .chip {
  background: var(--chip-color);
  border-radius: 12px;
  color: var(--chip-text-color);
  padding: 10px;
  font-size: 12px;
  cursor: pointer;
  white-space: normal;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}

.home .chip:hover {
  background: #e5e7eb;
  color: black;
}

.home .doc .more-chip {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  background: var(--chip-color);
  border-radius: 12px;
  color: var(--chip-text-color);
  padding: 10px;
  cursor: pointer;
  white-space: nowrap;
}

.home .doc .more-chip:hover {
  background: #e5e7eb;
  color: black;
}

.home .doc .pulldown-menu-desktop,
.home .doc .pulldown-menu-mobile {
  position: absolute;
  top: 100%;
  left: 0;
  background-color: var(--chip-color);
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border-radius: 12px;
  z-index: 10;
  min-width: 160px;
  font-size: 12px;
  width: 100%;
  margin-top: 4px;
}

.home .doc .pulldown-item {
  padding: 8px 12px;
  color: var(--chip-text-color);
  white-space: normal;
  cursor: pointer;
}

.home .doc .pulldown-item:hover {
  background-color: #edf2f7;
}

/* Header */

.home .home-header-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 100px;
  width: 100%;
  height: 100%;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 2;
  position: relative;
  background-color: var(--home-background);
  overflow: visible; /* Ensure no overflow restrictions */
}

.home .home-header-container .answer p {
  margin-bottom: 10px;
}

.home .home-header {
  max-width: 860px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  width: 100%;
  padding: 0 20px;
  -webkit-box-flex: 3;
      -ms-flex: 3;
          flex: 3;
}

.home .home-header h1 {
  font-size: calc(24/var(--rem-base)*1rem);
  font-weight: 500;
  letter-spacing: -0.2px;
  line-height: 28px;
  margin-bottom: 0;
}

.home .search-card {
  background: white;
  border-radius: 8px;
  border: 1px solid #e0e0e0;
  -webkit-box-shadow: 4px 4px 0px rgba(0, 0, 0, 0.12);
          box-shadow: 4px 4px 0px rgba(0, 0, 0, 0.12);
  height: 180px;
  padding: 23px 24px;
  position: relative;
  margin-bottom: 24px;
  width: 100%;
}

.home .search-input {
  position: relative;
}

.home .input-line {
  position: absolute;
  width: 2px;
  height: 20px;
  background: #000;
  left: 19px;
  top: 1px;
}

.home .search-input input {
  width: 100%;
  border: none;
  padding: 0 24px;
  font-size: 14px;
}

.home .search-input input:focus {
  outline: none;
}

.home .features {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  position: sticky;
  visibility: visible;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin-left: 60px;
  top: calc(var(--navbar-height) + var(--announcement-bar-height--desktop) + 70px);
}

.home .features .container > h2 {
  margin-top: 0;
  font-size: 1rem;
  padding-top: 0;
  color: var(--chip-text-color);
  margin-bottom: 12px;
}

.home .features .feature-image > h3 {
  margin-top: 0;
  font-size: calc(17/var(--rem-base)*1rem);
  color: inherit;
}

.home .feature-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  max-width: 250px;
}

.home .feature-box {
  width: 100%;
  height: 100%;
  color: var(--chip-text-color);
  -webkit-box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 1rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  background-color: var(--chip-color);
}

.home .feature-box:hover {
  background: #e5e7eb;
  color: black;
}

.home .feature-image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: -4px;
  gap: 8px;
}

.home .feature-image img {
  height: 24px;
  width: 24px;
  -o-object-fit: contain;
     object-fit: contain;
}

.home .feature-text h2 {
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  margin-top: 5px;
}

.home .feature-text p {
  font-size: 12px;
  line-height: 16px;
  font-weight: 400;
  margin-top: 5px;
}

.home a.feature-link {
  text-decoration: none;
  white-space: normal;
}

/* Toast notifications */

.home .chat-toast {
  position: fixed;
  top: 16px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 500;
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.05);
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.05);
  z-index: 200;
  -webkit-animation: toastSlideIn 0.3s cubic-bezier(0.4, 0, 0.2, 1);
          animation: toastSlideIn 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
}

@-webkit-keyframes toastSlideIn {
  from {
    opacity: 0;
    -webkit-transform: translateX(-50%) translateY(-12px);
            transform: translateX(-50%) translateY(-12px);
  }

  to {
    opacity: 1;
    -webkit-transform: translateX(-50%) translateY(0);
            transform: translateX(-50%) translateY(0);
  }
}

@keyframes toastSlideIn {
  from {
    opacity: 0;
    -webkit-transform: translateX(-50%) translateY(-12px);
            transform: translateX(-50%) translateY(-12px);
  }

  to {
    opacity: 1;
    -webkit-transform: translateX(-50%) translateY(0);
            transform: translateX(-50%) translateY(0);
  }
}

/* Success toast */

.home .chat-toast-success {
  background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
  color: #065f46;
  border: 1px solid #a7f3d0;
}

.home .chat-toast-success .chat-toast-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 20px;
  height: 20px;
  background: #10b981;
  border-radius: 50%;
  color: #fff;
}

.home .chat-toast-success .chat-toast-icon svg {
  width: 12px;
  height: 12px;
}

/* Error toast */

.home .chat-toast-error {
  background: linear-gradient(135deg, #fef2f2 0%, #fecaca 100%);
  color: #991b1b;
  border: 1px solid #fca5a5;
}

.home .chat-toast-error .chat-toast-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 20px;
  height: 20px;
  background: #ef4444;
  border-radius: 50%;
  color: #fff;
}

.home .chat-toast-error .chat-toast-icon svg {
  width: 12px;
  height: 12px;
}

.home .chat-toast-message {
  white-space: nowrap;
}

/* Dark mode toast */

.dark-theme .home .chat-toast-success {
  background: linear-gradient(135deg, #064e3b 0%, #065f46 100%);
  color: #a7f3d0;
  border-color: #10b981;
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(16, 185, 129, 0.2);
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(16, 185, 129, 0.2);
}

.dark-theme .home .chat-toast-error {
  background: linear-gradient(135deg, #7f1d1d 0%, #991b1b 100%);
  color: #fecaca;
  border-color: #ef4444;
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(239, 68, 68, 0.2);
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(239, 68, 68, 0.2);
}

/* Responsive adjustments */

@media (max-width: 1150px) {
  .home .features {
    margin-left: 0;
    position: unset;
  }

  .home .feature-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-bottom: 100px;
    max-width: 100%;
  }

  .home .home-header-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }

  .home .doc .suggestion-chips {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media (max-width: 900px) {
  .chat-footer-wrapper.fixed-bottom {
    right: 5px;
    left: 10px;
  }
}

@media (max-width: 550px) {
  .home .feature-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

/* Visually hidden but accessible to screen readers */

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* ============================================================================
   CHOOSE YOUR PATH SECTION
   ============================================================================ */

.home-paths {
  padding: 64px 8vw;
  background: var(--body-background);
}

.home-paths-container {
  max-width: 1000px;
  margin: 0 auto;
}

/* Section heading - override .doc h2 styles */

.home-paths-heading,
.doc .home-paths-heading,
h2.home-paths-heading,
.doc h2.home-paths-heading,
.article.home .doc h2.home-paths-heading {
  font-size: 32px !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  color: var(--body-font-color) !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  text-align: center !important;
  line-height: 1.2 !important;
}

.home-paths-subheading,
.doc .home-paths-subheading,
p.home-paths-subheading,
.doc p.home-paths-subheading {
  font-size: 17px !important;
  color: #79797d !important;
  color: var(--grey-500-new, #6b7280) !important;
  margin: 0 0 48px !important;
  text-align: center !important;
  line-height: 1.5 !important;
}

html[data-theme="dark"] .home-paths-subheading,
html[data-theme="dark"] .doc p.home-paths-subheading {
  color: #919295 !important;
  color: var(--grey-400-new, #9ca3af) !important;
}

.home-paths-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

/* Path Cards - matching prototype */

.home-path-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: #fff;
  border: 1px solid #dcdcde;
  border: 1px solid var(--grey-100-new, #f3f4f6);
  border-radius: 14px;
  padding: 24px 22px 22px;
  -webkit-transition: border-color 0.15s, -webkit-box-shadow 0.15s, -webkit-transform 0.15s;
  transition: border-color 0.15s, -webkit-box-shadow 0.15s, -webkit-transform 0.15s;
  transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s;
  transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s, -webkit-box-shadow 0.15s, -webkit-transform 0.15s;
  cursor: pointer;
  position: relative;
}

.home-path-card:hover {
  border-color: #c3c4c6;
  border-color: var(--grey-200-new, #e5e7eb);
  -webkit-box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.06), 0 8px 20px -10px rgba(0, 0, 0, 0.08);
          box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.06), 0 8px 20px -10px rgba(0, 0, 0, 0.08);
}

html[data-theme="dark"] .home-path-card {
  background: #161e2d;
  background: var(--dark-blue-800-new, #161e2d);
  border-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .home-path-card:hover {
  border-color: rgba(255, 255, 255, 0.15);
  -webkit-box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
          box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

/* Card Head - icon + title/desc row */

.home-path-card-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 14px;
  margin-bottom: 18px;
}

.home-path-card-header-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

/* Card Icon - 38x38px box */

.home-path-card-icon {
  width: 38px;
  height: 38px;
  border-radius: 9px;
  display: grid;
  place-items: center;
  background: rgba(68, 76, 231, 0.08);
  color: #444ce7;
  color: var(--indigo-600-new, #444ce7);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.home-path-card-icon svg {
  width: 18px;
  height: 18px;
}

/* Brand icon variant for ADP */

.home-path-card-icon--brand,
.home-path-card-icon.home-path-card-icon--brand {
  background: rgba(226, 67, 40, 0.08);
  color: #c1331a;
  color: var(--brand-700-new, #c9190b);
}

html[data-theme="dark"] .home-path-card-icon {
  background: rgba(99, 102, 241, 0.15);
  color: #8098f9;
  color: var(--indigo-400-new, #818cf8);
}

html[data-theme="dark"] .home-path-card-icon--brand,
html[data-theme="dark"] .home-path-card-icon.home-path-card-icon--brand {
  background: rgba(226, 67, 40, 0.12);
  color: #e86b54;
  color: var(--brand-500-new, #f04438);
}

/* Card titles - matching prototype (17px) */

.home-path-card-title,
.doc .home-path-card-title,
h3.home-path-card-title,
.doc h3.home-path-card-title,
.article.home .doc h3.home-path-card-title {
  font-size: 17px !important;
  font-weight: 600 !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  letter-spacing: -0.015em !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  color: #181818 !important;
  color: var(--grey-900-new, #111827) !important;
}

html[data-theme="dark"] .home-path-card-title,
html[data-theme="dark"] .doc h3.home-path-card-title,
html[data-theme="dark"] .article.home .doc h3.home-path-card-title {
  color: #fff !important;
}

/* Card descriptions - matching prototype (13.5px) */

.home-path-card-desc,
.doc .home-path-card-desc,
p.home-path-card-desc,
.doc p.home-path-card-desc,
.article.home .doc p.home-path-card-desc {
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  color: #606164 !important;
  color: var(--grey-600-new, #4b5563) !important;
}

html[data-theme="dark"] .home-path-card-desc,
html[data-theme="dark"] .doc p.home-path-card-desc {
  color: #919295 !important;
  color: var(--grey-400-new, #9ca3af) !important;
}

/* Path Steps - numbered CTA links */

.home-path-steps {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2px;
}

/* Individual step link */

.home-path-step,
a.home-path-step,
.doc a.home-path-step,
.article.home .doc a.home-path-step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  padding: 8px 10px;
  border-radius: 7px;
  color: #48484a !important;
  color: var(--grey-700-new, #374151) !important;
  font-size: 14px;
  -webkit-transition: background 0.12s, color 0.12s;
  transition: background 0.12s, color 0.12s;
  cursor: pointer;
  text-decoration: none !important;
  letter-spacing: -0.0125em;
}

.home-path-step:hover,
a.home-path-step:hover,
.doc a.home-path-step:hover {
  background: rgba(68, 76, 231, 0.08);
  color: #2c30a0 !important;
  color: var(--indigo-800-new, #3730a3) !important;
}

html[data-theme="dark"] .home-path-step,
html[data-theme="dark"] a.home-path-step,
html[data-theme="dark"] .doc a.home-path-step {
  color: #aaabae !important;
  color: var(--grey-300-new, #d1d5db) !important;
}

html[data-theme="dark"] .home-path-step:hover,
html[data-theme="dark"] a.home-path-step:hover {
  background: rgba(99, 102, 241, 0.15);
  color: #a4bcfd !important;
  color: var(--indigo-300-new, #a5b4fc) !important;
}

/* Step number circle */

.home-path-step-num {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  font-family: monospace;
  font-family: var(--monospace-font-family, monospace);
  font-size: 11px;
  font-weight: 600;
  display: grid;
  place-items: center;
  background: #f5f5f5;
  background: var(--grey-50-new, #f9fafb);
  color: #606164;
  color: var(--grey-600-new, #4b5563);
  border: 1px solid #dcdcde;
  border: 1px solid var(--grey-100-new, #f3f4f6);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transition: background 0.12s, color 0.12s, border-color 0.12s;
  transition: background 0.12s, color 0.12s, border-color 0.12s;
}

.home-path-step:hover .home-path-step-num {
  background: #444ce7;
  background: var(--indigo-600-new, #444ce7);
  color: #fff;
  border-color: #444ce7;
  border-color: var(--indigo-600-new, #444ce7);
}

html[data-theme="dark"] .home-path-step-num {
  background: rgba(255, 255, 255, 0.06);
  color: #919295;
  color: var(--grey-400-new, #9ca3af);
  border-color: rgba(255, 255, 255, 0.1);
}

html[data-theme="dark"] .home-path-step:hover .home-path-step-num {
  background: #6172f3;
  background: var(--indigo-500-new, #6366f1);
  color: #fff;
  border-color: #6172f3;
  border-color: var(--indigo-500-new, #6366f1);
}

/* Step text */

.home-path-step-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

/* Step arrow - appears on hover */

.home-path-step-arrow {
  margin-left: auto;
  opacity: 0;
  color: #444ce7;
  color: var(--indigo-600-new, #444ce7);
  -webkit-transition: opacity 0.12s;
  transition: opacity 0.12s;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.home-path-step-arrow svg {
  width: 14px;
  height: 14px;
}

.home-path-step:hover .home-path-step-arrow {
  opacity: 1;
}

html[data-theme="dark"] .home-path-step-arrow {
  color: #8098f9;
  color: var(--indigo-400-new, #818cf8);
}

/* ============================================================================
   SUBPRODUCTS (Data Platform card)
   ============================================================================ */

.home-subproducts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  margin: 4px 0 0;
}

/* Individual subproduct box */

.home-subproduct,
a.home-subproduct,
.doc a.home-subproduct {
  --subproduct-color: #444ce7; /* fallback */

  display: block;
  text-decoration: none !important;
  color: inherit;
  padding: 14px 16px;
  background: color-mix(in sRGB, var(--subproduct-color) 8%, white);
  border: 1px solid color-mix(in sRGB, var(--subproduct-color) 15%, transparent);
  border-radius: 10px;
  -webkit-transition: border-color 0.12s, background 0.12s, -webkit-transform 0.12s, -webkit-box-shadow 0.12s;
  transition: border-color 0.12s, background 0.12s, -webkit-transform 0.12s, -webkit-box-shadow 0.12s;
  transition: border-color 0.12s, background 0.12s, transform 0.12s, box-shadow 0.12s;
  transition: border-color 0.12s, background 0.12s, transform 0.12s, box-shadow 0.12s, -webkit-transform 0.12s, -webkit-box-shadow 0.12s;
  position: relative;
}

.home-subproduct:hover,
a.home-subproduct:hover {
  border-color: color-mix(in sRGB, var(--subproduct-color) 30%, transparent);
  background: color-mix(in sRGB, var(--subproduct-color) 12%, white);
  -webkit-transform: translateX(2px);
          transform: translateX(2px);
  -webkit-box-shadow: 0 4px 14px -8px color-mix(in sRGB, var(--subproduct-color) 25%, transparent);
          box-shadow: 0 4px 14px -8px color-mix(in sRGB, var(--subproduct-color) 25%, transparent);
}

html[data-theme="dark"] .home-subproduct,
html[data-theme="dark"] a.home-subproduct {
  background: color-mix(in sRGB, var(--subproduct-color) 12%, transparent);
  border-color: color-mix(in sRGB, var(--subproduct-color) 20%, transparent);
}

html[data-theme="dark"] .home-subproduct:hover,
html[data-theme="dark"] a.home-subproduct:hover {
  background: color-mix(in sRGB, var(--subproduct-color) 18%, transparent);
  border-color: color-mix(in sRGB, var(--subproduct-color) 30%, transparent);
}

/* Subproduct header row */

.home-subproduct-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  margin-bottom: 4px;
}

/* Chip/badge (SM, CL, RC) */

.home-subproduct-chip {
  font-family: monospace;
  font-family: var(--monospace-font-family, monospace);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 3px 6px;
  border-radius: 4px;
  color: #fff;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.home-subproduct-chip--self {
  background: #64748b;
}

.home-subproduct-chip--cloud {
  background: #0ea5e9;
}

.home-subproduct-chip--connect {
  background: #0b8c6b;
}

/* Subproduct name */

.home-subproduct-name {
  display: block;
  font-size: 14.5px;
  font-weight: 600;
  color: #181818;
  color: var(--grey-900-new, #111827);
  letter-spacing: -0.0125em;
  margin-bottom: 4px;
}

html[data-theme="dark"] .home-subproduct-name {
  color: #fff;
}

/* Subproduct description */

.home-subproduct-desc,
.doc .home-subproduct-desc,
p.home-subproduct-desc {
  font-size: 12.5px !important;
  color: #606164 !important;
  color: var(--grey-600-new, #4b5563) !important;
  line-height: 1.45 !important;
  margin: 0 0 8px !important;
  letter-spacing: -0.005em;
}

html[data-theme="dark"] .home-subproduct-desc,
html[data-theme="dark"] .doc p.home-subproduct-desc {
  color: #919295 !important;
  color: var(--grey-400-new, #9ca3af) !important;
}

/* CTA link */

.home-subproduct-cta {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: -0.0125em;
  color: #79797d;
  color: var(--grey-500-new, #6b7280);
  -webkit-transition: color 0.12s, gap 0.12s;
  transition: color 0.12s, gap 0.12s;
}

.home-subproduct-cta svg {
  width: 11px;
  height: 11px;
  -webkit-transition: -webkit-transform 0.12s;
  transition: -webkit-transform 0.12s;
  transition: transform 0.12s;
  transition: transform 0.12s, -webkit-transform 0.12s;
}

.home-subproduct:hover .home-subproduct-cta {
  color: var(--indigo-600-new, #444ce7);
  color: var(--subproduct-color, var(--indigo-600-new, #444ce7));
  gap: 5px;
}

.home-subproduct:hover .home-subproduct-cta svg {
  -webkit-transform: translateX(2px);
          transform: translateX(2px);
}

html[data-theme="dark"] .home-subproduct-cta {
  color: #919295;
  color: var(--grey-400-new, #9ca3af);
}

html[data-theme="dark"] .home-subproduct:hover .home-subproduct-cta {
  color: color-mix(in sRGB, var(--subproduct-color) 100%, white 30%);
}

/* ============================================================================
   QUICK NAVIGATION SECTION
   ============================================================================ */

.home-nav-section {
  padding: 64px 8vw;
  background: #f5f5f5;
  background: var(--grey-50-new, #f9fafb);
  border-top: 1px solid #c3c4c6;
  border-top: 1px solid var(--grey-200-new, #e5e7eb);
}

html[data-theme="dark"] .home-nav-section {
  background: #101828;
  background: var(--dark-blue-900-new, #0f1727);
  border-top-color: rgba(255, 255, 255, 0.06);
}

.home-nav-container {
  max-width: 1200px;
  margin: 0 auto;
}

.home-nav-heading {
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--body-font-color);
  margin: 0 0 8px;
  text-align: center;
}

.home-nav-subheading {
  font-size: 15px;
  color: #79797d;
  color: var(--grey-500-new, #6b7280);
  margin: 0 0 40px;
  text-align: center;
}

html[data-theme="dark"] .home-nav-subheading {
  color: #919295;
  color: var(--grey-400-new, #9ca3af);
}

.home-nav-tree {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
}

/* Nav Tree Section */

.home-nav-tree-section {
  background: var(--body-background);
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e7eb);
  border-radius: 12px;
  padding: 20px;
  overflow: hidden;
}

html[data-theme="dark"] .home-nav-tree-section {
  background: #161e2d;
  background: var(--dark-blue-800-new, #161e2d);
  border-color: rgba(255, 255, 255, 0.08);
}

.home-nav-tree-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  font-size: 16px;
  font-weight: 600;
  margin: 0 0 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #c3c4c6;
  border-bottom: 1px solid var(--grey-200-new, #e5e7eb);
  color: var(--body-font-color);
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

html[data-theme="dark"] .home-nav-tree-title {
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

.home-nav-tree-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 28px;
  height: 28px;
  background: #e0eaff;
  background: var(--indigo-100-new, #e0e7ff);
  border-radius: 8px;
  color: #444ce7;
  color: var(--indigo-600-new, #444ce7);
}

html[data-theme="dark"] .home-nav-tree-icon {
  background: rgba(99, 102, 241, 0.15);
  color: #8098f9;
  color: var(--indigo-400-new, #818cf8);
}

/* Nav tree styling within home page */

.home-nav-tree-section .nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.home-nav-tree-section .nav-item {
  margin: 0;
}

.home-nav-tree-section .nav-item .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
}

.home-nav-tree-section .nav-link,
.home-nav-tree-section .nav-text {
  display: block;
  font-size: 14px;
  padding: 6px 0;
  color: #48484a;
  color: var(--grey-700-new, #374151);
  text-decoration: none;
  -webkit-transition: color 0.15s;
  transition: color 0.15s;
}

html[data-theme="dark"] .home-nav-tree-section .nav-link,
html[data-theme="dark"] .home-nav-tree-section .nav-text {
  color: #aaabae;
  color: var(--grey-300-new, #d1d5db);
}

.home-nav-tree-section .nav-link:hover {
  color: #444ce7;
  color: var(--indigo-600-new, #444ce7);
}

html[data-theme="dark"] .home-nav-tree-section .nav-link:hover {
  color: #8098f9;
  color: var(--indigo-400-new, #818cf8);
}

/* Nested nav items */

.home-nav-tree-section .nav-list .nav-list {
  padding-left: 16px;
  border-left: 1px solid #c3c4c6;
  border-left: 1px solid var(--grey-200-new, #e5e7eb);
  margin-left: 8px;
}

html[data-theme="dark"] .home-nav-tree-section .nav-list .nav-list {
  border-left-color: rgba(255, 255, 255, 0.08);
}

/* Collapsed state */

.home-nav-tree-section.is-collapsed .nav-list {
  display: none;
}

.home-nav-tree-section.is-collapsed .home-nav-tree-title {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

/* Hide nav toggle in home nav tree */

.home-nav-tree-section .nav-item-toggle {
  display: none;
}

/* Limit depth shown on home page */

.home-nav-tree-section .nav-list .nav-list .nav-list {
  display: none;
}

/* Responsive */

@media (max-width: 768px) {
  .home-paths {
    padding: 48px 24px;
  }

  .home-paths-grid {
    grid-template-columns: 1fr;
  }

  .home-path-card {
    padding: 20px 18px 18px;
  }

  .home-path-card-head {
    gap: 12px;
  }

  .home-nav-section {
    padding: 48px 24px;
  }

  .home-nav-tree {
    grid-template-columns: 1fr;
  }
}

/* Responsive for intent and products sections */

@media (max-width: 900px) {
  .home-product-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .home-intent {
    padding: 48px 24px 36px;
  }

  .home-intent-grid {
    grid-template-columns: 1fr;
  }

  .home-intent-card {
    padding: 20px;
  }

  .home-products {
    padding: 56px 24px 64px;
  }

  .home-product-cards {
    grid-template-columns: 1fr;
  }
}

.mermaid {
  display: block;
  width: 100%;
  text-align: center;
}

.mermaid > svg {
  background-color: var(--body-background) !important;
  max-width: 100%;
  height: auto;
  min-width: 200px;
  /* Override any inherited aspect-ratio (e.g., from .doc .image > svg) */
  aspect-ratio: auto !important;
}

/* Styling for clickable links in Mermaid diagrams */

.mermaid a {
  text-decoration: none;
}

.mermaid .node:hover {
  -webkit-filter: brightness(1.05);
          filter: brightness(1.05);
}

.mermaid .clickable {
  cursor: pointer;
}

.mermaid-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 100vh;
  background: #1a1a1a;
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 2147483647;
  padding: 2rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  isolation: isolate;
}

.mermaid-modal-overlay.active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.mermaid-modal-container {
  display: block;
  max-width: calc(100vw - 4rem);
  max-height: calc(100vh - 6rem);
  overflow: auto;
  text-align: center;
  background: #fff;
  background: var(--body-background, #fff);
  border-radius: 8px;
  padding: 1.5rem;
  -webkit-box-shadow: 0 4px 30px rgba(0, 0, 0, 0.5);
          box-shadow: 0 4px 30px rgba(0, 0, 0, 0.5);
  cursor: -webkit-grab;
  cursor: grab;
}

.mermaid-modal-container:active {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/* Always show scrollbars for discoverability */

.mermaid-modal-container::-webkit-scrollbar {
  width: 12px;
  height: 12px;
}

.mermaid-modal-container::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.1);
  border-radius: 6px;
}

.mermaid-modal-container::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.3);
  border-radius: 6px;
}

.mermaid-modal-container::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.5);
}

.mermaid-modal-container svg {
  display: block;
  margin: 0 auto;
}

/* Scroll hint that appears briefly */

.mermaid-modal-hint {
  position: fixed;
  bottom: 3rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: rgba(255, 255, 255, 0.95);
  color: #333;
  padding: 0.75rem 1.25rem;
  border-radius: 6px;
  font-size: 0.9rem;
  font-weight: 500;
  pointer-events: none;
  opacity: 1;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  z-index: 10;
  -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
          box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

.mermaid-modal-hint.hidden {
  opacity: 0;
}

.mermaid-modal-close {
  position: fixed;
  top: 1rem;
  right: 1.5rem;
  background: rgba(255, 255, 255, 0.9);
  border: none;
  font-size: 1.5rem;
  color: #333;
  cursor: pointer;
  z-index: 10;
  line-height: 1;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: background 0.2s ease;
  transition: background 0.2s ease;
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.mermaid-modal-close:hover {
  background: rgba(255, 255, 255, 1);
}

.mermaid-modal-close:focus {
  outline: 2px solid #333;
  outline-offset: 2px;
}

/* Zoom-in cursor hint on mermaid diagrams */

.mermaid {
  cursor: -webkit-zoom-in;
  cursor: zoom-in;
}

.mermaid:focus-visible {
  outline: 2px solid #333;
  outline: 2px solid var(--body-font-color, #333);
  outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
  .mermaid-modal-close,
  .mermaid-modal-hint {
    -webkit-transition: none;
    transition: none;
  }
}

.component-home .features .container {
  width: 100%;
  margin: 0 auto;
  max-width: 100%;
}

.component-home .doc {
  max-width: 65rem;
}

.component-home .grid {
  width: 100%;
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.component-home .grid.highlights {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.component-home .features {
  padding: 2rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 50px;
}

.component-home h2.feature-title {
  padding-top: 0 !important;
  margin-top: 0;
}

.component-home a.feature-link {
  height: inherit;
  text-decoration: none;
  white-space: normal;
}

.component-home a.feature-link:hover h2,
.component-home a.feature-link:focus h2 {
  text-decoration: underline;
}

html:not([data-theme=dark]) .component-home a.feature-link:hover .feature-box {
  border-color: var(--color-jet-50);
}

.component-home .feature-box {
  width: 100%;
  height: 100%;
  border: 1px solid #dadce0;
  border-radius: 8px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  padding: 1rem;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  -webkit-transition: 100ms ease all;
  transition: 100ms ease all;
}

.component-home .feature-image {
  width: 50px;
  height: 50px;
}

.component-home .feature-image img {
  height: 100%;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.component-home .feature-text h2 {
  font-size: 1.2rem;
  font-weight: 600;
}

.component-home .feature-text p {
  font-size: 1rem;
  font-weight: 400;
  color: var(--body-font-color);
}

.component-home .feature-learn-text {
  color: var(--link-highlight-color) !important;
}

.component-home div.menu-container {
  padding: 2rem;
  background: var(--highlight-container-background);
}

.component-home div.menu-container a:hover {
  text-decoration: none;
}

.component-home ul.menu-list {
  padding: 0;
  list-style-type: none;
}

.component-home li.menu-list-item {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

.component-home a.menu-list-item-link {
  color: var(--ifm-font-color-base);
  font-weight: 400;
}

.component-home .footer-menu-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.component-home .footer-menu-header img {
  margin-right: 1rem;
  -webkit-filter: var(--svg-dark-mode-filter);
          filter: var(--svg-dark-mode-filter);
}

.component-home .footer-menu-header img.default {
  height: 1.3rem;
}

.component-home .footer-menu-header img.wider {
  height: 1rem;
}

.component-home .footer-menu-header img.higher {
  height: 1.3rem;
}

.component-home .footer-menu-header h3 {
  display: inline-block;
  margin: 0;
}

@media screen and (min-width: 997px) {
  .component-home .feature-description {
    min-height: 70px;
  }
}

.component-home-v2 .features .container {
  width: 100%;
  margin: 0 auto;
  max-width: 100%;
}

.component-home-v2 .doc h2,
.component-home-v2 .doc h3 {
  margin: 0;
}

.component-home-v2 .grid-primary {
  width: 100%;
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.component-home-v2 .grid-secondary {
  width: 100%;
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.component-home-v2 .grid-tertiary {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  padding-left: 20px;
}

.component-home-v2 .features {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}

.component-home-v2 h2.feature-title {
  padding-top: 0 !important;
  margin-top: 0;
}

.component-home-v2 .paragraph.home-intro {
  gap: 30px;
}

.component-home-v2 a.feature-link {
  height: inherit;
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  white-space: normal;
  -webkit-box-shadow: 0px 1px 2px -1px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 1px 2px -1px rgba(0, 0, 0, 0.1);
}

.component-home-v2 .feature-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
}

.component-home-v2 .grid-primary .feature-text {
  min-height: 150px;
}

.component-home-v2 .grid-secondary .feature-text {
  min-height: 150px;
}

.component-home-v2 .feature-box {
  width: 100%;
  height: 100%;
  border: 1px solid #dadce0;
  border-radius: 8px;
  -webkit-box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  padding: 1rem;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  -webkit-transition: 100ms ease all;
  transition: 100ms ease all;
}

.component-home-v2 .feature-image {
  width: 50px;
  height: 50px;
}

.component-home-v2 .feature-image img {
  height: 100%;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.component-home-v2 .feature-text h2 {
  font-size: 1.2rem;
  font-weight: 600;
}

.component-home-v2 .home-intro {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.component-home-v2 .feature-text p {
  font-size: 1rem;
  font-weight: 400;
  color: var(--body-font-color);
}

.component-home-v2 .feature-link-text {
  color: var(--link-highlight-color) !important;
  margin-top: auto; /* Pushes this element to the bottom */
}

.component-home-v2 .feature-link-text.get-started:hover {
  background-color: var(--link-highlight-color);
  color: white !important;
  cursor: pointer;
}

.component-home-v2 .feature-link-text.get-started {
  padding: 0 8px;
  border-radius: 6px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border: 1px solid rgba(164, 188, 253, 1);
}

.component-home-v2 div.menu-container {
  padding: 2rem;
  background: var(--highlight-container-background);
}

.component-home-v2 div.menu-container a:hover {
  text-decoration: none;
}

.component-home-v2 ul.menu-list {
  padding: 0;
  list-style-type: none;
}

.component-home-v2 li.menu-list-item {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

.component-home-v2 a.menu-list-item-link {
  color: var(--ifm-font-color-base);
  font-weight: 400;
}

.component-home-v2 .footer-menu-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.component-home-v2 .footer-menu-header img {
  margin-right: 1rem;
  -webkit-filter: var(--svg-dark-mode-filter);
          filter: var(--svg-dark-mode-filter);
}

.component-home-v2 .footer-menu-header img.default {
  height: 1.3rem;
}

.component-home-v2 .footer-menu-header img.wider {
  height: 1rem;
}

.component-home-v2 .footer-menu-header img.higher {
  height: 1.3rem;
}

.component-home-v2 .footer-menu-header h3 {
  display: inline-block;
  margin: 0;
}

@media screen and (min-width: 997px) {
  .component-home-v2 .feature-description {
    min-height: 70px;
  }
}

/* =============================================================================
   COMPONENT HOME V3 — Landing page styles
   Matches "docs design (2)" with hero, tabs, and "Choose your path" cards
   ============================================================================= */

/* Component home layout - ensure hero gets its own row */

.component-content {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: column !important;
          flex-direction: column !important;
}

/* Override .doc a underline for all card links */

.doc .ch3-deploy-card,
.doc .ch3-popular-card,
.doc .ch3-labs-list a,
.doc .ch3-labs-all,
.doc .ch3-help-btn {
  text-decoration: none;
}

.doc .ch3-deploy-card:hover,
.doc .ch3-popular-card:hover,
.doc .ch3-labs-list a:hover,
.doc .ch3-labs-all:hover {
  text-decoration: none;
}

/* Hero Section ------------------------------------------------------------ */

.ch3-hero {
  position: relative;
  background: -webkit-gradient(linear, left top, left bottom, from(#0f1727), to(#161e2d));
  background: linear-gradient(180deg, #0f1727 0%, #161e2d 100%);
  padding: 48px 40px 40px;
  margin: 0 -40px 32px;
  overflow: visible;
  width: calc(100% + 80px);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.ch3-hero-inner {
  position: relative;
  z-index: 1;
  max-width: 720px;
  overflow: visible;
}

/* Eyebrow row with product badge and version */

.ch3-eyebrow-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.ch3-product-chip {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  font-family: "JetBrains Mono"
,
ui-monospace
,
sfmono-regular
,
menlo
,
monospace;
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, monospace);
  font-size: 10.5px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 5px;
  background: rgba(79, 70, 229, 0.6);
  background: var(--component-color, rgba(79, 70, 229, 0.6));
  color: #fff;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

/* =============================================================================
   SM-VER: Version Selector Pill (matches prototype design)
   ============================================================================= */

.ch3-hero .sm-ver {
  position: relative;
  margin-left: auto;
}

/* --- Trigger pill ---------------------------------------------------------- */

.sm-ver-pill {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  height: 30px;
  padding: 0 10px 0 11px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #fff;
  cursor: pointer;
  font-family: "Inter"
,
ui-sans-serif
,
system-ui
,
sans-serif;
  font-family: var(--font-sans, "Inter", system-ui, sans-serif);
  -webkit-transition: background 0.15s, border-color 0.15s;
  transition: background 0.15s, border-color 0.15s;
}

.sm-ver-pill:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.22);
}

.sm-ver-pill.is-open {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.28);
}

.sm-ver-pill-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #4ade80;
  -webkit-box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.18);
          box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.18);
}

.sm-ver-pill-dot[data-status="supported"] {
  background: #4ade80;
  -webkit-box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.18);
          box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.18);
}

.sm-ver-pill-dot[data-status="current"] {
  background: #34d399;
  -webkit-box-shadow: 0 0 0 3px rgba(52, 211, 153, 0.22);
          box-shadow: 0 0 0 3px rgba(52, 211, 153, 0.22);
}

.sm-ver-pill-dot[data-status="eol"] {
  background: #f59e0b;
  -webkit-box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.2);
          box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.2);
}

.sm-ver-pill-label {
  font-size: 11px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.55);
  letter-spacing: 0.02em;
}

.sm-ver-pill-num {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  color: #fff;
  font-size: 12.5px;
  letter-spacing: -0.005em;
}

.sm-ver-pill-sep {
  width: 1px;
  height: 14px;
  background: rgba(255, 255, 255, 0.16);
}

.sm-ver-pill-status {
  font-size: 10.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.sm-ver-pill-status[data-status="current"] {
  color: #6ee7b7;
}

.sm-ver-pill-status[data-status="supported"] {
  color: #a7f3d0;
}

.sm-ver-pill-status[data-status="eol"] {
  color: #fcd34d;
}

.sm-ver-pill-caret {
  color: rgba(255, 255, 255, 0.65);
  -webkit-transition: -webkit-transform 180ms ease;
  transition: -webkit-transform 180ms ease;
  transition: transform 180ms ease;
  transition: transform 180ms ease, -webkit-transform 180ms ease;
  margin-left: -1px;
}

.sm-ver.is-open .sm-ver-pill-caret {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

/* --- Panel ----------------------------------------------------------------- */

.sm-ver-panel {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 100;
  width: 560px;
  max-width: calc(100vw - 48px);
  background: #fff;
  border: 1px solid #dcdcde;
  border: 1px solid var(--color-smoke-70, #dcdcde);
  border-radius: 12px;
  -webkit-box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);
          box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(-6px);
          transform: translateY(-6px);
  -webkit-transition: opacity 0.15s, visibility 0.15s, -webkit-transform 0.15s;
  transition: opacity 0.15s, visibility 0.15s, -webkit-transform 0.15s;
  transition: opacity 0.15s, transform 0.15s, visibility 0.15s;
  transition: opacity 0.15s, transform 0.15s, visibility 0.15s, -webkit-transform 0.15s;
}

.sm-ver.is-open .sm-ver-panel {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.sm-ver-panel-head {
  padding: 14px 16px 12px;
  border-bottom: 1px solid #eef0f3;
  border-bottom: 1px solid var(--color-smoke-70, #eef0f3);
  background: -webkit-gradient(linear, left top, left bottom, from(#fafbfc), to(#fff));
  background: linear-gradient(180deg, #fafbfc 0%, #fff 100%);
  border-radius: 12px 12px 0 0;
}

.sm-ver-panel-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 12px;
}

.sm-ver-panel-title > span:first-child {
  font-size: 13px;
  font-weight: 600;
  color: #0f172a;
  color: var(--color-jet, #0f172a);
  letter-spacing: -0.005em;
}

.sm-ver-panel-meta {
  font-size: 11px;
  color: #6b7280;
  color: var(--color-jet-70, #6b7280);
  font-variant-numeric: tabular-nums;
}

/* --- Tabs ------------------------------------------------------------------ */

.sm-ver-tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2px;
  margin-top: 10px;
  padding: 3px;
  background: #f5f5f5;
  background: var(--color-smoke-30, #f5f5f5);
  border-radius: 8px;
}

.sm-ver-tab {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 6px 8px;
  font-size: 10.5px;
  font-weight: 500;
  color: #6b7280;
  color: var(--color-jet-70, #6b7280);
  background: transparent;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  -webkit-transition: background 0.1s, color 0.1s;
  transition: background 0.1s, color 0.1s;
  white-space: nowrap;
}

.sm-ver-tab:hover {
  color: #0f172a;
  color: var(--color-jet, #0f172a);
}

.sm-ver-tab.is-active {
  background: #fff;
  color: #0f172a;
  color: var(--color-jet, #0f172a);
  font-weight: 600;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}

/* --- Version groups -------------------------------------------------------- */

.sm-ver-group {
  margin-bottom: 4px;
}

.sm-ver-group:empty,
.sm-ver-group.is-hidden {
  display: none;
}

.sm-ver-group-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 8px 12px 6px;
}

.sm-ver-group-label {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #9ca3af;
  color: var(--color-jet-50, #9ca3af);
}

.sm-ver-group-count {
  font-size: 10px;
  font-weight: 500;
  color: #9ca3af;
  color: var(--color-jet-50, #9ca3af);
  background: #f5f5f5;
  background: var(--color-smoke-30, #f5f5f5);
  padding: 2px 6px;
  border-radius: 4px;
}

.sm-ver-rows {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

/* --- Version list ---------------------------------------------------------- */

.sm-ver-list {
  max-height: 320px;
  overflow-y: auto;
  padding: 6px 8px 8px;
}

.sm-ver-row {
  display: grid;
  grid-template-columns: 60px 1fr auto auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  width: 100%;
  padding: 10px 14px;
  border-radius: 8px;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  -webkit-transition: background 0.1s;
  transition: background 0.1s;
}

.sm-ver-row:hover {
  background: #f6f8fa;
}

.sm-ver-row.is-selected {
  background: rgba(15, 139, 102, 0.07);
}

.sm-ver-row.is-selected:hover {
  background: rgba(15, 139, 102, 0.1);
}

.sm-ver-row-num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2px;
  white-space: nowrap;
}

.sm-ver-row-v {
  font-size: 13px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
  color: #0f172a;
  color: var(--color-jet, #0f172a);
}

.sm-ver-row.is-selected .sm-ver-row-v {
  color: #0f8b66;
  color: var(--component-color, #0f8b66);
}

.sm-ver-row-note {
  font-size: 9px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #0f8b66;
  color: var(--component-color, #0f8b66);
  opacity: 0.85;
}

.sm-ver-row-status {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 4px 8px;
  border-radius: 5px;
}

.sm-ver-row-status-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
}

.sm-ver-row-status[data-status="current"] {
  color: #047857;
  background: rgba(5, 150, 105, 0.1);
}

.sm-ver-row-status[data-status="supported"] {
  color: #047857;
  background: rgba(5, 150, 105, 0.08);
}

.sm-ver-row-status[data-status="eol"] {
  color: #92400e;
  background: rgba(245, 158, 11, 0.1);
}

.sm-ver-row-check {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 18px;
  height: 18px;
  color: #0f8b66;
  color: var(--component-color, #0f8b66);
}

/* --- Date display ---------------------------------------------------------- */

.sm-ver-row-dates {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  min-width: 0;
}

.sm-ver-row-date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.sm-ver-row-date-l {
  font-size: 10px;
  font-weight: 400;
  color: #9ca3af;
  color: var(--color-jet-50, #9ca3af);
}

.sm-ver-row-date-v {
  font-size: 12px;
  font-weight: 500;
  color: #374151;
  color: var(--color-jet, #374151);
}

/* --- Footer links ---------------------------------------------------------- */

.sm-ver-foot {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  padding: 10px 14px;
  border-top: 1px solid #eef0f3;
  border-top: 1px solid var(--color-smoke-70, #eef0f3);
  background: #fafbfc;
  border-radius: 0 0 12px 12px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.sm-ver-foot-link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  padding: 5px 8px;
  border-radius: 6px;
  font-size: 11.5px;
  font-weight: 500;
  color: #525866;
  color: var(--color-jet-70, #525866);
  text-decoration: none;
  -webkit-transition: background 0.1s, color 0.1s;
  transition: background 0.1s, color 0.1s;
}

.sm-ver-foot-link:hover {
  color: #0f8b66;
  color: var(--component-color, #0f8b66);
  background: rgba(15, 139, 102, 0.08);
}

.sm-ver-foot-link svg {
  opacity: 0.7;
}

.sm-ver-foot-link:hover svg {
  opacity: 1;
}

/* Dark mode panel overrides */

html[data-theme="dark"] .sm-ver-panel {
  background: #1a2332;
  border-color: rgba(255, 255, 255, 0.1);
  -webkit-box-shadow: 0 8px 30px rgba(0, 0, 0, 0.4);
          box-shadow: 0 8px 30px rgba(0, 0, 0, 0.4);
}

html[data-theme="dark"] .sm-ver-panel-head {
  background: -webkit-gradient(linear, left top, left bottom, from(#1e2a3b), to(#1a2332));
  background: linear-gradient(180deg, #1e2a3b 0%, #1a2332 100%);
  border-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .sm-ver-panel-title > span:first-child {
  color: #fff;
}

html[data-theme="dark"] .sm-ver-panel-meta {
  color: #a8b2c7;
}

html[data-theme="dark"] .sm-ver-row:hover {
  background: rgba(255, 255, 255, 0.04);
}

html[data-theme="dark"] .sm-ver-row.is-selected {
  background: rgba(15, 139, 102, 0.12);
}

html[data-theme="dark"] .sm-ver-row.is-selected:hover {
  background: rgba(15, 139, 102, 0.16);
}

html[data-theme="dark"] .sm-ver-row-v {
  color: #fff;
}

html[data-theme="dark"] .sm-ver-row-note {
  color: #6ee7b7;
}

html[data-theme="dark"] .sm-ver-row-status[data-status="current"],
html[data-theme="dark"] .sm-ver-row-status[data-status="supported"] {
  color: #6ee7b7;
  background: rgba(52, 211, 153, 0.15);
}

html[data-theme="dark"] .sm-ver-row-status[data-status="eol"] {
  color: #fcd34d;
  background: rgba(245, 158, 11, 0.15);
}

html[data-theme="dark"] .sm-ver-row-date-l {
  color: #8a9bb0;
}

html[data-theme="dark"] .sm-ver-row-date-v {
  color: #a8b2c7;
}

html[data-theme="dark"] .sm-ver-tabs {
  background: rgba(255, 255, 255, 0.04);
}

html[data-theme="dark"] .sm-ver-tab {
  color: #9fb3c8;
}

html[data-theme="dark"] .sm-ver-tab:hover {
  color: #fff;
}

html[data-theme="dark"] .sm-ver-tab.is-active {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  -webkit-box-shadow: none;
          box-shadow: none;
}

html[data-theme="dark"] .sm-ver-group-label {
  color: #8a9bb0;
}

html[data-theme="dark"] .sm-ver-group-count {
  color: #8a9bb0;
  background: rgba(255, 255, 255, 0.06);
}

html[data-theme="dark"] .sm-ver-foot {
  background: #141c28;
  border-color: rgba(255, 255, 255, 0.06);
}

html[data-theme="dark"] .sm-ver-foot-link {
  color: #9fb3c8;
}

html[data-theme="dark"] .sm-ver-foot-link:hover {
  color: #6ee7b7;
  background: rgba(52, 211, 153, 0.1);
}

/* Responsive - Version selector */

@media (max-width: 640px) {
  /* Backdrop overlay for mobile */
  .sm-ver::before {
    content: '';
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0);
    z-index: 99;
    pointer-events: none;
    opacity: 0;
    -webkit-transition: background 0.2s, opacity 0.2s;
    transition: background 0.2s, opacity 0.2s;
  }

  .sm-ver.is-open::before {
    background: rgba(0, 0, 0, 0.5);
    pointer-events: auto;
    opacity: 1;
  }

  .sm-ver-panel {
    position: fixed;
    top: 50%;
    left: 50%;
    right: auto;
    -webkit-transform: translate(-50%, -50%) scale(0.95);
            transform: translate(-50%, -50%) scale(0.95);
    width: calc(100vw - 32px);
    max-width: 400px;
    max-height: 80vh;
    overflow-y: auto;
  }

  .sm-ver.is-open .sm-ver-panel {
    -webkit-transform: translate(-50%, -50%) scale(1);
            transform: translate(-50%, -50%) scale(1);
  }

  .sm-ver-row {
    grid-template-columns: 50px 1fr auto;
    gap: 10px;
    padding: 10px 12px;
  }

  .sm-ver-row-dates {
    display: none;
  }

  .sm-ver-row-status {
    font-size: 9px;
    padding: 3px 6px;
  }

  .ch3-hero .sm-ver {
    margin-left: 0;
  }

  .ch3-eyebrow-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 12px;
  }
}

@media (max-width: 480px) {
  .sm-ver-pill {
    padding: 0 8px;
    height: 28px;
    gap: 6px;
  }

  .sm-ver-pill-label {
    display: none;
  }

  .sm-ver-pill-status {
    font-size: 9px;
  }

  .sm-ver-tabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .sm-ver-tab {
    padding: 5px 6px;
    font-size: 10px;
  }
}

.ch3-status-chip {
  font-size: 11px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 9999px;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

.ch3-status-chip.beta {
  background: rgba(99, 102, 241, 0.2);
  color: #a4bcfd;
}

/* Main title - use .doc prefix to override doc.css specificity */

.doc .ch3-page-title {
  font-family: "Inter Display"
,
"Inter"
,
ui-sans-serif
,
system-ui
,
sans-serif;
  font-family: var(--font-display, "Inter Display", "Inter", sans-serif);
  font-size: 40px;
  line-height: 1.1;
  font-weight: 700;
  letter-spacing: -0.025em;
  color: #fff;
  margin: 0 0 16px;
}

/* When hero has custom gradient (inline style), always use white text */

.ch3-hero[style*="background"] .ch3-page-title,
.ch3-hero[style*="background"] .ch3-page-lede,
.ch3-hero[style*="background"] .ch3-product-chip {
  color: #fff !important;
}

.ch3-hero[style*="background"] .ch3-page-lede {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* Description text - lighter for readability on dark gradient */

.ch3-page-lede {
  font-size: 16px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.85);
  margin: 0;
}

/* Tab Navigation ---------------------------------------------------------- */

.ch3-tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2px;
  border-bottom: 1px solid #dcdcde;
  border-bottom: 1px solid var(--color-smoke-70, #dcdcde);
  margin-bottom: 36px;
}

.ch3-tab {
  padding: 10px 16px 12px;
  font-size: 14px;
  font-weight: 500;
  color: #606164;
  color: var(--color-jet-70, #606164);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  letter-spacing: -0.0125em;
  -webkit-transition: color 0.12s;
  transition: color 0.12s;
  white-space: nowrap;
  text-decoration: none;
}

.ch3-tab:hover {
  color: #181818;
  color: var(--color-jet, #181818);
}

.ch3-tab.is-active {
  color: #181818;
  color: var(--color-jet, #181818);
  border-bottom-color: #e24328;
  border-bottom-color: var(--brand-color, #e24328);
  font-weight: 600;
}

/* Main content area */

.ch3-content {
  padding: 0;
}

/* Section styling */

.ch3-section {
  margin-bottom: 56px;
}

.ch3-section-title {
  font-family: "Inter Display"
,
"Inter"
,
ui-sans-serif
,
system-ui
,
sans-serif;
  font-family: var(--font-display, "Inter Display", "Inter", sans-serif);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.015em;
  color: #181818;
  color: var(--color-jet, #181818);
  margin: 0 0 20px;
}

/* Hero Stats Bar ---------------------------------------------------------- */

.ch3-hero-stats {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 32px;
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.ch3-hero-stat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2px;
}

.ch3-hero-stat strong {
  font-size: 24px;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.02em;
}

.ch3-hero-stat span {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.6);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* Hero background decorations --------------------------------------------- */

.ch3-hero-bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: inherit;
  pointer-events: none;
}

.ch3-hero-glow {
  position: absolute;
  top: -50%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 150%;
  height: 200%;
  background: radial-gradient(closest-side, #444ce7, transparent 70%);
  background: radial-gradient(closest-side, var(--component-600, rgba(79, 70, 229, 0.2)), transparent 70%);
  opacity: 0.5;
}

.ch3-hero-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
  background-size: 32px 32px;
}

/* Deploy Cards Grid ------------------------------------------------------- */

.ch3-deploy-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
}

.ch3-deploy-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: #fff;
  border: 1px solid #dcdcde;
  border: 1px solid var(--color-smoke-70, #dcdcde);
  border-radius: 12px;
  padding: 22px;
  text-decoration: none;
  color: inherit;
  -webkit-transition: border-color 0.14s, -webkit-box-shadow 0.14s, -webkit-transform 0.14s;
  transition: border-color 0.14s, -webkit-box-shadow 0.14s, -webkit-transform 0.14s;
  transition: border-color 0.14s, box-shadow 0.14s, transform 0.14s;
  transition: border-color 0.14s, box-shadow 0.14s, transform 0.14s, -webkit-box-shadow 0.14s, -webkit-transform 0.14s;
}

.ch3-deploy-card:hover {
  border-color: #444ce7;
  border-color: var(--component-600, var(--indigo-600-new, #4f46e5));
  -webkit-box-shadow: 0 8px 24px rgba(13, 18, 38, 0.08);
          box-shadow: 0 8px 24px rgba(13, 18, 38, 0.08);
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}

.ch3-deploy-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: rgba(79, 70, 229, 0.06);
  background: var(--component-bg-tint, rgba(79, 70, 229, 0.08));
  color: #444ce7;
  color: var(--component-600, var(--indigo-600-new, #4f46e5));
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 14px;
}

.ch3-deploy-title {
  font-size: 16px;
  font-weight: 600;
  color: #181818;
  color: var(--color-jet, #181818);
  margin: 0 0 6px;
  letter-spacing: -0.01em;
}

.ch3-deploy-desc {
  font-size: 13.5px;
  color: #606164;
  color: var(--color-jet-70, #606164);
  line-height: 1.5;
  margin: 0 0 18px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.ch3-deploy-foot {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 12px;
}

.ch3-deploy-cta {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  font-size: 13px;
  font-weight: 500;
  color: #444ce7;
  color: var(--component-600, var(--indigo-600-new, #4f46e5));
  white-space: nowrap;
}

.ch3-deploy-card:hover .ch3-deploy-cta svg {
  -webkit-transform: translateX(2px);
          transform: translateX(2px);
}

.ch3-deploy-cta svg {
  -webkit-transition: -webkit-transform 0.12s;
  transition: -webkit-transform 0.12s;
  transition: transform 0.12s;
  transition: transform 0.12s, -webkit-transform 0.12s;
}

.ch3-deploy-time {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  font-size: 12px;
  color: #9ca3af;
  color: var(--color-jet-50, #9ca3af);
  font-variant-numeric: tabular-nums;
}

/* Popular Topics Grid ----------------------------------------------------- */

.ch3-popular-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
}

.ch3-popular-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 12px;
  background: #fff;
  border: 1px solid #dcdcde;
  border: 1px solid var(--color-smoke-70, #dcdcde);
  border-radius: 10px;
  padding: 14px 16px;
  text-decoration: none;
  color: inherit;
  -webkit-transition: border-color 0.12s, background 0.12s;
  transition: border-color 0.12s, background 0.12s;
}

.ch3-popular-card:hover {
  border-color: #c3c4c6;
  border-color: var(--color-smoke-90, #c3c4c6);
  background: #fafafa;
  background: var(--color-smoke-10, #fafafa);
}

.ch3-popular-icon {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background: rgba(79, 70, 229, 0.06);
  background: var(--component-bg-tint, rgba(79, 70, 229, 0.08));
  color: #444ce7;
  color: var(--component-600, var(--indigo-600-new, #4f46e5));
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.ch3-popular-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

.ch3-popular-text h4 {
  font-size: 14px;
  font-weight: 600;
  color: #181818;
  color: var(--color-jet, #181818);
  margin: 0 0 2px;
  letter-spacing: -0.005em;
}

.ch3-popular-text p {
  font-size: 12.5px;
  color: #606164;
  color: var(--color-jet-70, #606164);
  line-height: 1.45;
  margin: 0;
}

.ch3-popular-arrow {
  color: #9ca3af;
  color: var(--color-jet-50, #9ca3af);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-top: 6px;
  -webkit-transition: color 0.12s, -webkit-transform 0.12s;
  transition: color 0.12s, -webkit-transform 0.12s;
  transition: transform 0.12s, color 0.12s;
  transition: transform 0.12s, color 0.12s, -webkit-transform 0.12s;
}

.ch3-popular-card:hover .ch3-popular-arrow {
  color: #444ce7;
  color: var(--component-600, var(--indigo-600-new, #4f46e5));
  -webkit-transform: translateX(2px);
          transform: translateX(2px);
}

/* Labs Section ------------------------------------------------------------ */

.ch3-labs-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 18px;
  gap: 16px;
}

.ch3-labs-head .ch3-section-title {
  margin: 0;
}

.ch3-labs-all {
  border: 0;
  background: transparent;
  font: inherit;
  font-size: 13px;
  font-weight: 500;
  color: #444ce7;
  color: var(--component-600, var(--indigo-600-new, #4f46e5));
  cursor: pointer;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  padding: 6px 8px;
  border-radius: 6px;
  -webkit-transition: background 0.12s;
  transition: background 0.12s;
  text-decoration: none;
}

.ch3-labs-all:hover {
  background: rgba(79, 70, 229, 0.06);
  background: var(--component-bg-tint, rgba(79, 70, 229, 0.08));
}

.ch3-labs-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 0;
  border-top: 1px solid #dcdcde;
  border-top: 1px solid var(--color-smoke-70, #dcdcde);
}

.ch3-labs-list li {
  border-bottom: 1px solid #dcdcde;
  border-bottom: 1px solid var(--color-smoke-70, #dcdcde);
}

.ch3-labs-list a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  padding: 13px 4px;
  text-decoration: none;
  color: #48484a;
  color: var(--color-jet-80, #48484a);
  font-size: 13.5px;
  -webkit-transition: color 0.12s, padding 0.12s;
  transition: color 0.12s, padding 0.12s;
}

.ch3-labs-list a svg {
  color: #9ca3af;
  color: var(--color-jet-50, #9ca3af);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transition: color 0.12s, -webkit-transform 0.12s;
  transition: color 0.12s, -webkit-transform 0.12s;
  transition: color 0.12s, transform 0.12s;
  transition: color 0.12s, transform 0.12s, -webkit-transform 0.12s;
}

.ch3-labs-list a:hover {
  color: #444ce7;
  color: var(--component-600, var(--indigo-600-new, #4f46e5));
  padding-left: 8px;
}

.ch3-labs-list a:hover svg {
  color: #444ce7;
  color: var(--component-600, var(--indigo-600-new, #4f46e5));
  -webkit-transform: translate(2px, -2px);
          transform: translate(2px, -2px);
}

/* Help Section ------------------------------------------------------------ */

.ch3-help {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 24px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 24px 28px;
  background: #f7f8fa;
  background: var(--color-smoke-10, #f7f8fa);
  border: 1px solid #dcdcde;
  border: 1px solid var(--color-smoke-70, #dcdcde);
  border-radius: 12px;
  margin-top: 48px;
}

.ch3-help h3 {
  font-size: 16px;
  font-weight: 600;
  margin: 0 0 4px;
  color: #181818;
  color: var(--color-jet, #181818);
  letter-spacing: -0.01em;
}

.ch3-help p {
  font-size: 13.5px;
  color: #606164;
  color: var(--color-jet-70, #606164);
  margin: 0;
}

.ch3-help-actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.ch3-help-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  font: inherit;
  font-size: 13px;
  font-weight: 500;
  color: #fff;
  background: #444ce7;
  background: var(--component-600, var(--indigo-600-new, #4f46e5));
  border: 1px solid #444ce7;
  border: 1px solid var(--component-600, var(--indigo-600-new, #4f46e5));
  padding: 8px 14px;
  border-radius: 7px;
  cursor: pointer;
  text-decoration: none;
  -webkit-transition: opacity 0.12s;
  transition: opacity 0.12s;
}

.ch3-help-btn:hover {
  opacity: 0.9;
}

.ch3-help-btn-secondary {
  background: #fff;
  color: #48484a;
  color: var(--color-jet-80, #48484a);
  border-color: #c3c4c6;
  border-color: var(--color-smoke-90, #c3c4c6);
}

.ch3-help-btn-secondary:hover {
  background: #f7f8fa;
  background: var(--color-smoke-10, #f7f8fa);
  opacity: 1;
}

/* Dark mode support ------------------------------------------------------- */

html[data-theme="dark"] .ch3-hero {
  background: -webkit-gradient(linear, left top, left bottom, from(#0a0f18), to(#0f1727));
  background: linear-gradient(180deg, #0a0f18 0%, #0f1727 100%);
}

html[data-theme="dark"] .ch3-hero-stats {
  border-top-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .ch3-tabs {
  border-bottom-color: rgba(255, 255, 255, 0.1);
}

html[data-theme="dark"] .ch3-tab {
  color: #a8b2c7;
}

html[data-theme="dark"] .ch3-tab:hover {
  color: #fff;
}

html[data-theme="dark"] .ch3-tab.is-active {
  color: #fff;
}

html[data-theme="dark"] .ch3-section-title {
  color: #fff;
}

/* Dark mode - Deploy cards */

html[data-theme="dark"] .ch3-deploy-card {
  background: #1a2332;
  border-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .ch3-deploy-card:hover {
  border-color: #6172f3;
  border-color: var(--component-500, var(--indigo-500-new, #6172f3));
  -webkit-box-shadow: 0 8px 24px rgba(0, 0, 0, 0.32);
          box-shadow: 0 8px 24px rgba(0, 0, 0, 0.32);
}

html[data-theme="dark"] .ch3-deploy-icon {
  background: rgba(79, 70, 229, 0.06);
  background: var(--component-bg-tint, rgba(79, 70, 229, 0.15));
}

html[data-theme="dark"] .ch3-deploy-title {
  color: #fff;
}

html[data-theme="dark"] .ch3-deploy-desc {
  color: #8098b3;
}

html[data-theme="dark"] .ch3-deploy-time {
  color: #6b7a8f;
}

/* Dark mode - Popular cards */

html[data-theme="dark"] .ch3-popular-card {
  background: #1a2332;
  border-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .ch3-popular-card:hover {
  border-color: rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.03);
}

html[data-theme="dark"] .ch3-popular-icon {
  background: rgba(79, 70, 229, 0.06);
  background: var(--component-bg-tint, rgba(79, 70, 229, 0.15));
}

html[data-theme="dark"] .ch3-popular-text h4 {
  color: #fff;
}

html[data-theme="dark"] .ch3-popular-text p {
  color: #8098b3;
}

html[data-theme="dark"] .ch3-popular-arrow {
  color: #6b7a8f;
}

/* Dark mode - Labs */

html[data-theme="dark"] .ch3-labs-list {
  border-top-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .ch3-labs-list li {
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .ch3-labs-list a {
  color: #c6cedc;
}

html[data-theme="dark"] .ch3-labs-list a svg {
  color: #6b7a8f;
}

/* Dark mode - Help */

html[data-theme="dark"] .ch3-help {
  background: #141c28;
  border-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .ch3-help h3 {
  color: #fff;
}

html[data-theme="dark"] .ch3-help p {
  color: #8098b3;
}

html[data-theme="dark"] .ch3-help-btn-secondary {
  background: rgba(255, 255, 255, 0.04);
  color: #c6cedc;
  border-color: rgba(255, 255, 255, 0.12);
}

html[data-theme="dark"] .ch3-help-btn-secondary:hover {
  background: rgba(255, 255, 255, 0.08);
}

/* Responsive -------------------------------------------------------------- */

@media (max-width: 768px) {
  .ch3-hero {
    padding: 32px 24px;
    border-radius: 12px;
  }

  .doc .ch3-page-title {
    font-size: 28px;
  }

  .ch3-page-lede {
    font-size: 15px;
  }

  .ch3-hero-stats {
    gap: 20px;
  }

  .ch3-hero-stat strong {
    font-size: 20px;
  }

  .ch3-tabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .ch3-section {
    margin-bottom: 40px;
  }

  .ch3-deploy-grid {
    grid-template-columns: 1fr;
  }

  .ch3-popular-grid {
    grid-template-columns: 1fr;
  }

  .ch3-labs-list {
    grid-template-columns: 1fr;
  }

  .ch3-help {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    text-align: left;
  }

  .ch3-help-actions {
    width: 100%;
  }

  .ch3-help-btn {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

/* =============================================================================
   CHOOSE YOUR PATH SECTION — Two-column comparison layout
   ============================================================================= */

.ch3-path-compare {
  margin-bottom: 64px;
}

.ch3-path-compare .ch3-section-title {
  text-align: center;
  margin-bottom: 32px;
}

.ch3-path-grid {
  display: grid;
  grid-template-columns: 1fr 48px 1fr;
  gap: 0;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.ch3-path-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 32px;
  border-radius: 16px;
  background: #f5f5f5;
  background: var(--grey-50-new, #f9fafb);
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e7eb);
}

.ch3-path-self {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-right: none;
}

.ch3-path-cloud {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-left: none;
  background: linear-gradient(135deg, #0f8b66 0%, #065f46 100%);
  border-color: transparent;
  color: #fff;
}

.ch3-path-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: #dcdcde;
  background: var(--grey-100-new, #e5e7eb);
  color: #48484a;
  color: var(--grey-700-new, #374151);
  margin-bottom: 20px;
}

.ch3-path-cloud .ch3-path-icon {
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
}

.ch3-path-heading {
  font-size: 20px;
  font-weight: 600;
  color: #181818;
  color: var(--grey-900-new, #111827);
  margin: 0 0 12px;
  letter-spacing: -0.01em;
}

.ch3-path-cloud .ch3-path-heading {
  color: #fff;
}

.ch3-path-desc {
  font-size: 15px;
  line-height: 1.5;
  color: #606164;
  color: var(--grey-600-new, #4b5563);
  margin: 0 0 20px;
}

.ch3-path-cloud .ch3-path-desc {
  color: rgba(255, 255, 255, 0.85);
}

.ch3-path-features {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.ch3-path-features li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  line-height: 1.5;
  color: #48484a;
  color: var(--grey-700-new, #374151);
  margin-bottom: 10px;
}

.ch3-path-features li::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-top: 2px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f8b66' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

.ch3-path-cloud .ch3-path-features li {
  color: rgba(255, 255, 255, 0.9);
}

.ch3-path-cloud .ch3-path-features li::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
}

.ch3-path-cta {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding: 12px 20px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  -webkit-transition: all 0.15s ease;
  transition: all 0.15s ease;
  margin-top: auto;
}

.ch3-path-self .ch3-path-cta {
  background: #181818;
  background: var(--grey-900-new, #111827);
  color: #fff;
}

.ch3-path-self .ch3-path-cta:hover {
  background: #303032;
  background: var(--grey-800-new, #1f2937);
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
}

.ch3-path-cloud .ch3-path-cta {
  background: #fff;
  color: #065f46;
}

.ch3-path-cloud .ch3-path-cta:hover {
  background: rgba(255, 255, 255, 0.95);
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
}

.ch3-path-divider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  z-index: 1;
}

.ch3-path-or {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #c3c4c6;
  border: 2px solid var(--grey-200-new, #e5e7eb);
  font-size: 13px;
  font-weight: 600;
  color: #79797d;
  color: var(--grey-500-new, #6b7280);
  text-transform: lowercase;
}

/* Dark mode for path compare */

html[data-theme="dark"] .ch3-path-col:not(.ch3-path-cloud) {
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .ch3-path-icon {
  background: rgba(255, 255, 255, 0.08);
  color: #aaabae;
  color: var(--grey-300-new, #d1d5db);
}

html[data-theme="dark"] .ch3-path-heading {
  color: #fff;
}

html[data-theme="dark"] .ch3-path-desc {
  color: #919295;
  color: var(--grey-400-new, #9ca3af);
}

html[data-theme="dark"] .ch3-path-features li {
  color: #aaabae;
  color: var(--grey-300-new, #d1d5db);
}

html[data-theme="dark"] .ch3-path-self .ch3-path-cta {
  background: #fff;
  color: #111827;
}

html[data-theme="dark"] .ch3-path-self .ch3-path-cta:hover {
  background: rgba(255, 255, 255, 0.9);
}

html[data-theme="dark"] .ch3-path-or {
  background: #1a2332;
  border-color: rgba(255, 255, 255, 0.12);
  color: #919295;
  color: var(--grey-400-new, #9ca3af);
}

/* Responsive: Stack on mobile */

@media screen and (max-width: 768px) {
  .ch3-path-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .ch3-path-col {
    border-radius: 16px !important;
    border: 1px solid #c3c4c6 !important;
    border: 1px solid var(--grey-200-new, #e5e7eb) !important;
  }

  .ch3-path-cloud {
    border-color: transparent !important;
  }

  .ch3-path-divider {
    display: none;
  }
}

/* Data Platform Landing Page
   This page serves as the umbrella landing for Self-managed, Cloud, and Connect docs.
   =================================================================================== */

/* Layout: full-width content area */

.data-platform .dp-content {
  padding: 0;
  max-width: none;
}

.data-platform.article {
  background: #f5f5f5;
  background: var(--grey-50-new, #fafafa);
}

html[data-theme="dark"] .data-platform.article {
  background: #09090b;
  background: var(--grey-950-new, #09090b);
}

/* ---- Hero Section ---- */

.dp-hero {
  position: relative;
  overflow: hidden;
  background: -webkit-gradient(linear, left top, left bottom, from(#0e1a33), to(#1a2a52));
  background: linear-gradient(180deg, #0e1a33 0%, #1a2a52 100%);
  color: #fff;
  padding: 72px 56px 64px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.dp-hero-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.dp-hero-glow {
  position: absolute;
  border-radius: 50%;
  -webkit-filter: blur(80px);
          filter: blur(80px);
  opacity: 0.55;
}

.dp-hero-glow-1 {
  width: 480px;
  height: 480px;
  background: radial-gradient(circle, #4338ca 0%, transparent 70%);
  top: -120px;
  right: -80px;
}

.dp-hero-glow-2 {
  width: 380px;
  height: 380px;
  background: radial-gradient(circle, #1f5bd6 0%, transparent 70%);
  bottom: -120px;
  left: -60px;
  opacity: 0.35;
}

.dp-hero-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: radial-gradient(ellipse at 50% 30%, black 30%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse at 50% 30%, black 30%, transparent 75%);
}

.dp-hero-inner {
  position: relative;
  max-width: 1100px;
}

.dp-hero-eyebrow {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  font-family: "JetBrains Mono"
,
ui-monospace
,
sfmono-regular
,
menlo
,
monospace;
  font-family: var(--font-mono, 'JetBrains Mono', monospace);
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 22px;
}

.dp-hero-chip {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 22px;
  font-family: "JetBrains Mono"
,
ui-monospace
,
sfmono-regular
,
menlo
,
monospace;
  font-family: var(--font-mono, 'JetBrains Mono', monospace);
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #fff;
  background: #4338ca;
  background: var(--indigo-600, #4338ca);
  border-radius: 5px;
}

.dp-hero-title {
  font-family: 'Inter', sans-serif;
  font-family: var(--inter-display, var(--sans-serif-font, 'Inter', sans-serif));
  font-size: 52px;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 0 0 18px;
  text-wrap: pretty;
  color: #fff;
}

.dp-hero-sub {
  font-size: 18px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.78);
  max-width: 700px;
  margin: 0 0 32px;
  text-wrap: pretty;
}

.dp-hero-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  max-width: 720px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 24px;
}

.dp-hero-stats > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
}

.dp-hero-stats strong {
  font-family: 'Inter', sans-serif;
  font-family: var(--sans-serif-font, 'Inter', sans-serif);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: #fff;
}

.dp-hero-stats span {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.35;
}

/* ---- Sections ---- */

.dp-section {
  max-width: 1180px;
  margin: 0 auto;
  padding: 56px 56px 0;
}

.dp-section:last-of-type {
  padding-bottom: 64px;
}

.dp-section-head {
  margin-bottom: 28px;
  max-width: 720px;
}

.dp-section-title {
  font-family: 'Inter', sans-serif;
  font-family: var(--sans-serif-font, 'Inter', sans-serif);
  font-size: 26px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.015em;
  margin: 0 0 6px;
  color: #303032;
  color: var(--grey-800-new, #18181b);
}

html[data-theme="dark"] .dp-section-title {
  color: #dcdcde;
  color: var(--grey-100-new, #f4f4f5);
}

.dp-section-sub {
  font-size: 15px;
  color: #606164;
  color: var(--grey-600-new, #52525b);
  margin: 0;
  text-wrap: pretty;
}

html[data-theme="dark"] .dp-section-sub {
  color: #919295;
  color: var(--grey-400-new, #a1a1aa);
}

/* ---- Three-product cards ---- */

.dp-products {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 18px;
}

.dp-product {
  --dp-accent: #475569;

  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: #f5f5f5;
  background: var(--grey-50-new, #fafafa);
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e4e4e7);
  border-radius: 14px;
  padding: 24px;
  cursor: pointer;
  -webkit-transition: border-color 0.15s, -webkit-transform 0.15s, -webkit-box-shadow 0.15s;
  transition: border-color 0.15s, -webkit-transform 0.15s, -webkit-box-shadow 0.15s;
  transition: border-color 0.15s, transform 0.15s, box-shadow 0.15s;
  transition: border-color 0.15s, transform 0.15s, box-shadow 0.15s, -webkit-transform 0.15s, -webkit-box-shadow 0.15s;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
}

html[data-theme="dark"] .dp-product {
  background: #181818;
  background: var(--grey-900-new, #18181b);
  border-color: #303032;
  border-color: var(--grey-800-new, #27272a);
}

.dp-product::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  background: var(--dp-accent);
  opacity: 0.85;
}

.dp-product:hover {
  border-color: var(--dp-accent);
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
  -webkit-box-shadow: 0 10px 28px -16px var(--dp-accent);
          box-shadow: 0 10px 28px -16px var(--dp-accent);
}

.dp-product.is-featured {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(31, 91, 214, 0.04)), color-stop(60%, #f5f5f5));
  background: linear-gradient(180deg, rgba(31, 91, 214, 0.04) 0%, #f5f5f5 60%);
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(31, 91, 214, 0.04)), color-stop(60%, var(--grey-50-new, #fafafa)));
  background: linear-gradient(180deg, rgba(31, 91, 214, 0.04) 0%, var(--grey-50-new, #fafafa) 60%);
  border-color: rgba(31, 91, 214, 0.35);
}

html[data-theme="dark"] .dp-product.is-featured {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(31, 91, 214, 0.08)), color-stop(60%, #181818));
  background: linear-gradient(180deg, rgba(31, 91, 214, 0.08) 0%, #181818 60%);
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(31, 91, 214, 0.08)), color-stop(60%, var(--grey-900-new, #18181b)));
  background: linear-gradient(180deg, rgba(31, 91, 214, 0.08) 0%, var(--grey-900-new, #18181b) 60%);
  border-color: rgba(31, 91, 214, 0.4);
}

.dp-product-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px;
}

.dp-product-chip {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 26px;
  font-family: "JetBrains Mono"
,
ui-monospace
,
sfmono-regular
,
menlo
,
monospace;
  font-family: var(--font-mono, 'JetBrains Mono', monospace);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #fff;
  background: var(--dp-accent);
  border-radius: 5px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-top: 2px;
}

.dp-product-chip-sm {
  background: #0f8b66;
}

.dp-product-chip-cl {
  background: #1f5bd6;
}

.dp-product-chip-rc {
  background: #6e48e1;
}

.dp-product-titles {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

.dp-product-name {
  font-family: 'Inter', sans-serif;
  font-family: var(--sans-serif-font, 'Inter', sans-serif);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.01em;
  margin: 0 0 4px;
  color: #303032;
  color: var(--grey-800-new, #18181b);
}

html[data-theme="dark"] .dp-product-name {
  color: #dcdcde;
  color: var(--grey-100-new, #f4f4f5);
}

.dp-product-tagline {
  font-size: 13px;
  color: #606164;
  color: var(--grey-600-new, #52525b);
  margin: 0;
  line-height: 1.4;
}

html[data-theme="dark"] .dp-product-tagline {
  color: #919295;
  color: var(--grey-400-new, #a1a1aa);
}

.dp-product-desc {
  font-size: 14px;
  line-height: 1.55;
  color: #606164;
  color: var(--grey-600-new, #52525b);
  margin: 0 0 18px;
  text-wrap: pretty;
}

html[data-theme="dark"] .dp-product-desc {
  color: #919295;
  color: var(--grey-400-new, #a1a1aa);
}

.dp-product-bullets {
  list-style: none;
  padding: 0;
  margin: 0 0 18px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}

.dp-product-bullets li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  font-size: 13px;
  color: #303032;
  color: var(--grey-800-new, #18181b);
}

html[data-theme="dark"] .dp-product-bullets li {
  color: #c3c4c6;
  color: var(--grey-200-new, #e4e4e7);
}

.dp-product-bullet-icon {
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 5px;
  background: rgba(71, 85, 105, 0.12);
  background: rgba(var(--dp-accent-rgb, 71, 85, 105), 0.12);
  color: var(--dp-accent);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

/* Use specific background colors for each accent */

.dp-product[style*="--dp-accent: #0f8b66"] .dp-product-bullet-icon {
  background: rgba(15, 139, 102, 0.12);
}

.dp-product[style*="--dp-accent: #1f5bd6"] .dp-product-bullet-icon {
  background: rgba(31, 91, 214, 0.12);
}

.dp-product[style*="--dp-accent: #6e48e1"] .dp-product-bullet-icon {
  background: rgba(110, 72, 225, 0.12);
}

.dp-product-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 12px 0;
  margin-bottom: 16px;
  border-top: 1px solid #c3c4c6;
  border-top: 1px solid var(--grey-200-new, #e4e4e7);
  border-bottom: 1px solid #c3c4c6;
  border-bottom: 1px solid var(--grey-200-new, #e4e4e7);
}

html[data-theme="dark"] .dp-product-stats {
  border-color: #303032;
  border-color: var(--grey-800-new, #27272a);
}

.dp-product-stats > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2px;
}

.dp-product-stats strong {
  font-family: 'Inter', sans-serif;
  font-family: var(--sans-serif-font, 'Inter', sans-serif);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.1;
  color: #303032;
  color: var(--grey-800-new, #18181b);
  letter-spacing: -0.01em;
}

html[data-theme="dark"] .dp-product-stats strong {
  color: #dcdcde;
  color: var(--grey-100-new, #f4f4f5);
}

.dp-product-stats span {
  font-size: 11.5px;
  color: #606164;
  color: var(--grey-600-new, #52525b);
}

html[data-theme="dark"] .dp-product-stats span {
  color: #919295;
  color: var(--grey-400-new, #a1a1aa);
}

.dp-product-cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 8px;
  font-family: 'Inter', sans-serif;
  font-family: var(--sans-serif-font, 'Inter', sans-serif);
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1;
  color: var(--dp-accent);
  margin-top: auto;
}

.dp-product:hover .dp-product-cta svg {
  -webkit-transform: translateX(2px);
          transform: translateX(2px);
  -webkit-transition: -webkit-transform 0.15s;
  transition: -webkit-transform 0.15s;
  transition: transform 0.15s;
  transition: transform 0.15s, -webkit-transform 0.15s;
}

/* ---- Decision matrix ---- */

.dp-matrix {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0;
  background: #f5f5f5;
  background: var(--grey-50-new, #fafafa);
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e4e4e7);
  border-radius: 12px;
  overflow: hidden;
}

html[data-theme="dark"] .dp-matrix {
  background: #181818;
  background: var(--grey-900-new, #18181b);
  border-color: #303032;
  border-color: var(--grey-800-new, #27272a);
}

.dp-matrix-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid #c3c4c6;
  border-bottom: 1px solid var(--grey-200-new, #e4e4e7);
}

html[data-theme="dark"] .dp-matrix-row {
  border-color: #303032;
  border-color: var(--grey-800-new, #27272a);
}

.dp-matrix-row:last-child {
  border-bottom: 0;
}

.dp-matrix-when {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 14px;
}

.dp-matrix-when-label {
  font-family: "JetBrains Mono"
,
ui-monospace
,
sfmono-regular
,
menlo
,
monospace;
  font-family: var(--font-mono, 'JetBrains Mono', monospace);
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #606164;
  color: var(--grey-600-new, #52525b);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 56px;
}

html[data-theme="dark"] .dp-matrix-when-label {
  color: #919295;
  color: var(--grey-400-new, #a1a1aa);
}

.dp-matrix-when p {
  font-size: 15px;
  line-height: 1.45;
  margin: 0;
  color: #303032;
  color: var(--grey-800-new, #18181b);
  text-wrap: pretty;
}

html[data-theme="dark"] .dp-matrix-when p {
  color: #c3c4c6;
  color: var(--grey-200-new, #e4e4e7);
}

.dp-matrix-pick {
  --dp-accent: #475569;

  display: -webkit-inline-box;

  display: -ms-inline-flexbox;

  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  padding: 8px 14px;
  border-radius: 8px;
  background: rgba(71, 85, 105, 0.07);
  background: rgba(var(--dp-accent-rgb, 71, 85, 105), 0.07);
  border: 1px solid rgba(71, 85, 105, 0.25);
  border: 1px solid rgba(var(--dp-accent-rgb, 71, 85, 105), 0.25);
  white-space: nowrap;
  -webkit-transition: background 0.15s;
  transition: background 0.15s;
  text-decoration: none;
}

/* Specific pick background colors */

.dp-matrix-pick[style*="--dp-accent: #0f8b66"] {
  background: rgba(15, 139, 102, 0.07);
  border-color: rgba(15, 139, 102, 0.25);
}

.dp-matrix-pick[style*="--dp-accent: #1f5bd6"] {
  background: rgba(31, 91, 214, 0.07);
  border-color: rgba(31, 91, 214, 0.25);
}

.dp-matrix-pick[style*="--dp-accent: #6e48e1"] {
  background: rgba(110, 72, 225, 0.07);
  border-color: rgba(110, 72, 225, 0.25);
}

.dp-matrix-pick:hover {
  background: rgba(71, 85, 105, 0.12);
  background: rgba(var(--dp-accent-rgb, 71, 85, 105), 0.12);
}

.dp-matrix-pick[style*="--dp-accent: #0f8b66"]:hover {
  background: rgba(15, 139, 102, 0.12);
}

.dp-matrix-pick[style*="--dp-accent: #1f5bd6"]:hover {
  background: rgba(31, 91, 214, 0.12);
}

.dp-matrix-pick[style*="--dp-accent: #6e48e1"]:hover {
  background: rgba(110, 72, 225, 0.12);
}

.dp-matrix-pick a {
  font-family: 'Inter', sans-serif;
  font-family: var(--sans-serif-font, 'Inter', sans-serif);
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1;
  color: var(--dp-accent);
  text-decoration: none;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
}

/* ---- Popular cards ---- */

.dp-popular {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 12px;
}

.dp-popular-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 14px;
  padding: 14px 16px;
  background: #f5f5f5;
  background: var(--grey-50-new, #fafafa);
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e4e4e7);
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
  -webkit-transition: border-color 0.15s, -webkit-transform 0.15s;
  transition: border-color 0.15s, -webkit-transform 0.15s;
  transition: border-color 0.15s, transform 0.15s;
  transition: border-color 0.15s, transform 0.15s, -webkit-transform 0.15s;
}

html[data-theme="dark"] .dp-popular-card {
  background: #181818;
  background: var(--grey-900-new, #18181b);
  border-color: #303032;
  border-color: var(--grey-800-new, #27272a);
}

.dp-popular-card:hover {
  border-color: #4338ca;
  border-color: var(--indigo-600, #4338ca);
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
}

.dp-popular-card:hover .dp-popular-arrow {
  -webkit-transform: translateX(2px);
          transform: translateX(2px);
  color: #4338ca;
  color: var(--indigo-600, #4338ca);
}

.dp-popular-icon {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 7px;
  background: rgba(75, 68, 255, 0.1);
  color: #4338ca;
  color: var(--indigo-600, #4338ca);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.dp-popular-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

.dp-popular-text h4 {
  font-family: 'Inter', sans-serif;
  font-family: var(--sans-serif-font, 'Inter', sans-serif);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.005em;
  margin: 0 0 4px;
  color: #303032;
  color: var(--grey-800-new, #18181b);
}

html[data-theme="dark"] .dp-popular-text h4 {
  color: #dcdcde;
  color: var(--grey-100-new, #f4f4f5);
}

.dp-popular-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}

.dp-popular-tag {
  font-family: "JetBrains Mono"
,
ui-monospace
,
sfmono-regular
,
menlo
,
monospace;
  font-family: var(--font-mono, 'JetBrains Mono', monospace);
  font-size: 10.5px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #606164;
  color: var(--grey-600-new, #52525b);
}

html[data-theme="dark"] .dp-popular-tag {
  color: #919295;
  color: var(--grey-400-new, #a1a1aa);
}

.dp-popular-time {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  font-size: 11.5px;
  color: #606164;
  color: var(--grey-600-new, #52525b);
}

html[data-theme="dark"] .dp-popular-time {
  color: #919295;
  color: var(--grey-400-new, #a1a1aa);
}

.dp-popular-arrow {
  color: #606164;
  color: var(--grey-600-new, #52525b);
  -webkit-transition: color 0.15s, -webkit-transform 0.15s;
  transition: color 0.15s, -webkit-transform 0.15s;
  transition: transform 0.15s, color 0.15s;
  transition: transform 0.15s, color 0.15s, -webkit-transform 0.15s;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

html[data-theme="dark"] .dp-popular-arrow {
  color: #919295;
  color: var(--grey-400-new, #a1a1aa);
}

/* ---- Concepts ---- */

.dp-concepts {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.dp-concept {
  display: block;
  padding: 18px;
  background: #f5f5f5;
  background: var(--grey-50-new, #fafafa);
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e4e4e7);
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
  -webkit-transition: border-color 0.15s, -webkit-transform 0.15s;
  transition: border-color 0.15s, -webkit-transform 0.15s;
  transition: border-color 0.15s, transform 0.15s;
  transition: border-color 0.15s, transform 0.15s, -webkit-transform 0.15s;
}

html[data-theme="dark"] .dp-concept {
  background: #181818;
  background: var(--grey-900-new, #18181b);
  border-color: #303032;
  border-color: var(--grey-800-new, #27272a);
}

.dp-concept:hover {
  border-color: #4338ca;
  border-color: var(--indigo-600, #4338ca);
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
}

.dp-concept-icon {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 7px;
  background: rgba(75, 68, 255, 0.1);
  color: #4338ca;
  color: var(--indigo-600, #4338ca);
  margin-bottom: 12px;
}

.dp-concept h4 {
  font-family: 'Inter', sans-serif;
  font-family: var(--sans-serif-font, 'Inter', sans-serif);
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.005em;
  margin: 0 0 6px;
  color: #303032;
  color: var(--grey-800-new, #18181b);
}

html[data-theme="dark"] .dp-concept h4 {
  color: #dcdcde;
  color: var(--grey-100-new, #f4f4f5);
}

.dp-concept p {
  font-size: 13px;
  line-height: 1.5;
  color: #606164;
  color: var(--grey-600-new, #52525b);
  margin: 0;
  text-wrap: pretty;
}

html[data-theme="dark"] .dp-concept p {
  color: #919295;
  color: var(--grey-400-new, #a1a1aa);
}

/* ---- Help footer ---- */

.dp-help {
  max-width: 1180px;
  margin: 56px auto 0;
  padding: 28px 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 32px;
  background: linear-gradient(135deg, rgba(75, 68, 255, 0.05) 0%, #f5f5f5 100%);
  background: linear-gradient(135deg, rgba(75, 68, 255, 0.05) 0%, var(--grey-50-new, #fafafa) 100%);
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e4e4e7);
  border-radius: 14px;
  margin-left: 56px;
  margin-right: 56px;
  margin-bottom: 56px;
}

html[data-theme="dark"] .dp-help {
  background: linear-gradient(135deg, rgba(75, 68, 255, 0.08) 0%, #181818 100%);
  background: linear-gradient(135deg, rgba(75, 68, 255, 0.08) 0%, var(--grey-900-new, #18181b) 100%);
  border-color: #303032;
  border-color: var(--grey-800-new, #27272a);
}

.dp-help h3 {
  font-family: 'Inter', sans-serif;
  font-family: var(--sans-serif-font, 'Inter', sans-serif);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.01em;
  margin: 0 0 4px;
  color: #303032;
  color: var(--grey-800-new, #18181b);
}

html[data-theme="dark"] .dp-help h3 {
  color: #dcdcde;
  color: var(--grey-100-new, #f4f4f5);
}

.dp-help p {
  font-size: 14px;
  color: #606164;
  color: var(--grey-600-new, #52525b);
  margin: 0;
}

html[data-theme="dark"] .dp-help p {
  color: #919295;
  color: var(--grey-400-new, #a1a1aa);
}

.dp-help-actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.dp-help-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding: 9px 16px;
  font-family: 'Inter', sans-serif;
  font-family: var(--sans-serif-font, 'Inter', sans-serif);
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  background: #4338ca;
  background: var(--indigo-600, #4338ca);
  color: #fff;
  border: 0;
  border-radius: 7px;
  cursor: pointer;
  text-decoration: none;
  -webkit-transition: background 0.15s;
  transition: background 0.15s;
}

.dp-help-btn:hover {
  background: #3934d6;
  background: var(--indigo-700, #3934d6);
}

.dp-help-btn-secondary {
  background: transparent;
  color: #303032;
  color: var(--grey-800-new, #18181b);
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e4e4e7);
}

html[data-theme="dark"] .dp-help-btn-secondary {
  color: #c3c4c6;
  color: var(--grey-200-new, #e4e4e7);
  border-color: #48484a;
  border-color: var(--grey-700-new, #3f3f46);
}

.dp-help-btn-secondary:hover {
  background: #dcdcde;
  background: var(--grey-100-new, #f4f4f5);
  border-color: #919295;
  border-color: var(--grey-400-new, #a1a1aa);
}

html[data-theme="dark"] .dp-help-btn-secondary:hover {
  background: #303032;
  background: var(--grey-800-new, #27272a);
  border-color: #606164;
  border-color: var(--grey-600-new, #52525b);
}

/* ---- Responsive ---- */

@media (max-width: 1100px) {
  .dp-products {
    grid-template-columns: 1fr;
  }

  .dp-popular {
    grid-template-columns: 1fr 1fr;
  }

  .dp-concepts {
    grid-template-columns: 1fr 1fr;
  }

  .dp-hero-stats {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 720px) {
  .dp-hero {
    padding: 56px 24px 48px;
  }

  .dp-hero-title {
    font-size: 36px;
  }

  .dp-section {
    padding: 40px 24px 0;
  }

  .dp-popular {
    grid-template-columns: 1fr;
  }

  .dp-concepts {
    grid-template-columns: 1fr;
  }

  .dp-help {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-left: 24px;
    margin-right: 24px;
  }

  .dp-matrix-row {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .dp-matrix-when {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 6px;
  }

  .dp-matrix-when-label {
    width: auto;
  }
}

:root {
  --nav-side-padding: 18px; /* Prototype uses 18px */
  --nav-item-side-padding: 10px;
  --sidebar-width: 280px; /* Match prototype */
}

/* =============================================================================
   SIDEBAR — Dark theme navigation panel
   ============================================================================= */

.sidebar {
  background: #0f1727;
  background: var(--sidebar-bg, #161e2d);
  color: #c6cedc;
  color: var(--sidebar-fg, #c6cedc);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  overflow: hidden; /* Prevent sidebar from growing beyond viewport */
}

/* Sidebar Header */

.sb-head {
  padding: 18px 18px 14px;
  padding: 18px var(--nav-side-padding) 14px; /* Prototype: 18px 18px 14px */
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.sb-head-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  text-decoration: none;
  color: inherit;
  border-radius: 8px;
  padding: 4px;
  margin: -4px;
  -webkit-transition: background 0.12s;
  transition: background 0.12s;
}

.sb-head-link:hover {
  background: rgba(255, 255, 255, 0.05);
  background: var(--sidebar-item-hover-bg, rgba(255, 255, 255, 0.05));
}

.sb-logomark {
  width: 32px;
  height: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.sb-logomark img {
  width: 28px;
  height: 28px;
}

.sb-brand-title {
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  letter-spacing: -0.01em;
  line-height: 1.2;
}

.sb-brand-sub {
  font-size: 11.5px;
  color: #a8b2c7;
  color: var(--sidebar-fg-muted, #a8b2c7);
  letter-spacing: -0.005em;
  margin-top: 1px;
}

/* Sidebar Search Bar */

.sb-search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin: 2px 14px 12px; /* Prototype exact values */
  padding: 8px 10px; /* Prototype exact values */
  background: rgba(255, 255, 255, 0.04); /* Prototype exact */
  border: 1px solid rgba(255, 255, 255, 0.06); /* Prototype exact */
  border-radius: 8px; /* Prototype uses 8px */
  cursor: pointer;
  font-size: 13px;
  color: #8098b3; /* Prototype search text color */
  -webkit-transition: background 0.12s, border-color 0.12s;
  transition: background 0.12s, border-color 0.12s;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.sb-search:hover {
  background: rgba(255, 255, 255, 0.07); /* Prototype exact */
}

.sb-search svg {
  color: #a8b2c7;
  color: var(--sidebar-fg-muted, #a8b2c7);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.sb-search-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 13px;
  color: #a8b2c7;
  color: var(--sidebar-fg-muted, #a8b2c7);
  letter-spacing: -0.005em;
}

.sb-search-kbd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2px;
}

.sb-search-kbd kbd {
  font-family: "Inter"
,
ui-sans-serif
,
system-ui
,
sans-serif;
  font-family: var(--font-sans, "Inter", sans-serif);
  font-size: 10.5px;
  font-weight: 500;
  padding: 2px 5px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 4px;
  color: #a8b2c7;
  color: var(--sidebar-fg-muted, #a8b2c7);
}

/* Sidebar Scrollable Content */

.sb-scroll {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-height: 0; /* Critical for flex children to respect parent constraints */
  overflow-y: auto;
  overflow-x: hidden;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.sb-scroll::-webkit-scrollbar {
  display: none;
}

.nav-container {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 280px;
  width: var(--sidebar-width, 260px);
  font-size: var(--secondary-font-size);
  z-index: var(--z-index-nav);
  visibility: hidden;
}

/* Mobile nav overlay - higher z-index to cover toolbar when active */

html .nav-container.is-active {
  z-index: 5;
}

.nav-collapse {
  font-size: var(--secondary-font-size);
  color: var(--body-font-color);
  z-index: 8;
  position: sticky;
  height: var(--nav-collapse-height);
  bottom: 0;
  display: none;
  gap: 5px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 100%;
  padding: 12px 18px;
  padding: 12px var(--nav-side-padding);
  cursor: pointer;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
  background: var(--nav-background);
  border-top: 1px solid var(--nav-border-color);
}

.nav-collapse:hover {
  opacity: 1;
}

.nav-collapse p {
  margin: 0;
}

.nav-collapse.collapsed {
  opacity: 0.6;
}

@media screen and (max-width: 1023px) {
  .nav-container {
    width: var(--nav-width);
    top: calc(var(--navbar-height) + var(--announcement-bar-height));
  }

  /* When nav is open on mobile, ensure it overlays the toolbar */
  .nav-container.is-active {
    z-index: 5 !important;
  }

  .nav-panel-explore {
    top: 20px !important;
  }
}

@media screen and (min-width: 1024px) {
  .nav-container {
    font-size: var(--secondary-font-size);
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    border-right: none;
    display: block;
    position: fixed;
    visibility: visible;
    height: calc(100vh - var(--announcement-bar-height--desktop));
    top: var(--announcement-bar-height--desktop);
    width: 280px;
    width: var(--sidebar-width, 260px);
  }

  .nav {
    overflow-y: hidden;
    height: 100%;
  }

  .nav-collapse {
    display: none;
  }

  /* Override for sidebar footer collapse button - keep it visible */
  .sb-footer .sb-collapse-toggle {
    display: inline-grid;
  }
}

.nav-container.is-active {
  visibility: visible;
}

/* Hide scrollbar for Chrome, Safari and Opera */

.nav::-webkit-scrollbar {
  display: none;
}

.nav {
  font-size: var(--secondary-font-size);
  position: relative;
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
  -ms-scroll-chaining: none;
      overscroll-behavior: none;
  clip-path: inset(0);
  height: 100% !important;
}

@media screen and (min-width: 769px) {
  .nav {
    -webkit-box-shadow: 0.5px 0 3px var(--nav-border-color);
            box-shadow: 0.5px 0 3px var(--nav-border-color);
  }
}

@media screen and (min-width: 1024px) {
  .nav {
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}

.nav a {
  color: inherit;
}

/* Version container base styling */

.context .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 500;
  color: #a8b2c7;
  color: var(--sidebar-fg-muted, #a8b2c7);
}

/* Version container WITH dropdown - full button styling */

.context .container.has-dropdown {
  border: 1px solid rgba(255, 255, 255, 0.1);
  width: 100%;
  border-radius: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 14px;
  position: relative;
  cursor: pointer;
  -webkit-transition: background 0.15s, border-color 0.15s;
  transition: background 0.15s, border-color 0.15s;
  background: transparent;
}

/* Version container WITHOUT dropdown - subtle pill styling */

.context .container:not(.has-dropdown) {
  padding: 6px 10px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.06);
  -webkit-transition: background 0.15s;
  transition: background 0.15s;
}

.sidebar[data-theme="light"] .context .container:not(.has-dropdown) {
  background: #dcdcde;
  background: var(--grey-100-new, var(--grey-100, #f0f0f0));
  color: #48484a;
  color: var(--grey-700-new, var(--grey-700, #4a4a4a));
}

.context .container.has-dropdown:hover {
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(255, 255, 255, 0.15);
}

.sidebar[data-theme="light"] .context .container.has-dropdown {
  border-color: #c3c4c6;
  border-color: var(--grey-200-new, var(--grey-200, #c3c4c6));
}

.sidebar[data-theme="light"] .context .container.has-dropdown:hover {
  background: #f5f5f5;
  background: var(--grey-50-new, var(--grey-50, #f5f5f5));
  border-color: #aaabae;
  border-color: var(--grey-300-new, var(--grey-300, #aaabae));
}

.context .container.has-dropdown .components,
.context .container.has-dropdown .versions {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 8px);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 100;
  background: #1a2332;
  white-space: nowrap;
  border-radius: 12px;
  padding: 8px;
  -webkit-box-shadow: 0 8px 24px rgba(0, 0, 0, 0.32);
          box-shadow: 0 8px 24px rgba(0, 0, 0, 0.32);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #e8eef6;
  -webkit-animation: versionMenuIn 0.15s ease-out;
          animation: versionMenuIn 0.15s ease-out;
}

@-webkit-keyframes versionMenuIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(-4px);
            transform: translateY(-4px);
  }

  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes versionMenuIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(-4px);
            transform: translateY(-4px);
  }

  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

.sidebar[data-theme="light"] .context .container.has-dropdown .components,
.sidebar[data-theme="light"] .context .container.has-dropdown .versions {
  background: #fff;
  border-color: #c3c4c6;
  border-color: var(--grey-200-new, var(--grey-200, #c3c4c6));
  -webkit-box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.04),
    0 8px 24px rgba(0, 0, 0, 0.12);
          box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.04),
    0 8px 24px rgba(0, 0, 0, 0.12);
  color: #181818;
  color: var(--grey-900-new, var(--grey-900, #181818));
}

.context:hover {
  cursor: pointer;
}

.context .container.has-dropdown .components a,
.context .container.has-dropdown .versions a {
  padding: 10px 12px;
  border-radius: 8px;
  -webkit-transition: background 0.12s;
  transition: background 0.12s;
  display: block;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: -0.005em;
}

.context .container.has-dropdown .components a:hover,
.context .container.has-dropdown .versions a:hover {
  background: rgba(255, 255, 255, 0.05);
}

.sidebar[data-theme="light"] .context .container.has-dropdown .components a:hover,
.sidebar[data-theme="light"] .context .container.has-dropdown .versions a:hover {
  background: #f5f5f5;
  background: var(--grey-50-new, var(--grey-50, #f5f5f5));
}

.context .container.has-dropdown.is-active .components,
.context .container.has-dropdown.is-active .versions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: absolute;
  top: calc(100% + 8px); /* Position below parent, not covering it */
}

.article.lab .nav .panels {
  padding-left: 0.5em;
}

html.is-clipped--nav {
  overflow-y: hidden;
}

.nav-menu {
  position: relative;
  line-height: var(--nav-line-height);
  padding: 8px 18px 32px;
  padding: 8px var(--nav-side-padding) 32px;
  /* Isolate rendering for performance */
  contain: layout style;
}

/* When nav-panel-explore doesn't exist, nav-menu is first child and needs more top padding on mobile */

@media screen and (max-width: 1023px) {
  .nav-panel-menu:first-child .nav-menu {
    padding-top: calc(var(--toolbar-top-padding) + 16px);
  }
}

.nav-menu h3.title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px; /* Prototype: 8px gap */
  padding: 8px 10px; /* Prototype: 8px 10px */
  color: #a8b2c7; /* Prototype exact color */
  font-size: 13px; /* Prototype: 13px */
  font-weight: 500; /* Prototype: 500 */
  font-family: var(--body-font-family);
  border-radius: 5px; /* Prototype: 5px */
  margin: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  cursor: pointer;
  -webkit-transition: background 0.12s;
  transition: background 0.12s;
}

.nav-menu h3.title:hover {
  background: rgba(255, 255, 255, 0.04); /* Prototype exact */
}

html[data-theme="light"] .nav-menu h3.title {
  color: #48484a;
  color: var(--grey-700-new, var(--grey-700, #44454a)); /* Prototype light mode */
}

html[data-theme="light"] .nav-menu h3.title:hover {
  background: #f5f5f5;
  background: var(--grey-50-new, var(--grey-50, #f5f5f5)); /* Prototype light mode */
}

.nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  color: #c6cedc;
  color: var(--sidebar-fg, #c6cedc);
  margin-left: 8px;
}

/* Nested nav-list has left border like prototype .sb-children */

.nav-item > .nav-list {
  padding-left: 10px; /* Prototype: 10px */
  border-left: 1px solid rgba(255, 255, 255, 0.06); /* Prototype exact */
  margin-left: 0;
}

html[data-theme="light"] .nav-item > .nav-list {
  border-left-color: #dcdcde;
  border-left-color: var(--grey-100-new, var(--grey-100, #e9eaeb)); /* Prototype light mode */
}

/* Target the very first nav-menu and remove the margin-left */

/* Style top-level nav (parent component's own nav before buckets) like a bucket */

.nav-menu > .nav-list {
  margin-left: 0;
  padding-left: 10px;
  margin-bottom: 12px;
  border-left: 2px solid rgba(122, 145, 176, 0.15);
}

html[data-theme="light"] .nav-menu > .nav-list {
  border-left-color: rgba(107, 108, 111, 0.15);
}

li.nav-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  cursor: pointer;
}

.nav .item {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 30px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px; /* Prototype: 6px gap between icon/text/caret */
  padding: 6px 10px; /* Prototype: 6px 10px */
  border-radius: 5px; /* Prototype: 5px */
  color: #8098b3; /* Prototype: exact color */
  font-size: 13px; /* Prototype: 13px */
  letter-spacing: -0.0125em; /* Prototype: exact tracking */
  line-height: 1.35; /* Prototype: 1.35 */
  cursor: pointer;
  -webkit-transition: background 0.12s, color 0.12s;
  transition: background 0.12s, color 0.12s;
}

.nav-list > li > .item:hover {
  background: rgba(79, 70, 229, 0.06);
  background: var(--component-bg-tint, rgba(255, 255, 255, 0.04));
  color: #dbe2ee;
}

.nav-list > li > .is-current-page {
  background: rgba(79, 70, 229, 0.1);
  background: var(--component-bg-tint-hover, rgba(255, 255, 255, 0.08));
  color: #fff;
  font-weight: 500;
}

.nav-list .is-current-path > div.item:first-child {
  color: #fff;
}

.nav-list a {
  text-decoration: none !important;
}

/* Note - Dan removed .nav-item setting height - this rule was causing all sorts of issues with nav height due to all nav items being nested inside a single <li> with a height of 36px, this meant there was a lot of extra css needed to override */

.nav-item[data-depth="0"] > .nav-list:first-child {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin: 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.nav-item:not(.is-active) > .nav-list {
  display: none;
}

a.nav-link,
a.nav-text {
  min-width: 80%;
}

.item:not(.dropdown) a.nav-link,
.item:not(.dropdown) a.nav-text {
  min-width: 100%;
}

.nav-item-toggle {
  border: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  outline: none;
  line-height: inherit;
  padding: 0;
  width: 12px; /* Prototype: 12px */
  height: 12px; /* Prototype: 12px */
  margin-left: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: #5972a6; /* Prototype: caret color */
  -webkit-transition: -webkit-transform 0.15s ease;
  transition: -webkit-transform 0.15s ease;
  transition: transform 0.15s ease;
  transition: transform 0.15s ease, -webkit-transform 0.15s ease; /* Prototype animation */
}

.nav-item-toggle > img {
  -webkit-filter: var(--nav-toggle-filter);
          filter: var(--nav-toggle-filter);
  width: 12px; /* Prototype: 12px */
  height: 12px;
  opacity: 0.6;
}

html[data-theme="light"] .nav-item-toggle {
  color: #79797d;
  color: var(--grey-500-new, var(--grey-500, #79797d)); /* Prototype light mode */
}

.nav-item.is-active > .item > .nav-item-toggle {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.nav-panel-explore {
  position: relative;
  z-index: 9;
  padding: 0 18px 12px;
  padding: 0 var(--nav-side-padding) 12px;
}

.nav-panel-explore:not(:first-child) {
  top: auto;
  max-height: var(--nav-panel-explore-height);
}

.nav-panel-explore .context {
  font-size: var(--secondary-font-size);
  color: var(--link-highlight-color);
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  line-height: 1;
}

.nav-panel-explore:not(:first-child) .context .container.has-dropdown:has(.components,.versions) {
  cursor: pointer;
}

.nav-panel-explore .context .current-version,
.nav-panel-explore .context .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: 12px;
  font-weight: 500;
  color: inherit;
  letter-spacing: -0.005em;
}

.sidebar[data-theme="light"] .nav-panel-explore .context .current-version,
.sidebar[data-theme="light"] .nav-panel-explore .context .title {
  color: #181818;
  color: var(--grey-900-new, var(--grey-900, #181818));
}

.nav-panel-explore .context .version.is-latest,
.nav-panel-explore .context .version:hover,
.nav-panel-explore .context .component.is-current,
.nav-panel-explore .context .component:hover,
.nav-panel-explore .context .version a:hover,
.nav-panel-explore .context .component a:hover {
  background-color: var(--link-highlight-background-color);
  color: var(--body-font-color);
}

.nav-panel-explore .context .versions a,
.nav-panel-explore .context .component a {
  color: var(--page-version-font-color);
  text-decoration: none;
  line-height: 25px;
  padding-left: 5px;
  display: block;
  width: 100%;
}

.nav-panel-explore .context .version,
.nav-panel-explore .context .component {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 25px;
          flex: 0 0 25px;
}

.nav-panel-explore .component .title {
  font-family: var(--body-font-family-bold);
}

.nav-link.cloud-beta::after {
  height: 20px;
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  content: '(beta)';
}

.nav-link.cloud-limited-availability::after {
  height: 20px;
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  content: '(Limited)';
}

.nav-link.cloud-byoc::after,
.nav-link.cloud-only::after {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "JetBrains Mono"
,
ui-monospace
,
sfmono-regular
,
menlo
,
monospace;
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, monospace);
  font-size: 8px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 2px 5px;
  border-radius: 3px;
  margin-left: 6px;
  white-space: nowrap;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.nav-link.cloud-byoc::after {
  content: 'SELF-MANAGED';
  color: #a8b2c7;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.nav-link.cloud-only::after {
  content: 'MANAGED';
  color: #ffb8a3;
  background: rgba(226, 67, 40, 0.14);
  border: 1px solid rgba(226, 67, 40, 0.28);
}

/* Status Footer - Shows system status at bottom of sidebar */

.nav-status-footer {
  position: sticky;
  bottom: 0;
  padding: 10px 16px; /* Prototype: 10px 16px */
  background: #0f1727;
  background: var(--sidebar-bg, #0f1727);
  border-top: 1px solid rgba(255, 255, 255, 0.06); /* Prototype exact */
  z-index: 10;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-top: auto;
  font-size: 11.5px; /* Prototype: 11.5px */
  color: #5972a6; /* Prototype: muted color */
}

.nav-status-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding: 10px 12px;
  background: transparent;
  border-radius: 8px;
  text-decoration: none;
  color: inherit;
  -webkit-transition: background 0.12s;
  transition: background 0.12s;
  font-size: 12.5px;
}

.nav-status-link:hover {
  background: rgba(255, 255, 255, 0.05);
}

.sidebar[data-theme="light"] .nav-status-link:hover {
  background: #f5f5f5;
  background: var(--grey-50-new, var(--grey-50, #f5f5f5));
}

.nav-status-dot {
  width: 7px; /* Prototype: 7px */
  height: 7px; /* Prototype: 7px */
  border-radius: 50%;
  background: #10b981;
  background: var(--green-500, #10b981); /* Default: operational */
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-animation: statusPulse 2s ease-in-out infinite;
          animation: statusPulse 2s ease-in-out infinite;
}

/* Status indicator colors from Statuspage API */

.nav-status-dot.status-none {
  background: #10b981;
  background: var(--green-500, #10b981); /* All systems operational */
}

.nav-status-dot.status-minor {
  background: #f59e0b;
  background: var(--yellow-500, #f59e0b); /* Minor issues */
}

.nav-status-dot.status-major {
  background: #f97316;
  background: var(--orange-500, #f97316); /* Major issues */
}

.nav-status-dot.status-critical {
  background: #ef4444;
  background: var(--red-500, #ef4444); /* Critical issues */
}

.nav-status-dot.status-unknown {
  background: #9ca3af;
  background: var(--grey-400, #9ca3af); /* Unable to fetch */
  -webkit-animation: none;
          animation: none;
}

@-webkit-keyframes statusPulse {
  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0.6;
  }
}

@keyframes statusPulse {
  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0.6;
  }
}

.nav-status-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  color: #aab8ca;
  font-weight: 500;
  letter-spacing: -0.005em;
}

.sidebar[data-theme="light"] .nav-status-text {
  color: #606164;
  color: var(--grey-600-new, var(--grey-600, #606164));
}

.nav-status-icon {
  color: #7c8ca8;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.sidebar[data-theme="light"] .nav-status-icon {
  color: #79797d;
  color: var(--grey-500-new, var(--grey-500, #79797d));
}

/* =============================================================================
   SIDEBAR FOOTER — Theme toggle + Collapse button
   ============================================================================= */

.sb-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 10px 16px; /* Prototype: 10px 16px */
  border-top: 1px solid rgba(255, 255, 255, 0.06); /* Prototype exact */
  -ms-flex-negative: 0;
      flex-shrink: 0;
  gap: 8px; /* Prototype: 8px */
  font-size: 11.5px; /* Prototype: 11.5px */
  color: #5972a6; /* Prototype: muted color */
  position: relative;
  z-index: 1; /* Keep below dropdown menus (z-index: 100) */
}

.sb-theme-toggle,
.sb-collapse-toggle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 36px;
  height: 36px;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  color: #a8b2c7;
  color: var(--sidebar-fg-muted, #a8b2c7);
  cursor: pointer;
  -webkit-transition: background 0.12s, border-color 0.12s, color 0.12s;
  transition: background 0.12s, border-color 0.12s, color 0.12s;
}

.sb-theme-toggle:hover,
.sb-collapse-toggle:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.15);
  color: #fff;
}

/* Theme toggle icons - show sun in dark mode, moon in light mode */

.sb-theme-icon--moon {
  display: none;
}

.sb-theme-icon--sun {
  display: block;
}

html[data-theme="light"] .sb-theme-icon--moon {
  display: block;
}

html[data-theme="light"] .sb-theme-icon--sun {
  display: none;
}

/* Light mode sidebar footer styles */

html[data-theme="light"] .sb-footer {
  border-top-color: #dcdcde;
  border-top-color: var(--grey-100-new, var(--grey-100, #e9eaeb)); /* Prototype: grey-100 */
  color: #79797d;
  color: var(--grey-500-new, var(--grey-500, #79797d)); /* Prototype: grey-500 */
}

html[data-theme="light"] .sb-theme-toggle,
html[data-theme="light"] .sb-collapse-toggle {
  border-color: #c3c4c6;
  border-color: var(--grey-200-new, var(--grey-200, #c3c4c6));
  color: #606164;
  color: var(--grey-600-new, var(--grey-600, #606164));
}

html[data-theme="light"] .sb-theme-toggle:hover,
html[data-theme="light"] .sb-collapse-toggle:hover {
  background: #f5f5f5;
  background: var(--grey-50-new, var(--grey-50, #f5f5f5));
  border-color: #aaabae;
  border-color: var(--grey-300-new, var(--grey-300, #aaabae));
  color: #181818;
  color: var(--grey-900-new, var(--grey-900, #181818));
}

/* Mobile adjustments - keep footer visible but adjust header */

@media screen and (max-width: 1023px) {
  /* Add padding to sidebar header on mobile to clear the toolbar */
  .sb-head {
    padding-top: calc(var(--toolbar-height) + 8px);
  }
}

/* =============================================================================
   NAV EXPAND BUTTON — Shows when sidebar is collapsed
   ============================================================================= */

.nav-expand {
  position: fixed;
  left: 16px;
  bottom: 16px;
  width: 40px;
  height: 40px;
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #fff;
  background: var(--body-background, #fff);
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, var(--grey-200, #e5e5e5));
  border-radius: 10px;
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08), 0 4px 16px rgba(0, 0, 0, 0.04);
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08), 0 4px 16px rgba(0, 0, 0, 0.04);
  color: #606164;
  color: var(--grey-600-new, var(--grey-600, #606164));
  cursor: pointer;
  -webkit-transition: background 0.12s, border-color 0.12s, color 0.12s, -webkit-box-shadow 0.12s;
  transition: background 0.12s, border-color 0.12s, color 0.12s, -webkit-box-shadow 0.12s;
  transition: background 0.12s, border-color 0.12s, color 0.12s, box-shadow 0.12s;
  transition: background 0.12s, border-color 0.12s, color 0.12s, box-shadow 0.12s, -webkit-box-shadow 0.12s;
  z-index: 100;
}

.nav-expand:hover {
  background: #f5f5f5;
  background: var(--grey-50-new, var(--grey-50, #f8f8f8));
  border-color: #aaabae;
  border-color: var(--grey-300-new, var(--grey-300, #aaabae));
  color: #181818;
  color: var(--grey-900-new, var(--grey-900, #181818));
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12), 0 8px 24px rgba(0, 0, 0, 0.06);
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12), 0 8px 24px rgba(0, 0, 0, 0.06);
}

html[data-theme="dark"] .nav-expand {
  background: #1a2332;
  border-color: rgba(255, 255, 255, 0.1);
  color: #a8b2c7;
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2), 0 4px 16px rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2), 0 4px 16px rgba(0, 0, 0, 0.1);
}

html[data-theme="dark"] .nav-expand:hover {
  background: #232d3f;
  border-color: rgba(255, 255, 255, 0.2);
  color: #fff;
}

@media screen and (min-width: 1024px) {
  .nav-expand:not(.hidden) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

/* =============================================================================
   LIGHT MODE SIDEBAR
   ============================================================================= */

html[data-theme="light"] .sidebar {
  background: #f5f5f5;
  background: var(--grey-50-new, var(--grey-50, #f8f8f8));
  color: #48484a;
  color: var(--grey-700-new, var(--grey-700, #44454a));
}

html[data-theme="light"] .sb-brand-title {
  color: #181818;
  color: var(--grey-900-new, var(--grey-900, #181818));
}

html[data-theme="light"] .sb-brand-sub {
  color: #606164;
  color: var(--grey-600-new, var(--grey-600, #606164));
}

html[data-theme="light"] .sb-search {
  background: #fff;
  border-color: #c3c4c6;
  border-color: var(--grey-200-new, var(--grey-200, #c3c4c6));
}

html[data-theme="light"] .sb-search:hover {
  background: #fff;
  border-color: #aaabae;
  border-color: var(--grey-300-new, var(--grey-300, #aaabae));
}

html[data-theme="light"] .sb-search svg {
  color: #79797d;
  color: var(--grey-500-new, var(--grey-500, #79797d));
}

html[data-theme="light"] .sb-search-text {
  color: #79797d;
  color: var(--grey-500-new, var(--grey-500, #79797d));
}

html[data-theme="light"] .sb-search-kbd kbd {
  background: #dcdcde;
  background: var(--grey-100-new, var(--grey-100, #e9eaeb));
  border-color: #c3c4c6;
  border-color: var(--grey-200-new, var(--grey-200, #c3c4c6));
  color: #606164;
  color: var(--grey-600-new, var(--grey-600, #606164));
}

/* Sidebar Version Selector Wrapper */

.sb-version-wrap {
  padding: 0 14px 12px;
}

.sb-version-wrap:empty {
  display: none;
}

/* Adjust version selector pill styling for sidebar context */

.sb-version-wrap .sm-ver-pill {
  width: 100%;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 8px;
  padding: 8px 10px;
}

.sb-version-wrap .sm-ver-pill:hover {
  background: rgba(255, 255, 255, 0.07);
}

html[data-theme="light"] .sb-version-wrap .sm-ver-pill {
  background: #fff;
  border-color: #c3c4c6;
  border-color: var(--grey-200-new, var(--grey-200, #c3c4c6));
}

html[data-theme="light"] .sb-version-wrap .sm-ver-pill:hover {
  background: #fff;
  border-color: #aaabae;
  border-color: var(--grey-300-new, var(--grey-300, #aaabae));
}

html[data-theme="light"] .nav-list {
  color: #606164;
  color: var(--grey-600-new, var(--grey-600, #606164)); /* Prototype: grey-600 for items */
}

html[data-theme="light"] .nav .item {
  color: #606164;
  color: var(--grey-600-new, var(--grey-600, #606164)); /* Prototype exact */
}

html[data-theme="light"] .nav-list > li > .item:hover {
  background: rgba(79, 70, 229, 0.06);
  background: var(--component-bg-tint, var(--grey-50-new, #f5f5f5));
  color: #181818;
  color: var(--grey-900-new, var(--grey-900, #181818));
}

html[data-theme="light"] .nav-list > li > .is-current-page {
  background: rgba(79, 70, 229, 0.1);
  background: var(--component-bg-tint-hover, var(--indigo-50-new, #eef2ff));
  color: var(--indigo-600-new, #444ce7);
  color: var(--component-color, var(--indigo-600-new, #444ce7));
  font-weight: 500;
}

html[data-theme="light"] .nav-list .is-current-path > div.item:first-child {
  color: #181818;
  color: var(--grey-900-new, var(--grey-900, #181818));
}

html[data-theme="light"] .nav-status-footer {
  background: #f5f5f5;
  background: var(--grey-50-new, var(--grey-50, #f8f8f8));
  border-top-color: #c3c4c6;
  border-top-color: var(--grey-200-new, var(--grey-200, #c3c4c6));
}

/* =============================================================================
   UNIFIED NAVIGATION BUCKETS — Data Platform grouped sidebar
   ============================================================================= */

/* Umbrella nav items (shown at top without bucket header) */

.nav-umbrella {
  margin-bottom: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* Always show umbrella nav items - override the collapse behavior */

.nav-menu .nav-umbrella .nav-item > .nav-list,
.nav-menu .nav-umbrella .nav-item:not(.is-active) > .nav-list {
  display: block !important;
}

/* Hide the empty depth-0 wrapper in umbrella */

.nav-umbrella > .nav-list > .nav-item[data-depth="0"] > .nav-list {
  margin-left: 0;
  border-left: none;
  padding-left: 0;
}

html[data-theme="light"] .nav-umbrella {
  border-bottom-color: #c3c4c6;
  border-bottom-color: var(--grey-200-new, var(--grey-200, #c3c4c6));
}

.nav-bucket {
  position: relative;
  z-index: 1;
  margin-bottom: 4px;
}

.nav-bucket-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 8px;
  -webkit-transition: background 0.12s;
  transition: background 0.12s;
  /* Sticky bucket headers */
  position: sticky;
  top: 0;
  z-index: 5;
  background: #0f1727;
  background: var(--sidebar-bg, #161e2d);
  margin: 0 -10px;
  padding-left: 20px;
  padding-right: 20px;
}

.nav-bucket-header:hover {
  background: color-mix(in sRGB, #0f1727 90%, white);
  background: color-mix(in sRGB, var(--sidebar-bg, #161e2d) 90%, white);
}

html[data-theme="light"] .nav-bucket-header {
  background: #fff;
  background: var(--nav-background, #fff);
}

html[data-theme="light"] .nav-bucket-header:hover {
  background: #dcdcde;
  background: var(--grey-100-new, var(--grey-100, #f0f0f0));
}

.nav-bucket-header.is-current {
  background: color-mix(in sRGB, #0f1727 85%, white);
  background: color-mix(in sRGB, var(--sidebar-bg, #161e2d) 85%, white);
}

html[data-theme="light"] .nav-bucket-header.is-current {
  background: #dcdcde;
  background: var(--grey-100-new, var(--grey-100, #f0f0f0));
}

/* Bucket link - clickable icon + title that navigates to bucket home */

.nav-bucket-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  padding: 0;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

/* Bucket icon container */

.nav-bucket-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background: #54478c;
  background: var(--bucket-color, #54478c);
  color: #fff;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.nav-bucket-icon svg {
  width: 14px;
  height: 14px;
}

/* Bucket title */

.nav-bucket-title {
  font-size: 13px;
  font-weight: 600;
  color: #e8eef6;
  letter-spacing: -0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

html[data-theme="light"] .nav-bucket-title {
  color: #181818;
  color: var(--grey-900-new, var(--grey-900, #181818));
}

/* Bucket expand/collapse caret button - separate from toggle for alignment */

.nav-bucket-caret-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-left: auto;
  border-radius: 4px;
  -webkit-transition: background 0.12s;
  transition: background 0.12s;
}

.nav-bucket-caret-btn:hover {
  background: rgba(255, 255, 255, 0.08);
}

html[data-theme="light"] .nav-bucket-caret-btn:hover {
  background: #c3c4c6;
  background: var(--grey-200-new, var(--grey-200, rgba(0, 0, 0, 0.08)));
}

/* Bucket expand/collapse caret */

.nav-bucket-caret {
  color: #5972a6;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transition: -webkit-transform 0.15s ease;
  transition: -webkit-transform 0.15s ease;
  transition: transform 0.15s ease;
  transition: transform 0.15s ease, -webkit-transform 0.15s ease;
}

html[data-theme="light"] .nav-bucket-caret {
  color: #79797d;
  color: var(--grey-500-new, var(--grey-500, #79797d));
}

/* Rotate caret when bucket is expanded - default is down (180deg when expanded) */

.nav-bucket:not(:has(.nav-bucket-content.is-collapsed)) .nav-bucket-caret {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

/* Bucket content (nav tree container) */

.nav-bucket-content {
  margin-top: 4px;
  margin-left: 12px;
  padding-left: 12px;
  border-left: 2px solid #54478c;
  border-left: 2px solid var(--bucket-color, #54478c);
  opacity: 0.25;
}

.nav-bucket-content.is-collapsed {
  display: none;
}

/* Active bucket has full opacity border */

.nav-bucket-header.is-current + .nav-bucket-content,
.nav-bucket-content:not(.is-collapsed) {
  opacity: 1;
}

/* Per-bucket version selector */

.nav-bucket-version {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

/* When version dropdown is open, elevate the entire bucket above others */

.nav-bucket:has(.nav-bucket-version-btn[aria-expanded="true"]) {
  z-index: 100;
}

/* Fallback for JS-controlled class */

.nav-bucket.is-dropdown-open {
  z-index: 100;
}

.nav-bucket-version-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  padding: 4px 8px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.04);
  color: #a8b2c7;
  font-size: 11px;
  font-weight: 500;
  cursor: pointer;
  -webkit-transition: background 0.12s, border-color 0.12s;
  transition: background 0.12s, border-color 0.12s;
}

.nav-bucket-version-btn:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.15);
}

html[data-theme="light"] .nav-bucket-version-btn {
  border-color: #c3c4c6;
  border-color: var(--grey-200-new, var(--grey-200, #c3c4c6));
  background: #fff;
  color: #48484a;
  color: var(--grey-700-new, var(--grey-700, #44454a));
}

html[data-theme="light"] .nav-bucket-version-btn:hover {
  background: #f5f5f5;
  background: var(--grey-50-new, var(--grey-50, #f5f5f5));
  border-color: #aaabae;
  border-color: var(--grey-300-new, var(--grey-300, #aaabae));
}

.nav-bucket-version-btn svg {
  -webkit-transition: -webkit-transform 0.15s ease;
  transition: -webkit-transform 0.15s ease;
  transition: transform 0.15s ease;
  transition: transform 0.15s ease, -webkit-transform 0.15s ease;
}

.nav-bucket-version-btn[aria-expanded="true"] svg {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

/* Version dropdown menu */

.nav-bucket-version-menu {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  min-width: 100px;
  padding: 6px;
  background: #1a2332;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  -webkit-box-shadow: 0 8px 24px rgba(0, 0, 0, 0.32);
          box-shadow: 0 8px 24px rgba(0, 0, 0, 0.32);
  z-index: 200;
  -webkit-animation: bucketVersionMenuIn 0.15s ease-out;
          animation: bucketVersionMenuIn 0.15s ease-out;
}

@-webkit-keyframes bucketVersionMenuIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(-4px);
            transform: translateY(-4px);
  }

  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes bucketVersionMenuIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(-4px);
            transform: translateY(-4px);
  }

  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

html[data-theme="light"] .nav-bucket-version-menu {
  background: #fff;
  border-color: #c3c4c6;
  border-color: var(--grey-200-new, var(--grey-200, #c3c4c6));
  -webkit-box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.04),
    0 8px 24px rgba(0, 0, 0, 0.12);
          box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.04),
    0 8px 24px rgba(0, 0, 0, 0.12);
}

/* Version dropdown options */

.nav-bucket-version-opt {
  display: block;
  padding: 8px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
  color: #c6cedc;
  text-decoration: none;
  -webkit-transition: background 0.12s;
  transition: background 0.12s;
}

.nav-bucket-version-opt:hover {
  background: rgba(255, 255, 255, 0.05);
  color: #fff;
}

.nav-bucket-version-opt.is-selected {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

html[data-theme="light"] .nav-bucket-version-opt {
  color: #48484a;
  color: var(--grey-700-new, var(--grey-700, #44454a));
}

html[data-theme="light"] .nav-bucket-version-opt:hover {
  background: #f5f5f5;
  background: var(--grey-50-new, var(--grey-50, #f5f5f5));
  color: #181818;
  color: var(--grey-900-new, var(--grey-900, #181818));
}

html[data-theme="light"] .nav-bucket-version-opt.is-selected {
  background: #dcdcde;
  background: var(--grey-100-new, var(--grey-100, #f0f0f0));
  color: #181818;
  color: var(--grey-900-new, var(--grey-900, #181818));
}

/* EOL badge in version dropdown */

.version-eol {
  font-size: 10px;
  font-weight: 600;
  color: #f59e0b;
  margin-left: 4px;
}

html[data-theme="light"] .version-eol {
  color: #d97706;
}

/* Version toggle button - show/hide older versions */

.nav-bucket-version-toggle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  padding: 8px 10px;
  margin-top: 4px;
  border: none;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  background: none;
  font-size: 11px;
  font-weight: 500;
  color: #8098b3;
  text-align: left;
  cursor: pointer;
  -webkit-transition: color 0.12s;
  transition: color 0.12s;
  border-radius: 0 0 6px 6px;
}

.nav-bucket-version-toggle:hover {
  color: #c6cedc;
}

.nav-bucket-version-toggle svg {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-left: 6px;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}

html[data-theme="light"] .nav-bucket-version-toggle {
  border-top-color: #c3c4c6;
  border-top-color: var(--grey-200-new, var(--grey-200, #c3c4c6));
  color: #606164;
  color: var(--grey-600-new, var(--grey-600, #6b6c6f));
}

html[data-theme="light"] .nav-bucket-version-toggle:hover {
  color: #181818;
  color: var(--grey-900-new, var(--grey-900, #181818));
}

/* Older versions container */

.nav-bucket-version-older {
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  padding-top: 4px;
  margin-top: 4px;
}

html[data-theme="light"] .nav-bucket-version-older {
  border-top-color: #c3c4c6;
  border-top-color: var(--grey-200-new, var(--grey-200, #c3c4c6));
}

/* =============================================================================
   NESTED BUCKET SUPPORT — Parent buckets containing child buckets
   ============================================================================= */

/* Children container for nested buckets */

/* Parent bucket with children - subtle distinction */

.nav-bucket:has(.nav-bucket-children) > .nav-bucket-header .nav-bucket-title {
  font-weight: 600;
  letter-spacing: -0.005em;
}

.nav-bucket:has(.nav-bucket-children) > .nav-bucket-header:hover {
  background: color-mix(in sRGB, #0f1727 93%, white);
  background: color-mix(in sRGB, var(--sidebar-bg, #161e2d) 93%, white);
}

html[data-theme="light"] .nav-bucket:has(.nav-bucket-children) > .nav-bucket-header:hover {
  background: #f5f5f5;
  background: var(--grey-50-new, #f9fafb);
}

.nav-bucket-children {
  margin-top: 4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
}

/* Top-level nav items (parent component's own nav before child buckets) */

/* Style the nav items to match bucket content items */

.nav-menu > .nav-list > .nav-item .item {
  font-size: 13px;
  padding: 6px 10px;
  min-height: 28px;
  color: #9daabe;
  border-radius: 6px;
  -webkit-transition: background 0.12s, color 0.12s;
  transition: background 0.12s, color 0.12s;
}

.nav-menu > .nav-list > .nav-item .item:hover {
  background: rgba(122, 145, 176, 0.08);
  color: #c6d4e6;
}

.nav-menu > .nav-list > .nav-item .item.is-current-page {
  background: rgba(122, 145, 176, 0.12);
  color: #ffffff;
  font-weight: 500;
}

html[data-theme="light"] .nav-menu > .nav-list > .nav-item .item {
  color: #48484a;
  color: var(--grey-700-new, #4b4c4e);
}

html[data-theme="light"] .nav-menu > .nav-list > .nav-item .item:hover {
  background: #dcdcde;
  background: var(--grey-100-new, #f0f0f0);
  color: #181818;
  color: var(--grey-900-new, #1a1b1d);
}

html[data-theme="light"] .nav-menu > .nav-list > .nav-item .item.is-current-page {
  background: #c3c4c6;
  background: var(--grey-200-new, #e0e1e2);
  color: #181818;
  color: var(--grey-900-new, #1a1b1d);
  font-weight: 500;
}

/* Add spacing between parent component's nav and child buckets */

.nav-menu > .nav-list + .nav-bucket {
  margin-top: 16px;
}

/* Child buckets - indent and reduce visual weight */

.nav-bucket-children > .nav-bucket {
  margin-left: 24px; /* Indent child buckets */
}

/* Child bucket headers - smaller and less prominent */

.nav-bucket-children > .nav-bucket .nav-bucket-header {
  padding: 4px 8px;
}

/* Child bucket icons - slightly smaller */

.nav-bucket-children > .nav-bucket .nav-bucket-icon {
  width: 20px;
  height: 20px;
  border-radius: 5px;
}

.nav-bucket-children > .nav-bucket .nav-bucket-icon svg {
  width: 12px;
  height: 12px;
}

/* Child bucket titles - slightly smaller font */

.nav-bucket-children > .nav-bucket .nav-bucket-title {
  font-size: 12px;
}

/* Child bucket content - thinner border */

.nav-bucket-children > .nav-bucket .nav-bucket-content {
  border-left-width: 1.5px;
  margin-left: 10px;
  padding-left: 10px;
}

main > .content {
  min-height: 0;
}

main.article {
  min-height: calc(100vh - var(--body-top) - 60px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media screen and (max-width: 1024px) {
  aside.toc.sidebar {
    display: none;
  }

  main > .content {
    overflow-x: auto;
    height: 100%;
  }
}

body.status-404 main > .content {
  min-height: 100vh;
}

.home main {
  background-color: var(--home-background);
}

@media screen and (min-width: 1024px) {
  main {
    margin: 0 auto;
    min-width: 0; /* min-width: 0 required for flexbox to constrain overflowing elements */
  }

  main:not(.labs):not(.home-content) {
    width: 100%;
  }

  .home main {
    margin: 0;
    padding-top: 0;
    width: 100%;
  }

  main.index {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    max-width: unset;
    margin: unset;
  }

  main > .content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    /* display: grid; */
    /* grid-template-columns: 3fr 1fr; */
    gap: 56px; /* Prototype exact value */
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: 1280px; /* Prototype page-wrap max-width */
    width: 100%;
    margin: 0 auto;
    padding: 40px 48px 120px; /* Prototype exact padding */
    /* Prevent CLS by isolating content layout */
    contain: layout;
  }

  aside.toc.embedded {
    display: none;
  }

  aside.toc.sidebar {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

/* Narrow desktop: reduce gap and padding to fit content area */

@media screen and (min-width: 1024px) and (max-width: 1399px) {
  main > .content {
    gap: 32px;
    padding: 32px 32px 80px;
  }
}

@media screen and (min-width: 1400px) {
  aside.toc.sidebar {
    -ms-flex-preferred-size: var(--toc-width--widescreen);
        flex-basis: var(--toc-width--widescreen);
  }

  main > .content {
    gap: 64px; /* Slightly larger gap on wide screens */
  }
}

/* Chat panel overlay - no content push, panel floats over TOC */

/* The .chat-push class is added by JS but we don't modify layout */

main.article.chat-push {
  /* Intentionally empty - chat panel overlays content via position: fixed */
}

.toolbar {
  color: var(--toolbar-font-color);
  background-color: var(--toolbar-background);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: var(--secondary-font-size);
  height: var(--toolbar-height);
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  position: sticky;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  top: calc(var(--navbar-height) + var(--announcement-bar-height));
  z-index: var(--z-index-toolbar);
}

.toolbar a {
  color: inherit;
}

.nav-toggle {
  background: url(../img/menu.svg) no-repeat 50% 47.5%;
  background-size: 49%;
  border: none;
  outline: none;
  line-height: inherit;
  padding: 0;
  height: calc(var(--toolbar-height));
  width: calc(var(--toolbar-height));
  margin-right: -0.25rem;
}

html[data-theme=dark] .nav-toggle {
  -webkit-filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(248deg) brightness(105%) contrast(101%);
          filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(248deg) brightness(105%) contrast(101%);
}

@media screen and (min-width: 1024px) {
  .nav-toggle {
    display: none;
  }

  .toolbar {
    display: none;
  }
}

.nav-toggle.is-active {
  background-image: url(../img/back.svg);
  background-size: 41.5%;
}

/* Ensure toolbar is above nav panel when nav is open */

.toolbar:has(.nav-toggle.is-active) {
  z-index: 10;
}

html[data-theme=dark] .home-link {
  -webkit-filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(248deg) brightness(105%) contrast(101%);
          filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(248deg) brightness(105%) contrast(101%);
}

.edit-this-page {
  display: none;
  padding-right: 0.5rem;
}

@media screen and (min-width: 1024px) {
  .edit-this-page {
    display: block;
  }
}

.toolbar .edit-this-page a {
  color: var(--toolbar-muted-color);
}

.breadcrumbs {
  line-height: var(--nav-line-height);
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 16px;
  margin-bottom: 32px;
}

/* On desktop, hide article-level breadcrumbs (shown in topbar instead) */

@media screen and (min-width: 1024px) {
  article .breadcrumbs,
  .article .breadcrumbs:not(.topbar-crumbs .breadcrumbs) {
    display: none;
  }
}

a + .breadcrumbs {
  padding-left: 0.05rem;
}

.breadcrumbs ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.9rem;
  padding-left: 0 !important;
  margin-left: -0.5rem;
}

.breadcrumbs li {
  display: inline;
  margin: 0;
  min-height: 30px;
}

.breadcrumbs li::after {
  content: "";
  display: inline-block;
  background: url(../img/breadcrumb-chevron.svg) no-repeat center right / auto 100%;
  width: 1.25em;
  margin-right: 10px;
  height: 0.75em;
}

.breadcrumbs li:last-of-type::after {
  content: none;
}

.breadcrumbs li a {
  padding: 7px 0;
  text-decoration: none;
  border: 1px solid rgba(0, 0, 0, 0);
  color: var(--color-aliases-static-palette-text-secondary);
}

.breadcrumbs li:hover a,
.breadcrumbs li:last-child a {
  text-decoration: none;
}

/* Version selector in breadcrumbs */

.breadcrumbs .sm-ver {
  position: relative;
  margin-left: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

/* Adjust pill colors for light background context */

.breadcrumbs .sm-ver-pill {
  background: #f4f4f5;
  background: var(--color-smoke-30, #f4f4f5);
  border-color: #dcdcde;
  border-color: var(--color-smoke-70, #dcdcde);
}

.breadcrumbs .sm-ver-pill:hover {
  background: #e8e8ea;
  background: var(--color-smoke-50, #e8e8ea);
  border-color: #c3c4c6;
  border-color: var(--color-smoke-90, #c3c4c6);
}

.breadcrumbs .sm-ver-pill-label,
.breadcrumbs .sm-ver-pill-num {
  color: #48484a;
  color: var(--color-jet-80, #48484a);
}

.breadcrumbs .sm-ver-pill-caret {
  color: #9ca3af;
  color: var(--color-jet-50, #9ca3af);
}

/* Panel positioning for breadcrumbs context */

.breadcrumbs .sm-ver-panel {
  right: 0;
  left: auto;
}

/* Hide version selector from breadcrumbs on component-home-v3 pages (shown in hero instead) */

.component-home-v3 .breadcrumbs .sm-ver {
  display: none;
}

/* Mobile: Stack version selector below breadcrumbs */

@media screen and (max-width: 768px) {
  .breadcrumbs {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }

  .breadcrumbs ul {
    width: 100%;
    margin-bottom: 8px;
  }

  .breadcrumbs .sm-ver {
    width: 100%;
    margin-left: 0;
  }
}

.toc-menu-dropdown {
  background-color: var(--tabs_hover-background);
  width: 100%;
  padding: 0.4em;
  margin-bottom: 10px;
  margin-top: 10px;
  vertical-align: middle;
  border-radius: 8px 8px 0 0;
}

.toc-menu-dropdown:hover {
  cursor: pointer;
}

.doc .toc-menu-dropdown h3::after {
  content: '';
  background: transparent url(../img/caret.svg) no-repeat center / 100%;
  border: none;
  -webkit-filter: var(--nav-toggle-filter);
          filter: var(--nav-toggle-filter);
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  outline: none;
  line-height: inherit;
  padding: 0;
  height: calc(var(--nav-line-height)*1.5em);
  width: calc(var(--nav-line-height)*1.5em);
}

.doc .toc-menu-dropdown h3 {
  margin: 0;
  font-size: 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.toc .toc-menu-dropdown > .toc-menu a {
  color: var(--toc-font-color);
  border-left: none;
  padding-top: 0.5em;
  padding-right: 0.5em;
  padding-bottom: 0.3em;
  padding-left: 0;
  text-decoration: none;
}

/* Indentation for mobile dropdown - needs higher specificity than base dropdown rule */

.toc .toc-menu-dropdown > .toc-menu li[data-level="2"] a {
  padding-left: 0.75rem;
}

.toc .toc-menu-dropdown > .toc-menu li[data-level="3"] a {
  padding-left: 1.25rem;
}

.toc .toc-menu-dropdown > .toc-menu li[data-level="4"] a {
  padding-left: 1.75rem;
}

.toc .toc-menu-dropdown > .toc-menu li[data-level="5"] a {
  padding-left: 2.25rem;
}

.toc .toc-menu-dropdown > .toc-menu {
  border-top: 1px solid #dadde1;
}

.toc .toc-menu-dropdown > .toc-menu ul {
  padding-left: 0;
}

.toc.sidebar .thumbs {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 0.25rem 0 1rem 1rem;
  margin-top: 1.5rem;
  -ms-flex-negative: 0;
      flex-shrink: 0; /* Don't shrink, stay at bottom */
}

.toc.sidebar .toc-additional-resources {
  padding: 0.25rem 0 0 1rem;
  margin-top: 1.5rem;
}

.toc.sidebar .toc-additional-resources ul {
  margin: 0;
  padding: 0;
}

.toc.sidebar .toc-additional-resources a {
  color: var(--toc-font-color);
  font-size: var(--secondary-font-size);
}

.toc h3 {
  color: var(--toc-heading-font-color);
  font-size: 11px; /* Prototype: 11px */
  font-family: var(--body-font-family-bold);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em; /* Prototype tracking */
  line-height: 1.3;
  margin: 0 0 12px 0; /* Prototype: margin-bottom 12px */
  padding-bottom: 0;
}

.toc.sidebar h3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 2.5rem;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.toc ul {
  line-height: var(--toc-line-height);
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Prototype: toc-list has border-left */

.toc.sidebar .toc-menu > ul {
  border-left: 1px solid var(--grey-100-new, #dcdcde);
  border-left: 1px solid var(--toc-border-color, var(--grey-100-new, #dcdcde));
}

.toc.sidebar ul {
  overflow-x: hidden;
  text-overflow: ellipsis;
}

/* TOC scrollbar - thin and subtle */

@supports (scrollbar-width: thin) {
  .toc.sidebar .toc-menu {
    scrollbar-width: thin;
    scrollbar-color: #c0c0c0 transparent;
    scrollbar-color: var(--scrollbar-thumb-color, #c0c0c0) transparent;
  }
}

.toc.sidebar .toc-menu::-webkit-scrollbar {
  width: 6px;
}

.toc.sidebar .toc-menu::-webkit-scrollbar-track {
  background: transparent;
}

.toc.sidebar .toc-menu::-webkit-scrollbar-thumb {
  background-color: #c0c0c0;
  background-color: var(--scrollbar-thumb-color, #c0c0c0);
  border-radius: 3px;
}

.toc.sidebar .toc-menu::-webkit-scrollbar-thumb:hover {
  background-color: #a0a0a0;
  background-color: var(--scrollbar_hover-thumb-color, #a0a0a0);
}

@media screen and (min-width: 1024px) {
  .toc h3 {
    font-size: var(--secondary-font-size);
  }

  .toc ul {
    font-size: var(--secondary-font-size);
  }

  .toc .toc-menu {
    text-overflow: ellipsis;
    word-wrap: normal;
  }

  .toc.sidebar {
    top: calc(var(--navbar-height) + var(--announcement-bar-height--desktop) + 1rem);
  }
}

.toc li {
  margin: 0;
}

.toc li[data-level="2"] a {
  padding-left: 22px; /* Prototype: 22px for nested */
}

.toc li[data-level="3"] a {
  padding-left: 32px; /* Prototype: additional indent */
  font-size: 12.5px; /* Prototype: smaller for deeper levels */
}

.toc li[data-level="4"] a {
  padding-left: 42px;
  font-size: 12.5px;
}

.toc li[data-level="5"] a {
  padding-left: 52px;
  font-size: 12.5px;
}

.toc a {
  color: var(--toc-font-color);
  border-left: 2px solid transparent; /* Prototype: left border on list */
  display: block;
  padding: 5px 12px; /* Prototype: 5px 12px */
  margin-left: -1px;
  text-decoration: none;
  letter-spacing: -0.0125em; /* Prototype letter-spacing */
  line-height: 1.4;
  -webkit-transition: color 0.1s;
  transition: color 0.1s;
}

.toc .thumbs a {
  border: none;
  padding-left: 0;
}

.sidebar.toc a {
  display: block;
  outline: none;
}

.toc a:hover {
  color: #181818;
  color: var(--grey-900-new, var(--grey-900, #181818)); /* Prototype: grey-900 on hover */
}

.toc a.is-active {
  border-left-color: var(--link-highlight-color);
  color: var(--link-highlight-color);
  font-weight: 500; /* Prototype: active items are bolder */
}

.sidebar.toc a:focus {
  background: var(--panel-background);
}

.toc .is-hidden-toc {
  display: none !important;
}

.toc.sidebar {
  position: sticky;
  top: 80px; /* Prototype: 80px */
  max-height: calc(100vh - 100px); /* Prototype formula */
  font-size: 13px; /* Prototype: 13px */
  font-weight: 400;
  color: var(--toc-font-color);
  max-width: var(--toc-width);
  -webkit-box-flex: 0;
      -ms-flex: 0 0 var(--toc-width);
          flex: 0 0 var(--toc-width);
  word-wrap: break-word;
  /* Reserve space for TOC to prevent CLS when JavaScript populates it */
  min-width: var(--toc-width);
  /* Override sidebar background - TOC should be transparent */
  background: transparent !important;
  padding-top: 4px; /* Prototype padding */
  /* Flexbox layout: menu scrolls, thumbs stays at bottom */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow: hidden; /* Don't scroll the whole sidebar */
}

/* TOC menu scrolls independently, thumbs stays at bottom */

.toc.sidebar .toc-menu {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  overflow-y: auto;
  overflow-x: hidden;
  min-height: 0; /* Required for flex scroll to work */
}

/* Narrow desktop: reduce TOC width to fit content area */

@media screen and (min-width: 1024px) and (max-width: 1349px) {
  .toc.sidebar {
    --toc-width: 180px;

    max-width: 180px;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 180px;
            flex: 0 0 180px;
    min-width: 160px;
  }
}

@media screen and (min-width: 1350px) {
  .toc.sidebar {
    width: var(--toc-width--widescreen);
    max-width: 400px;
  }
}

html {
  scroll-padding-top: calc(var(--navbar-height) + var(--toolbar-height)); /* 114px */
}

.doc {
  color: var(--body-font-color);
  font-size: var(--doc-font-size);
  -ms-hyphens: auto;
      hyphens: auto;
  line-height: var(--doc-line-height);
  padding: 0 1rem 4rem;
  margin-top: 3rem;
  /* Reserve minimum space to prevent CLS */
  min-height: 400px;
  /* Isolate rendering to improve performance */
  contain: layout style paint;
}

.doc ul.index {
  -webkit-padding-start: 1rem;
          padding-inline-start: 1rem;
}

.doc li.index,
.doc p.index {
  margin-top: 1rem;
}

@media screen and (min-width: 1024px) {
  html {
    scroll-padding-top: calc(var(--navbar-height) + 32px); /* 88px */
  }

  .doc {
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
    font-size: var(--doc-font-size--desktop);
    min-width: 0;
    margin-bottom: 0;
    margin-top: 2rem;
    max-width: var(--doc-max-width);
    padding: 0;
    margin-left: 48px;
  }

  .doc.no-toc {
    margin-right: 48px;
  }
}

.doc h1,
.doc h2,
.doc h3,
.doc h4,
.doc h5,
.doc h6 {
  color: var(--heading-font-color);
  font-family: var(--heading-font-family);
  -ms-hyphens: none;
      hyphens: none;
  line-height: 1.2;
  margin: 2rem 0 0;
  font-weight: var(--heading-font-weight);
}

.doc h1 {
  font-size: calc(32/var(--rem-base)*1rem);
  margin-bottom: 0;
  margin-top: 0;
  letter-spacing: -0.025em;
}

/* Component indicator sticky wrapper - contains pill and version selector */

.component-indicator-sticky {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  position: sticky;
  top: 100px;
  top: var(--body-top, 100px);
  z-index: 10;
  padding: 12px 0;
  margin: -12px 0 12px;
  background: #fff;
  background: var(--body-background, #fff);
  overflow: visible;
}

.component-indicator-sticky.is-stuck {
  border-bottom: 1px solid #c3c4c6;
  border-bottom: 1px solid var(--grey-200-new, #e5e5e5);
  padding-bottom: 11px;
  margin-left: -24px;
  margin-right: -24px;
  padding-left: 24px;
  padding-right: 24px;
}

html[data-theme="dark"] .component-indicator-sticky {
  background: var(--body-background);
}

html[data-theme="dark"] .component-indicator-sticky.is-stuck {
  border-bottom-color: rgba(255, 255, 255, 0.1);
}

/* Component indicator pill above page title - matches hero chip styling */

.component-indicator {
  margin-bottom: 0;
}

.component-indicator-sticky .component-indicator {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.component-indicator-pill {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  font-family: "JetBrains Mono"
,
ui-monospace
,
sfmono-regular
,
menlo
,
monospace;
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, monospace);
  font-size: 10.5px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 5px;
  color: #fff;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

/* Version selector inline with component indicator - light background context */

.component-indicator-sticky .sm-ver {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.component-indicator-sticky .sm-ver-pill {
  padding: 4px 10px;
  font-size: 11px;
  background: #dcdcde;
  background: var(--grey-100-new, #f4f4f5);
  border-color: #c3c4c6;
  border-color: var(--grey-200-new, #e5e5e5);
}

.component-indicator-sticky .sm-ver-pill:hover {
  background: #c3c4c6;
  background: var(--grey-200-new, #e5e5e5);
  border-color: #aaabae;
  border-color: var(--grey-300-new, #d4d4d4);
}

.component-indicator-sticky .sm-ver-pill-label {
  display: none;
}

.component-indicator-sticky .sm-ver-pill-num {
  color: #181818;
  color: var(--grey-900-new, #171717);
  font-weight: 600;
}

.component-indicator-sticky .sm-ver-pill-sep {
  display: none;
}

.component-indicator-sticky .sm-ver-pill-status {
  font-weight: 600;
}

.component-indicator-sticky .sm-ver-pill-status[data-status="current"] {
  color: #059669;
}

.component-indicator-sticky .sm-ver-pill-status[data-status="supported"] {
  color: #059669;
}

.component-indicator-sticky .sm-ver-pill-status[data-status="eol"] {
  color: #d97706;
}

.component-indicator-sticky .sm-ver-pill-caret {
  color: #79797d;
  color: var(--grey-500-new, #737373);
}

/* Dark mode overrides */

html[data-theme="dark"] .component-indicator-sticky .sm-ver-pill {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.12);
}

html[data-theme="dark"] .component-indicator-sticky .sm-ver-pill:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.18);
}

html[data-theme="dark"] .component-indicator-sticky .sm-ver-pill-num {
  color: #fff;
}

html[data-theme="dark"] .component-indicator-sticky .sm-ver-pill-status[data-status="current"] {
  color: #6ee7b7;
}

html[data-theme="dark"] .component-indicator-sticky .sm-ver-pill-status[data-status="supported"] {
  color: #a7f3d0;
}

html[data-theme="dark"] .component-indicator-sticky .sm-ver-pill-status[data-status="eol"] {
  color: #fcd34d;
}

html[data-theme="dark"] .component-indicator-sticky .sm-ver-pill-caret {
  color: rgba(255, 255, 255, 0.65);
}

/* Version dropdown panel positioning in sticky header - align left with button */

.component-indicator-sticky .sm-ver-panel {
  left: 0;
  right: auto;
}

/* Status badges (Beta, Limited Availability) in sticky header */

.status-badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 5px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.02em;
  white-space: nowrap;
  cursor: default;
}

.status-badge svg {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.status-badge--beta {
  background: #fef3c7;
  color: #92400e;
  border: 1px solid #fcd34d;
}

.status-badge--la {
  background: #ede9fe;
  color: #5b21b6;
  border: 1px solid #c4b5fd;
}

html[data-theme="dark"] .status-badge--beta {
  background: rgba(251, 191, 36, 0.15);
  color: #fcd34d;
  border-color: rgba(251, 191, 36, 0.3);
}

html[data-theme="dark"] .status-badge--la {
  background: rgba(139, 92, 246, 0.15);
  color: #c4b5fd;
  border-color: rgba(139, 92, 246, 0.3);
}

.status-badge--byoc,
.status-badge--cloud {
  background: #e0f2fe;
  color: #0369a1;
  border: 1px solid #7dd3fc;
}

html[data-theme="dark"] .status-badge--byoc,
html[data-theme="dark"] .status-badge--cloud {
  background: rgba(14, 165, 233, 0.15);
  color: #7dd3fc;
  border-color: rgba(14, 165, 233, 0.3);
}

@media screen and (min-width: 600px) {
  .doc .openblock.side-by-side > .content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }

  .doc .openblock.side-by-side > .content > * {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 10px;
    width: 0;
  }
}

@media screen and (min-width: 769px) {
  .doc h1 {
    font-size: calc(40/var(--rem-base)*1rem);
  }

  .admonitionblock .content a {
    white-space: normal !important; /* Allows links to wrap within admonition blocks */
  }
}

.doc > h2#name + .sectionbody {
  margin-top: 1rem;
}

.doc .sect1 {
  /* Isolate rendering to improve performance */
  contain: layout style;
}

.doc h1.sect0 {
  background: var(--abstract-background);
  font-size: 1.8em;
  margin: 1.5rem -1rem 0;
  padding: 0.5rem 1rem;
}

.doc h2:not(.discrete) {
  font-size: calc(24/var(--rem-base)*1rem);
  margin-left: -1rem;
  margin-right: -1rem;
  padding: 0.4rem 1rem 0.1rem;
  letter-spacing: -0.015em;
}

.doc h3:not(.discrete),
.aa-PreviewTitle {
  font-size: calc(20/var(--rem-base)*1rem);
  font-weight: var(--alt-heading-font-weight);
  letter-spacing: -0.0125em;
}

.doc h4:not(.discrete) {
  font-size: calc(17/var(--rem-base)*1rem);
  font-weight: var(--alt-heading-font-weight);
}

.doc h5:not(.discrete) {
  font-size: calc(16/var(--rem-base)*1rem);
  font-weight: var(--alt-heading-font-weight);
}

.doc h6:not(.discrete) {
  font-size: calc(15/var(--rem-base)*1rem);
  font-weight: var(--alt-heading-font-weight);
}

.doc h1 .anchor,
.doc h2 .anchor,
.doc h3 .anchor,
.doc h4 .anchor,
.doc h5 .anchor,
.doc h6 .anchor,
.doc li .visible-anchor {
  position: absolute;
  text-decoration: none;
  visibility: hidden;
  font-weight: normal;
  margin-left: 0.3rem;
}

.doc h1 .anchor::before,
.doc h2 .anchor::before,
.doc h3 .anchor::before,
.doc h4 .anchor::before,
.doc h5 .anchor::before,
.doc h6 .anchor::before,
.doc li .visible-anchor::before {
  content: "#";
}

.doc h1:hover .anchor,
.doc h2:hover .anchor,
.doc h3:hover .anchor,
.doc h4:hover .anchor,
.doc h5:hover .anchor,
.doc li:hover .visible-anchor {
  visibility: visible;
  cursor: pointer;
}

.doc p,
.doc dl {
  margin: 0;
  -ms-hyphens: none;
      hyphens: none;
}

.doc a,
.doc .glossary-term,
.doc p a > code {
  text-decoration: underline;
  text-underline-offset: 2px;
  -webkit-text-decoration-color: #606164;
          text-decoration-color: #606164;
  -webkit-text-decoration-color: var(--color-aliases-static-palette-text-tertiary);
          text-decoration-color: var(--color-aliases-static-palette-text-tertiary);
  color: var(--body-font-color);
}

.doc a:hover,
.doc .glossary-term:hover,
.doc p a > code:hover {
  color: var(--link-highlight-color);
  -webkit-text-decoration-color: var(--link-highlight-color);
          text-decoration-color: var(--link-highlight-color);
}

.doc .metadata-block span.current-version,
.doc .metadata-block span:not(.current-version):hover {
  color: var(--link-highlight-color);
  font-weight: bold;
  text-decoration: none;
  cursor: pointer;
}

.doc .glossary-term {
  cursor: pointer;
}

.doc a.bare {
  -ms-hyphens: none;
      hyphens: none;
}

/*
.doc a.unresolved {
  color: var(--link_unresolved-font-color);
}
*/

.doc a[href*="//"]:not([href*="docs.redpanda.com"]):not([href*="netlify.app"]):not(section.feedback-section a):not(.aa-ItemIcon a)::after {
  content: url('/_/img/external-link.svg');
  position: relative;
  margin-left: 2px;
  -webkit-filter: var(--external-link-filter);
          filter: var(--external-link-filter);
}

.doc i.fa {
  -ms-hyphens: none;
      hyphens: none;
  font-style: normal;
}

.doc code,
.doc pre {
  -ms-hyphens: none;
      hyphens: none;
  color: var(--code-font-color);
  background: var(--pre-background);
}

.doc p code,
.doc code,
.doc thead code,
.doc .colist > table code {
  color: var(--code-font-color);
  background: var(--pre-background);
  border: 0.1rem solid #0000001a;
  font-weight: lighter;
  border-radius: 0.25em;
  padding: 0.125em 0.25em;
}

/* Code inside pre blocks should not have inline code styling */

.doc pre code,
.doc pre > code {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
}

/* Override Prism.js styles */

.doc code .token.operator,
.doc code .token.url {
  background-color: inherit;
}

.doc pre {
  font-size: 13px;
  line-height: 1.65;
  margin: 0;
  padding: 16px 18px;
  padding-top: 40px; /* Extra space for toolbar */
  color: #303032;
  color: var(--grey-800-new, #1f2937); /* Light mode: dark text */
  overflow-x: auto;
}

html[data-theme="dark"] .doc pre {
  color: #dbe2ee;
}

/* Code blocks: override Prism defaults */

.doc .listingblock pre,
.doc .listingblock pre[class*="language-"],
.doc .listingblock pre.highlight {
  background: transparent !important; /* Inherit from parent .content */
  color: #303032 !important;
  color: var(--grey-800-new, #1f2937) !important; /* Dark text in light mode */
  text-shadow: none !important; /* Remove Prism's light text shadow */
}

/* Dark mode: light text */

html[data-theme="dark"] .doc .listingblock pre,
html[data-theme="dark"] .doc .listingblock pre[class*="language-"],
html[data-theme="dark"] .doc .listingblock pre.highlight {
  color: #dbe2ee !important;
}

.doc pre > code,
.doc details .listingblock .content pre > code {
  padding-bottom: 1rem;
  border: none;
  white-space: pre-wrap;
  font-weight: lighter;
  line-height: 1.7;
}

.doc blockquote {
  margin: 0;
}

/* Lead/intro paragraph - larger font for opening text
   Only applies to the first paragraph in preamble or paragraphs with .lead class. */

.doc .paragraph.lead > p,
.doc #preamble > .sectionbody > .paragraph:first-child > p {
  font-size: 17px;
  line-height: 1.55;
  color: #606164;
  color: var(--grey-600-new, #4b5563);
}

html[data-theme="dark"] .doc .paragraph.lead > p,
html[data-theme="dark"] .doc #preamble > .sectionbody > .paragraph:first-child > p {
  color: #aaabae;
  color: var(--grey-300-new, #d1d5db);
}

.doc .right {
  float: right;
}

.doc .left {
  float: left;
}

.doc .float-gap.right {
  margin: 0 1rem 1rem 0;
}

.doc .float-gap.left {
  margin: 0 0 1rem 1rem;
}

.doc .float-group::after {
  content: "";
  display: table;
  clear: both;
}

.doc .stretch {
  width: 100%;
}

.doc .underline {
  text-decoration: underline;
}

.doc .line-through {
  text-decoration: line-through;
}

.doc .paragraph,
.doc .dlist,
.doc .hdlist,
.doc .olist,
.doc .ulist,
.doc .exampleblock,
.doc .imageblock,
.doc .listingblock,
.doc .literalblock,
.doc .sidebarblock,
.doc .verseblock,
.doc .videoblock,
.doc .quoteblock,
.doc .partintro,
.doc details,
.doc hr {
  margin: 0.6rem 0 0;
}

.paragraph > p {
  margin-top: 1.3rem;
}

.doc li .paragraph > p,
.doc td .paragraph > p {
  margin-top: 0;
}

.doc .ulist.two-column {
  -webkit-column-count: 2;
     -moz-column-count: 2;
          column-count: 2;
}

.doc table.tableblock {
  font-size: calc(17/var(--rem-base)*1rem);
}

.tablecontainer {
  overflow-x: auto;
}

.doc .clippedcontainer table.tableblock thead {
  background: var(--sticky-table-header-background);
  position: sticky;
  top: -1px;
  z-index: var(--z-index-nav);
}

.content .tablecontainer {
  margin-bottom: 1.25em;
}

.content .tablecontainer > table.tableblock {
  margin-bottom: 0;
}

.doc :not(.tablecontainer) > table.tableblock,
.doc :not(.tablecontainer) > table.tableblock + * {
  margin-top: 1.5rem;
}

.doc p.tableblock + p.tableblock {
  margin-top: 0.5rem;
}

.doc td.tableblock > .content > :first-child {
  margin-top: 0;
}

.doc table.tableblock th,
.doc table.tableblock td {
  padding: 0.5rem;
}

.doc table.tableblock,
.doc table.tableblock > * > tr > * {
  border: 0 solid var(--table-border-color);
}

.doc table.tableblock th {
  text-align: center;
}

.doc table.grid-all > * > tr > * {
  border-width: 1px;
}

.doc table.grid-cols > * > tr > * {
  border-width: 0 1px;
}

.doc table.grid-rows > * > tr > * {
  border-width: 1px 0;
}

.doc table.grid-all > thead th,
.doc table.grid-rows > thead th {
  border-bottom-width: 2.5px;
}

.doc table.frame-all {
  border-width: 1px;
}

.doc table.frame-ends {
  border-width: 1px 0;
}

.doc table.frame-sides {
  border-width: 0 1px;
}

.doc table.frame-none > colgroup + * > :first-child > *,
.doc table.frame-sides > colgroup + * > :first-child > * {
  border-top-width: 0;
}

/* NOTE let the grid win in case of frame-none */

.doc table.frame-sides > :last-child > :last-child > * {
  border-bottom-width: 0;
}

.doc table.frame-none > * > tr > :first-child,
.doc table.frame-ends > * > tr > :first-child {
  border-left-width: 0;
}

.doc table.frame-none > * > tr > :last-child,
.doc table.frame-ends > * > tr > :last-child {
  border-right-width: 0;
}

.doc table.stripes-all > tbody > tr,
.doc table.stripes-odd > tbody > tr:nth-of-type(odd),
.doc table.stripes-even > tbody > tr:nth-of-type(even),
.doc table.stripes-hover > tbody > tr:hover,
.doc table.tableblock thead {
  background: var(--table-stripe-background);
}

.doc table.tableblock > tfoot {
  background: var(--table-footer-background);
}

.doc .halign-left {
  text-align: left;
}

.doc .halign-right {
  text-align: right;
}

.doc .halign-center {
  text-align: center;
}

.doc .valign-top {
  vertical-align: top;
}

.doc .valign-bottom {
  vertical-align: bottom;
}

.doc .valign-middle {
  vertical-align: middle;
}

.admonitionblock {
  position: relative;
  margin: 1.4rem 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px; /* Prototype: 12px */
  padding: 14px 16px; /* Prototype: 14px 16px */
  border-radius: 10px; /* Prototype: 10px */
  font-size: 14px; /* Prototype: 14px */
  line-height: 1.55; /* Prototype: 1.55 */
}

.admonitionblock.note {
  background: #eef4ff;
  background: var(--indigo-50-new, #eef2ff); /* Prototype: indigo-50 */
  border: 1px solid #e0eaff;
  border: 1px solid var(--indigo-100-new, #e0e7ff); /* Prototype: indigo-100 */
  color: #2d3282;
  color: var(--indigo-900-new, #312e81); /* Prototype: indigo-900 */
}

.admonitionblock.warning {
  background: #fff7ed; /* Prototype: exact */
  border: 1px solid #fde2b5; /* Prototype: exact */
  color: #7c2d12; /* Prototype: exact */
}

.admonitionblock.tip {
  background: #f2faf6; /* Prototype: exact */
  border: 1px solid #cce9d9; /* Prototype: exact */
  color: #14532d; /* Prototype: exact */
}

.admonitionblock.caution {
  background: #fef2f2; /* Red-based caution */
  border: 1px solid #fecaca; /* Red border */
  color: #7f1d1d; /* Dark red text */
}

.admonitionblock.important {
  background: #fdf4ff; /* Purple-based important */
  border: 1px solid #f5d0fe; /* Purple border */
  color: #581c87; /* Dark purple text */
}

.admonitionblock td.content > :not(.title):first-child,
.admonitionblock td.content > .title + * {
  margin-top: 0;
}

.admonitionblock pre {
  font-size: calc(17/var(--rem-base)*1rem);
}

/* Note - dan - for some bizarre reason tables are used to structure notices, we have to turn all these table elements into block elements to get them to style correctly */

/* I had to change this back to a fixed table layout to avoid the code blocks from escaping the admonition */

.admonitionblock > table {
  table-layout: fixed;
  position: relative;
  width: 100%;
}

.admonitionblock td.content {
  display: block;
  width: 100%;
  word-wrap: anywhere;
  margin-top: 0;
  padding-left: 0; /* No left padding - icon provides gap */
}

.admonitionblock .icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: calc(18/var(--rem-base)*1rem);
  height: 1.25rem;
  line-height: 1;
  font-weight: var(--admonition-label-font-weight);
  margin-top: 1px; /* Prototype: slight offset */
}

.admonitionblock.caution .icon {
  color: #dc2626; /* Red icon for caution */
}

.admonitionblock.important .icon {
  color: #9333ea; /* Purple icon for important */
}

.admonitionblock.note .icon {
  color: #444ce7;
  color: var(--indigo-600-new, #444ce7); /* Prototype: indigo-600 */
}

.admonitionblock.tip .icon {
  color: #059669;
  color: var(--green-600, #059669); /* Prototype: green-600 */
}

.admonitionblock.warning .icon {
  color: #ea580c;
  color: var(--orange-600, #ea580c); /* Prototype: orange-600 */
}

/* Dark mode admonition styles */

html[data-theme="dark"] .admonitionblock.note {
  background: rgba(99, 102, 241, 0.15); /* Indigo tint for dark */
  border-color: rgba(99, 102, 241, 0.3);
  color: #c7d2fe; /* Light indigo text */
}

html[data-theme="dark"] .admonitionblock.tip {
  background: rgba(16, 185, 129, 0.15); /* Green tint for dark */
  border-color: rgba(16, 185, 129, 0.3);
  color: #a7f3d0; /* Light green text */
}

html[data-theme="dark"] .admonitionblock.warning {
  background: rgba(251, 146, 60, 0.15); /* Orange tint for dark */
  border-color: rgba(251, 146, 60, 0.3);
  color: #fed7aa; /* Light orange text */
}

html[data-theme="dark"] .admonitionblock.caution {
  background: rgba(248, 113, 113, 0.15); /* Red tint for dark */
  border-color: rgba(248, 113, 113, 0.3);
  color: #fecaca; /* Light red text */
}

html[data-theme="dark"] .admonitionblock.important {
  background: rgba(192, 132, 252, 0.15); /* Purple tint for dark */
  border-color: rgba(192, 132, 252, 0.3);
  color: #e9d5ff; /* Light purple text */
}

/* Dark mode admonition icon colors - brighter for visibility */

html[data-theme="dark"] .admonitionblock.note .icon {
  color: #818cf8; /* Brighter indigo for dark mode */
}

html[data-theme="dark"] .admonitionblock.tip .icon {
  color: #34d399; /* Brighter green for dark mode */
}

html[data-theme="dark"] .admonitionblock.warning .icon {
  color: #fb923c; /* Brighter orange for dark mode */
}

html[data-theme="dark"] .admonitionblock.caution .icon {
  color: #f87171; /* Brighter red for dark mode */
}

html[data-theme="dark"] .admonitionblock.important .icon {
  color: #c084fc; /* Brighter purple for dark mode */
}

.icon-note::before {
  content: "";
  background: var(--note-icon);
  width: 1.4em;
  margin-right: 5px;
  height: 1.4em;
}

.icon-tip::before {
  content: "";
  background: var(--tip-icon);
  width: 1.4em;
  margin-right: 5px;
  height: 1.4em;
}

.icon-warning::before {
  content: "";
  background: var(--warning-icon);
  width: 1.4em;
  margin-right: 5px;
  height: 1.4em;
}

.icon-caution::before {
  content: "";
  background: var(--caution-icon);
  width: 1.4em;
  margin-right: 5px;
  height: 1.4em;
}

.icon-important::before {
  content: "";
  background: var(--important-icon);
  width: 1.4em;
  margin-right: 5px;
  height: 1.4em;
}

.admonitionblock .icon i {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  font: unset;
}

.admonitionblock .icon i::after {
  content: attr(title);
}

.listingblock .title > * {
  color: var(--body-font-color);
  font-style: initial;
  font-weight: initial;
}

.listingblock .title > code {
  border: none;
}

table code {
  word-wrap: unset;
}

/* When listingblock has a title, wrap with border and radius */

.listingblock:has(.title) {
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e7eb);
  border-radius: 10px;
  overflow: hidden;
}

html[data-theme="dark"] .listingblock:has(.title) {
  border-color: #1c2638;
}

/* Remove border from .content when title exists (parent has it) */

.doc .listingblock:has(.title) > .content {
  border: none !important;
  border-radius: 0 !important;
}

.listingblock .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  margin: 0;
  padding: 8px 14px;
  background: #f5f5f5;
  background: var(--grey-50-new, #f9fafb);
  border-bottom: 1px solid #c3c4c6;
  border-bottom: 1px solid var(--grey-200-new, #e5e7eb);
  font-size: 12px;
  font-style: normal;
  color: #606164;
  color: var(--grey-600-new, #4b5563);
}

html[data-theme="dark"] .listingblock .title {
  background: #0f1727;
  border-bottom-color: #1c2638;
  color: #8098b3;
}

.doc .imageblock,
.doc .videoblock {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.doc .videoblock {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.doc .imageblock.text-left,
.doc .videoblock.text-left {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.doc .imageblock.text-right,
.doc .videoblock.text-right {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.doc .imageblock img,
.doc .imageblock object,
.doc .imageblock svg,
.doc .image > img,
.doc .image > object,
.doc .image > svg {
  display: inline-block;
  height: auto;
  font-size: inherit !important;
  max-width: 100%;
  vertical-align: middle;
  background: white;
  /* Optimize image rendering - use high quality for downscaled images */
  image-rendering: auto;
  /* Isolate image rendering to improve performance */
  contain: layout style;
  /* Prevent CLS from unsized images - use default aspect ratio */
  aspect-ratio: 16 / 9;
}

/* Once image loads, use its natural aspect ratio */

.doc .imageblock img[width][height],
.doc .image > img[width][height] {
  aspect-ratio: auto;
}

.doc .image:not(.left):not(.right) > img {
  margin-top: -0.2em;
}

.doc .videoblock iframe {
  max-width: 100%;
  vertical-align: middle;
}

#preamble .abstract blockquote {
  background: var(--abstract-background);
  border-left: 5px solid var(--abstract-border-color);
  color: var(--abstract-font-color);
  font-size: calc(17/var(--rem-base)*1rem);
  line-height: 1.55;
  padding: 0.75em 1em;
}

.doc .quoteblock,
.doc .verseblock {
  background: var(--quote-background);
  border-left: 5px solid var(--quote-border-color);
  color: var(--quote-font-color);
}

.doc .quoteblock {
  padding: 0.25rem 2rem 1.25rem;
}

.doc .quoteblock .attribution {
  color: var(--quote-attribution-font-color);
  font-size: calc(17/var(--rem-base)*1rem);
  margin-top: 0.75rem;
}

.doc .quoteblock blockquote {
  margin-top: 1rem;
}

.doc .quoteblock .paragraph {
  font-style: italic;
}

.doc .quoteblock cite {
  padding-left: 1em;
}

.doc .verseblock {
  font-size: 1.15em;
  padding: 1rem 2rem;
}

.doc .verseblock pre {
  font-family: inherit;
  font-size: inherit;
}

.doc ol,
.doc ul {
  margin: 0;
  padding: 0 0 0 2rem;
}

.doc ul.checklist,
.doc ul.none,
.doc ol.none,
.doc ul.no-bullet,
.doc ol.unnumbered,
.doc ul.unstyled,
.doc ol.unstyled {
  list-style-type: none;
}

.doc ul.no-bullet,
.doc ol.unnumbered {
  padding-left: 1.25rem;
}

.doc ul.unstyled,
.doc ol.unstyled {
  padding-left: 0;
}

.doc ul.circle {
  list-style-type: circle;
}

.doc ul.disc {
  list-style-type: disc;
}

.doc ul.square {
  list-style-type: square;
}

.doc ul.circle ul:not([class]),
.doc ul.disc ul:not([class]),
.doc ul.square ul:not([class]) {
  list-style: inherit;
}

.doc ol.arabic {
  list-style-type: decimal;
}

.doc ol.decimal {
  list-style-type: decimal-leading-zero;
}

.doc ol.loweralpha {
  list-style-type: lower-alpha;
}

.doc ol.upperalpha {
  list-style-type: upper-alpha;
}

.doc ol.lowerroman {
  list-style-type: lower-roman;
}

.doc ol.upperroman {
  list-style-type: upper-roman;
}

.doc ol.lowergreek {
  list-style-type: lower-greek;
}

.doc ul.checklist {
  padding-left: 1.75rem;
}

.doc ul.checklist p > i.fa-check-square-o:first-child,
.doc ul.checklist p > i.fa-square-o:first-child {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 1.25rem;
  margin-left: -1.25rem;
}

.doc ul.checklist i.fa-check-square-o::before {
  content: "\2713";
}

.doc ul.checklist i.fa-square-o::before {
  content: "\274f";
}

.doc .dlist .dlist,
.doc .dlist .olist,
.doc .dlist .ulist,
.doc .olist .dlist,
.doc .olist .olist,
.doc .olist .ulist,
.doc .ulist .dlist,
.doc .ulist .olist,
.doc .ulist .ulist {
  margin-top: 0.5rem;
}

.doc .olist li + li,
.doc .ulist li + li {
  margin-top: 0.5rem;
}

.doc .ulist .listingblock,
.doc .olist .listingblock,
.admonitionblock .listingblock {
  padding: 0;
}

.admonitionblock .title {
  font-weight: bold;
}

.doc summary .title {
  border-bottom: 0;
  background-color: none;
}

.doc .videoblock .title,
.doc .tableblock caption {
  color: var(--caption-font-color);
  font-size: calc(18/var(--rem-base)*1rem);
  font-style: var(--caption-font-style);
  font-weight: var(--caption-font-weight);
  -ms-hyphens: none;
      hyphens: none;
  letter-spacing: 0.01em;
  border-bottom: 7px solid #dadde1;
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
  margin-bottom: -0.75rem;
  padding: 1rem;
  background-color: var(--caption-background-color);
}

/* immediate sibling of an element with the class title, where this title class element is a direct child of a td element with the class content */

.admonitionblock td.content > .title + * {
  margin-top: 20px;
}

.doc .tableblock caption {
  text-align: left;
  margin-bottom: 0;
  border-bottom: 1px solid #dadde1;
}

.doc .imageblock .title {
  margin-top: 0.5rem;
  padding-bottom: 0;
}

.doc details > summary.title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  border-radius: 10px;
  line-height: var(--doc-line-height);
  background: none;
  color: var(--body-font-color);
  font-weight: 500;
  padding-left: 0;
  padding-top: 0;
  padding-bottom: 0;
  border-bottom: none;
  margin-bottom: 0;
}

.doc details > summary::-webkit-details-marker {
  display: none;
}

details[open] > summary {
  padding-bottom: 16px;
}

.doc details > summary::after {
  content: "";
  background: url(../img/nav-tree-chevron.svg) no-repeat center right / auto 100%;
  width: 1em;
  height: 1.2em;
  position: absolute;
  right: 0;
}

.doc details[open] > summary::after {
  border-color: currentColor transparent transparent;
  border-width: 0.5rem 0.3rem 0;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.doc details {
  margin: 0.5rem 0;
  background-color: var(--accordian-background);
  -webkit-box-shadow: 0 1px 2px 0 #0000001a;
          box-shadow: 0 1px 2px 0 #0000001a;
  padding: 16px 24px;
  border-radius: 8px 8px 0 0;
}

.doc details.result {
  margin-top: 0.25rem;
}

.doc details.result > summary {
  color: var(--caption-font-color);
  font-style: italic;
  margin-bottom: 0;
}

.doc details.result > .content {
  margin-left: -1rem;
}

.doc .exampleblock > .content,
.doc details.result > .content {
  background: var(--example-background);
  border: 0.25rem solid var(--example-border-color);
  border-radius: 0.5rem;
  padding: 0.75rem;
}

.doc .exampleblock > .content::after,
.doc details.result > .content::after {
  content: "";
  display: table;
  clear: both;
}

.doc .exampleblock > .content > :first-child,
.doc details > .content > :first-child {
  margin-top: 0;
}

.doc .sidebarblock {
  background: var(--sidebar-background);
  border-radius: 0.75rem;
  padding: 0.75rem 1.5rem;
}

.doc .sidebarblock > .content > .title {
  font-size: calc(22.5/var(--rem-base)*1rem);
  font-weight: var(--alt-heading-font-weight);
  line-height: 1.3;
  margin-bottom: -0.3em;
  text-align: center;
}

.doc .sidebarblock > .content > :not(.title):first-child {
  margin-top: 0;
}

/* Availability block - shows platform support (Cloud, BYOC, etc.) */

.doc .sidebarblock.availability-block,
.doc .availability-block {
  background: var(--note-background);
  background: var(--availability-block-background, var(--note-background));
  border-left: 4px solid var(--note-border-color);
  border-left: 4px solid var(--availability-block-border, var(--note-border-color));
  border-radius: 0;
  padding: 0.5rem 1rem;
  margin-bottom: 1.5rem;
  font-size: 0.9em;
}

.doc .sidebarblock.availability-block > .content,
.doc .availability-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}

.doc .sidebarblock.availability-block > .content > p,
.doc .availability-block > p {
  margin: 0;
}

.doc .availability-block .availability-info {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: 0.5rem;
  cursor: help;
  color: var(--note-border-color);
  color: var(--availability-block-border, var(--note-border-color));
  vertical-align: middle;
}

.doc .availability-block .availability-info:hover,
.doc .availability-block .availability-info:focus {
  color: var(--link-font-color);
}

.doc .availability-block .availability-info svg {
  display: block;
}

/* NEEDS REVIEW prevent pre in table from causing article to exceed bounds */

.doc .tableblock pre,
.doc .listingblock.wrap pre {
  white-space: pre-wrap;
}

.doc pre.highlight code,
.doc .listingblock pre:not(.highlight),
.doc .literalblock pre {
  background: transparent; /* Inherit from dark parent container */
  display: block;
  overflow-x: auto;
  font-weight: 300;
}

.doc div.no-wrap pre code {
  white-space: pre !important;
  overflow-x: auto !important;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
}

.doc .literalblock pre {
  padding-left: 1em;
}

.badge-button {
  padding: 0 8px 0 8px;
  border: 1px solid var(--toolbar-border-color);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: var(--link-highlight-color);
  border-radius: 5px;
  font-size: medium;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  margin-top: 15px;
  margin-bottom: 15px;
}

.badge-button:hover {
  background-color: var(--link-highlight-color);
  color: white;
  cursor: pointer;
}

.badge-button img {
  margin-left: 5px;
  margin-bottom: -2px;
  -webkit-filter: var(--svg-dark-mode-filter);
          filter: var(--svg-dark-mode-filter);
}

.doc .two-column-grid {
  display: grid;
  grid-template-columns: 0.5fr 0.5fr 0.5fr;
}

.doc .component-card {
  background-color: var(--panel-background);
  border: 1px solid var(--page-version-menu-background);
  border-radius: 0.4rem;
  display: inline-block;
  margin: 3px;
  padding: 0.3em 0.3em;
  color: var(--body-font-color);
  text-decoration: none;
}

.doc .component-card:hover {
  color: var(--link-highlight-color);
  text-decoration: none;
}

.doc .choices {
  overflow: visible;
  border-radius: 10px;
  margin-bottom: 0;
  -webkit-box-flex: 0.5;
      -ms-flex: 0.5;
          flex: 0.5;
}

.doc .choices:first-of-type {
  -webkit-box-flex: 100%;
      -ms-flex: 100%;
          flex: 100%;
}

.doc .metadata-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 1.3rem;
  gap: 6px;
  border-radius: 6px;
  background-color: var(--note-background);
  color: var(--note-on-color);
}

.doc .metadata-block .choices {
  -webkit-box-flex: 0.3;
      -ms-flex: 0.3;
          flex: 0.3;
}

.metadata-block .choices__list--dropdown .choices__item,
.metadata-block .choices__list[aria-expanded] .choices__item {
  padding: 5px 0 0 5px !important;
  height: 30px;
}

.doc .tableblock td .enterprise-label-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.doc .tableblock td .enterprise-label {
  background-color: var(--redpanda-1000);
  color: #fff;
  padding: 0.2em 0.2em;
  line-height: normal;
  border-radius: 3px;
  font-size: calc(17/var(--rem-base)*1rem);
}

.doc .inline-enterprise-label {
  background-color: var(--redpanda-1000);
  color: #fff;
  padding: 0.2em 0.2em;
  border-radius: 3px;
  font-size: calc(17/var(--rem-base)*1rem);
}

.doc .tableblock td .enterprise-label-container:hover,
.doc .tableblock td .enterprise-label {
  cursor: pointer;
}

.doc .choices__inner {
  background-color: var(--body-background);
  min-height: unset;
  border-radius: 4px;
}

.doc .metadata-block .choices__inner {
  height: 30px;
  padding: unset;
}

.doc .choices__input {
  background-color: var(--body-background);
}

.doc .tableblock .choices__list--single {
  padding: 0;
}

.doc .tableblock .choices__list--dropdown,
.doc .tableblock .choices__list[aria-expanded],
.doc .choices__list--dropdown,
.doc .choices__list[aria-expanded="true"] {
  background-color: var(--body-background);
  color: var(--body-font-color);
}

.doc .page-type-dropdown .choices[data-type*=select-one] .choices__inner {
  padding: 0;
}

.doc .page-type-dropdown {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 10px;
  gap: 5px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.doc .page-type-dropdown .choices {
  -webkit-box-flex: 0.3;
      -ms-flex: 0.3;
          flex: 0.3;
}

.back-to-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 150px;
}

.doc .button-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  margin-top: 10px;
  margin-bottom: 10px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.doc .doc-button {
  border: 1px solid rgba(128, 152, 249, 1);
  padding: 6px 8px;
  background: rgba(68, 76, 231, 0);
  border-radius: 6px;
  color: var(--body-font-color);
  margin-top: 0;
  cursor: pointer;
  font-size: 14px;
  -webkit-transition: 'background 0.3s';
  transition: 'background 0.3s';
}

.doc .doc-button:hover {
  background: rgba(68, 76, 231, 0.06);
  color: var(--body-font-color);
}

html[data-theme=dark] .doc .doc-button:hover {
  background: rgba(68, 76, 231);
  color: var(--body-font-color);
}

.button-arrow-up:hover::after {
  background-image: url(../img/arrow-cta-hover.svg);
  top: -6px;
}

.button-arrow-up::after,
.button-arrow-up:hover::after {
  height: 15px;
  margin-left: 4px;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
  width: 18px;
}

.button-arrow-up::after {
  background-image: url(../img/arrow-cta.svg);
  background-position: -1px 0;
  background-repeat: no-repeat;
  content: "";
  display: inline-block;
  position: relative;
  top: 0;
  -webkit-transition: top 0.5s ease-in-out;
  transition: top 0.5s ease-in-out;
}

.button-arrow:active,
.button-arrow:focus,
.button-arrow:hover {
  color: var(--link_hover-font-color);
  text-decoration: none;
}

a.button-arrow {
  color: var(--link-highlight-color);
  text-decoration: none;
}

.doc .choices__list--dropdown .choices__item--selectable.is-highlighted,
.doc .choices__list[aria-expanded] .choices__item--selectable.is-highlighted {
  background-color: var(--panel-background);
}

.doc .choices__placeholder {
  opacity: 9;
  font-size: 14px;
}

.doc .type-dropdown {
  border-radius: 10px;
  padding: 5px;
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  border: 1px solid #ccc;
  background-color: var(--body-background);
  color: var(--body-font-color);
}

@media (max-width: 768px) {
  .doc .choices {
    width: 100%; /* Ensure inputs take full width on small screens */
  }
}

.doc .tableblock.component-table {
  margin-top: 1rem;
}

img.dark-mode-filter,
.nav .nav-image img.dark-mode-filter {
  -webkit-filter: var(--svg-dark-mode-filter);
          filter: var(--svg-dark-mode-filter);
}

.doc .nav-image,
.nav .nav-image {
  color: inherit;
  padding-left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.doc .nav-image::after,
.nav .nav-image::after {
  content: none !important;
}

.badge-button a:hover {
  text-decoration: none;
  color: white;
}

.badge-button a {
  color: inherit;
  text-decoration: none;
}

.badge-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}

.doc .dropdown {
  position: relative;
  display: inline-block;
  cursor: pointer;
  font-size: medium;
}

.doc .terminal-icon {
  width: 20px;
  height: 18px;
  border: 1px solid black;
  position: relative;
  border-radius: 3px;
  background-color: #333;
}

.doc .terminal-icon::after {
  content: '>_';
  color: white;
  font-size: 10px;
  position: absolute;
  left: 3px;
  bottom: 2px;
}

.doc .dropdown ul {
  display: none;
  position: absolute;
  list-style: none;
  padding: 0;
  margin: 0;
  background-color: #f9f9f9;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-height: 200px;
  -webkit-box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
  z-index: var(--z-index-page-version-menu);
  overflow-y: auto;
  -webkit-animation: slideDown 0.3s ease-out;
          animation: slideDown 0.3s ease-out;
}

.doc .dropdown ul::-webkit-scrollbar {
  width: 5px;
}

.doc .dropdown ul::-webkit-scrollbar-track {
  background: #f1f1f1;
}

.doc .dropdown ul::-webkit-scrollbar-thumb {
  background: #888;
}

.doc .dropdown ul::-webkit-scrollbar-thumb:hover {
  background: #555;
}

@-webkit-keyframes slideDown {
  from {
    opacity: 0;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }

  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes slideDown {
  from {
    opacity: 0;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }

  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

.doc .dropdown ul li a {
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
}

.doc .dropdown ul li a:hover {
  background-color: #f1f1f1;
}

.doc .dropdown:hover ul {
  display: block;
}

.doc .dropdown ul li {
  border-bottom: 1px solid #f1f1f1;
  cursor: pointer;
}

/* Only apply background to standalone code elements, not code inside pre */

code[class*=language-]:not(pre code),
pre[class*=language-] {
  color: var(--code-font-color) !important;
  font-size: calc(17/var(--rem-base)*1rem) !important;
  background: var(--pre-background) !important;
  white-space: pre-wrap !important;
  margin-top: 0 !important;
  font-weight: lighter !important;
}

/* Code inside pre should have transparent background */

pre code[class*=language-] {
  background: transparent !important;
}

pre.code-first-child {
  padding-bottom: 0 !important;
}

html[data-theme=dark] code[class*=language-],
html[data-theme=dark] pre[class*=language-] {
  text-shadow: none !important;
  background-color: var(--pre-background) !important;
}

html[data-theme=dark] code[class*=language-] .token.boolean,
html[data-theme=dark] code[class*=language-] .token.constant,
html[data-theme=dark] code[class*=language-] .token.deleted,
html[data-theme=dark] code[class*=language-] .token.number,
html[data-theme=dark] code[class*=language-] .token.property,
html[data-theme=dark] code[class*=language-] .token.symbol,
html[data-theme=dark] code[class*=language-] .token.tag {
  color: #fbc02d !important;
}

html[data-theme=dark] code[class*=language-] .token.attr-name,
html[data-theme=dark] code[class*=language-] .token.builtin,
html[data-theme=dark] code[class*=language-] .token.char,
html[data-theme=dark] code[class*=language-] .token.inserted,
html[data-theme=dark] code[class*=language-] .token.selector,
html[data-theme=dark] code[class*=language-] .token.string {
  color: #9ccc65 !important;
}

html[data-theme=dark] code[class*=language-] .token.atrule,
html[data-theme=dark] code[class*=language-] .token.attr-value,
html[data-theme=dark] code[class*=language-] .token.keyword {
  color: #78d9ec !important;
}

html[data-theme=dark] code[class*=language-] .token.class-name,
html[data-theme=dark] code[class*=language-] .token.function {
  color: #d7aefb;
}

/* Code blocks: Light mode has light background with border */

.doc .listingblock > .content {
  position: relative;
  background: #f5f5f5;
  background: var(--grey-50-new, #f9fafb);
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e7eb);
}

/* Dark mode: dark background */

html[data-theme="dark"] .doc .listingblock > .content {
  background: #0f1727;
  border-color: #1c2638;
}

.doc .source-toolbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  visibility: hidden;
  position: absolute;
  top: 8px;
  right: 14px;
  color: #79797d;
  color: var(--grey-500-new, #6b7280); /* Light mode */
  font-family: var(--body-font-family);
  font-size: 11px;
  line-height: 1.5;
  white-space: nowrap;
  z-index: 1;
}

html[data-theme="dark"] .doc .source-toolbox {
  color: #a8b2c7;
}

.doc .listingblock:hover .source-toolbox {
  visibility: visible;
}

/* Show toolbox when any child has focus (keyboard navigation) */

.doc .listingblock:focus-within .source-toolbox {
  visibility: visible;
}

.doc .source-toolbox .source-lang {
  font-family: monospace;
  font-family: var(--body-font-family-mono, monospace);
  font-size: 11px;
  color: #79797d;
  color: var(--grey-500-new, #6b7280); /* Light mode */
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

html[data-theme="dark"] .doc .source-toolbox .source-lang {
  color: #a8b2c7;
}

.doc .source-toolbox > :not(:last-child)::after {
  content: "";
  display: none;
}

.doc .source-toolbox .run-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: none;
  border: none;
  color: inherit;
  outline: none;
  font-size: inherit;
  text-transform: uppercase;
  letter-spacing: 0.075em;
  padding: 0;
  line-height: inherit;
}

.doc .source-toolbox .copy-button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  background: transparent;
  border: 1px solid #aaabae;
  border: 1px solid var(--grey-300-new, #d1d5db); /* Light mode border */
  color: #606164;
  color: var(--grey-600-new, #4b5563); /* Light mode text */
  outline: none;
  padding: 4px 8px;
  font-size: 11px;
  font-family: var(--body-font-family);
  line-height: inherit;
  cursor: pointer;
  border-radius: 5px;
  -webkit-transition: background 0.12s, color 0.12s;
  transition: background 0.12s, color 0.12s;
}

.doc .source-toolbox .copy-button:hover {
  background: #dcdcde;
  background: var(--grey-100-new, #f3f4f6); /* Light mode hover */
  color: #181818;
  color: var(--grey-900-new, #111827);
}

html[data-theme="dark"] .doc .source-toolbox .copy-button {
  border-color: rgba(255, 255, 255, 0.08);
  color: #a8b2c7;
}

html[data-theme="dark"] .doc .source-toolbox .copy-button:hover {
  background: rgba(255, 255, 255, 0.04);
  color: #fff;
}

.doc .source-toolbox .copy-icon {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 20px;
  height: 20px;
}

.doc .source-toolbox .copy-icon rect {
  stroke: currentColor;
  -webkit-transition: stroke 0.2s ease;
  transition: stroke 0.2s ease;
}

.doc .source-toolbox .copy-button:hover .copy-icon rect {
  stroke: rgb(225, 66, 37);
}

.doc .source-toolbox .copy-toast {
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  margin-top: 0.5rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: var(--body-font-color);
  border-radius: 0.25em;
  padding: 0.5em;
  color: var(--body-background);
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease 0.5s;
  transition: opacity 0.5s ease 0.5s;
  z-index: 10;
}

.doc .source-toolbox .copy-toast::after {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  border: 0.4em solid transparent;
  border-bottom-color: var(--body-font-color);
}

.doc .source-toolbox .copy-button.clicked .copy-toast {
  opacity: 1;
  -webkit-transition: none;
  transition: none;
}

.doc .source-toolbox .ask-ai-button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: none;
  border: none;
  color: inherit;
  outline: none;
  padding: 0;
  font-size: inherit;
  line-height: inherit;
  cursor: pointer;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.doc .source-toolbox .ask-ai-icon {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 20px;
  height: 20px;
}

.doc .source-toolbox .ask-ai-icon path {
  fill: currentColor;
  -webkit-transition: fill 0.2s ease;
  transition: fill 0.2s ease;
}

.doc .source-toolbox .ask-ai-button:hover .ask-ai-icon path {
  fill: rgb(225, 66, 37);
}

.doc .language-console .hljs-meta {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.doc .dlist dt {
  font-style: italic;
}

.doc .dlist dd {
  margin: 0 0 0.25rem 1.5rem;
}

.doc .dlist dd:last-of-type {
  margin-bottom: 0;
}

.doc td.hdlist1,
.doc td.hdlist2 {
  padding: 0.5rem 0 0;
  vertical-align: top;
}

.doc tr:first-child > .hdlist1,
.doc tr:first-child > .hdlist2 {
  padding-top: 0;
}

.doc td.hdlist1 {
  font-family: var(--body-font-family-bold);
  padding-right: 0.25rem;
}

.doc td.hdlist2 {
  padding-left: 0.25rem;
}

.doc .colist {
  font-size: calc(18/var(--rem-base)*1rem);
  margin: 0.25rem 0 -0.25rem;
}

.doc .colist > table > tr > :first-child,
.doc .colist > table > tbody > tr > :first-child {
  padding: 0.25em 0.5rem 0;
  vertical-align: top;
}

.doc .colist > table > tr > :last-child,
.doc .colist > table > tbody > tr > :last-child {
  padding: 0.25rem 0;
}

.doc .conum[data-value] {
  border: 1px solid currentColor;
  border-radius: 100%;
  display: inline-block;
  font-family: var(--body-font-family);
  font-weight: 500;
  font-size: calc(13.5/var(--rem-base)*1rem);
  font-style: normal;
  line-height: 1.1;
  text-align: center;
  width: 1.25em;
  height: 1.25em;
  letter-spacing: -0.25ex;
  text-indent: -0.25ex;
  color: var(--body-font-color);
  margin-left: 4px;
}

.doc .conum[data-value]::after {
  content: attr(data-value);
}

.doc .conum[data-value] + b {
  display: none;
}

.doc hr {
  border: solid var(--section-divider-color);
  border-width: 2px 0 0;
  height: 0;
}

.doc b.button {
  white-space: nowrap; /* effectively ignores hyphens setting */
}

.doc b.button::before {
  content: "[";
  padding-right: 0.25em;
}

.doc b.button::after {
  content: "]";
  padding-left: 0.25em;
}

.doc kbd {
  display: inline-block;
  font-size: calc(13/var(--rem-base)*1rem);
  background: var(--kbd-background);
  border: 1px solid var(--kbd-border-color);
  border-radius: 0.25em;
  -webkit-box-shadow: 0 1px 0 var(--kbd-border-color), 0 0 0 0.1em var(--body-background) inset;
          box-shadow: 0 1px 0 var(--kbd-border-color), 0 0 0 0.1em var(--body-background) inset;
  padding: 0.25em 0.5em;
  vertical-align: text-bottom;
  white-space: nowrap; /* effectively ignores hyphens setting */
}

.doc kbd,
.doc .keyseq {
  line-height: 1;
}

.doc .keyseq {
  font-size: var(--body-font-size);
}

.doc .keyseq kbd {
  margin: 0 0.125em;
}

.doc .keyseq kbd:first-child {
  margin-left: 0;
}

.doc .keyseq kbd:last-child {
  margin-right: 0;
}

.doc .menuseq,
.doc .path {
  -ms-hyphens: none;
      hyphens: none;
}

.doc .menuseq i.caret::before {
  content: "\203a";
  font-size: 1.1em;
  font-family: var(--body-font-family-bold);
  line-height: 0.90909;
}

.doc :not(pre).nowrap {
  white-space: nowrap;
}

.doc .nobreak {
  -ms-hyphens: none;
      hyphens: none;
  word-wrap: normal;
}

#footnotes {
  font-size: 0.85em;
  line-height: 1.5;
  margin: 2rem -0.5rem 0;
}

.doc td.tableblock > .content #footnotes {
  margin: 2rem 0 0;
}

#footnotes hr {
  border-top-width: 1px;
  margin-top: 0;
  width: 20%;
}

#footnotes .footnote {
  margin: 0.5em 0 0 1em;
}

#footnotes .footnote + .footnote {
  margin-top: 0.25em;
}

#footnotes .footnote > a:first-of-type {
  display: inline-block;
  margin-left: -2em;
  text-align: right;
  width: 1.5em;
}

/* =============================================================================
   CARD GRID — For landing pages using AsciiDoc roles
   Usage: [.card-grid] wrapping [.card] sections
   ============================================================================= */

.doc .card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin: 2rem 0;
}

.doc .card-grid .card {
  background: #f5f5f5;
  background: var(--grey-50-new, #f9fafb);
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e7eb);
  border-radius: 12px;
  padding: 24px;
  -webkit-transition: border-color 0.15s, -webkit-box-shadow 0.15s;
  transition: border-color 0.15s, -webkit-box-shadow 0.15s;
  transition: border-color 0.15s, box-shadow 0.15s;
  transition: border-color 0.15s, box-shadow 0.15s, -webkit-box-shadow 0.15s;
}

.doc .card-grid .card:hover {
  border-color: #444ce7;
  border-color: var(--component-600, var(--indigo-600-new, #4f46e5));
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.doc .card-grid .card h3,
.doc .card-grid .card .title {
  font-size: 18px;
  font-weight: 600;
  color: var(--heading-font-color);
  margin: 0 0 12px;
  letter-spacing: -0.01em;
}

.doc .card-grid .card p {
  font-size: 14px;
  color: #606164;
  color: var(--grey-600-new, #4b5563);
  line-height: 1.5;
  margin: 0 0 16px;
}

.doc .card-grid .card ul {
  font-size: 14px;
  color: #606164;
  color: var(--grey-600-new, #4b5563);
  margin: 0 0 16px;
  padding-left: 1.25rem;
}

.doc .card-grid .card li {
  margin-bottom: 6px;
}

.doc .card-grid .card a.button,
.doc .card-grid .card a[role="button"] {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  padding: 10px 16px;
  background: #444ce7;
  background: var(--component-600, var(--indigo-600-new, #4f46e5));
  color: #fff;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  -webkit-transition: opacity 0.15s;
  transition: opacity 0.15s;
}

.doc .card-grid .card a.button:hover,
.doc .card-grid .card a[role="button"]:hover {
  opacity: 0.9;
  text-decoration: none;
}

/* Dark mode card grid */

html[data-theme="dark"] .doc .card-grid .card {
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(255, 255, 255, 0.1);
}

html[data-theme="dark"] .doc .card-grid .card:hover {
  border-color: #6172f3;
  border-color: var(--component-500, var(--indigo-500-new, #6172f3));
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.24);
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.24);
}

html[data-theme="dark"] .doc .card-grid .card h3,
html[data-theme="dark"] .doc .card-grid .card .title {
  color: #fff;
}

html[data-theme="dark"] .doc .card-grid .card p,
html[data-theme="dark"] .doc .card-grid .card ul {
  color: #919295;
  color: var(--grey-400-new, #9ca3af);
}

/* =============================================================================
   LINK CARDS — Simpler card style for navigation links
   Usage: [.link-cards] wrapping [.link-card] sections
   ============================================================================= */

.doc .link-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
  margin: 1.5rem 0;
}

.doc .link-cards .link-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  background: #f5f5f5;
  background: var(--grey-50-new, #f9fafb);
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e7eb);
  border-radius: 10px;
  padding: 16px;
  -webkit-transition: border-color 0.12s, background 0.12s;
  transition: border-color 0.12s, background 0.12s;
}

.doc .link-cards .link-card:hover {
  border-color: #aaabae;
  border-color: var(--grey-300-new, #d1d5db);
  background: #fff;
}

.doc .link-cards .link-card h4,
.doc .link-cards .link-card .title {
  font-size: 15px;
  font-weight: 600;
  color: var(--heading-font-color);
  margin: 0 0 4px;
}

.doc .link-cards .link-card p {
  font-size: 13px;
  color: #606164;
  color: var(--grey-600-new, #4b5563);
  line-height: 1.4;
  margin: 0;
}

/* Dark mode link cards */

html[data-theme="dark"] .doc .link-cards .link-card {
  background: rgba(255, 255, 255, 0.02);
  border-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .doc .link-cards .link-card:hover {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.15);
}

html[data-theme="dark"] .doc .link-cards .link-card h4,
html[data-theme="dark"] .doc .link-cards .link-card .title {
  color: #fff;
}

html[data-theme="dark"] .doc .link-cards .link-card p {
  color: #919295;
  color: var(--grey-400-new, #9ca3af);
}

nav.pagination {
  margin-top: 48px; /* Prototype: 48px */
  display: grid;
  grid-template-columns: 1fr 1fr; /* Prototype: two columns */
  gap: 14px; /* Prototype: 14px */
  border-top: none;
  padding: 0;
}

nav.pagination span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px; /* Prototype: 4px */
  background: #fff; /* Prototype: white background */
  border: 1px solid #dcdcde;
  border: 1px solid var(--grey-100-new, var(--grey-100, #e9eaeb)); /* Prototype: grey-100 */
  border-radius: 10px; /* Prototype: 10px */
  padding: 14px 16px; /* Prototype: 14px 16px */
  cursor: pointer;
  -webkit-transition: border-color 0.12s, -webkit-box-shadow 0.12s;
  transition: border-color 0.12s, -webkit-box-shadow 0.12s;
  transition: border-color 0.12s, box-shadow 0.12s;
  transition: border-color 0.12s, box-shadow 0.12s, -webkit-box-shadow 0.12s;
}

nav.pagination span:hover {
  border-color: #c3c4c6;
  border-color: var(--grey-200-new, var(--grey-200, #c3c4c6)); /* Prototype: grey-200 */
  -webkit-box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.04);
          box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.04); /* Prototype: subtle shadow */
}

nav.pagination .prev {
  padding-left: 0;
  text-align: left;
}

nav.pagination .next {
  margin-left: 0;
  padding-right: 0;
  text-align: right;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

nav.pagination span::before {
  font-size: 11px; /* Prototype: 11px */
  color: #79797d;
  color: var(--grey-500-new, var(--grey-500, #79797d)); /* Prototype: grey-500 */
  text-transform: uppercase;
  letter-spacing: 0.05em; /* Prototype: 0.05em */
  padding-bottom: 0;
}

nav.pagination .prev::before {
  content: "Prev";
}

nav.pagination .next::before {
  content: "Next";
}

nav.pagination a {
  font-family: var(--body-font-family);
  font-size: 14.5px; /* Prototype: 14.5px */
  font-weight: 500; /* Prototype: 500 */
  color: #181818;
  color: var(--grey-900-new, var(--grey-900, #181818)); /* Prototype: grey-900 */
  letter-spacing: -0.0125em; /* Prototype: tight tracking */
  line-height: 1.3;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6px; /* Prototype: 6px */
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-decoration: none;
}

nav.pagination .next a {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

nav.pagination a::before,
nav.pagination a::after {
  color: #79797d;
  color: var(--grey-500-new, var(--grey-500, #79797d));
  font-weight: normal;
  font-size: 1.2em;
  line-height: 1;
  position: static;
  width: auto;
}

nav.pagination .prev a::before {
  content: "‹";
  -webkit-transform: none;
          transform: none;
}

nav.pagination .next a::after {
  content: "›";
}

/* Dark mode support */

html[data-theme="dark"] nav.pagination span {
  background: #161e2d;
  background: var(--dark-blue-800-new, #161e2d);
  border-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] nav.pagination span:hover {
  border-color: rgba(255, 255, 255, 0.15);
  -webkit-box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.2);
}

html[data-theme="dark"] nav.pagination a {
  color: #e8eef6;
}

html[data-theme="dark"] nav.pagination span::before {
  color: #a8b2c7;
}

/* Platform indicator for mobile header */

.platform-indicator-mobile {
  display: none;
}

html.is-clipped--navbar {
  overflow-y: hidden;
}

.body {
  padding-top: var(--body-top);
}

.header {
  max-width: 100%;
}

.custom-class-kapa {
  cursor: pointer;
}

/* =============================================================================
   TOPBAR — Sticky header with breadcrumbs and actions
   ============================================================================= */

.navbar.topbar {
  position: fixed;
  top: var(--announcement-bar-height);
  left: 0;
  right: 0;
  z-index: var(--z-index-navbar);
  height: var(--navbar-height);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  padding: 0 16px;
  background: rgba(255, 255, 255, 0.92);
  background: var(--topbar-bg, rgba(255, 255, 255, 0.92));
  backdrop-filter: saturate(180%) blur(12px);
  -webkit-backdrop-filter: saturate(180%) blur(12px);
  border-bottom: 1px solid var(--grey-100-new, #e5e6e8);
  border-bottom: 1px solid var(--topbar-border, var(--grey-100-new, #e5e6e8));
  font-size: var(--secondary-font-size);
}

/* On desktop, topbar starts after sidebar */

@media screen and (min-width: 1024px) {
  .navbar.topbar {
    left: 280px;
    left: var(--sidebar-width, 260px);
    padding: 0 32px; /* Prototype: 12px 32px, but height is controlled by --navbar-height */
    top: var(--announcement-bar-height--desktop);
  }

  /* Home page: hide breadcrumbs (landing page doesn't need them) */
  body.home .topbar-crumbs {
    display: none;
  }

  /* Hide mobile brand section on desktop */
  .navbar.topbar .navbar-brand {
    display: none;
  }
}

/* Mobile: show brand with logo */

@media screen and (max-width: 1023px) {
  .topbar-crumbs {
    display: none;
  }
}

/* Breadcrumbs container in topbar */

.topbar-crumbs {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  /* overflow visible to allow dropdown to appear */
  overflow: visible;
  position: relative;
  z-index: 1; /* Lower z-index than navbar-end */
}

.topbar-crumbs .breadcrumbs {
  margin: 0;
  padding: 0;
  width: 100%;
}

.topbar-crumbs .breadcrumbs ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 13px;
  color: #606164;
  color: var(--grey-600-new, #606164);
  letter-spacing: -0.0125em;
  width: 100%;
  /* Overflow visible to allow dropdown to appear */
  overflow: visible;
}

.topbar-crumbs .breadcrumbs li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  white-space: nowrap;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

/* Middle items can shrink and show ellipsis (but not the ellipsis li itself) */

.topbar-crumbs .breadcrumbs li:not(:first-child):not(:last-child):not(.bc-ellipsis-li) {
  -ms-flex-negative: 1;
      flex-shrink: 1;
  min-width: 0;
  overflow: hidden;
}

.topbar-crumbs .breadcrumbs li:not(:first-child):not(:last-child):not(.bc-ellipsis-li) a,
.topbar-crumbs .breadcrumbs li:not(:first-child):not(:last-child):not(.bc-ellipsis-li) span {
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Collapsed state - hide middle items */

.topbar-crumbs.is-collapsed .breadcrumbs li.bc-hidden {
  display: none;
}

/* In collapsed state, ensure visible items don't truncate */

.topbar-crumbs.is-collapsed .breadcrumbs li:not(.bc-hidden):not(.bc-ellipsis-li) {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  min-width: auto;
  overflow: visible;
}

.topbar-crumbs.is-collapsed .breadcrumbs li:not(.bc-hidden):not(.bc-ellipsis-li) a,
.topbar-crumbs.is-collapsed .breadcrumbs li:not(.bc-hidden):not(.bc-ellipsis-li) span {
  overflow: visible;
  text-overflow: unset;
}

/* Ellipsis list item container - positioned relative for dropdown */

.topbar-crumbs .breadcrumbs li.bc-ellipsis-li {
  display: none;
  position: relative;
}

.topbar-crumbs.is-collapsed .breadcrumbs li.bc-ellipsis-li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/* Remove chevron before ellipsis */

.topbar-crumbs .breadcrumbs li.bc-ellipsis-li::before {
  content: none !important;
  display: none !important;
}

/* Ellipsis button for collapsed breadcrumbs */

.topbar-crumbs .bc-ellipsis {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 2px 8px;
  margin: 0 4px;
  background: #dcdcde;
  background: var(--grey-100-new, #e5e6e8);
  border: none;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 500;
  color: #606164;
  color: var(--grey-600-new, #606164);
  cursor: pointer;
  -webkit-transition: background 0.12s, color 0.12s;
  transition: background 0.12s, color 0.12s;
  line-height: 1;
}

.topbar-crumbs .bc-ellipsis:hover {
  background: #c3c4c6;
  background: var(--grey-200-new, #c3c4c6);
  color: #181818;
  color: var(--grey-900-new, #181818);
}

.topbar-crumbs .bc-ellipsis.is-open {
  background: #c3c4c6;
  background: var(--grey-200-new, #c3c4c6);
  color: #181818;
  color: var(--grey-900-new, #181818);
}

html[data-theme="dark"] .topbar-crumbs .bc-ellipsis {
  background: rgba(255, 255, 255, 0.1);
  color: #919295;
  color: var(--grey-400-new, #919295);
}

html[data-theme="dark"] .topbar-crumbs .bc-ellipsis:hover,
html[data-theme="dark"] .topbar-crumbs .bc-ellipsis.is-open {
  background: rgba(255, 255, 255, 0.15);
  color: #dcdcde;
  color: var(--grey-100-new, #dcdcde);
}

/* Breadcrumb dropdown for hidden items */

.bc-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  min-width: 200px;
  max-width: 320px;
  background: #fff;
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #c3c4c6);
  border-radius: 8px;
  -webkit-box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
          box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  padding: 6px;
  z-index: 100;
  -webkit-animation: bcDropdownIn 0.15s ease-out;
          animation: bcDropdownIn 0.15s ease-out;
}

@-webkit-keyframes bcDropdownIn {
  from {
    opacity: 0;
    -webkit-transform: translateX(-50%) translateY(-4px);
            transform: translateX(-50%) translateY(-4px);
  }

  to {
    opacity: 1;
    -webkit-transform: translateX(-50%) translateY(0);
            transform: translateX(-50%) translateY(0);
  }
}

@keyframes bcDropdownIn {
  from {
    opacity: 0;
    -webkit-transform: translateX(-50%) translateY(-4px);
            transform: translateX(-50%) translateY(-4px);
  }

  to {
    opacity: 1;
    -webkit-transform: translateX(-50%) translateY(0);
            transform: translateX(-50%) translateY(0);
  }
}

html[data-theme="dark"] .bc-dropdown {
  background: #1a2332;
  border-color: rgba(255, 255, 255, 0.1);
  -webkit-box-shadow: 0 4px 16px rgba(0, 0, 0, 0.32);
          box-shadow: 0 4px 16px rgba(0, 0, 0, 0.32);
}

.bc-dropdown a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 8px 12px;
  border-radius: 6px;
  color: #48484a;
  color: var(--grey-700-new, #3f3f46);
  text-decoration: none;
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-transition: background 0.12s;
  transition: background 0.12s;
}

.bc-dropdown a:hover {
  background: #f5f5f5;
  background: var(--grey-50-new, #f5f5f5);
  color: #181818;
  color: var(--grey-900-new, #181818);
}

html[data-theme="dark"] .bc-dropdown a {
  color: #aaabae;
  color: var(--grey-300-new, #a4a4a8);
}

html[data-theme="dark"] .bc-dropdown a:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

/* Chevron icon before dropdown items */

.bc-dropdown a::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-right: 8px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23aaabae'%3E%3Cpath d='M6.22 4.22a.75.75 0 0 1 1.06 0l3.25 3.25a.75.75 0 0 1 0 1.06l-3.25 3.25a.75.75 0 0 1-1.06-1.06L8.94 8 6.22 5.28a.75.75 0 0 1 0-1.06Z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

.topbar-crumbs .breadcrumbs li::before {
  content: none;
}

.topbar-crumbs .breadcrumbs li + li::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin: 0 4px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23aaabae'%3E%3Cpath d='M6.22 4.22a.75.75 0 0 1 1.06 0l3.25 3.25a.75.75 0 0 1 0 1.06l-3.25 3.25a.75.75 0 0 1-1.06-1.06L8.94 8 6.22 5.28a.75.75 0 0 1 0-1.06Z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.topbar-crumbs .breadcrumbs a {
  color: #606164;
  color: var(--grey-600-new, #606164);
  text-decoration: none;
  -webkit-transition: color 0.12s;
  transition: color 0.12s;
}

.topbar-crumbs .breadcrumbs a:hover {
  color: #181818;
  color: var(--grey-900-new, #181818);
}

.topbar-crumbs .breadcrumbs li:last-child {
  color: #181818;
  color: var(--grey-900-new, #181818);
  font-weight: 500;
}

.topbar-crumbs .breadcrumbs li:last-child a {
  color: #181818;
  color: var(--grey-900-new, #181818);
  font-weight: 500;
}

/* Hide the ::after chevrons from breadcrumbs.css - we use ::before instead */

.topbar-crumbs .breadcrumbs li::after {
  content: none;
  display: none;
}

/* =============================================================================
   TOPBAR DARK MODE
   ============================================================================= */

html[data-theme="dark"] .navbar.topbar {
  /* Use dynamic component color from page-header-data, falls back to neutral dark */
  background: rgba(16, 24, 40, 0.92);
  background: var(--topbar-bg, rgba(16, 24, 40, 0.92));
  border-bottom-color: rgba(255, 255, 255, 0.1);
  border-bottom-color: var(--topbar-border, rgba(255, 255, 255, 0.1));
}

html[data-theme="dark"] .topbar-crumbs .breadcrumbs a {
  color: #919295;
  color: var(--grey-400-new, #919295);
}

html[data-theme="dark"] .topbar-crumbs .breadcrumbs a:hover {
  color: #dcdcde;
  color: var(--grey-100-new, #dcdcde);
}

html[data-theme="dark"] .topbar-crumbs .breadcrumbs li:last-child,
html[data-theme="dark"] .topbar-crumbs .breadcrumbs li:last-child a {
  color: #dcdcde;
  color: var(--grey-100-new, #dcdcde);
}

html[data-theme="dark"] .topbar-crumbs .breadcrumbs li + li::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23666'%3E%3Cpath d='M6.22 4.22a.75.75 0 0 1 1.06 0l3.25 3.25a.75.75 0 0 1 0 1.06l-3.25 3.25a.75.75 0 0 1-1.06-1.06L8.94 8 6.22 5.28a.75.75 0 0 1 0-1.06Z'/%3E%3C/svg%3E");
}

/* Theme toggle icon - better visibility in topbar */

.navbar.topbar .theme-image {
  -webkit-filter: brightness(0) saturate(100%) invert(40%) sepia(10%) saturate(500%) hue-rotate(180deg);
          filter: brightness(0) saturate(100%) invert(40%) sepia(10%) saturate(500%) hue-rotate(180deg);
}

html[data-theme="dark"] .navbar.topbar .theme-image {
  -webkit-filter: brightness(0) saturate(100%) invert(80%) sepia(10%) saturate(200%) hue-rotate(180deg);
          filter: brightness(0) saturate(100%) invert(80%) sepia(10%) saturate(200%) hue-rotate(180deg);
}

/* Legacy navbar styles kept for compatibility */

.navbar:not(.topbar) {
  background: var(--navbar-background);
  color: var(--navbar-font-color);
  color: var(--nav-text-color, var(--navbar-font-color));
  font-size: var(--secondary-font-size);
  height: var(--navbar-height);
  -ms-flex-line-pack: center;
      align-content: center;
  position: fixed;
  top: var(--announcement-bar-height);
  width: 100%;
  z-index: var(--z-index-navbar);
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  border: 0, 0, 1px, 0;
  -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
}

.navbar a {
  text-decoration: none;
}

.navbar-menu {
  color: #a8b2c7;
  color: var(--nav-text-color, #a8b2c7);
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-negative: 0;
      flex-shrink: 0; /* Never squeeze the right nav items */
}

.navbar-brand {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.navbar-brand > a:hover {
  background: none;
}

.navbar-brand .navbar-item {
  color: var(--navbar-font-color);
  color: var(--nav-text-color, var(--navbar-font-color));
  margin-left: 8px;
}

.navbar-brand .navbar-item:first-child {
  -ms-flex-item-align: center;
      align-self: center;
  padding: 0;
  font-size: calc(22/var(--rem-base)*1rem);
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  line-height: 1;
}

.navbar-brand .navbar-item:first-child a {
  color: inherit;
  word-wrap: normal;
}

.navbar-brand .navbar-item:first-child :not(:last-child) {
  padding-right: 0.375rem;
}

.navbar-brand .navbar-item.search {
  -webkit-box-flex: 1;
      -ms-flex: auto;
          flex: auto;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

#search-input {
  color: #333;
  font-family: inherit;
  font-size: 0.95rem;
  width: 150px;
  border: 1px solid #dbdbdb;
  border-radius: 0.1em;
  line-height: 1.5;
  padding: 0 0.25em;
}

#search-input:disabled {
  background-color: #dbdbdb;
  /* disable cursor */
  cursor: not-allowed;
  pointer-events: all !important;
}

#search-input:disabled::-webkit-input-placeholder {
  color: #4c4c4c;
}

#search-input:disabled::-moz-placeholder {
  color: #4c4c4c;
}

#search-input:disabled:-ms-input-placeholder {
  color: #4c4c4c;
}

#search-input:disabled::-ms-input-placeholder {
  color: #4c4c4c;
}

#search-input:disabled::placeholder {
  color: #4c4c4c;
}

#search-input:focus {
  outline: none;
}

/* Burger menu removed - topnav items displayed inline */

.navbar-item,
.navbar-link {
  color: var(--navbar-menu-font-color);
  color: var(--nav-text-color, var(--navbar-menu-font-color));
  display: block;
  line-height: var(--doc-line-height);
  padding: 6px 8px;
}

.home .navbar-item,
.home .navbar-link,
.api .navbar-item,
.api .navbar-link,
.status-404 .navbar-item,
.status-404 .navbar-link {
  color: #f5f5f5;
}

.navbar-item.is-current,
.navbar-item:hover,
.navbar-link:hover {
  background-color: rgba(255, 255, 255, 0.08);
  color: white;
  border-radius: 10px;
  padding: 6px 8px;
}

.navbar-item.has-dropdown {
  padding: 0;
}

.navbar-item .icon {
  width: 1.25rem;
  height: 1.25rem;
  display: block;
}

.navbar-item .icon img,
.navbar-item .icon svg {
  fill: currentColor;
  width: inherit;
  height: inherit;
}

.navbar-link {
  padding-right: 2.5em;
}

.navbar-dropdown .navbar-item {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.navbar-dropdown .navbar-item.has-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.navbar-dropdown .navbar-item small {
  color: var(--toolbar-muted-color);
  font-size: calc(12/var(--rem-base)*1rem);
}

.navbar-divider {
  background-color: var(--navbar-menu-border-color);
  border: none;
  height: 1px;
  margin: 0.25rem 0;
}

.navbar .button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: var(--navbar-button-background);
  border: 1px solid var(--navbar-button-border-color);
  border-radius: 0.15rem;
  height: 1.75rem;
  color: var(--navbar-button-font-color);
  padding: 0 0.75em;
  white-space: nowrap;
}

.navbar-end {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-negative: 0;
      flex-shrink: 0; /* Prevent right side items from being squeezed */
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  position: relative;
  z-index: 10; /* Ensure navbar-end items are above breadcrumb elements */
  margin-left: auto; /* Push to right edge */
  padding-left: 24px; /* Min space from breadcrumbs */
  height: 100%;
}

@media screen and (max-width: 768.5px) {
  .navbar-brand .navbar-item.search {
    padding-left: 0;
    padding-right: 0;
  }
}

@media screen and (min-width: 769px) {
  #search-input {
    width: 200px;
  }
}

@media screen and (max-width: 1024px) {
  .navbar-brand {
    height: inherit;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-right: 8px;
  }

  #switch-theme {
    margin: 0;
    margin-top: -2px;
  }

  .platform-indicator-mobile {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-left: 8px;
    color: #606164;
    color: var(--grey-600-new, #52525b);
    font-size: 13px;
    font-weight: 500;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    min-width: 0;
    text-align: right;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  html[data-theme="dark"] .platform-indicator-mobile {
    color: #aaabae;
    color: var(--grey-300-new, #d4d4d8);
  }

  .theme-switcher {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }

  .header {
    margin-bottom: 0;
  }

  .navbar-brand .navbar-item {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  /* No burger menu - always show navbar-menu inline */
  .navbar-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%;
  }

  .navbar-end {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 4px;
    height: 100%;
  }

  /* Ensure all items align properly */
  .navbar-end > * {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

@media screen and (min-width: 1025px) {
  .body {
    padding-top: var(--body-top--desktop);
  }

  .navbar,
  .navbar-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    top: var(--announcement-bar-height--desktop);
  }

  .navbar-menu {
    gap: 16px;
  }

  .navbar {
    gap: 112px;
    padding: 16px;
  }

  .navbar-item,
  .navbar-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
  }

  .navbar-item:not(.has-dropdown),
  .navbar-link {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }

  .navbar-item.is-hoverable:hover .navbar-dropdown {
    opacity: 1;
    pointer-events: all;
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
    visibility: visible;
  }

  .navbar-link::after {
    border-width: 0 0 1px 1px;
    border-style: solid;
    content: "";
    display: block;
    height: 0.5em;
    pointer-events: none;
    position: absolute;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    width: 0.5em;
    margin-top: -0.375em;
    right: 1.125em;
    top: 50%;
  }

  .navbar-end > .navbar-item,
  .navbar-end .navbar-link {
    color: var(--navbar-menu-font-color);
    color: var(--nav-text-color, var(--navbar-menu-font-color));
  }

  .navbar-end > a.navbar-item:hover,
  .navbar-end .navbar-link:hover,
  .navbar-end .navbar-item.has-dropdown:hover .navbar-link {
    background: var(--navbar_hover-background);
    color: var(--link_hover-font-color);
  }

  .navbar-end .navbar-link::after {
    border-color: currentColor;
  }

  .navbar-dropdown {
    background: var(--navbar-menu-background);
    border-top: none;
    border-radius: 0.25rem;
    top: calc(100% - 0.55rem);
    left: -80px;
    right: 0;
    position: absolute;
    -webkit-box-shadow: var(--navbar-dropdown-boxshadow);
            box-shadow: var(--navbar-dropdown-boxshadow);
    opacity: 0;
    visibility: hidden;
    max-height: 80vh;
    min-width: 5rem;
    padding: 0.5rem;
    -webkit-transition-duration: var(--transition-fast);
            transition-duration: var(--transition-fast);
    -webkit-transition-property: opacity, visibility, -webkit-transform;
    transition-property: opacity, visibility, -webkit-transform;
    transition-property: opacity, transform, visibility;
    transition-property: opacity, transform, visibility, -webkit-transform;
    -webkit-transition-timing-function: var(--transition-timing-default);
            transition-timing-function: var(--transition-timing-default);
    -webkit-transform: translateY(-2.625rem);
            transform: translateY(-2.625rem);
  }

  .navbar-dropdown:hover {
    opacity: 1;
    pointer-events: all;
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
    visibility: visible;
  }

  .navbar-dropdown .navbar-item {
    padding: 0.5rem 3rem 0.5rem 1rem;
    white-space: nowrap;
  }

  .navbar-dropdown .navbar-item small {
    position: relative;
    right: -2rem;
  }

  .navbar-dropdown .navbar-item:last-child {
    border-radius: inherit;
  }

  .navbar-dropdown.is-right {
    left: auto;
    right: 0;
  }

  .navbar-dropdown a.navbar-item:hover {
    background: var(--navbar-menu_hover-background);
  }
}

.navbar-dropdown > ul {
  text-transform: none;
  letter-spacing: normal;
  list-style: none;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
  line-height: 30px;
  margin: 0;
  word-wrap: break-word;
  border-radius: 0.25rem;
}

.navbar-dropdown a {
  text-decoration: none;
  color: var(--navbar-font-color);
  display: block;
  padding: 0.5rem 1rem;
}

.navbar-dropdown a:hover {
  color: var(--link_hover-font-color);
}

.navbar-dropdown > ul > li:hover {
  background-color: var(--navbar-dropdown-background-hover-color);
}

.theme-switcher {
  -ms-flex-item-align: center;
      align-self: center;
}

#switch-theme {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 7px;
  background: transparent;
  cursor: pointer;
  -webkit-transition: background 0.12s;
  transition: background 0.12s;
}

#switch-theme:hover {
  background: #dcdcde;
  background: var(--grey-100-new, #e5e6e8);
}

html[data-theme="dark"] #switch-theme:hover {
  background: rgba(255, 255, 255, 0.08);
}

#switch-theme label {
  display: none;
}

.theme-image {
  width: 20px;
  height: 20px;
  cursor: pointer;
  /* Light mode - dark icon */
  -webkit-filter: brightness(0) saturate(100%) invert(30%) sepia(10%) saturate(500%) hue-rotate(180deg);
          filter: brightness(0) saturate(100%) invert(30%) sepia(10%) saturate(500%) hue-rotate(180deg);
}

html[data-theme="dark"] .theme-image {
  /* Dark mode - light icon */
  -webkit-filter: brightness(0) saturate(100%) invert(80%) sepia(10%) saturate(200%) hue-rotate(180deg);
          filter: brightness(0) saturate(100%) invert(80%) sepia(10%) saturate(200%) hue-rotate(180deg);
}

/* =============================================================================
   TOPBAR BUTTONS — Ask AI and utility buttons
   ============================================================================= */

.tb-ai-btn,
.tb-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  padding: 5px 11px 5px 9px;
  border: 1px solid transparent;
  border-radius: 7px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  -webkit-transition: background 0.12s, border-color 0.12s, -webkit-transform 0.12s;
  transition: background 0.12s, border-color 0.12s, -webkit-transform 0.12s;
  transition: background 0.12s, border-color 0.12s, transform 0.12s;
  transition: background 0.12s, border-color 0.12s, transform 0.12s, -webkit-transform 0.12s;
  text-decoration: none;
  line-height: 1.4;
  letter-spacing: -0.0125em;
}

/* Ask AI button - Light mode (default) */

.tb-ai-btn {
  background: linear-gradient(135deg, #eef2ff 0%, #f3e8ff 100%);
  border-color: #d1d9ff;
  color: #4338ca;
}

.tb-ai-btn:hover {
  background: linear-gradient(135deg, #e0e7ff 0%, #ede3ff 100%);
  border-color: #c7d2fe;
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
}

/* Ask AI button - Dark mode */

html[data-theme="dark"] .tb-ai-btn {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-color: transparent;
  color: white;
  -webkit-box-shadow: 0 1px 3px rgba(102, 126, 234, 0.2);
          box-shadow: 0 1px 3px rgba(102, 126, 234, 0.2);
}

html[data-theme="dark"] .tb-ai-btn:hover {
  background: linear-gradient(135deg, #5a67d8 0%, #6b3fa0 100%);
  -webkit-box-shadow: 0 2px 6px rgba(102, 126, 234, 0.3);
          box-shadow: 0 2px 6px rgba(102, 126, 234, 0.3);
}

/* Utility button (.tb-btn) - Light mode */

.tb-btn {
  background: transparent;
  color: #48484a;
  color: var(--grey-700-new, #3f3f46);
}

.tb-btn:hover {
  background: #f5f5f5;
  background: var(--grey-50-new, #f5f5f5);
  color: #181818;
  color: var(--grey-900-new, #181818);
}

.tb-btn.outlined {
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #c3c4c6);
}

/* Utility button - Dark mode */

html[data-theme="dark"] .tb-btn {
  color: #919295;
  color: var(--grey-400-new, #919295);
}

html[data-theme="dark"] .tb-btn:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

.tb-ai-btn svg,
.tb-btn svg {
  width: 16px;
  height: 16px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

/* Hide Ask AI button when chat panel is open */

.chat-panel.is-open ~ header .tb-ai-btn,
body:has(.chat-panel.is-open) .tb-ai-btn {
  display: none;
}

@media screen and (max-width: 1024px) {
  .tb-ai-btn span,
  .tb-btn {
    display: none;
  }

  .tb-ai-btn {
    padding: 8px;
    width: 36px;
    height: 36px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

/* Top nav text links */

.tb-link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 500;
  color: #475467;
  color: var(--grey-700, #475467);
  text-decoration: none;
  border-radius: 6px;
  -webkit-transition: background 0.15s, color 0.15s;
  transition: background 0.15s, color 0.15s;
}

.tb-link:hover {
  background: rgba(0, 0, 0, 0.04);
  background: var(--grey-50, rgba(0, 0, 0, 0.04));
  color: #101828;
  color: var(--grey-900, #101828);
  text-decoration: none;
}

html[data-theme="dark"] .tb-link {
  color: #d0d5dd;
  color: var(--grey-300, #d0d5dd);
}

html[data-theme="dark"] .tb-link:hover {
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
}

/* Responsive sizing for topbar - compact mode at medium widths */

@media screen and (min-width: 1024px) and (max-width: 1400px) {
  /* Hide version selector label to save space */
  .topbar-crumbs .sm-ver-pill-label {
    display: none;
  }

  /* Compact version status badge */
  .topbar-crumbs .sm-ver-pill-status {
    font-size: 10px;
    padding: 2px 6px;
  }

  /* Smaller topbar links */
  .tb-link {
    padding: 4px 8px;
    font-size: 12px;
  }

  /* Smaller Ask AI button */
  .tb-ai-btn {
    padding: 4px 8px;
    font-size: 12px;
  }

  .tb-ai-btn svg {
    width: 14px;
    height: 14px;
  }
}

@media screen and (max-width: 1023px) {
  .tb-link {
    padding: 6px 8px;
    font-size: 12px;
    min-height: 30px;
  }
}

/* Footer container */

footer.footer {
  width: 100%;
  background-color: var(--body-background);
  border-top: 1px solid var(--nav-border-color);
  color: var(--body-font-color);
  font-family: var(--body-font-family);
  /* Reserve space to prevent CLS */
  min-height: 300px;
  /* Isolate rendering */
  contain: layout style;
}

.padding-global {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

.container-large {
  max-width: 80rem;
}

.footer__wrap {
  padding-top: 3rem;
  padding-bottom: 2rem;
}

/* Footer top section */

.footer__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
  margin-bottom: 2.5rem;
}

@media (min-width: 1024px) {
  .footer__top {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.footer__logo-link {
  display: inline-block;
}

.footer__logo {
  height: 40px;
  width: auto;
}

/* Footer columns */

.footer__columns {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

@media (min-width: 769px) {
  .footer__columns {
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
  }
}

.footer__column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.75rem;
}

.footer__header {
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--body-font-color);
  margin-bottom: 0.5rem;
  font-family: var(--body-font-family-bold);
}

.footer__link {
  font-size: 0.875rem;
  color: var(--body-faint-font-color);
  text-decoration: none;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
  line-height: 1.5;
}

.footer__link:hover {
  color: var(--link-highlight-color);
}

/* Grey line separator */

.line__grey {
  height: 1px;
  background-color: var(--nav-border-color);
  margin: 2rem 0;
}

/* Footer bottom section */

.footer__bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.5rem;
}

.footer__socials {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.footer__social-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  color: var(--body-faint-font-color);
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}

.footer__social-link:hover {
  color: var(--link-highlight-color);
}

.footer__social-link svg {
  width: 100%;
  height: auto;
  max-width: 24px;
  max-height: 24px;
}

.footer__legal-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 0.75rem;
}

.text-style-footer-legal {
  color: var(--body-faint-font-color);
  font-size: 0.75rem;
  text-decoration: none;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}

.text-style-footer-legal:hover {
  color: var(--link-highlight-color);
}

/* Remove external link icon from footer links */

.doc .footer a[href*="//"]:not([href*="docs.redpanda.com"]):not([href*="netlify.app"]):not(section.feedback-section a):not(.aa-ItemIcon a)::after {
  content: '';
}

/* Responsive styles */

@media (max-width: 768px) {
  .padding-global {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .footer__top {
    gap: 1.5rem;
  }

  .footer__bottom {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }

  .footer__legal-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0.75rem;
  }
}

/* Align footer with .doc content on non-home pages */

@media (min-width: 1024px) {
  main:not(.labs):not(.home) footer.footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }

  main:not(.labs):not(.home) footer.footer .padding-global {
    padding-left: 0;
    padding-right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 50px;
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }

  main:not(.labs):not(.home) footer.footer .container-large {
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
    max-width: var(--doc-max-width);
    margin-left: 48px;
    margin-right: 0;
  }

  /* Add spacer to match TOC width */
  main:not(.labs):not(.home) footer.footer .padding-global::after {
    content: '';
    -webkit-box-flex: 0;
        -ms-flex: 0 0 var(--toc-width);
            flex: 0 0 var(--toc-width);
  }
}

@media screen and (min-width: 1400px) {
  main:not(.labs):not(.home) footer.footer .padding-global {
    gap: 150px;
  }

  main:not(.labs):not(.home) footer.footer .padding-global::after {
    -ms-flex-preferred-size: var(--toc-width--widescreen);
        flex-basis: var(--toc-width--widescreen);
    max-width: 400px;
  }
}

/* =============================================================================
   DOCS FOOTER — Simplified stacked footer for docs pages
   Always uses dark background regardless of theme
   ============================================================================= */

.docs-footer {
  background: #0b1430;
  color: rgba(255, 255, 255, 0.6);
  padding: 56px 48px 40px;
  margin-top: 64px;
  position: relative;
}

.docs-footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(rgba(255, 255, 255, 0.08)), to(transparent));
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.08), transparent);
}

.docs-footer-inner {
  max-width: 1240px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 28px;
  text-align: center;
}

.docs-footer-brand {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  opacity: 0.85;
  -webkit-transition: opacity 0.14s;
  transition: opacity 0.14s;
}

.docs-footer-brand:hover {
  opacity: 1;
}

.docs-footer-brand img {
  height: 22px;
  width: auto;
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}

.docs-footer-social {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 28px;
}

.docs-footer .docs-footer-social-link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 32px;
  height: 32px;
  color: rgba(255, 255, 255, 0.45);
  -webkit-transition: color 0.14s, -webkit-transform 0.14s;
  transition: color 0.14s, -webkit-transform 0.14s;
  transition: color 0.14s, transform 0.14s;
  transition: color 0.14s, transform 0.14s, -webkit-transform 0.14s;
}

.docs-footer .docs-footer-social-link:hover {
  color: #fff;
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
}

.docs-footer-social-link svg {
  display: block;
}

.docs-footer-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px 28px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  width: 100%;
  max-width: 720px;
}

.docs-footer-copy {
  font-size: 12.5px;
  color: rgba(255, 255, 255, 0.45);
  letter-spacing: 0;
}

.docs-footer-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.docs-footer .docs-footer-link {
  font-size: 12.5px;
  color: rgba(255, 255, 255, 0.55);
  text-decoration: none;
  -webkit-transition: color 0.14s;
  transition: color 0.14s;
}

/* Remove external link icons from docs-footer links */

.docs-footer a::after,
.docs-footer-brand::after,
.docs-footer-social-link::after,
.docs-footer-link::after {
  content: none !important;
  display: none !important;
}

.docs-footer .docs-footer-link:hover {
  color: #fff;
  text-decoration: none;
}

@media screen and (max-width: 720px) {
  .docs-footer {
    padding: 44px 24px 32px;
  }

  .docs-footer-social {
    gap: 18px;
  }

  .docs-footer-meta {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 14px;
  }
}

.feedback-section {
  margin-top: 30px;
  padding-top: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  color: var(--body-font-color);
  font-size: var(--secondary-font-size);
}

.feedback-section .material-icons {
  vertical-align: middle;
}

.feedback-section a {
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
}

.feedback-section a:hover {
  cursor: pointer;
}

.feedback-section .col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin-top: 20px;
}

@media screen and (min-width: 1024px) {
  .feedback-section {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.feedback-modal {
  position: fixed;
  top: 33%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1010;
  width: 600px;
  max-width: 80vw;
  height: 400px;
  max-height: 100%;
  border-radius: 8px;
}

.feedback-modal .feedback-modal-body {
  background-color: var(--feedback-modal-background);
  border: 1px solid #888;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 20px;
  overflow: auto;
  border-radius: 8px;
  max-height: 80vh;
}

.feedback-toast {
  margin-top: 1rem;
  margin-bottom: 1em;
  padding: 0.75rem 1rem;
  background: var(--tip-background);
  color: var(--tip-on-color);
  border-left: 4px solid #27ae60;
  font-size: 0.9rem;
  border-radius: 4px;
  max-width: 400px;
}

.feedback-toast.hidden {
  display: none;
}

.feedback-modal textarea {
  font-family: inherit;
  font-size: 0.9rem;
}

.modal-overlay {
  z-index: 1000;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
}

.feedback-modal .feedback-modal h4 {
  margin-top: 5px;
  margin-bottom: 5px;
}

.feedback-modal .radio-buttons.form-field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
}

.feedback-modal .form-field {
  margin-bottom: 20px;
}

.feedback-modal .form-field.wrapper {
  margin: 0 auto;
  text-align: center;
}

.feedback-modal .radio-label {
  line-height: 40px;
}

button[type=submit]:not(.aa-SubmitButton),
button.close {
  border: 1px solid var(--highlight-border);
  margin-top: 10px;
  padding: 5px 20px;
  border-radius: 8px;
}

button[type=submit]:not(.aa-SubmitButton):hover,
button.close:hover {
  background-color: var(--link-highlight-color);
  color: var(--button-font-color);
}

.feedback-modal input[type=radio]:checked {
  border: 2px solid var(--link-highlight-color);
  background-color: var(--link-highlight-color);
}

.feedback-modal input[type=radio] {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background-clip: content-box;
  background-color: #e7e6e7;
  border: 2px solid #bbb;
  border-radius: 50%;
  display: inline-block;
  height: 15px;
  padding: 2px;
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
  width: 15px;
}

.feedback-modal input[type=text],
.feedback-modal textarea {
  border: 1px solid #dadce0;
  border-radius: 8px;
  max-width: 400px;
  width: 80%;
  padding: 7px;
}

.thumbs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 20px;
}

.thumb {
  color: var(--link-highlight-color);
  background: none;
  border: none;
}

.thumb:hover {
  color: var(--link_hover-font-color);
}

/*! Adapted from the GitHub style by Vasily Polovnyov <vast@whiteants.net> */

.hljs-comment,
.hljs-quote {
  color: #998;
  font-style: italic;
}

.hljs-keyword,
.hljs-selector-tag,
.hljs-subst {
  color: #333;
  font-weight: var(--monospace-font-weight-bold);
}

.hljs-number,
.hljs-literal,
.hljs-variable,
.hljs-template-variable,
.hljs-tag .hljs-attr {
  color: #008080;
}

.hljs-string,
.hljs-doctag {
  color: #d14;
}

.hljs-title,
.hljs-section,
.hljs-selector-id {
  color: #900;
  font-weight: var(--monospace-font-weight-bold);
}

.hljs-subst {
  font-weight: normal;
}

.hljs-type,
.hljs-class .hljs-title {
  color: #458;
  font-weight: var(--monospace-font-weight-bold);
}

.hljs-tag,
.hljs-name,
.hljs-attribute {
  color: #000080;
  font-weight: normal;
}

.hljs-regexp,
.hljs-link {
  color: #009926;
}

.hljs-symbol,
.hljs-bullet {
  color: #990073;
}

.hljs-built_in,
.hljs-builtin-name {
  color: #0086b3;
}

.hljs-meta {
  color: #999;
  font-weight: var(--monospace-font-weight-bold);
}

.hljs-deletion {
  background: #fdd;
}

.hljs-addition {
  background: #dfd;
}

.hljs-emphasis {
  font-style: italic;
}

.hljs-strong {
  font-weight: var(--monospace-font-weight-bold);
}

@page {
  margin: 0.5in;
}

@media print {
  .hide-for-print {
    display: none !important;
  }

  html {
    font-size: var(--body-font-size--print);
  }

  a {
    color: inherit !important;
    text-decoration: underline;
  }

  a.bare,
  a[href^="#"],
  a[href^="mailto:"] {
    text-decoration: none;
  }

  tr,
  img,
  object,
  svg {
    page-break-inside: avoid;
  }

  thead {
    display: table-header-group;
  }

  pre {
    -ms-hyphens: none;
        hyphens: none;
    white-space: pre-wrap;
  }

  body {
    padding-top: 2rem;
  }

  .navbar {
    background: none;
    color: inherit;
    position: absolute;
  }

  .navbar * {
    color: inherit !important;
  }

  .navbar > :not(.navbar-brand),
  .nav-container,
  .toolbar,
  aside.toc,
  nav.pagination {
    display: none;
  }

  .doc {
    color: inherit;
    margin: auto;
    max-width: none;
    padding-bottom: 2rem;
  }

  .doc .admonitionblock td.icon {
    -webkit-print-color-adjust: exact;
            color-adjust: exact;
  }

  .doc .listingblock code[data-lang]::before {
    display: block;
  }

  footer.footer {
    background: none;
    border-top: 1px solid var(--panel-border-color);
    color: var(--quote-attribution-font-color);
    padding: 0.25rem 0.5rem 0;
  }

  .footer * {
    color: inherit;
  }
}

.aa-Source[data-autocomplete-source-id="filters"] .aa-List .aa-Item:empty {
  display: none !important;
}

.aa-Panel .context-dropdown {
  position: relative;
  display: inline-block;
}

.aa-Panel .context-dropdown-toggle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border: 2px solid var(--link-highlight-color);
  background: var(--body-background);
  border-radius: 6px;
  color: var(--body-font-color);
  font-size: var(--secondary-font-size);
  font-weight: 500;
  cursor: pointer;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  min-width: 120px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.aa-Panel .context-dropdown-arrow {
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.aa-Panel .context-dropdown-toggle[aria-expanded="true"] .context-dropdown-arrow {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.aa-Panel .context-dropdown-menu {
  position: absolute;
  top: 100%;
  padding: 0;
  font-size: small;
  left: 0;
  right: 0;
  background: var(--body-background);
  border: 1px solid var(--color-smoke-90);
  border-radius: 6px;
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  margin-top: 4px;
  max-height: 300px;
  overflow-y: auto;
}

.aa-Panel .context-dropdown-menu[style*="display: none"] {
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(-8px);
          transform: translateY(-8px);
}

.aa-Panel .context-dropdown-menu .context-dropdown-item {
  display: block;
  padding: 10px 16px;
  text-decoration: none;
  font-weight: 500;
  border: none;
  background: none;
  width: 100%;
  text-align: left;
  color: var(--body-font-color);
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
  border-bottom: 1px solid var(--color-smoke-70);
}

.aa-Panel .context-dropdown-menu .context-dropdown-item:last-child {
  border-bottom: none;
}

.aa-Panel .context-dropdown-menu .context-dropdown-item:hover,
.aa-Panel .context-dropdown-menu .context-dropdown-item:focus {
  background: var(--link-highlight-color);
  outline: none;
  color: white;
  cursor: pointer;
}

.aa-Panel .context-dropdown-menu .context-dropdown-item.active {
  background: var(--link-highlight-color);
  color: white;
  font-weight: 600;
}

.algolia-filters-dropdown {
  min-width: 160px;
}

article.search {
  margin: 0 auto;
  max-width: 1140px;
  width: 100%;
  padding: 15px;
}

article.search .badge-button#display-filters {
  display: none;
}

article.search .badge-button#display-filters::after {
  content: '';
  background: transparent url(../img/caret.svg) no-repeat center / 100%;
  border: none;
  -webkit-filter: var(--nav-toggle-filter);
          filter: var(--nav-toggle-filter);
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  outline: none;
  line-height: inherit;
  display: inline-block;
  padding: 0;
  height: calc(var(--nav-line-height)*1.5em);
  width: calc(var(--nav-line-height)*1.5em);
}

article.search > h1 {
  font-size: 2rem;
}

article.search .ais-InstantSearch .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 5px;
  margin-bottom: 20px;
}

article.search .filters .interactive {
  margin-bottom: 1em;
}

article.search .filters {
  padding-top: 40px;
}

article.search .searchbox {
  -webkit-box-flex: 0.75;
      -ms-flex: 0.75;
          flex: 0.75;
}

article.search .ais-SearchBox-form::before {
  height: 0.95rem !important;
  width: 0.95rem !important;
}

article.search .search-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}

article.search .ais-Hits-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  padding-top: 40px;
}

article.search .header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 10px;
}

article.search .header img {
  max-width: 150px;
}

article.search .results {
  width: 100%;
}

article.search .header h1 {
  font-size: 2.5em;
  margin-bottom: 0;
}

article.search .header p {
  max-width: 600px;
}

article.search .ais-Panel-header {
  font-size: 1em;
  color: var(--body-font-color);
}

article.search .ais-Hits-list .card {
  padding: 20px;
}

article.search .ais-Hits-list .card a:hover,
article.search .ais-Hits-list .card a:hover * {
  text-decoration: none;
}

article.search .ais-Heading {
  margin: 0;
}

article.search span.ais-Snippet-nonHighlighted {
  color: var(--body-font-color);
  font-size: initial;
}

article.search .ais-Hits-item {
  background: unset;
  -webkit-box-shadow: var(--search-hits-boxshadow) !important;
          box-shadow: var(--search-hits-boxshadow) !important;
  padding: 0;
}

article.search .search-panel__filters {
  position: relative;
  -webkit-box-flex: 0.5;
      -ms-flex: 0.5;
          flex: 0.5;
  background-color: #fff;
  border: 1px solid #d6d6e7;
  border-radius: 3px;
  -webkit-box-shadow: inset 0 1px 4px 0 rgb(119 122 175 / 30%);
          box-shadow: inset 0 1px 4px 0 rgb(119 122 175 / 30%);
  caret-color: #5a5e9a;
  color: #23263b;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  font: inherit;
  height: 2.5rem;
  max-width: 100%;
  line-height: 2.4rem;
  padding-left: 5px;
}

article.search .versions {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: 160px;
  -webkit-box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
  padding: 12px 12px;
  z-index: 2;
  margin-left: -5px;
  width: 100%;
  font-size: 0.875rem;
}

article.search .search-panel__filters:hover .versions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.nav .field {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 0.5rem 0.75rem;
}

article.search .ais-Heading > a {
  font-size: 1.3rem;
  font-weight: 500;
  color: var(--body-font-color);
}

.aa-Header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  padding: 12px;
}

.aa-Header .ask-ai {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: rgb(225, 66, 37);
  -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 10px;
          box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 10px;
  border-radius: 10px;
  padding: 10px;
  border: none;
  color: white;
  height: 32px;
  font-size: var(--secondary-font-size);
  text-transform: none;
  margin-right: 0;
}

section.aa-Source[data-autocomplete-source-id=tagsPlugin] {
  display: none;
}

.aa-Header .ask-ai svg {
  margin-right: 6px;
}

.search-footer .view-all {
  color: var(--link-highlight-color);
  font-size: 16px;
  text-decoration: none;
  padding: 4px 0;
  cursor: pointer;
  margin-top: 10px;
  margin-bottom: 50px;
}

.search-footer .view-all:hover {
  text-decoration: underline;
}

.ais-Breadcrumbs a,
.aa-Breadcrumbs a {
  color: var(--body-font-color);
}

.ais-Breadcrumbs a:hover,
.aa-Breadcrumbs a:hover {
  text-decoration: none;
}

article.search .ais-Heading > a:hover,
.ais-Breadcrumbs a:hover,
.aa-Breadcrumbs a:hover {
  cursor: pointer;
}

article.search .ais-Breadcrumbs {
  font-size: 1rem;
}

.aa-Breadcrumbs {
  font-size: 0.7rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.aa-Breadcrumbs ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0;
  gap: 5px;
  padding: 0;
  list-style: none;
  font-size: 0.7rem;
}

.ais-Breadcrumbs > *:not(:last-child)::after,
.aa-Breadcrumbs ul *:not(:last-child)::after {
  content: " > ";
  margin-left: 5px;
}

/* Reserve space for Algolia preview panel to prevent CLS */

.aa-Preview.aa-Column.doc {
  min-width: 350px;
  max-width: 600px;
  min-height: 400px;
  margin-top: 0;
}

article.search .ais-Pagination-list {
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
}

/* Header search button is visually hidden but clickable for programmatic access */

.aa-DetachedSearchButton {
  position: fixed !important;
  top: -100px !important;
  left: -100px !important;
  opacity: 0 !important;
  pointer-events: auto !important;
  width: 1px !important;
  height: 1px !important;
}

.aa-DetachedSearchButtonIcon {
  -webkit-box-pack: start !important;
      -ms-flex-pack: start !important;
          justify-content: flex-start !important;
  width: 20px !important;
}

.aa-DetachedSearchButtonPlaceholder {
  color: var(--aa-text-color-rgb) !important;
  font-size: 12.5px;
}

.aa-SubmitIcon {
  color: #79797d;
}

.aa-Form {
  border-radius: 40px !important;
  border: 1px solid var(--search-icon-color) !important;
  width: unset;
}

.aa-Input {
  font-size: 1.3rem !important;
}

.aa-Item[aria-selected=true] .aa-ItemContent mark {
  text-decoration: underline !important;
  font-weight: unset !important;
}

mark {
  color: var(--link-highlight-color) !important;
  background: none;
}

.aa-Item[aria-selected=true] a {
  background-color: var(--link-highlight-background-color) !important;
}

kbd.algolia-command {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: linear-gradient(-225deg, #d5dbe4, #f8f8f8);
  border: 0;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 -2px 0 0 #cdcde6, inset 0 0 1px 1px #fff, 0 1px 2px 1px #1e235a66;
          box-shadow: inset 0 -2px 0 0 #cdcde6, inset 0 0 1px 1px #fff, 0 1px 2px 1px #1e235a66;
  color: #969faf;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 18px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-right: 0.4em;
  padding: 0 0 1px;
  width: 30px;
}

.aa-DetachedContainer.aa-DetachedContainer--modal {
  padding: 20px;
  background: var(--search-detached-mode-background);
}

.aa-DetachedFormContainer {
  padding-left: 0 !important;
  padding-right: 0 !important;
  border-bottom: 0;
}

.aa-Grid {
  display: block;
}

.aa-DetachedCancelButton {
  font-size: 1.2rem !important;
  width: 100px;
}

.aa-Preview.aa-Column {
  display: none;
}

.search-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 10px;
}

.aa-Footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.aa-Footer > a {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
}

.aa-DetachedContainer .aa-Panel {
  overflow: auto;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.aa-SourceFooter {
  position: sticky;
  bottom: -13px;
  background: var(--body-background);
  padding: 10px;
  font-size: 1rem;
}

.search-commands {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  list-style: none;
  padding-left: 0;
}

.search-commands > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.aa-ItemContentRow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.aa-ItemLink:hover {
  text-decoration: none;
}

.aa-ItemContentTitle.result-type {
  font-size: small;
  padding: 0 6px;
  border-radius: 10px;
  background: var(--panel-background);
  color: var(--body-font-color);
  overflow: unset;
  text-overflow: unset;
}

li.aa-Item:not([id*="filters"]) {
  border-bottom: 1px solid #dadde1;
}

.aa-ItemIcon {
  margin: 10px auto;
  height: unset !important;
  width: unset !important;
}

.aa-ItemActionButton svg {
  height: 15px;
  width: unset;
  margin: 5px;
}

.aa-Source[data-autocomplete-source-id="filters"] .aa-List {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5px;
}

.aa-Source[data-autocomplete-source-id="filters"] .aa-ItemContentTitle {
  font-size: 0.85em;
}

.aa-Source[data-autocomplete-source-id="filters"] .aa-List .aa-Item {
  min-height: unset;
  padding-top: 0;
  padding-bottom: 0;
  border: 1px solid #dadde1;
}

.aa-Source[data-autocomplete-source-id=tagsPlugin] .aa-Item {
  min-height: unset;
  padding: 0;
  border-radius: 20px;
}

li.aa-Item:not([id*=filters]) {
  border-bottom: 1px solid #dadde1;
}

.aa-Grid .toc.sidebar {
  position: unset;
  height: unset;
  width: unset;
}

.aa-Grid .toc.sidebar .toc-menu ul {
  max-height: unset;
  overflow-y: unset;
}

.aa-ItemIcon img {
  max-width: 100% !important;
  height: auto !important;
  max-height: unset !important;
}

.aa-Results.aa-Column {
  font-size: 1rem !important;
}

.aa-Preview.aa-Column .breadcrumbs {
  padding: 0;
}

.aa-Preview.aa-Column .breadcrumbs li {
  min-height: 30px;
}

.aa-Preview.aa-Column .breadcrumbs li a {
  color: var(--body-font-color);
  padding: 4px;
  text-decoration: none;
}

.aa-Preview.aa-Column .breadcrumbs li a:hover {
  color: var(--link-highlight-color);
}

.aa-Preview.aa-Column .breadcrumbs ul {
  padding: 0;
  gap: 5px;
}

.aa-Item[aria-selected=true] {
  background-color: var(--link-highlight-background-color) !important;
  color: var(--body-font-color) !important;
}

.aa-ActiveOnly {
  visibility: visible !important;
}

.aa-ItemContentTitle {
  font-size: 1rem;
  margin: 0 0.1em 0 0 !important;
}

.aa-SourceHeaderTitle {
  font-size: 1rem !important;
  font-weight: normal !important;
  color: var(--link-highlight-color) !important;
}

.aa-ItemContentSnippet {
  font-size: smaller;
}

@media screen and (min-width: 1350px) {
  .aa-Breadcrumbs {
    display: none;
  }
}

@media screen and (max-width: 1024px) {
  article.search .badge-button#display-filters {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  article.search .ais-Hits {
    padding: 25px;
  }

  article.search .header img {
    display: none;
  }

  article.search .search-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }

  article.search .filters {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 20px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }

  article.search .filters .interactive {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 0;
  }
}

@media screen and (min-width: 900px) {
  .aa-Preview.aa-Column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 500px;
    padding: 10px;
  }

  .aa-Preview.aa-Column .toc-menu ul {
    padding-top: 10px;
  }

  .aa-Grid {
    display: grid;
    padding: 0 calc(var(--aa-spacing-half)/2);
    -webkit-column-gap: 25px;
       -moz-column-gap: 25px;
            column-gap: 25px;
    grid-template-columns: 45% 1fr;
  }
}

@media screen and (min-width: 330px) {
  article.search .search-panel__filters::after {
    content: "▼";
    font-size: small;
    float: right;
    margin-right: 10px;
  }
}

html[data-theme=dark] .aa-ItemIcon img {
  background: #fff;
}

.banner-container {
  background-color: var(--important-background);
  border-left-width: var(--admonition-border-left-width);
  border-radius: var(--admonition-border-radius);
  -webkit-box-shadow: var(--admonition-border-box-shadow);
          box-shadow: var(--admonition-border-box-shadow);
  padding: var(--admonition-padding);
  margin-top: 0;
  margin-bottom: 10px;
}

.banner-container.nearing-eol {
  background-color: var(--caution-background);
}

.banner-container.past-eol {
  background-color: var(--warning-background);
}

/*
 * Redpanda Connect Component Table - Dropdown Filters & UI Stylesheet
 */

/* ===== COMPONENT METADATA STYLES ===== */

.doc .metadata-block {
  margin: 1rem 0;
  border: 1px solid #e1e5e9;
  border-radius: 6px;
  background: #f8f9fa;
}

.doc .metadata-content {
  padding: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6px;
}

.doc .type-dropdown-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin: 0;
}

.doc .type-dropdown-container .dropdown-wrapper {
  width: auto;
  min-width: 120px;
  max-width: 180px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.doc .metadata-block .dropdown-wrapper {
  position: relative;
}

.doc .metadata-block .dropdown-toggle {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-width: 120px;
  max-width: 180px;
  padding: 0.5rem 0.75rem;
  font-size: 13px;
  min-height: 36px;
}

.doc .metadata-block .dropdown-menu {
  left: 0;
  max-width: 180px;
  -webkit-transform: translateX(50px);
          transform: translateX(50px);
}

/* ===== TABLE FILTERS CONTAINER ===== */

.doc .table-filters {
  padding: 1.5rem;
  margin: 1.5rem 0;
  border: 2px solid #e1e5e9;
  border-radius: 8px;
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.doc .table-search {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 250px;
          flex: 1 1 250px;
  min-width: 200px;
  max-width: 400px;
  padding: 0.75rem 1rem;
  border: 2px solid #e1e5e9;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 400;
  color: #202124;
  background: white;
  -webkit-transition: border-color 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: border-color 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, -webkit-box-shadow 0.2s ease;
}

.doc .table-search:focus {
  outline: none;
  border-color: #4285f4;
  -webkit-box-shadow: 0 0 0 3px rgba(66, 133, 244, 0.1);
          box-shadow: 0 0 0 3px rgba(66, 133, 244, 0.1);
}

.doc .table-search::-webkit-input-placeholder {
  color: #5f6368;
}

.doc .table-search::-moz-placeholder {
  color: #5f6368;
}

.doc .table-search:-ms-input-placeholder {
  color: #5f6368;
}

.doc .table-search::-ms-input-placeholder {
  color: #5f6368;
}

.doc .table-search::placeholder {
  color: #5f6368;
}

.doc .filter-group {
  margin-bottom: 0;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 200px;
          flex: 1 1 200px;
  gap: 0.5rem;
  min-width: 180px;
  max-width: 220px;
}

.doc .filter-group label {
  display: block;
  font-weight: 600;
  color: #202124;
  font-size: 14px;
  margin: 0;
}

/* ===== DROPDOWN COMPONENTS ===== */

/* Dropdown checkbox wrapper for filter dropdowns */

.doc .dropdown-checkbox-wrapper {
  position: relative;
  width: 100%;
  min-width: 180px;
}

.doc .dropdown-checkbox-toggle {
  width: 100%;
  min-height: 42px;
  padding: 0.75rem 1rem;
  border: 2px solid #e1e5e9;
  border-radius: 6px;
  background: white;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 14px;
  font-weight: 500;
  color: #202124;
  -webkit-transition: border-color 0.2s ease, background-color 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: border-color 0.2s ease, background-color 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, -webkit-box-shadow 0.2s ease;
  text-align: left;
}

.doc .dropdown-checkbox-toggle:hover {
  border-color: #9aa0a6;
}

.doc .dropdown-checkbox-toggle:focus {
  outline: none;
  border-color: #4285f4;
  -webkit-box-shadow: 0 0 0 3px rgba(66, 133, 244, 0.1);
          box-shadow: 0 0 0 3px rgba(66, 133, 244, 0.1);
}

.doc .dropdown-checkbox-toggle.open {
  border-color: #4285f4;
  -webkit-box-shadow: 0 0 0 3px rgba(66, 133, 244, 0.1);
          box-shadow: 0 0 0 3px rgba(66, 133, 244, 0.1);
}

.doc .dropdown-checkbox-toggle.open .dropdown-arrow {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.doc .dropdown-checkbox-menu {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: white;
  border: 2px solid #4285f4;
  border-top: none;
  border-radius: 0 0 6px 6px;
  max-height: 250px;
  overflow-y: auto;
  z-index: 1000;
  display: none;
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.doc .dropdown-checkbox-menu.show {
  display: block;
}

.doc .dropdown-checkbox-option {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.75rem 1rem;
  cursor: pointer;
  border-bottom: 1px solid #f1f3f4;
  -webkit-transition: background-color 0.15s ease;
  transition: background-color 0.15s ease;
}

.doc .dropdown-checkbox-option:hover {
  background: #f8f9fa;
}

.doc .dropdown-checkbox-option:last-child {
  border-bottom: none;
}

.doc .dropdown-checkbox-option input[type="checkbox"] {
  margin: 0 0.75rem 0 0;
  width: 16px;
  height: 16px;
  cursor: pointer;

  /* Fallback for older browsers */
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background: white;
  border: 2px solid #54478c;
  border-radius: 2px;
  position: relative;
}

.doc .dropdown-checkbox-option input[type="checkbox"]:checked {
  background: #54478c;
}

.doc .dropdown-checkbox-option input[type="checkbox"]:checked::after {
  content: '✓';
  position: absolute;
  top: -2px;
  left: 2px;
  color: white;
  font-size: 12px;
  font-weight: bold;
}

.doc .dropdown-checkbox-option input[type="checkbox"]:focus-visible {
  outline: 2px solid #54478c;
  outline-offset: 2px;
  -webkit-box-shadow: 0 0 0 4px rgba(84, 71, 140, 0.15);
          box-shadow: 0 0 0 4px rgba(84, 71, 140, 0.15);
}

.doc .dropdown-checkbox-option span {
  font-weight: 400;
  color: #202124;
  font-size: 14px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

/* Select dropdown styles for component metadata */

.doc select.dropdown-checkbox-toggle,
.doc select.select-dropdown {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%235f6368' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 0.75rem center;
  background-repeat: no-repeat;
  background-size: 1rem;
  background-color: white;
  padding: 0.75rem 2.5rem 0.75rem 1rem;
  min-height: 42px;
  border: 2px solid #e1e5e9;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  color: #202124;
  -webkit-transition: border-color 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: border-color 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, -webkit-box-shadow 0.2s ease;
}

.doc select.dropdown-checkbox-toggle:hover,
.doc select.select-dropdown:hover {
  border-color: #9aa0a6;
}

.doc select.dropdown-checkbox-toggle:focus,
.doc select.select-dropdown:focus {
  outline: none;
  border-color: #4285f4;
  -webkit-box-shadow: 0 0 0 3px rgba(66, 133, 244, 0.1);
          box-shadow: 0 0 0 3px rgba(66, 133, 244, 0.1);
}

/* Component type dropdown wrapper */

.doc .dropdown-wrapper {
  position: relative;
}

.doc .dropdown-toggle {
  width: 100%;
  min-height: 42px;
  padding: 0.75rem 1rem;
  border: 2px solid #e1e5e9;
  border-radius: 6px;
  background: white;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 14px;
  font-weight: 500;
  color: #202124;
  -webkit-transition: border-color 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: border-color 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, -webkit-box-shadow 0.2s ease;
  text-align: left;
}

.doc .dropdown-toggle:hover {
  border-color: #9aa0a6;
}

.doc .dropdown-toggle:focus {
  outline: none;
  border-color: #4285f4;
  -webkit-box-shadow: 0 0 0 3px rgba(66, 133, 244, 0.1);
          box-shadow: 0 0 0 3px rgba(66, 133, 244, 0.1);
}

.doc .dropdown-toggle.open {
  border-color: #4285f4;
  -webkit-box-shadow: 0 0 0 3px rgba(66, 133, 244, 0.1);
          box-shadow: 0 0 0 3px rgba(66, 133, 244, 0.1);
}

.doc .dropdown-toggle.open .dropdown-arrow {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.doc .dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: white;
  border: 2px solid #4285f4;
  border-top: none;
  border-radius: 0 0 6px 6px;
  max-height: 250px;
  overflow-y: auto;
  z-index: 1000;
  display: none;
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.doc .dropdown-menu.show {
  display: block;
}

.doc .dropdown-option {
  display: block;
  padding: 0.75rem 1rem;
  color: #202124;
  text-decoration: none;
  border-bottom: 1px solid #f1f3f4;
  -webkit-transition: background-color 0.15s ease;
  transition: background-color 0.15s ease;
  font-size: 14px;
}

.doc .dropdown-option:hover,
.doc .dropdown-option:focus {
  background: #f8f9fa;
  text-decoration: none;
  outline: none;
}

.doc .dropdown-option:last-child {
  border-bottom: none;
}

.doc .dropdown-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  margin-right: 0.5rem;
}

.doc .dropdown-arrow {
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
  color: #5f6368;
  font-size: 12px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

/* ===== DARK MODE STYLES ===== */

@media (prefers-color-scheme: dark) {
  .doc .table-filters {
    border-color: var(--panel-border-color);
    background: linear-gradient(135deg, var(--body-background) 0%, var(--card-color) 100%);
    -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  }

  .doc .table-search {
    border-color: var(--panel-border-color);
    background: var(--input-color);
    color: var(--body-font-color);
  }

  .doc .table-search:focus {
    border-color: var(--link-highlight-color);
    -webkit-box-shadow: 0 0 0 3px var(--link-highlight-background-color);
            box-shadow: 0 0 0 3px var(--link-highlight-background-color);
  }

  .doc .table-search::-webkit-input-placeholder {
    color: var(--chip-text-color);
  }

  .doc .table-search::-moz-placeholder {
    color: var(--chip-text-color);
  }

  .doc .table-search:-ms-input-placeholder {
    color: var(--chip-text-color);
  }

  .doc .table-search::-ms-input-placeholder {
    color: var(--chip-text-color);
  }

  .doc .table-search::placeholder {
    color: var(--chip-text-color);
  }

  .doc .filter-group label {
    color: var(--body-font-color);
  }

  .doc .dropdown-checkbox-toggle {
    border-color: var(--panel-border-color);
    background: var(--input-color);
    color: var(--body-font-color);
  }

  .doc .dropdown-checkbox-toggle:hover {
    border-color: var(--chip-text-color);
  }

  .doc .dropdown-checkbox-toggle:focus {
    border-color: var(--link-highlight-color);
    -webkit-box-shadow: 0 0 0 3px var(--link-highlight-background-color);
            box-shadow: 0 0 0 3px var(--link-highlight-background-color);
  }

  .doc .dropdown-arrow {
    color: var(--chip-text-color);
  }

  .doc .dropdown-checkbox-toggle.open {
    border-color: var(--link-highlight-color);
    -webkit-box-shadow: 0 0 0 3px var(--link-highlight-background-color);
            box-shadow: 0 0 0 3px var(--link-highlight-background-color);
  }

  .doc .dropdown-checkbox-menu {
    background: var(--input-color);
    border-color: var(--link-highlight-color);
    -webkit-box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
            box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
  }

  .doc .dropdown-checkbox-option {
    border-bottom-color: var(--panel-border-color);
  }

  .doc .dropdown-checkbox-option:hover {
    background: var(--panel-background);
  }

  .doc .dropdown-checkbox-option input[type="checkbox"] {
    /* Dark mode checkbox styling */
    background: var(--input-color);
    border-color: var(--link-highlight-color);
  }

  .doc .dropdown-checkbox-option input[type="checkbox"]:checked {
    background: var(--link-highlight-color);
  }

  .doc .dropdown-checkbox-option input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--link-highlight-color);
    outline-offset: 2px;
    -webkit-box-shadow: 0 0 0 4px var(--link-highlight-background-color);
            box-shadow: 0 0 0 4px var(--link-highlight-background-color);
  }

  .doc .dropdown-checkbox-option span {
    color: var(--body-font-color);
  }

  .doc select.dropdown-checkbox-toggle,
  .doc select.select-dropdown {
    border-color: var(--panel-border-color);
    background-color: var(--input-color);
    color: var(--body-font-color);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23a0a0a0' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
  }

  .doc select.dropdown-checkbox-toggle:hover,
  .doc select.select-dropdown:hover {
    border-color: var(--chip-text-color);
  }

  .doc select.dropdown-checkbox-toggle:focus,
  .doc select.select-dropdown:focus {
    border-color: var(--link-highlight-color);
    -webkit-box-shadow: 0 0 0 3px var(--link-highlight-background-color);
            box-shadow: 0 0 0 3px var(--link-highlight-background-color);
  }

  .doc .dropdown-toggle {
    border-color: var(--panel-border-color);
    background: var(--input-color);
    color: var(--body-font-color);
  }

  .doc .dropdown-toggle:hover {
    border-color: var(--chip-text-color);
  }

  .doc .dropdown-toggle:focus {
    border-color: var(--link-highlight-color);
    -webkit-box-shadow: 0 0 0 3px var(--link-highlight-background-color);
            box-shadow: 0 0 0 3px var(--link-highlight-background-color);
  }

  .doc .dropdown-toggle.open {
    border-color: var(--link-highlight-color);
    -webkit-box-shadow: 0 0 0 3px var(--link-highlight-background-color);
            box-shadow: 0 0 0 3px var(--link-highlight-background-color);
  }

  .doc .dropdown-menu {
    background: var(--input-color);
    border-color: var(--link-highlight-color);
    -webkit-box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
            box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
  }

  .doc .dropdown-option {
    color: var(--body-font-color);
    border-bottom-color: var(--panel-border-color);
  }

  .doc .dropdown-option:hover,
  .doc .dropdown-option:focus {
    background: var(--panel-background);
  }

  .doc .metadata-block {
    border-color: var(--panel-border-color);
    background: var(--card-color);
  }
}

/* ===== ADDITIONAL DARK MODE SUPPORT FOR COMMON IMPLEMENTATIONS ===== */

.doc[data-theme="dark"] .table-filters,
.doc.dark .table-filters,
html[data-theme="dark"] .doc .table-filters {
  border-color: var(--panel-border-color);
  background: linear-gradient(135deg, var(--body-background) 0%, var(--card-color) 100%);
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.doc[data-theme="dark"] .table-search,
.doc.dark .table-search,
html[data-theme="dark"] .doc .table-search {
  border-color: var(--panel-border-color);
  background: var(--input-color);
  color: var(--body-font-color);
}

.doc[data-theme="dark"] .table-search:focus,
.doc.dark .table-search:focus,
html[data-theme="dark"] .doc .table-search:focus {
  border-color: var(--link-highlight-color);
  -webkit-box-shadow: 0 0 0 3px var(--link-highlight-background-color);
          box-shadow: 0 0 0 3px var(--link-highlight-background-color);
}

.doc[data-theme="dark"] .table-search::-webkit-input-placeholder, .doc.dark .table-search::-webkit-input-placeholder, html[data-theme="dark"] .doc .table-search::-webkit-input-placeholder {
  color: var(--chip-text-color);
}

.doc[data-theme="dark"] .table-search::-moz-placeholder, .doc.dark .table-search::-moz-placeholder, html[data-theme="dark"] .doc .table-search::-moz-placeholder {
  color: var(--chip-text-color);
}

.doc[data-theme="dark"] .table-search:-ms-input-placeholder, .doc.dark .table-search:-ms-input-placeholder, html[data-theme="dark"] .doc .table-search:-ms-input-placeholder {
  color: var(--chip-text-color);
}

.doc[data-theme="dark"] .table-search::-ms-input-placeholder, .doc.dark .table-search::-ms-input-placeholder, html[data-theme="dark"] .doc .table-search::-ms-input-placeholder {
  color: var(--chip-text-color);
}

.doc[data-theme="dark"] .table-search::placeholder,
.doc.dark .table-search::placeholder,
html[data-theme="dark"] .doc .table-search::placeholder {
  color: var(--chip-text-color);
}

.doc[data-theme="dark"] .filter-group label,
.doc.dark .filter-group label,
html[data-theme="dark"] .doc .filter-group label {
  color: var(--body-font-color);
}

.doc[data-theme="dark"] .dropdown-checkbox-toggle,
.doc.dark .dropdown-checkbox-toggle,
html[data-theme="dark"] .doc .dropdown-checkbox-toggle {
  border-color: var(--panel-border-color);
  background: var(--input-color);
  color: var(--body-font-color);
}

.doc[data-theme="dark"] .dropdown-checkbox-toggle:hover,
.doc.dark .dropdown-checkbox-toggle:hover,
html[data-theme="dark"] .doc .dropdown-checkbox-toggle:hover {
  border-color: var(--chip-text-color);
}

.doc[data-theme="dark"] .dropdown-checkbox-toggle:focus,
.doc.dark .dropdown-checkbox-toggle:focus,
html[data-theme="dark"] .doc .dropdown-checkbox-toggle:focus {
  border-color: var(--link-highlight-color);
  -webkit-box-shadow: 0 0 0 3px var(--link-highlight-background-color);
          box-shadow: 0 0 0 3px var(--link-highlight-background-color);
}

.doc[data-theme="dark"] .dropdown-arrow,
.doc.dark .dropdown-arrow,
html[data-theme="dark"] .doc .dropdown-arrow {
  color: var(--chip-text-color);
}

.doc[data-theme="dark"] .dropdown-checkbox-toggle.open,
.doc.dark .dropdown-checkbox-toggle.open,
html[data-theme="dark"] .doc .dropdown-checkbox-toggle.open {
  border-color: var(--link-highlight-color);
  -webkit-box-shadow: 0 0 0 3px var(--link-highlight-background-color);
          box-shadow: 0 0 0 3px var(--link-highlight-background-color);
}

.doc[data-theme="dark"] .dropdown-checkbox-menu,
.doc.dark .dropdown-checkbox-menu,
html[data-theme="dark"] .doc .dropdown-checkbox-menu {
  background: var(--input-color);
  border-color: var(--link-highlight-color);
  -webkit-box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
          box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}

.doc[data-theme="dark"] .dropdown-checkbox-option,
.doc.dark .dropdown-checkbox-option,
html[data-theme="dark"] .doc .dropdown-checkbox-option {
  border-bottom-color: var(--panel-border-color);
}

.doc[data-theme="dark"] .dropdown-checkbox-option:hover,
.doc.dark .dropdown-checkbox-option:hover,
html[data-theme="dark"] .doc .dropdown-checkbox-option:hover {
  background: var(--panel-background);
}

.doc[data-theme="dark"] .dropdown-checkbox-option input[type="checkbox"],
.doc.dark .dropdown-checkbox-option input[type="checkbox"],
html[data-theme="dark"] .doc .dropdown-checkbox-option input[type="checkbox"] {
  background: var(--input-color);
  border-color: var(--link-highlight-color);
}

.doc[data-theme="dark"] .dropdown-checkbox-option input[type="checkbox"]:checked,
.doc.dark .dropdown-checkbox-option input[type="checkbox"]:checked,
html[data-theme="dark"] .doc .dropdown-checkbox-option input[type="checkbox"]:checked {
  background: var(--link-highlight-color);
}

.doc[data-theme="dark"] .dropdown-checkbox-option input[type="checkbox"]:focus-visible,
.doc.dark .dropdown-checkbox-option input[type="checkbox"]:focus-visible,
html[data-theme="dark"] .doc .dropdown-checkbox-option input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--link-highlight-color);
  outline-offset: 2px;
  -webkit-box-shadow: 0 0 0 4px var(--link-highlight-background-color);
          box-shadow: 0 0 0 4px var(--link-highlight-background-color);
}

.doc[data-theme="dark"] .dropdown-checkbox-option span,
.doc.dark .dropdown-checkbox-option span,
html[data-theme="dark"] .doc .dropdown-checkbox-option span {
  color: var(--body-font-color);
}

.doc[data-theme="dark"] select.dropdown-checkbox-toggle,
.doc[data-theme="dark"] select.select-dropdown,
.doc.dark select.dropdown-checkbox-toggle,
.doc.dark select.select-dropdown,
html[data-theme="dark"] .doc select.dropdown-checkbox-toggle,
html[data-theme="dark"] .doc select.select-dropdown {
  border-color: var(--panel-border-color);
  background-color: var(--input-color);
  color: var(--body-font-color);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23a0a0a0' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
}

.doc[data-theme="dark"] select.dropdown-checkbox-toggle:hover,
.doc[data-theme="dark"] select.select-dropdown:hover,
.doc.dark select.dropdown-checkbox-toggle:hover,
.doc.dark select.select-dropdown:hover,
html[data-theme="dark"] .doc select.dropdown-checkbox-toggle:hover,
html[data-theme="dark"] .doc select.select-dropdown:hover {
  border-color: var(--chip-text-color);
}

.doc[data-theme="dark"] select.dropdown-checkbox-toggle:focus,
.doc[data-theme="dark"] select.select-dropdown:focus,
.doc.dark select.dropdown-checkbox-toggle:focus,
.doc.dark select.select-dropdown:focus,
html[data-theme="dark"] .doc select.dropdown-checkbox-toggle:focus,
html[data-theme="dark"] .doc select.select-dropdown:focus {
  border-color: var(--link-highlight-color);
  -webkit-box-shadow: 0 0 0 3px var(--link-highlight-background-color);
          box-shadow: 0 0 0 3px var(--link-highlight-background-color);
}

.doc[data-theme="dark"] .dropdown-toggle,
.doc.dark .dropdown-toggle,
html[data-theme="dark"] .doc .dropdown-toggle {
  border-color: var(--panel-border-color);
  background: var(--input-color);
  color: var(--body-font-color);
}

.doc[data-theme="dark"] .dropdown-toggle:hover,
.doc.dark .dropdown-toggle:hover,
html[data-theme="dark"] .doc .dropdown-toggle:hover {
  border-color: var(--chip-text-color);
}

.doc[data-theme="dark"] .dropdown-toggle:focus,
.doc.dark .dropdown-toggle:focus,
html[data-theme="dark"] .doc .dropdown-toggle:focus {
  border-color: var(--link-highlight-color);
  -webkit-box-shadow: 0 0 0 3px var(--link-highlight-background-color);
          box-shadow: 0 0 0 3px var(--link-highlight-background-color);
}

.doc[data-theme="dark"] .dropdown-toggle.open,
.doc.dark .dropdown-toggle.open,
html[data-theme="dark"] .doc .dropdown-toggle.open {
  border-color: var(--link-highlight-color);
  -webkit-box-shadow: 0 0 0 3px var(--link-highlight-background-color);
          box-shadow: 0 0 0 3px var(--link-highlight-background-color);
}

.doc[data-theme="dark"] .dropdown-menu,
.doc.dark .dropdown-menu,
html[data-theme="dark"] .doc .dropdown-menu {
  background: var(--input-color);
  border-color: var(--link-highlight-color);
  -webkit-box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
          box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}

.doc[data-theme="dark"] .dropdown-option,
.doc.dark .dropdown-option,
html[data-theme="dark"] .doc .dropdown-option {
  color: var(--body-font-color);
  border-bottom-color: var(--panel-border-color);
}

.doc[data-theme="dark"] .dropdown-option:hover,
.doc[data-theme="dark"] .dropdown-option:focus,
.doc.dark .dropdown-option:hover,
.doc.dark .dropdown-option:focus,
html[data-theme="dark"] .doc .dropdown-option:hover,
html[data-theme="dark"] .doc .dropdown-option:focus {
  background: var(--panel-background);
}

.doc[data-theme="dark"] .metadata-block,
.doc.dark .metadata-block,
html[data-theme="dark"] .doc .metadata-block {
  border-color: var(--panel-border-color);
  background: var(--card-color);
}

/* ===== RESPONSIVE DESIGN ===== */

@media (max-width: 1200px) {
  .doc .table-filters {
    padding: 1.25rem;
  }

  .doc .filter-group {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 calc(50% - 0.5rem);
            flex: 1 1 calc(50% - 0.5rem);
    min-width: 160px;
    max-width: none;
  }

  .doc .table-search {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
    max-width: none;
    margin-bottom: 0.5rem;
  }
}

@media (max-width: 768px) {
  .doc .table-filters {
    padding: 1rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }

  .doc .filter-group {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    max-width: none;
    margin-bottom: 1rem;
  }

  .doc .filter-group:last-child {
    margin-bottom: 0;
  }

  .doc .dropdown-checkbox-wrapper {
    width: 100%;
    min-width: unset;
  }

  .doc .table-search {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    min-width: unset;
    max-width: none;
    margin-bottom: 1rem;
  }
}

@media (max-width: 480px) {
  .doc .table-filters {
    padding: 0.75rem;
    gap: 0.75rem;
  }

  .doc .filter-group {
    margin-bottom: 0.75rem;
  }

  .doc .table-search {
    margin-bottom: 0.75rem;
  }

  .doc .type-dropdown-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 4px;
  }

  .doc .type-dropdown-container .dropdown-wrapper {
    width: 100%;
    max-width: none;
  }

  .doc .metadata-block .dropdown-toggle {
    width: 100%;
    max-width: none;
  }
}

span.editable {
  color: var(--editable-code-font-color);
  font-weight: bolder;
  padding: 0 3px;
  border: 0.1rem solid rgba(0, 0, 0, 0.10196078431372549);
  border-radius: 0.25rem;
  margin-left: 1px;
  margin-right: 1px;
  background: var(--editable-background);
  border-bottom: 2px dashed;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  position: relative;
  z-index: 1;
}

/* stylelint-disable font-family-no-missing-generic-family-keyword */

span.editable::after {
  content: "\f040";
  font-family: 'FontAwesome';
  margin-left: 5px;
}

/* stylelint-enable font-family-no-missing-generic-family-keyword */

span.editable span.token {
  position: relative;
  z-index: 1;
  color: var(--editable-code-font-color) !important;
  font-weight: 450;
  border: none;
  padding: 0;
  margin: 0;
}

.doc pre > code[class*=language-] span.editable span.token {
  color: var(--editable-code-font-color) !important;
}

span.editable:hover,
span.editable > *:hover {
  cursor: pointer;
}

.imageblock {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.imageblock .content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}

.imageblock .content img,
.imageblock .content svg {
  max-width: 100%;
  max-height: 100%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
}

/* Underline clickable spans of SVG images */

svg .node.clickable span {
  text-decoration: underline !important;
}

.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.8);
  display: none; /* Shown when active */
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: auto;  /* Allows scrolling if content is too tall */
  padding: 1rem;
  z-index: 9999;
}

.modal-overlay.active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.modal-scroll-container {
  max-width: 90vw;
  max-height: 90vh;
}

.modal-scroll-container img,
.modal-scroll-container svg {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
          box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
  border-radius: 5px;
}

.modal-scroll-container svg {
  width: 90vw;
  -o-object-fit: unset;
     object-fit: unset;
  font-size: smaller !important;
}

.modal-overlay .modal-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: transparent;
  border: none;
  font-size: 2rem;
  color: #fff;
  cursor: pointer;
  z-index: 10000;
}

@media (prefers-reduced-motion: reduce) {
  .imageblock .content img,
  .imageblock .content svg {
    -webkit-transition: none;
    transition: none;
  }
}

.cloud-api-feedback-section {
  padding: 0 15px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  color: var(--link-font-color);
  gap: 10px;
  margin-top: -1rem;
}

.cloud-api-feedback-section .material-icons {
  vertical-align: middle;
}

.cloud-api-feedback-section a {
  text-decoration: none;
}

.cloud-api-feedback-section a:hover {
  cursor: pointer;
}

.cloud-api-feedback-section .col {
  gap: 8px;
  margin-top: 20px;
}

@media screen and (min-width: 1024px) {
  .cloud-api-feedback-section {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.cloud-api-feedback-modal {
  display: block;
  position: fixed;
  z-index: 9;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.4);
}

.cloud-api-feedback-modal-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: bold;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 10px;
}

.cloud-api-feedback-modal-body {
  background-color: var(--feedback-modal-background);
  margin: 15% auto;
  padding: 20px;
  border: 1px solid #888;
  width: 80%;
  max-width: 350px;
  position: relative;
}

.cloud-api-feedback-modal-close {
  position: absolute;
  top: -5px;
  right: 0;
}

.cloud-api-feedback-modal-close button {
  background-color: var(--body-background) !important;
  border: 0 !important;
  color: var(--link-font-color) !important;
}

.cloud-api-feedback-modal-input {
  border: 1px solid #dadce0;
  border-radius: 8px;
  max-width: 400px;
  width: 80%;
  padding: 7px;
}

.cloud-api-feedback-modal .successful-sent-email-api-feedback {
  display: hidden;
}

body.two-column .doc {
  max-width: 80rem;
}

body.two-column .doc .exampleblock.two-column > .content {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 10px;
  padding: 10px;
}

@media screen and (min-width: 1500px) {
  body.two-column .doc .exampleblock.two-column > .content {
    grid-template-columns: 1fr 1fr;
  }
}

body.two-column .doc .exampleblock.two-column > .content > * {
  margin-top: 0;
}

@font-face {
  font-family: "Patron Medium";
  font-style: normal;
  font-weight: 400;
  src:
    local("Patron Medium"),
    url(../font/Patron-Medium.woff2) format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "Calibre Regular";
  font-weight: 400;
  font-style: normal;
  /* Use optional to prevent CLS from font loading - only use font if already cached */
  font-display: optional;
  /* size-adjust: 107%; - Match fallback font metrics to reduce CLS - disabled due to stylelint */
  src:
    local("Calibre Regular"),
    url(../font/calibre-Regular.woff2) format("woff2");
}

@font-face {
  font-family: "Calibre Medium";
  font-style: normal;
  font-weight: 400;
  src:
    local("Calibre Medium"),
    url(../font/calibre-medium.woff2) format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "Calibre Semibold";
  font-style: normal;
  font-weight: 500;
  src:
    local("Calibre Medium"),
    url(../font/calibre-semibold.woff2) format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "Calibre Medium";
  font-style: italic;
  font-weight: 500;
  src:
    local("Calibre Medium"),
    url(../font/calibre-medium-italic.woff2) format("woff2");
  font-display: swap;
}

/*
 * IBM Plex Mono
 * Licensed under the SIL Open Font License, Version 1.1.
 * See: https://scripts.sil.org/OFL
 * © IBM Corp.
 */

@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 300;
  src:
    local("IBM Plex Mono"),
    url(../font/IBMPlexMono-Light.ttf) format("truetype");
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 400;
  src:
    local("IBM Plex Mono"),
    url(../font/IBMPlexMono-Regular.ttf) format("truetype");
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 500;
  src:
    local("IBM Plex Mono"),
    url(../font/IBMPlexMono-Medium.ttf) format("truetype");
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 600;
  src:
    local("IBM Plex Mono"),
    url(../font/IBMPlexMono-SemiBold.ttf) format("truetype");
  font-display: swap;
}

@font-face {
  font-family: "Simplon Mono";
  font-style: normal;
  font-weight: 400;
  src:
    local("Simplon Mono"),
    url(../font/SimplonMono.ttf) format("truetype");
  font-display: swap;
}

/* =============================================================================
   INTER TYPEFACE
   Primary body font. Includes weights from Light (300) to Bold (700).
   ============================================================================= */

/* Light - 300 */

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src:
    local("Inter Light"),
    local("Inter-Light"),
    url(../font/Inter-Light.ttf) format("truetype");
}

/* Regular - 400 */

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src:
    local("Inter Regular"),
    local("Inter-Regular"),
    url(../font/Inter-Regular.ttf) format("truetype");
}

/* Medium - 500 */

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src:
    local("Inter Medium"),
    local("Inter-Medium"),
    url(../font/Inter-Medium.ttf) format("truetype");
}

/* SemiBold - 600 */

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src:
    local("Inter SemiBold"),
    local("Inter-SemiBold"),
    url(../font/Inter-SemiBold.ttf) format("truetype");
}

/* Bold - 700 */

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src:
    local("Inter Bold"),
    local("Inter-Bold"),
    url(../font/Inter-Bold.ttf) format("truetype");
}

/* ExtraBold - 800 */

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src:
    local("Inter ExtraBold"),
    local("Inter-ExtraBold"),
    url(../font/Inter-ExtraBold.ttf) format("truetype");
}

/* =============================================================================
   INTER DISPLAY TYPEFACE
   Brand display font for headings and hero text.
   Includes Regular (400), Medium (500), SemiBold (600), and Bold (700).
   ============================================================================= */

/* Regular - 400 */

@font-face {
  font-family: "Inter Display";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../font/inter-display/InterDisplay-Regular.ttf") format("truetype");
}

/* Medium - 500 */

@font-face {
  font-family: "Inter Display";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../font/inter-display/InterDisplay-Medium.ttf") format("truetype");
}

/* SemiBold - 600 */

@font-face {
  font-family: "Inter Display";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../font/inter-display/InterDisplay-SemiBold.ttf") format("truetype");
}

/* Bold - 700 */

@font-face {
  font-family: "Inter Display";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../font/inter-display/InterDisplay-Bold.ttf") format("truetype");
}

.contributors-modal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: fixed;
  z-index: 9;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.4);
}

.contributors-modal .modal-content {
  background-color: var(--feedback-modal-background);
  margin: 0 1rem;
  padding: 8px 0 8px 0;
  border: 1px solid #888;
  width: 100%;
  max-width: 600px;
  border-radius: 10px;
  -webkit-box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, 0.1);
  position: relative;
}

.contributors-modal .modal-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 16px 24px;
}

@media screen and (min-width: 769px) {
  .contributors-modal .modal-body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.contributors-modal .modal-column {
  -webkit-box-flex: 50%;
      -ms-flex: 50%;
          flex: 50%;
  padding: 10px;
}

.contributors-modal .close-button {
  color: #aaa;
  right: 20px;
  top: 0;
  position: absolute;
  font-size: 2rem;
  font-weight: bold;
}

.contributors-modal .close-button:hover,
.contributors-modal .close-button:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

/* Announcement bar - smooth animated reveal without CLS */

.announcement-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
  color: white;
  z-index: var(--z-index-navbar);
  font-size: var(--secondary-font-size);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  text-align: center;
  /* Start collapsed - JS will reveal */
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  -webkit-transition:
    max-height 0.3s ease-out,
    opacity 0.2s ease-out;
  transition:
    max-height 0.3s ease-out,
    opacity 0.2s ease-out;
}

/* Show when active (set by JavaScript) */

.announcement-bar.is-active {
  max-height: 60px; /* Mobile height */
  opacity: 1;
}

.announcement-bar .announcement-content {
  padding: 10px 40px 10px 16px;
  line-height: 1.4;
}

.announcement-bar .announcement-content a {
  padding-left: 5px;
  color: #93c5fd;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.announcement-bar .announcement-content a:hover {
  color: #bfdbfe;
}

.announcement-bar button.close {
  border: none;
  color: rgba(255, 255, 255, 0.7);
  background: none;
  margin-top: 0;
  padding: 8px;
  position: absolute;
  right: 8px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  cursor: pointer;
  -webkit-transition: color 0.15s;
  transition: color 0.15s;
}

.announcement-bar button.close:hover {
  color: white;
}

@media screen and (min-width: 1024px) {
  .announcement-bar.is-active {
    max-height: 36px; /* Desktop height */
  }

  .announcement-bar button.close {
    right: 16px;
  }
}

pre.line-numbers {
  position: relative;
  counter-reset: linenumber;
  white-space: pre-line;
}

pre.line-numbers > code {
  padding-left: 1.2rem;
}

pre.line-numbers .line-numbers-rows {
  position: absolute;
  top: 0.95rem;
  font-size: 100%;
  left: -1rem;
  width: 3em; /* works for line-numbers below 1000 lines */
  letter-spacing: -1px;
  border-right: 1px solid #999;
}

.line-numbers-rows > span {
  display: block;
  counter-increment: linenumber;
}

.line-numbers-rows > span::before {
  content: counter(linenumber);
  color: #999;
  display: block;
  padding-right: 0.8em;
  text-align: right;
}

.line-numbers span.line-numbers-rows > span {
  position: relative;
  /* For future use (linkable line numbers)
  cursor: pointer;
  */
}

/* For future use (linkable line numbers)
.line-numbers-rows > span:hover {
  background-color: rgba(255, 255, 0, 0.23);
}
*/

pre .line-highlight {
  position: absolute;
  background-color: var(--highlight-background);
}

.doc pre > code[class*=language-] span.token.entity {
  background: unset !important;
  cursor: unset;
}

.language-bloblang .token.string,
.language-blobl .token.string {
  color: #22863a;
}

.language-bloblang .token.keyword,
.language-blobl .token.keyword {
  color: #6f42c1;
  font-weight: normal;
}

.language-bloblang .token.function,
.language-blobl .token.function {
  color: #6f42c1;
  font-weight: normal;
}

.language-bloblang .token.coalesce,
.language-blobl .token.coalesce {
  color: #d73a49;
  font-weight: normal;
}

.language-bloblang .token.metadata,
.language-blobl .token.metadata {
  color: #005cc5;
  font-weight: normal;
  display: inline;
}

.language-bloblang .token.variable,
.language-blobl .token.variable {
  color: #005cc5;
  font-weight: normal;
}

.language-bloblang .token.method,
.language-blobl .token.method {
  color: #6f42c1;
  font-style: normal;
}

.language-bloblang .token.multiline-string,
.language-blobl .token.multiline-string {
  color: #22863a;
}

.language-bloblang .token.number,
.language-blobl .token.number {
  color: #005cc5;
}

.language-bloblang .token.operator,
.language-blobl .token.operator {
  color: #d73a49;
}

.language-bloblang .token.spread,
.language-blobl .token.spread {
  color: #d73a49;
}

.language-bloblang .token.comment,
.language-blobl .token.comment {
  color: #6a737d;
  font-style: italic;
}

.language-bloblang .token.punctuation,
.language-blobl .token.punctuation {
  color: #24292e;
}

.language-bloblang .token.property,
.language-blobl .token.property {
  color: #005cc5;
}

html[data-theme="dark"] .language-bloblang .token.string,
html[data-theme="dark"] .language-blobl .token.string {
  color: #ce9178;
}

html[data-theme="dark"] .language-bloblang .token.keyword,
html[data-theme="dark"] .language-blobl .token.keyword {
  color: #c586c0;
  font-weight: normal;
}

html[data-theme="dark"] .language-bloblang .token.function,
html[data-theme="dark"] .language-blobl .token.function {
  color: #dcdcaa;
  font-weight: normal;
}

html[data-theme="dark"] .language-bloblang .token.coalesce,
html[data-theme="dark"] .language-blobl .token.coalesce {
  color: #f48771;
  font-weight: normal;
}

html[data-theme="dark"] .language-bloblang .token.metadata,
html[data-theme="dark"] .language-blobl .token.metadata {
  color: #4ec9b0;
  font-weight: normal;
}

html[data-theme="dark"] .language-bloblang .token.variable,
html[data-theme="dark"] .language-blobl .token.variable {
  color: #9cdcfe;
  font-weight: normal;
}

html[data-theme="dark"] .language-bloblang .token.method,
html[data-theme="dark"] .language-blobl .token.method {
  color: #dcdcaa;
  font-style: normal;
}

html[data-theme="dark"] .language-bloblang .token.multiline-string,
html[data-theme="dark"] .language-blobl .token.multiline-string {
  color: #ce9178;
}

html[data-theme="dark"] .language-bloblang .token.number,
html[data-theme="dark"] .language-blobl .token.number {
  color: #b5cea8;
}

html[data-theme="dark"] .language-bloblang .token.operator,
html[data-theme="dark"] .language-blobl .token.operator {
  color: #d4d4d4;
}

html[data-theme="dark"] .language-bloblang .token.spread,
html[data-theme="dark"] .language-blobl .token.spread {
  color: #d4d4d4;
}

html[data-theme="dark"] .language-bloblang .token.comment,
html[data-theme="dark"] .language-blobl .token.comment {
  color: #6a9955;
  font-style: italic;
}

html[data-theme="dark"] .language-bloblang .token.punctuation,
html[data-theme="dark"] .language-blobl .token.punctuation {
  color: #d4d4d4;
}

html[data-theme="dark"] .language-bloblang .token.property,
html[data-theme="dark"] .language-blobl .token.property {
  color: #9cdcfe;
}

.language-yaml .bloblang-embedded,
.language-yml .bloblang-embedded {
  display: inline;
  white-space: pre-wrap;
}

.language-yaml .bloblang-inline,
.language-yml .bloblang-inline {
  display: inline;
  white-space: normal;
}

.language-yaml .bloblang-interpolation,
.language-yml .bloblang-interpolation {
  display: inline;
  white-space: nowrap;
}

.language-yaml .bloblang-embedded .token.string,
.language-yaml .bloblang-inline .token.string,
.language-yml .bloblang-embedded .token.string,
.language-yml .bloblang-inline .token.string {
  color: #22863a;
}

.language-yaml .bloblang-embedded .token.keyword,
.language-yaml .bloblang-inline .token.keyword,
.language-yml .bloblang-embedded .token.keyword,
.language-yml .bloblang-inline .token.keyword {
  color: #6f42c1;
}

.language-yaml .bloblang-embedded .token.function,
.language-yaml .bloblang-inline .token.function,
.language-yml .bloblang-embedded .token.function,
.language-yml .bloblang-inline .token.function {
  color: #6f42c1;
}

.language-yaml .bloblang-embedded .token.method,
.language-yaml .bloblang-inline .token.method,
.language-yml .bloblang-embedded .token.method,
.language-yml .bloblang-inline .token.method {
  color: #6f42c1;
}

.language-yaml .bloblang-embedded .token.number,
.language-yaml .bloblang-inline .token.number,
.language-yml .bloblang-embedded .token.number,
.language-yml .bloblang-inline .token.number {
  color: #005cc5;
}

.language-yaml .bloblang-embedded .token.operator,
.language-yaml .bloblang-inline .token.operator,
.language-yml .bloblang-embedded .token.operator,
.language-yml .bloblang-inline .token.operator {
  color: #d73a49;
}

.language-yaml .bloblang-embedded .token.variable,
.language-yaml .bloblang-inline .token.variable,
.language-yml .bloblang-embedded .token.variable,
.language-yml .bloblang-inline .token.variable {
  color: #005cc5;
}

.language-yaml .bloblang-embedded .token.metadata,
.language-yaml .bloblang-inline .token.metadata,
.language-yml .bloblang-embedded .token.metadata,
.language-yml .bloblang-inline .token.metadata {
  color: #005cc5;
  display: inline;
}

.language-yaml .bloblang-embedded .token.comment,
.language-yaml .bloblang-inline .token.comment,
.language-yml .bloblang-embedded .token.comment,
.language-yml .bloblang-inline .token.comment {
  color: #6a737d;
  font-style: italic;
}

.language-yaml .bloblang-embedded .token.property,
.language-yaml .bloblang-inline .token.property,
.language-yml .bloblang-embedded .token.property,
.language-yml .bloblang-inline .token.property {
  color: #005cc5;
}

html[data-theme="dark"] .language-yaml .bloblang-embedded .token.string,
html[data-theme="dark"] .language-yaml .bloblang-inline .token.string,
html[data-theme="dark"] .language-yml .bloblang-embedded .token.string,
html[data-theme="dark"] .language-yml .bloblang-inline .token.string {
  color: #ce9178;
}

html[data-theme="dark"] .language-yaml .bloblang-embedded .token.keyword,
html[data-theme="dark"] .language-yaml .bloblang-inline .token.keyword,
html[data-theme="dark"] .language-yml .bloblang-embedded .token.keyword,
html[data-theme="dark"] .language-yml .bloblang-inline .token.keyword {
  color: #c586c0;
}

html[data-theme="dark"] .language-yaml .bloblang-embedded .token.function,
html[data-theme="dark"] .language-yaml .bloblang-inline .token.function,
html[data-theme="dark"] .language-yml .bloblang-embedded .token.function,
html[data-theme="dark"] .language-yml .bloblang-inline .token.function {
  color: #dcdcaa;
}

html[data-theme="dark"] .language-yaml .bloblang-embedded .token.method,
html[data-theme="dark"] .language-yaml .bloblang-inline .token.method,
html[data-theme="dark"] .language-yml .bloblang-embedded .token.method,
html[data-theme="dark"] .language-yml .bloblang-inline .token.method {
  color: #dcdcaa;
}

html[data-theme="dark"] .language-yaml .bloblang-embedded .token.number,
html[data-theme="dark"] .language-yaml .bloblang-inline .token.number,
html[data-theme="dark"] .language-yml .bloblang-embedded .token.number,
html[data-theme="dark"] .language-yml .bloblang-inline .token.number {
  color: #b5cea8;
}

html[data-theme="dark"] .language-yaml .bloblang-embedded .token.operator,
html[data-theme="dark"] .language-yaml .bloblang-inline .token.operator,
html[data-theme="dark"] .language-yml .bloblang-embedded .token.operator,
html[data-theme="dark"] .language-yml .bloblang-inline .token.operator {
  color: #d4d4d4;
}

html[data-theme="dark"] .language-yaml .bloblang-embedded .token.variable,
html[data-theme="dark"] .language-yaml .bloblang-inline .token.variable,
html[data-theme="dark"] .language-yml .bloblang-embedded .token.variable,
html[data-theme="dark"] .language-yml .bloblang-inline .token.variable {
  color: #9cdcfe;
}

html[data-theme="dark"] .language-yaml .bloblang-embedded .token.metadata,
html[data-theme="dark"] .language-yaml .bloblang-inline .token.metadata,
html[data-theme="dark"] .language-yml .bloblang-embedded .token.metadata,
html[data-theme="dark"] .language-yml .bloblang-inline .token.metadata {
  color: #4ec9b0;
}

html[data-theme="dark"] .language-yaml .bloblang-embedded .token.comment,
html[data-theme="dark"] .language-yaml .bloblang-inline .token.comment,
html[data-theme="dark"] .language-yml .bloblang-embedded .token.comment,
html[data-theme="dark"] .language-yml .bloblang-inline .token.comment {
  color: #6a9955;
  font-style: italic;
}

html[data-theme="dark"] .language-yaml .bloblang-embedded .token.property,
html[data-theme="dark"] .language-yaml .bloblang-inline .token.property,
html[data-theme="dark"] .language-yml .bloblang-embedded .token.property,
html[data-theme="dark"] .language-yml .bloblang-inline .token.property {
  color: #9cdcfe;
}

/* Bloblang Interactive Features CSS */

.has-documentation {
  border-bottom: 1px dotted currentColor;
  cursor: help;
  -webkit-transition: border-color 0.2s;
  transition: border-color 0.2s;
}

.has-documentation:hover,
.has-documentation:focus {
  border-bottom-style: solid;
  outline: none;
}

.has-documentation:focus-visible {
  outline: 2px solid #005cc5;
  outline: 2px solid var(--link-color, #005cc5);
  outline-offset: 2px;
  border-bottom-style: solid;
}

/* Tippy theme for Bloblang docs */

.tippy-box[data-theme~='bloblang-doc'] {
  background-color: #fff;
  background-color: var(--panel-background, #fff);
  color: #333;
  color: var(--body-font-color, #333);
  border: 1px solid #ddd;
  border: 1px solid var(--panel-border-color, #ddd);
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  border-radius: 6px;
  font-size: 0.875rem;
}

.tippy-box[data-theme~='bloblang-doc'][data-placement^='top'] > .tippy-arrow::before {
  border-top-color: #ddd;
  border-top-color: var(--panel-border-color, #ddd);
}

.tippy-box[data-theme~='bloblang-doc'][data-placement^='bottom'] > .tippy-arrow::before {
  border-bottom-color: #ddd;
  border-bottom-color: var(--panel-border-color, #ddd);
}

.bloblang-doc-tooltip {
  padding: 12px;
  line-height: 1.5;
}

.bloblang-doc-tooltip .doc-signature {
  font-family: monospace;
  font-family: var(--code-font-family, monospace);
  font-weight: 600;
  margin-bottom: 8px;
  color: #005cc5;
  color: var(--link-color, #005cc5);
  font-size: 0.9375rem;
}

.bloblang-doc-tooltip .doc-signature code {
  background: none;
  padding: 0;
  color: inherit;
}

.bloblang-doc-tooltip .doc-description {
  margin-bottom: 12px;
  color: #333;
  color: var(--body-font-color, #333);
}

.bloblang-doc-tooltip .doc-parameters {
  margin-bottom: 12px;
  font-size: 0.8125rem;
}

.bloblang-doc-tooltip .doc-parameters strong {
  display: block;
  margin-bottom: 4px;
  color: #111;
  color: var(--heading-font-color, #111);
}

.bloblang-doc-tooltip .doc-parameters ul {
  margin: 0;
  padding-left: 20px;
  list-style: disc;
}

.bloblang-doc-tooltip .doc-parameters li {
  margin: 4px 0;
}

.bloblang-doc-tooltip .doc-parameters code {
  background: #f6f8fa;
  background: var(--code-background, #f6f8fa);
  padding: 2px 4px;
  border-radius: 3px;
  font-size: 0.875em;
}

.bloblang-doc-tooltip .doc-returns {
  margin-bottom: 12px;
  font-size: 0.8125rem;
}

.bloblang-doc-tooltip .doc-returns code {
  background: #f6f8fa;
  background: var(--code-background, #f6f8fa);
  padding: 2px 6px;
  border-radius: 3px;
  color: #24292e;
  color: var(--code-font-color, #24292e);
}

.bloblang-doc-tooltip .doc-example {
  margin: 12px 0;
  padding: 8px;
  background: #f6f8fa;
  background: var(--pre-background, #f6f8fa);
  border-radius: 4px;
  border: 1px solid #e1e4e8;
  border: 1px solid var(--panel-border-color, #e1e4e8);
}

.bloblang-doc-tooltip .doc-example pre {
  margin: 0;
  padding: 0;
  background: none;
  font-size: 0.8125rem;
  line-height: 1.4;
}

.bloblang-doc-tooltip .doc-example code {
  font-family: monospace;
  font-family: var(--code-font-family, monospace);
  background: none;
  padding: 0;
  color: #24292e;
  color: var(--code-font-color, #24292e);
}

.bloblang-doc-tooltip .doc-link {
  display: inline-block;
  margin-top: 8px;
  font-size: 0.8125rem;
  color: #005cc5;
  color: var(--link-color, #005cc5);
  text-decoration: none;
  font-weight: 500;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}

.bloblang-doc-tooltip .doc-link:hover {
  color: #004094;
  color: var(--link-color-hover, #004094);
  text-decoration: underline;
}

/* Dark mode tooltip styles */

html[data-theme="dark"] .tippy-box[data-theme~='bloblang-doc'] {
  background-color: #1e1e1e;
  color: #e0e0e0;
  border: 1px solid #3a3a3a;
  -webkit-box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
          box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}

html[data-theme="dark"] .tippy-box[data-theme~='bloblang-doc'][data-placement^='top'] > .tippy-arrow::before {
  border-top-color: #3a3a3a;
}

html[data-theme="dark"] .tippy-box[data-theme~='bloblang-doc'][data-placement^='bottom'] > .tippy-arrow::before {
  border-bottom-color: #3a3a3a;
}

html[data-theme="dark"] .tippy-box[data-theme~='bloblang-doc'] .tippy-arrow {
  color: #1e1e1e;
}

html[data-theme="dark"] .bloblang-doc-tooltip .doc-example {
  background: #2a2a2a;
  border-color: #3a3a3a;
}

html[data-theme="dark"] .bloblang-doc-tooltip .doc-signature {
  color: #58a6ff;
}

html[data-theme="dark"] .bloblang-doc-tooltip .doc-description {
  color: #e0e0e0;
}

html[data-theme="dark"] .bloblang-doc-tooltip .doc-parameters {
  color: #d0d0d0;
}

html[data-theme="dark"] .bloblang-doc-tooltip .doc-parameters strong {
  color: #ffffff;
}

html[data-theme="dark"] .bloblang-doc-tooltip .doc-parameters code,
html[data-theme="dark"] .bloblang-doc-tooltip .doc-returns code {
  background: rgba(255, 255, 255, 0.1);
  color: #e0e0e0;
}

html[data-theme="dark"] .bloblang-doc-tooltip .doc-returns {
  color: #d0d0d0;
}

html[data-theme="dark"] .bloblang-doc-tooltip .doc-example code {
  color: #e0e0e0;
}

html[data-theme="dark"] .bloblang-doc-tooltip .doc-link {
  color: #58a6ff;
}

html[data-theme="dark"] .bloblang-doc-tooltip .doc-link:hover {
  color: #79b8ff;
}

.try-bloblang-button {
  background: #005cc5;
  background: var(--link-color, #005cc5);
  color: white;
  border: none;
  padding: 0.25rem 0.75rem;
  border-radius: 4px;
  cursor: pointer;
  font-size: 0.875rem;
  font-family: var(--body-font-family);
  margin-left: 8px;
  -webkit-transition: background-color 0.2s, -webkit-transform 0.1s;
  transition: background-color 0.2s, -webkit-transform 0.1s;
  transition: background-color 0.2s, transform 0.1s;
  transition: background-color 0.2s, transform 0.1s, -webkit-transform 0.1s;
}

.try-bloblang-button:hover {
  background: #004094;
  background: var(--link-color-hover, #004094);
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
}

.try-bloblang-button:active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.try-bloblang-button:focus-visible {
  outline: 2px solid #005cc5;
  outline: 2px solid var(--link-color, #005cc5);
  outline-offset: 2px;
}

/* Mini Playground Modal */

.bloblang-playground-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(4px);
  z-index: 10000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 16px;
  -webkit-animation: bloblang-fadeIn 0.2s ease-out;
          animation: bloblang-fadeIn 0.2s ease-out;
  overflow: auto;
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
}

@-webkit-keyframes bloblang-fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes bloblang-fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.bloblang-mini-playground {
  background: #fff;
  background: var(--body-background, #fff);
  color: #24292e;
  color: var(--body-font-color, #24292e);
  border-radius: 12px;
  -webkit-box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
          box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  width: 100%;
  max-width: 900px;
  max-height: calc(100vh - 32px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-animation: bloblang-slideUp 0.3s ease-out;
          animation: bloblang-slideUp 0.3s ease-out;
  overflow: hidden;
}

@-webkit-keyframes bloblang-slideUp {
  from {
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
    opacity: 0;
  }

  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

@keyframes bloblang-slideUp {
  from {
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
    opacity: 0;
  }

  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bloblang-playground-overlay,
  .bloblang-mini-playground {
    -webkit-animation: none;
            animation: none;
  }
}

.bloblang-mini-playground .mini-playground-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid rgba(204, 204, 204, 0.3);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background: #fff;
  background: var(--body-background, #fff);
}

.bloblang-mini-playground .mini-playground-header h3 {
  margin: 0;
  font-size: 1.125rem;
  color: #24292e;
  color: var(--body-font-color, #24292e);
  font-weight: 600;
  white-space: nowrap;
}

.bloblang-mini-playground .mini-playground-close {
  background: none;
  border: none;
  font-size: 1.75rem;
  line-height: 1;
  color: #586069;
  color: var(--body-font-color, #586069);
  opacity: 0.7;
  cursor: pointer;
  padding: 0;
  width: 36px;
  height: 36px;
  min-width: 36px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 6px;
  -webkit-transition: background-color 0.2s, color 0.2s, opacity 0.2s;
  transition: background-color 0.2s, color 0.2s, opacity 0.2s;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-left: 12px;
}

.bloblang-mini-playground .mini-playground-close:hover {
  background: rgba(128, 128, 128, 0.1);
  opacity: 1;
}

.bloblang-mini-playground .mini-playground-close:focus-visible {
  outline: 2px solid #4474e7;
  outline: 2px solid var(--link-color, #4474e7);
  outline-offset: 2px;
  opacity: 1;
  background: rgba(0, 0, 0, 0.1);
  border-radius: 4px;
}

.bloblang-mini-playground .mini-playground-body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  overflow-y: auto;
  padding: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  min-height: 0;
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
}

.bloblang-mini-playground .mini-playground-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-negative: 1;
      flex-shrink: 1;
  min-height: 0;
}

/* Output section should expand to fill available space */

.bloblang-mini-playground .mini-playground-section:last-of-type {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-height: 150px;
}

.bloblang-mini-playground .mini-playground-section label {
  font-weight: 600;
  margin-bottom: 8px;
  color: #24292e;
  color: var(--body-font-color, #24292e);
  font-size: 0.875rem;
}

/* Ace Editor containers for mini-playground - fixed height for scrollbar support */

.bloblang-mini-playground .mini-ace-editor {
  width: 100%;
  height: 100px;
  min-height: 100px;
  max-height: 100px;
  border: 1px solid rgba(204, 204, 204, 0.3);
  border-radius: 6px;
  overflow: hidden;
  font-size: 13px;
  background: #f6f8fa;
  background: var(--pre-background, #f6f8fa);
}

/* Ensure Ace scrollbars are visible */

.bloblang-mini-playground .ace_scrollbar-v {
  width: 10px !important;
  background: rgba(0, 0, 0, 0.05);
}

.bloblang-mini-playground .ace_scrollbar-v::-webkit-scrollbar {
  width: 10px;
}

.bloblang-mini-playground .ace_scrollbar-v::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.3);
  border-radius: 5px;
}

.bloblang-mini-playground .ace_scrollbar-v::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.5);
}

/* Ace requires !important to override inline styles */

.bloblang-mini-playground .mini-ace-editor .ace_editor {
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace !important;
  font-family: var(--code-font-family, 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace) !important;
  background: #f6f8fa !important;
  background: var(--pre-background, #f6f8fa) !important;
}

.bloblang-mini-playground .mini-ace-editor .ace_gutter {
  background: #f6f8fa !important;
  background: var(--pre-background, #f6f8fa) !important;
}

.bloblang-mini-playground .mini-ace-editor .ace_scroller {
  background: #f6f8fa !important;
  background: var(--pre-background, #f6f8fa) !important;
}

/* Mapping editor - larger fixed height */

.bloblang-mini-playground .mini-playground-section-mapping .mini-ace-editor {
  height: 180px;
  min-height: 180px;
  max-height: 180px;
}

/* Output section - fixed height with scrollable content */

.bloblang-mini-playground .mini-playground-section:last-of-type .mini-ace-editor {
  height: 200px;
  min-height: 200px;
  max-height: 200px;
}

/* Ace Bloblang syntax highlighting - mapping editor (Light mode) */

.bloblang-mini-playground .mini-playground-section-mapping .mini-ace-editor .ace_string {
  color: #22863a !important;
}

.bloblang-mini-playground .mini-playground-section-mapping .mini-ace-editor .ace_comment {
  color: #6a737d !important;
  font-style: italic;
}

.bloblang-mini-playground .mini-playground-section-mapping .mini-ace-editor .ace_keyword {
  color: #6f42c1 !important;
  font-weight: normal !important;
}

.bloblang-mini-playground .mini-playground-section-mapping .mini-ace-editor .ace_support.ace_function {
  color: #6f42c1 !important;
}

.bloblang-mini-playground .mini-playground-section-mapping .mini-ace-editor .ace_support.ace_function.ace_method {
  color: #6f42c1 !important;
}

.bloblang-mini-playground .mini-playground-section-mapping .mini-ace-editor .ace_constant.ace_numeric {
  color: #005cc5 !important;
}

.bloblang-mini-playground .mini-playground-section-mapping .mini-ace-editor .ace_constant.ace_language {
  color: #005cc5 !important;
}

.bloblang-mini-playground .mini-playground-section-mapping .mini-ace-editor .ace_variable {
  color: #005cc5 !important;
}

.bloblang-mini-playground .mini-playground-section-mapping .mini-ace-editor .ace_keyword.ace_operator {
  color: #d73a49 !important;
}

.bloblang-mini-playground .mini-playground-section-mapping .mini-ace-editor .ace_keyword.ace_operator.ace_spread {
  color: #d73a49 !important;
}

.bloblang-mini-playground .mini-playground-section-mapping .mini-ace-editor .ace_punctuation {
  color: #24292e !important;
}

.bloblang-mini-playground .mini-playground-section-mapping .mini-ace-editor .ace_paren {
  color: #24292e !important;
}

/* Footer */

.bloblang-mini-playground .mini-playground-footer {
  padding: 12px 20px;
  border-top: 1px solid rgba(204, 204, 204, 0.3);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background: #fff;
  background: var(--body-background, #fff);
}

.bloblang-mini-playground .mini-playground-status {
  font-size: 0.8125rem;
  padding: 6px 12px;
  border-radius: 4px;
  min-height: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-negative: 1;
      flex-shrink: 1;
  min-width: 0;
  word-break: break-word;
}

.bloblang-mini-playground .mini-playground-status:empty {
  display: none;
}

.bloblang-mini-playground .mini-playground-status-success {
  background: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}

.bloblang-mini-playground .mini-playground-status-error {
  background: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}

.bloblang-mini-playground .mini-playground-status-info {
  background: #d1ecf1;
  color: #0c5460;
  border: 1px solid #bee5eb;
}

.bloblang-mini-playground .mini-playground-status-ready {
  background: #e2e3e5;
  color: #383d41;
  border: 1px solid #d6d8db;
}

.bloblang-mini-playground .mini-playground-actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/* Buttons */

.bloblang-mini-playground .mini-playground-button {
  padding: 8px 16px;
  background: #fff;
  background: var(--body-background, #fff);
  border: 1.5px solid rgba(128, 152, 249, 0.5);
  border-radius: 6px;
  color: #333;
  color: var(--body-font-color, #333);
  cursor: pointer;
  font-size: 0.875rem;
  font-family: var(--body-font-family);
  font-weight: 500;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  white-space: nowrap;
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.bloblang-mini-playground .mini-playground-button:hover {
  background: rgba(68, 76, 231, 0.06);
  border-color: #4474e7;
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
}

.bloblang-mini-playground .mini-playground-button:active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.bloblang-mini-playground .mini-playground-button:focus-visible {
  outline: 2px solid #4474e7;
  outline-offset: 2px;
}

.bloblang-mini-playground .mini-playground-run {
  background: #4474e7;
  color: #fff;
  border-color: #4474e7;
}

.bloblang-mini-playground .mini-playground-run:hover:not(:disabled) {
  background: #365bd6;
  border-color: #365bd6;
}

.bloblang-mini-playground .mini-playground-run:disabled {
  background: #b0b8bf;
  border-color: #b0b8bf;
  cursor: not-allowed;
  opacity: 1;
  -webkit-transform: none;
          transform: none;
  color: #fff;
}

.bloblang-mini-playground .mini-playground-copy-output {
  background: #fff;
  background: var(--body-background, #fff);
  color: #333;
  color: var(--body-font-color, #333);
}

.bloblang-mini-playground .mini-playground-copy-output:hover {
  background: rgba(68, 76, 231, 0.06);
  border-color: #4474e7;
}

.bloblang-mini-playground .mini-playground-link {
  color: #4474e7;
  text-decoration: none;
  font-size: 0.8125rem;
  font-weight: 500;
  white-space: nowrap;
  padding: 8px 0;
}

.bloblang-mini-playground .mini-playground-link:hover {
  text-decoration: underline;
  color: #365bd6;
}

.bloblang-mini-playground .mini-playground-link:focus-visible {
  outline: 2px solid #4474e7;
  outline-offset: 2px;
  border-radius: 2px;
}

/* Dark mode */

html[data-theme="dark"] .bloblang-playground-overlay {
  background: rgba(0, 0, 0, 0.75);
}

html[data-theme="dark"] .bloblang-mini-playground {
  background: #101828;
  background: var(--body-background, #101828);
  color: #e0e0e0;
  color: var(--body-font-color, #e0e0e0);
  -webkit-box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.1);
          box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.1);
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-header {
  background: #101828;
  background: var(--body-background, #101828);
  border-color: rgba(204, 204, 204, 0.15);
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-header h3 {
  color: #e0e0e0;
  color: var(--body-font-color, #e0e0e0);
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-close {
  color: #a0a0a0;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-close:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-close:focus-visible {
  background: rgba(255, 255, 255, 0.15);
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-body {
  background: #101828;
  background: var(--body-background, #101828);
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-section label {
  color: #e0e0e0;
  color: var(--body-font-color, #e0e0e0);
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-footer {
  background: #101828;
  background: var(--body-background, #101828);
  border-color: rgba(204, 204, 204, 0.15);
}

html[data-theme="dark"] .bloblang-mini-playground .mini-ace-editor {
  border-color: rgba(204, 204, 204, 0.3);
  background: #0d1117;
  background: var(--pre-background, #0d1117);
}

html[data-theme="dark"] .bloblang-mini-playground .mini-ace-editor .ace_editor {
  background: #0d1117 !important;
  background: var(--pre-background, #0d1117) !important;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-ace-editor .ace_gutter {
  background: #0d1117 !important;
  background: var(--pre-background, #0d1117) !important;
  color: #6e7681 !important;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-ace-editor .ace_scroller {
  background: #0d1117 !important;
  background: var(--pre-background, #0d1117) !important;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-ace-editor .ace_content {
  background: #0d1117 !important;
  background: var(--pre-background, #0d1117) !important;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-ace-editor .ace_marker-layer .ace_active-line {
  background: rgba(255, 255, 255, 0.05) !important;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-ace-editor .ace_gutter-active-line {
  background: rgba(255, 255, 255, 0.05) !important;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-ace-editor .ace_cursor {
  color: #fff !important;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-ace-editor .ace_marker-layer .ace_selection {
  background: rgba(68, 116, 231, 0.3) !important;
}

/* JSON syntax highlighting for dark mode (input/output editors) */

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-section:not(.mini-playground-section-mapping) .mini-ace-editor .ace_string {
  color: #ce9178 !important;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-section:not(.mini-playground-section-mapping) .mini-ace-editor .ace_constant.ace_numeric {
  color: #b5cea8 !important;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-section:not(.mini-playground-section-mapping) .mini-ace-editor .ace_constant.ace_language {
  color: #569cd6 !important;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-section:not(.mini-playground-section-mapping) .mini-ace-editor .ace_variable {
  color: #9cdcfe !important;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-section:not(.mini-playground-section-mapping) .mini-ace-editor .ace_paren {
  color: #ffd700 !important;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-section:not(.mini-playground-section-mapping) .mini-ace-editor .ace_punctuation {
  color: #d4d4d4 !important;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-section:not(.mini-playground-section-mapping) .mini-ace-editor .ace_line {
  color: #d4d4d4 !important;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-section:not(.mini-playground-section-mapping) .mini-ace-editor .ace_identifier {
  color: #d4d4d4 !important;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-section:not(.mini-playground-section-mapping) .mini-ace-editor .ace_keyword {
  color: #569cd6 !important;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-section:not(.mini-playground-section-mapping) .mini-ace-editor .ace_support {
  color: #d4d4d4 !important;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-section:not(.mini-playground-section-mapping) .mini-ace-editor .ace_support.ace_type {
  color: #9cdcfe !important;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-section:not(.mini-playground-section-mapping) .mini-ace-editor [class^="ace_"] {
  color: #d4d4d4;
}

/* Ace Bloblang syntax highlighting - mapping editor (Dark mode) */

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-section-mapping .mini-ace-editor .ace_string {
  color: #ce9178 !important;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-section-mapping .mini-ace-editor .ace_comment {
  color: #6a9955 !important;
  font-style: italic;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-section-mapping .mini-ace-editor .ace_keyword {
  color: #c586c0 !important;
  font-weight: normal !important;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-section-mapping .mini-ace-editor .ace_support.ace_function {
  color: #dcdcaa !important;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-section-mapping .mini-ace-editor .ace_support.ace_function.ace_method {
  color: #dcdcaa !important;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-section-mapping .mini-ace-editor .ace_constant.ace_numeric {
  color: #b5cea8 !important;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-section-mapping .mini-ace-editor .ace_constant.ace_language {
  color: #569cd6 !important;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-section-mapping .mini-ace-editor .ace_variable {
  color: #9cdcfe !important;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-section-mapping .mini-ace-editor .ace_keyword.ace_operator {
  color: #d4d4d4 !important;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-section-mapping .mini-ace-editor .ace_keyword.ace_operator.ace_spread {
  color: #d4d4d4 !important;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-section-mapping .mini-ace-editor .ace_punctuation {
  color: #d4d4d4 !important;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-section-mapping .mini-ace-editor .ace_paren {
  color: #d4d4d4 !important;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-button {
  background: #1e1e1e;
  background: var(--body-background, #1e1e1e);
  border-color: rgba(128, 152, 249, 0.4);
  color: #e0e0e0;
  color: var(--body-font-color, #e0e0e0);
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-button:hover {
  background: rgba(68, 76, 231, 0.2);
  border-color: #667eea;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-run {
  background: #4474e7;
  color: #fff;
  border-color: #4474e7;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-run:hover:not(:disabled) {
  background: #5580e9;
  border-color: #5580e9;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-run:disabled {
  background: #555;
  border-color: #555;
  color: #999;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-copy-output {
  background: #1e1e1e;
  background: var(--body-background, #1e1e1e);
  color: #e0e0e0;
  color: var(--body-font-color, #e0e0e0);
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-copy-output:hover {
  background: rgba(68, 76, 231, 0.2);
  border-color: #667eea;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-link {
  color: #58a6ff;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-link:hover {
  color: #79b8ff;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-status-success {
  background: #0a3d1a;
  color: #7ee87e;
  border-color: #0e5a24;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-status-error {
  background: #4d0f15;
  color: #ff9999;
  border-color: #751923;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-status-info {
  background: #0c3d51;
  color: #7dd3fc;
  border-color: #155875;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-status-ready {
  background: #2a2a2a;
  color: #a0a0a0;
  border-color: #444;
}

/* Responsive - Tablet */

@media (max-width: 768px) {
  .bloblang-playground-overlay {
    padding: 8px;
  }

  .bloblang-mini-playground {
    max-height: calc(100vh - 16px);
    border-radius: 8px;
  }

  .bloblang-mini-playground .mini-playground-header {
    padding: 12px 16px;
  }

  .bloblang-mini-playground .mini-playground-body {
    padding: 16px;
    gap: 12px;
  }

  .bloblang-mini-playground .mini-playground-footer {
    padding: 12px 16px;
  }

  .bloblang-mini-playground .mini-ace-editor {
    min-height: 60px;
    max-height: 120px;
  }

  .bloblang-mini-playground .mini-playground-section-mapping .mini-ace-editor {
    min-height: 100px;
    max-height: 200px;
  }
}

/* Responsive - Mobile */

@media (max-width: 480px) {
  .bloblang-playground-overlay {
    padding: 0;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }

  .bloblang-mini-playground {
    max-height: 100vh;
    height: 100%;
    border-radius: 0;
  }

  .bloblang-mini-playground .mini-playground-header h3 {
    font-size: 1rem;
  }

  .bloblang-mini-playground .mini-playground-footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: 10px;
  }

  .bloblang-mini-playground .mini-playground-status {
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
  }

  .bloblang-mini-playground .mini-playground-actions {
    width: 100%;
    -webkit-box-pack: stretch;
        -ms-flex-pack: stretch;
            justify-content: stretch;
  }

  .bloblang-mini-playground .mini-playground-button {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    text-align: center;
    padding: 10px 12px;
  }

  .bloblang-mini-playground .mini-playground-link {
    width: 100%;
    text-align: center;
    padding: 10px 0;
  }

  /* Hide shortcut hint on mobile */
  .bloblang-mini-playground .mini-playground-shortcut-hint {
    display: none;
  }
}

/* Keyboard shortcut hint styling */

.bloblang-mini-playground .mini-playground-shortcut-hint {
  font-size: 0.75rem;
  color: #666;
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
}

.bloblang-mini-playground .mini-playground-shortcut-hint kbd {
  background: #f0f0f0;
  border: 1px solid #ccc;
  border-radius: 3px;
  padding: 2px 5px;
  font-size: 0.7rem;
  font-family: inherit;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-shortcut-hint {
  color: #999;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-shortcut-hint kbd {
  background: #2d2d2d;
  border-color: #444;
  color: #ccc;
}

/* Touch-friendly tap targets for documentation tokens */

@media (hover: none) and (pointer: coarse) {
  .has-documentation {
    padding: 6px 3px;
    margin: -6px -3px;
  }
}

/* Ensure labels use consistent styling */

.bloblang-mini-playground .mini-playground-label {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  color: #333;
  color: var(--body-font-color, #333);
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

html[data-theme="dark"] .bloblang-mini-playground .mini-playground-label {
  color: #e0e0e0;
  color: var(--body-font-color, #e0e0e0);
}

.tippy-box[data-theme~='redpanda-term'] {
  font-size: 0.9em;
  background-color: var(--tooltip-background);
  color: var(--tooltip-font-color);
  z-index: 9999;
}

a.glossary-term {
  border-bottom: 2px dotted var(--link-highlight-color);
  text-decoration: none !important;
}

h1 [data-tippy-root],
h2 [data-tippy-root],
h3 [data-tippy-root],
h4 [data-tippy-root],
h5 [data-tippy-root],
h6 [data-tippy-root] {
  font-size: var(--body-font-size) !important;
}

/* Layout metadata items on same row */

.article .metadata.metadata--main {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}

/* Markdown dropdown in sticky header */

.component-indicator-sticky .markdown-dropdown {
  position: relative;
  display: inline-block;
  margin-left: auto;
  /* Ensure focus outline isn't clipped - use padding without negative margins */
  padding: 4px;
}

/* Toggle Button - styled to match version selector pill */

.markdown-dropdown-toggle {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border: 1px solid #dcdcde;
  border: 1px solid var(--color-smoke-70, #dcdcde);
  border-radius: 99px;
  background: #f4f4f5;
  background: var(--color-smoke-30, #f4f4f5);
  color: #48484a;
  color: var(--color-jet-80, #48484a);
  font-size: 11px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  -webkit-transition: background 0.15s ease, border-color 0.15s ease;
  transition: background 0.15s ease, border-color 0.15s ease;
}

/* In sticky header context - ensure consistent sizing */

.component-indicator-sticky .markdown-dropdown-toggle {
  padding: 4px 10px;
  font-size: 11px;
}

.markdown-dropdown-toggle:hover {
  background: #e8e8ea;
  background: var(--color-smoke-50, #e8e8ea);
  border-color: #c3c4c6;
  border-color: var(--color-smoke-90, #c3c4c6);
}

.markdown-dropdown-toggle:focus {
  outline: 2px solid #444ce7;
  outline: 2px solid var(--link-highlight-color, #444ce7);
  outline-offset: 2px;
}

.markdown-dropdown-toggle[aria-expanded="true"] {
  background: #e8e8ea;
  background: var(--color-smoke-50, #e8e8ea);
  border-color: #c3c4c6;
  border-color: var(--color-smoke-90, #c3c4c6);
}

.markdown-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.markdown-text {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.dropdown-caret {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  opacity: 0.6;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}

.markdown-dropdown-toggle[aria-expanded="true"] .dropdown-caret {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

html[data-theme=dark] .dropdown-caret {
  opacity: 0.5;
}

/* Dropdown Menu - styled to match version selector panel */

.markdown-dropdown-menu {
  top: calc(100% + 6px);
  position: absolute;
  right: 0;
  z-index: 1000;
  min-width: 220px;
  max-width: calc(100vw - 32px); /* Prevent overflow on narrow viewports */
  padding: 6px;
  border: 1px solid #dcdcde;
  border: 1px solid var(--color-smoke-70, #dcdcde);
  border-radius: 12px;
  background: #fff;
  background: var(--color-white, #fff);
  -webkit-box-shadow:
    0 4px 12px rgba(0, 0, 0, 0.08),
    0 2px 4px rgba(0, 0, 0, 0.04);
          box-shadow:
    0 4px 12px rgba(0, 0, 0, 0.08),
    0 2px 4px rgba(0, 0, 0, 0.04);
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(-4px);
          transform: translateY(-4px);
  -webkit-transition: opacity 0.15s ease, visibility 0.15s, -webkit-transform 0.15s ease;
  transition: opacity 0.15s ease, visibility 0.15s, -webkit-transform 0.15s ease;
  transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s;
  transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s, -webkit-transform 0.15s ease;
}

.markdown-dropdown-menu.is-open {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/* Menu Items */

.markdown-dropdown-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 12px;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: #48484a;
  color: var(--color-jet-80, #48484a);
  font-size: 14px;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
  -webkit-transition: background-color 0.15s ease;
  transition: background-color 0.15s ease;
}

.markdown-dropdown-item:hover {
  background: #f4f4f5;
  background: var(--color-smoke-30, #f4f4f5);
}

.markdown-dropdown-item:focus {
  outline: none;
  background: #e8e8ea;
  background: var(--color-smoke-50, #e8e8ea);
}

.markdown-dropdown-item svg {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  opacity: 0.7;
}

.markdown-dropdown-item span:first-of-type {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.markdown-copy-toast {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  position: absolute;
  right: 100%;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  margin-right: 0.5rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: var(--body-font-color);
  border-radius: 0.25em;
  padding: 0.375em 0.5em;
  color: var(--body-background);
  font-size: 0.875rem;
  white-space: nowrap;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease 2s;
  transition: opacity 0.5s ease 2s;
  pointer-events: none;
}

.markdown-dropdown-item.clicked .markdown-copy-toast {
  opacity: 1;
  -webkit-transition: none;
  transition: none;
}

/* Responsive */

@media (max-width: 768px) {
  .page-options-container {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }

  /* On mobile, position dropdown to stay within viewport */
  .markdown-dropdown-menu {
    right: -8px; /* Slight offset to stay within viewport */
    left: auto;
    min-width: 200px;
  }

  .markdown-text {
    display: none;
  }

  .markdown-dropdown-toggle {
    padding: 0.375rem 0.5rem;
  }
}

/* Very narrow viewports - ensure dropdown doesn't overflow */

@media (max-width: 480px) {
  .markdown-dropdown-menu {
    /* Keep absolute positioning relative to parent */
    right: -12px;
    left: auto;
    min-width: calc(100vw - 32px);
    max-width: calc(100vw - 32px);
  }
}

/* Dark mode support - styled to match version selector */

html[data-theme=dark] .markdown-dropdown-toggle {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
  color: #e2e4e9;
}

html[data-theme=dark] .markdown-dropdown-toggle:hover,
html[data-theme=dark] .markdown-dropdown-toggle[aria-expanded="true"] {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.18);
}

html[data-theme=dark] .markdown-dropdown-menu {
  border-color: rgba(255, 255, 255, 0.1);
  background: #1d1e26;
  -webkit-box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.4),
    0 2px 8px rgba(0, 0, 0, 0.3);
          box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.4),
    0 2px 8px rgba(0, 0, 0, 0.3);
}

html[data-theme=dark] .markdown-dropdown-item {
  color: #e2e4e9;
}

html[data-theme=dark] .markdown-dropdown-item:hover {
  background: rgba(255, 255, 255, 0.06);
}

html[data-theme=dark] .markdown-dropdown-item:focus {
  background: rgba(255, 255, 255, 0.1);
}

/* Accessibility: Reduce motion */

@media (prefers-reduced-motion: reduce) {
  .markdown-dropdown-toggle,
  .dropdown-caret,
  .markdown-dropdown-menu,
  .markdown-dropdown-item {
    -webkit-transition: none;
    transition: none;
  }
}

/*
 * Component Tools FAB (Floating Action Button)
 * =============================================
 * A FAB is a circular button that floats above the UI, typically in the
 * bottom-right corner. It provides quick access to primary actions.
 *
 * This FAB appears on mobile only - desktop users see the tools in the TOC sidebar.
 * The FAB and TOC tools are configured per-component via Antora attributes:
 *   - toc-tools-title: Section heading (e.g., "Connect Tools")
 *   - toc-tools-links: Array of link objects with url, label, description, icon
 *
 * FAB states:
 *   - is-visible: FAB is shown (set by JS based on component config)
 *   - is-expanded: Menu is open
 *   - is-first-time: Shows pulsing animation and tooltip for new visitors
 */

/* Base container - hidden by default */

.component-tools-fab {
  position: fixed;
  bottom: 80px;
  right: 16px;
  z-index: 100;
  display: none;
}

/* Only show on mobile when visible */

@media screen and (max-width: 1023px) {
  .component-tools-fab.is-visible {
    display: block;
  }
}

/* Desktop: always hidden */

@media screen and (min-width: 1024px) {
  .component-tools-fab {
    display: none !important;
  }
}

/* Main FAB trigger button (mobile-sized since FAB is mobile-only) */

.component-tools-fab-trigger {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--link-highlight-color);
  border: none;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-shadow: 0 4px 12px rgba(68, 76, 231, 0.3);
          box-shadow: 0 4px 12px rgba(68, 76, 231, 0.3);
  -webkit-transition: background-color 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: background-color 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  color: white;
  position: relative;
}

.component-tools-fab-trigger svg {
  width: 20px;
  height: 20px;
}

.component-tools-fab-trigger:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  -webkit-box-shadow: 0 6px 16px rgba(68, 76, 231, 0.4);
          box-shadow: 0 6px 16px rgba(68, 76, 231, 0.4);
}

.component-tools-fab-trigger:focus-visible {
  outline: 3px solid var(--link-highlight-color);
  outline-offset: 3px;
}

/* Icon states */

.component-tools-fab-trigger .fab-icon-close {
  display: none;
}

.component-tools-fab.is-expanded .component-tools-fab-trigger .fab-icon-tools {
  display: none;
}

.component-tools-fab.is-expanded .component-tools-fab-trigger .fab-icon-close {
  display: block;
}

.component-tools-fab.is-expanded .component-tools-fab-trigger {
  background: var(--color-gray-50);
  color: var(--body-font-color);
}

/* First-time highlight animation */

.component-tools-fab.is-first-time .component-tools-fab-trigger {
  -webkit-animation: fab-pulse 2s ease-in-out infinite;
          animation: fab-pulse 2s ease-in-out infinite;
}

@-webkit-keyframes fab-pulse {
  0%,
  100% {
    -webkit-box-shadow: 0 4px 12px rgba(68, 76, 231, 0.3);
            box-shadow: 0 4px 12px rgba(68, 76, 231, 0.3);
  }

  50% {
    -webkit-box-shadow: 0 4px 24px rgba(68, 76, 231, 0.6), 0 0 0 8px rgba(68, 76, 231, 0.15);
            box-shadow: 0 4px 24px rgba(68, 76, 231, 0.6), 0 0 0 8px rgba(68, 76, 231, 0.15);
  }
}

@keyframes fab-pulse {
  0%,
  100% {
    -webkit-box-shadow: 0 4px 12px rgba(68, 76, 231, 0.3);
            box-shadow: 0 4px 12px rgba(68, 76, 231, 0.3);
  }

  50% {
    -webkit-box-shadow: 0 4px 24px rgba(68, 76, 231, 0.6), 0 0 0 8px rgba(68, 76, 231, 0.15);
            box-shadow: 0 4px 24px rgba(68, 76, 231, 0.6), 0 0 0 8px rgba(68, 76, 231, 0.15);
  }
}

/* First-time tooltip */

.component-tools-fab-tooltip {
  position: absolute;
  bottom: calc(100% + 12px);
  right: 0;
  background: var(--tooltip-background);
  color: var(--tooltip-font-color);
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 0.8125rem;
  white-space: nowrap;
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  -webkit-animation: tooltip-fade-in 0.3s ease;
          animation: tooltip-fade-in 0.3s ease;
}

.component-tools-fab.is-first-time .component-tools-fab-tooltip {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@-webkit-keyframes tooltip-fade-in {
  from {
    opacity: 0;
    -webkit-transform: translateY(8px);
            transform: translateY(8px);
  }

  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes tooltip-fade-in {
  from {
    opacity: 0;
    -webkit-transform: translateY(8px);
            transform: translateY(8px);
  }

  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

.component-tools-fab-tooltip::after {
  content: "";
  position: absolute;
  bottom: -6px;
  right: 20px;
  width: 12px;
  height: 12px;
  background: var(--tooltip-background);
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.tooltip-dismiss {
  background: none;
  border: none;
  color: inherit;
  cursor: pointer;
  font-size: 1.2rem;
  line-height: 1;
  opacity: 0.7;
  padding: 0;
}

.tooltip-dismiss:hover {
  opacity: 1;
}

/* Expanded menu */

.component-tools-menu {
  position: absolute;
  bottom: calc(100% + 12px);
  right: 0;
  background: var(--body-background);
  border: 1px solid var(--panel-border-color);
  border-radius: 12px;
  -webkit-box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
          box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  min-width: 220px;
  padding: 8px;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(10px) scale(0.95);
          transform: translateY(10px) scale(0.95);
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
  -webkit-transition: opacity 0.2s ease, visibility 0.2s, -webkit-transform 0.2s ease;
  transition: opacity 0.2s ease, visibility 0.2s, -webkit-transform 0.2s ease;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s, -webkit-transform 0.2s ease;
}

.component-tools-fab.is-expanded .component-tools-menu {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0) scale(1);
          transform: translateY(0) scale(1);
}

/* Menu items */

.component-tools-menu-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  padding: 12px;
  border-radius: 8px;
  text-decoration: none !important;
  color: var(--body-font-color);
  -webkit-transition: background-color 0.15s ease;
  transition: background-color 0.15s ease;
}

.component-tools-menu-item:hover {
  background: var(--link-highlight-background-color);
}

.component-tools-menu-item:focus-visible {
  outline: 2px solid var(--link-highlight-color);
  outline-offset: -2px;
}

.menu-item-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 40px;
  height: 40px;
  background: var(--link-highlight-background-color);
  border-radius: 8px;
  color: var(--link-highlight-color);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.menu-item-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2px;
}

.menu-item-title {
  font-weight: 600;
  font-size: 0.9375rem;
  color: var(--body-font-color);
}

.menu-item-desc {
  font-size: 0.8125rem;
  color: var(--body-faint-font-color);
}

/* Dark mode */

html[data-theme="dark"] .component-tools-fab-trigger {
  -webkit-box-shadow: 0 4px 12px rgba(145, 132, 241, 0.3);
          box-shadow: 0 4px 12px rgba(145, 132, 241, 0.3);
}

html[data-theme="dark"] .component-tools-fab-trigger:hover {
  -webkit-box-shadow: 0 6px 16px rgba(145, 132, 241, 0.4);
          box-shadow: 0 6px 16px rgba(145, 132, 241, 0.4);
}

html[data-theme="dark"] .component-tools-fab.is-first-time .component-tools-fab-trigger {
  -webkit-animation: fab-pulse-dark 2s ease-in-out infinite;
          animation: fab-pulse-dark 2s ease-in-out infinite;
}

@-webkit-keyframes fab-pulse-dark {
  0%,
  100% {
    -webkit-box-shadow: 0 4px 12px rgba(145, 132, 241, 0.3);
            box-shadow: 0 4px 12px rgba(145, 132, 241, 0.3);
  }

  50% {
    -webkit-box-shadow: 0 4px 24px rgba(145, 132, 241, 0.5), 0 0 0 8px rgba(145, 132, 241, 0.15);
            box-shadow: 0 4px 24px rgba(145, 132, 241, 0.5), 0 0 0 8px rgba(145, 132, 241, 0.15);
  }
}

@keyframes fab-pulse-dark {
  0%,
  100% {
    -webkit-box-shadow: 0 4px 12px rgba(145, 132, 241, 0.3);
            box-shadow: 0 4px 12px rgba(145, 132, 241, 0.3);
  }

  50% {
    -webkit-box-shadow: 0 4px 24px rgba(145, 132, 241, 0.5), 0 0 0 8px rgba(145, 132, 241, 0.15);
            box-shadow: 0 4px 24px rgba(145, 132, 241, 0.5), 0 0 0 8px rgba(145, 132, 241, 0.15);
  }
}

html[data-theme="dark"] .component-tools-fab.is-expanded .component-tools-fab-trigger {
  background: var(--color-gray-50);
}

html[data-theme="dark"] .component-tools-menu {
  -webkit-box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
          box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
  border-color: rgba(255, 255, 255, 0.1);
}

/* Dark mode scrollbar for TOC */

html[data-theme="dark"] .toc.sidebar.has-toc-tools .toc-menu {
  scrollbar-color: rgba(255, 255, 255, 0.25) transparent;
}

html[data-theme="dark"] .toc.sidebar.has-toc-tools .toc-menu::-webkit-scrollbar-thumb {
  background-color: rgba(255, 255, 255, 0.25);
}

html[data-theme="dark"] .toc.sidebar.has-toc-tools .toc-menu::-webkit-scrollbar-thumb:hover {
  background-color: rgba(255, 255, 255, 0.4);
}

/* Small mobile - position FAB away from thumb zone */

@media screen and (max-width: 480px) {
  .component-tools-fab {
    bottom: 90px;
    right: 12px;
  }

  .component-tools-menu {
    right: -8px;
    min-width: 200px;
  }
}

/* ============================================
   TOC Tools Section (Desktop)
   ============================================ */

/* When TOC tools is visible, restructure TOC as flex column (desktop only) */

@media screen and (min-width: 1025px) {
  .toc.sidebar.has-toc-tools {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: calc(100vh - var(--navbar-height) - var(--announcement-bar-height) - 3rem);
  }

  /* Make toc-menu scrollable when tools section is visible */
  .toc.sidebar.has-toc-tools .toc-menu {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    overflow-y: auto;
    min-height: 0; /* Allow shrinking below min-height */
    padding-right: 10px; /* Space for scrollbar */
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
    scrollbar-color: var(--scrollbar-thumb-color, rgba(0, 0, 0, 0.2)) transparent;
  }

  .toc.sidebar.has-toc-tools .toc-menu::-webkit-scrollbar {
    width: 6px;
  }

  .toc.sidebar.has-toc-tools .toc-menu::-webkit-scrollbar-track {
    background: transparent;
  }

  .toc.sidebar.has-toc-tools .toc-menu::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.2);
    background-color: var(--scrollbar-thumb-color, rgba(0, 0, 0, 0.2));
    border-radius: 3px;
  }

  .toc.sidebar.has-toc-tools .toc-menu::-webkit-scrollbar-thumb:hover {
    background-color: rgba(0, 0, 0, 0.35);
    background-color: var(--scrollbar-thumb-hover-color, rgba(0, 0, 0, 0.35));
  }

  /* Keep everything after toc-menu at the bottom */
  .toc.sidebar.has-toc-tools .toc-tools,
  .toc.sidebar.has-toc-tools .thumbs {
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }

  .toc.sidebar.has-toc-tools .thumbs {
    margin-top: 1rem;
    padding: 0;
  }
}

.toc-tools {
  display: none;
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--toc-border-color);
}

.toc-tools.is-visible {
  display: block;
}

.toc-tools h4 {
  color: var(--toc-heading-font-color);
  font-size: var(--secondary-font-size);
  font-family: var(--body-font-family-bold);
  font-weight: 600;
  margin: 0 0 0.5rem 0;
  padding: 0;
}

.toc-tools-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.toc-tools-list li {
  margin: 0;
}

.toc-tools-list a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding: 6px 0;
  color: var(--toc-font-color);
  text-decoration: none;
  font-size: var(--secondary-font-size);
  border-left: none;
}

.toc-tools-list a:hover {
  color: var(--link-highlight-color);
}

.toc-tools-list svg {
  width: 16px;
  height: 16px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  stroke: currentColor;
}

/* Hide TOC section on mobile (use FAB instead) */

@media screen and (max-width: 1023px) {
  .toc-tools {
    display: none !important;
  }
}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {
  .component-tools-fab-trigger,
  .component-tools-menu,
  .component-tools-fab-tooltip {
    -webkit-animation: none;
            animation: none;
    -webkit-transition: none;
    transition: none;
  }

  .component-tools-fab.is-first-time .component-tools-fab-trigger {
    -webkit-animation: none;
            animation: none;
    -webkit-box-shadow: 0 4px 24px rgba(68, 76, 231, 0.5), 0 0 0 4px rgba(68, 76, 231, 0.2);
            box-shadow: 0 4px 24px rgba(68, 76, 231, 0.5), 0 0 0 4px rgba(68, 76, 231, 0.2);
  }
}

/* =============================================================================
   CHAT PANEL — Ask AI Drawer
   Right-side persistent drawer for Kapa AI integration.
   Slides in/out, pushes main content on desktop, overlays on mobile.
   ============================================================================= */

/* Container */

.chat-panel {
  position: fixed;
  top: 0;
  right: 0;
  width: 420px;
  height: 100vh;
  background: #fff;
  color: #181818;
  color: var(--grey-900-new, var(--grey-900, #181818));
  border-left: 1px solid #dcdcde;
  border-left: 1px solid var(--grey-100-new, var(--grey-100, #e5e5e5));
  -webkit-box-shadow: -14px 0 40px -18px rgba(15, 23, 42, 0.18);
          box-shadow: -14px 0 40px -18px rgba(15, 23, 42, 0.18);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: -webkit-transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  transition: -webkit-transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 120;
  font-family: "Inter"
,
ui-sans-serif
,
system-ui
,
sans-serif;
  font-family: var(--font-sans, "Inter", -apple-system, BlinkMacSystemFont, sans-serif);
}

.chat-panel.is-open {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

/* Header */

.chat-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 14px 14px 14px 18px;
  border-bottom: 1px solid #dcdcde;
  border-bottom: 1px solid var(--grey-100-new, var(--grey-100, #e5e5e5));
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.chat-head-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}

.chat-head-icon {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: linear-gradient(135deg, #eef2ff 0%, #f5eeff 100%);
  color: #4338ca;
}

.chat-head-name {
  font-size: 13.5px;
  font-weight: 600;
  color: #181818;
  color: var(--grey-900-new, var(--grey-900, #181818));
  letter-spacing: -0.0125em;
  line-height: 1.2;
}

.chat-head-sub {
  font-size: 11.5px;
  color: #79797d;
  color: var(--grey-500-new, var(--grey-500, #6b7280));
  letter-spacing: -0.005em;
  margin-top: 2px;
}

.chat-head-actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2px;
}

.chat-head-btn {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  background: transparent;
  border: 0;
  border-radius: 6px;
  color: #79797d;
  color: var(--grey-500-new, var(--grey-500, #6b7280));
  cursor: pointer;
  -webkit-transition: background 0.12s, color 0.12s;
  transition: background 0.12s, color 0.12s;
}

.chat-head-btn:hover {
  background: #f5f5f5;
  background: var(--grey-50-new, var(--grey-50, #f9fafb));
  color: #181818;
  color: var(--grey-900-new, var(--grey-900, #181818));
}

/* Scrollable content area */

.chat-scroll {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0;
  min-height: 0; /* Critical for flex children to respect parent constraints */
  position: relative;
  /* Prevent content from pushing chat panel to grow */
  max-height: calc(100vh - 120px); /* Account for header and footer */
}

/* Footer disclaimer */

.chat-foot {
  padding: 8px 14px 12px;
  font-size: 10.5px;
  color: #79797d;
  color: var(--grey-500-new, var(--grey-500, #6b7280));
  text-align: center;
  letter-spacing: -0.005em;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-top: 1px solid #dcdcde;
  border-top: 1px solid var(--grey-100-new, var(--grey-100, #e5e5e5));
  line-height: 1.5;
}

/* =============================================================================
   KAPA SDK OVERRIDES
   Style the embedded chat interface to match our design system
   ============================================================================= */

#chat-panel-kapa-root {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  min-height: 0;
  font-family: "Inter"
,
ui-sans-serif
,
system-ui
,
sans-serif;
  font-family: var(--font-sans, "Inter", -apple-system, BlinkMacSystemFont, sans-serif);
}

/* Main container */

#chat-panel-kapa-root .chat-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  overflow: hidden;
}

/* Conversation area - scrollable */

#chat-panel-kapa-root .conversation-area {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  overflow-y: auto;
  padding: 16px 18px 180px;
  min-height: 0;
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
}

#chat-panel-kapa-root .conversation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0;
}

/* Q&A Pair styling */

#chat-panel-kapa-root .qa-pair {
  margin-bottom: 20px;
}

#chat-panel-kapa-root .section-divider {
  display: none;
}

/* Question bubble - user message */

#chat-panel-kapa-root .question {
  background: #e6effe;
  color: #1d4ed8;
  border: 1px solid #bfd4fb;
  border-radius: 12px;
  border-top-right-radius: 4px;
  padding: 10px 14px;
  font-size: 13px;
  line-height: 1.55;
  margin-bottom: 12px;
  margin-left: auto;
  max-width: 85%;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

/* Answer bubble - assistant message */

#chat-panel-kapa-root .answer {
  background: #f5f5f5;
  background: var(--grey-50-new, #f9fafb);
  border: 1px solid #dcdcde;
  border: 1px solid var(--grey-100-new, #e5e5e5);
  border-radius: 12px;
  border-top-left-radius: 4px;
  padding: 12px 14px;
  font-size: 13px;
  line-height: 1.65;
  color: var(--grey-900-new, #181818);
  color: var(--body-font-color, var(--grey-900-new, #181818));
  max-width: 100%;
}

/* Strong/bold text */

#chat-panel-kapa-root .answer strong {
  font-weight: 600;
  color: inherit;
}

/* Emphasized/italic text */

#chat-panel-kapa-root .answer em {
  font-style: italic;
  color: inherit;
}

#chat-panel-kapa-root .answer p {
  margin: 0 0 10px;
}

#chat-panel-kapa-root .answer p:last-child {
  margin-bottom: 0;
}

/* Headings - matches site's .doc heading styling */

#chat-panel-kapa-root .answer h2,
#chat-panel-kapa-root .answer h3,
#chat-panel-kapa-root .answer h4 {
  font-size: 14px;
  font-weight: 600;
  font-weight: var(--heading-font-weight, 600);
  font-family: var(--font-display, "Inter Display", "Inter", sans-serif);
  font-family: var(--heading-font-family, var(--font-display, "Inter Display", "Inter", sans-serif));
  color: var(--grey-900-new, #181818);
  color: var(--heading-font-color, var(--grey-900-new, #181818));
  margin: 16px 0 8px;
  line-height: 1.3;
}

#chat-panel-kapa-root .answer h2:first-child,
#chat-panel-kapa-root .answer h3:first-child,
#chat-panel-kapa-root .answer h4:first-child {
  margin-top: 0;
}

/* Blockquotes - matches site's .doc .quoteblock styling */

#chat-panel-kapa-root .answer blockquote {
  background: var(--panel-background);
  background: var(--quote-background, var(--panel-background));
  border-left: 5px solid #6b7280;
  border-left: 5px solid var(--quote-border-color, #6b7280);
  color: #6b7280;
  color: var(--quote-font-color, #6b7280);
  margin: 0.75rem 0;
  padding: 0.5rem 1rem;
  font-style: italic;
}

#chat-panel-kapa-root .answer blockquote p {
  margin: 0;
}

#chat-panel-kapa-root .answer ul,
#chat-panel-kapa-root .answer ol {
  margin: 8px 0;
  padding-left: 20px;
}

#chat-panel-kapa-root .answer li {
  margin-bottom: 6px;
}

/* Links - matches site's .doc a styling */

#chat-panel-kapa-root .answer a {
  color: var(--body-font-color);
  text-decoration: underline;
  text-underline-offset: 2px;
  -webkit-text-decoration-color: #606164;
          text-decoration-color: #606164;
  -webkit-text-decoration-color: var(--color-aliases-static-palette-text-tertiary, #606164);
          text-decoration-color: var(--color-aliases-static-palette-text-tertiary, #606164);
}

#chat-panel-kapa-root .answer a:hover {
  color: #444ce7;
  color: var(--link-highlight-color, #444ce7);
  -webkit-text-decoration-color: #444ce7;
          text-decoration-color: #444ce7;
  -webkit-text-decoration-color: var(--link-highlight-color, #444ce7);
          text-decoration-color: var(--link-highlight-color, #444ce7);
}

/* Inline code - matches site's .doc p code styling */

#chat-panel-kapa-root .answer code {
  background: var(--pre-background);
  color: var(--code-font-color);
  border: 0.1rem solid #0000001a;
  border-radius: 0.25em;
  padding: 0.125em 0.25em;
  font-size: 0.9em;
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  font-family: var(--monospace-font-family, var(--font-mono, "JetBrains Mono", monospace));
  font-weight: lighter;
}

/* Code blocks - matches site's .doc pre styling */

#chat-panel-kapa-root .answer pre {
  background: var(--pre-background);
  background: var(--code-background, var(--pre-background));
  color: var(--code-font-color);
  padding: 1em;
  border-radius: 0.5rem;
  overflow-x: auto;
  font-size: 0.85em;
  line-height: 1.6;
  margin: 0.75rem 0;
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  font-family: var(--monospace-font-family, var(--font-mono, "JetBrains Mono", monospace));
  font-weight: lighter;
  white-space: pre-wrap;
  word-break: break-word;
}

#chat-panel-kapa-root .answer pre code {
  background: none;
  border: none;
  padding: 0;
  color: inherit;
  font-size: inherit;
}

/* Action buttons (Clear, Copy) */

#chat-panel-kapa-root .actions-feedback {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 8px;
  padding-top: 8px;
}

#chat-panel-kapa-root .action-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4px;
}

#chat-panel-kapa-root .action-button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  padding: 4px 8px;
  background: transparent;
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e5e5);
  border-radius: 6px;
  font-size: 11px;
  color: #606164;
  color: var(--grey-600-new, #4b5563);
  cursor: pointer;
  -webkit-transition: all 0.12s ease;
  transition: all 0.12s ease;
}

#chat-panel-kapa-root .action-button:hover {
  background: #f5f5f5;
  background: var(--grey-50-new, #f9fafb);
  border-color: #aaabae;
  border-color: var(--grey-300-new, #d1d5db);
}

#chat-panel-kapa-root .action-button svg {
  width: 12px;
  height: 12px;
}

/* Feedback buttons (thumbs up/down) */

#chat-panel-kapa-root .feedback-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2px;
}

#chat-panel-kapa-root .feedback-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2px;
}

#chat-panel-kapa-root .feedback-button {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  padding: 0;
  background: transparent;
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e5e5);
  border-radius: 6px;
  color: #79797d;
  color: var(--grey-500-new, #6b7280);
  cursor: pointer;
  -webkit-transition: all 0.12s ease;
  transition: all 0.12s ease;
}

#chat-panel-kapa-root .feedback-button:hover {
  background: #f5f5f5;
  background: var(--grey-50-new, #f9fafb);
  border-color: #aaabae;
  border-color: var(--grey-300-new, #d1d5db);
  color: #48484a;
  color: var(--grey-700-new, #374151);
}

#chat-panel-kapa-root .feedback-icon {
  width: 14px;
  height: 14px;
}

/* Footer wrapper - fixed at bottom */

#chat-panel-kapa-root .chat-footer-wrapper {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  border-top: 1px solid #dcdcde;
  border-top: 1px solid var(--grey-100-new, #e5e5e5);
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

#chat-panel-kapa-root .chat-footer-wrapper.fixed-bottom {
  position: absolute;
}

#chat-panel-kapa-root .chat-footer-wrapper form {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

/* Chat card / input area */

#chat-panel-kapa-root .chat-card {
  background: #fff;
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e5e5);
  border-radius: 12px;
  overflow: hidden;
}

#chat-panel-kapa-root .chat-content {
  padding: 0;
}

/* Text input */

#chat-panel-kapa-root .chat-input,
#chat-panel-kapa-root textarea.chat-input {
  width: 100%;
  border: none;
  border-radius: 0;
  padding: 12px 14px;
  font-size: 13px;
  line-height: 1.5;
  color: #181818;
  color: var(--grey-900-new, #181818);
  background: #fff;
  resize: none;
  outline: none;
  font-family: "Inter"
,
ui-sans-serif
,
system-ui
,
sans-serif;
  font-family: var(--font-sans, "Inter", -apple-system, BlinkMacSystemFont, sans-serif);
  min-height: 44px;
  max-height: 120px;
}

#chat-panel-kapa-root .chat-input::-webkit-input-placeholder, #chat-panel-kapa-root textarea.chat-input::-webkit-input-placeholder {
  color: #919295;
  color: var(--grey-400-new, #9ca3af);
}

#chat-panel-kapa-root .chat-input::-moz-placeholder, #chat-panel-kapa-root textarea.chat-input::-moz-placeholder {
  color: #919295;
  color: var(--grey-400-new, #9ca3af);
}

#chat-panel-kapa-root .chat-input:-ms-input-placeholder, #chat-panel-kapa-root textarea.chat-input:-ms-input-placeholder {
  color: #919295;
  color: var(--grey-400-new, #9ca3af);
}

#chat-panel-kapa-root .chat-input::-ms-input-placeholder, #chat-panel-kapa-root textarea.chat-input::-ms-input-placeholder {
  color: #919295;
  color: var(--grey-400-new, #9ca3af);
}

#chat-panel-kapa-root .chat-input::placeholder,
#chat-panel-kapa-root textarea.chat-input::placeholder {
  color: #919295;
  color: var(--grey-400-new, #9ca3af);
}

/* Footer buttons row */

#chat-panel-kapa-root .chat-footer-buttons,
#chat-panel-kapa-root .chat-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 8px;
  padding: 10px 12px;
  border-top: 1px solid #dcdcde;
  border-top: 1px solid var(--grey-100-new, #e5e5e5);
  background: #f5f5f5;
  background: var(--grey-50-new, #f9fafb);
}

#chat-panel-kapa-root .chat-footer-buttons {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

/* Deep thinking button */

#chat-panel-kapa-root .deep-thinking-button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 6px;
  height: 32px;
  min-height: 32px;
  max-height: 32px;
  padding: 0 12px;
  background: #fff;
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e5e5);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 500;
  color: #48484a;
  color: var(--grey-700-new, #374151);
  cursor: pointer;
  -webkit-transition: all 0.12s ease;
  transition: all 0.12s ease;
  white-space: nowrap;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: middle;
}

#chat-panel-kapa-root .deep-thinking-button:hover {
  background: #f5f5f5;
  background: var(--grey-50-new, #f9fafb);
  border-color: #aaabae;
  border-color: var(--grey-300-new, #d1d5db);
}

/* Deep thinking active state */

#chat-panel-kapa-root .deep-thinking-button.active {
  background: rgba(68, 76, 231, 0.1);
  border-color: #6172f3;
  border-color: var(--indigo-500-new, #6172f3);
  color: #444ce7;
  color: var(--indigo-600-new, #444ce7);
}

#chat-panel-kapa-root .deep-thinking-button.active:hover {
  background: rgba(68, 76, 231, 0.15);
  border-color: #444ce7;
  border-color: var(--indigo-600-new, #444ce7);
}

#chat-panel-kapa-root .deep-thinking-button svg {
  width: 14px;
  height: 14px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

/* Submit button */

#chat-panel-kapa-root .main-button,
#chat-panel-kapa-root button[type="submit"].main-button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 5px;
  height: 32px;
  min-height: 32px;
  max-height: 32px;
  padding: 0 12px;
  margin: 0;
  background: #181818;
  background: var(--grey-900-new, #181818);
  border: none;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 500;
  color: #fff;
  cursor: pointer;
  -webkit-transition: background 0.12s ease;
  transition: background 0.12s ease;
  white-space: nowrap;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

#chat-panel-kapa-root .main-button:hover,
#chat-panel-kapa-root button[type="submit"].main-button:hover {
  background: #000;
}

#chat-panel-kapa-root .main-button:disabled,
#chat-panel-kapa-root button[type="submit"].main-button:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

#chat-panel-kapa-root .main-button svg {
  width: 14px;
  height: 14px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

/* Suggestion chips */

#chat-panel-kapa-root .suggestion-chips,
#chat-panel-kapa-root .chip-group-desktop {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 6px;
  padding: 10px 14px;
  border-top: none;
}

#chat-panel-kapa-root .chip {
  display: inline-block;
  padding: 8px 12px;
  background: #fff;
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e5e5);
  border-radius: 8px;
  font-size: 12px;
  color: #48484a;
  color: var(--grey-700-new, #374151);
  cursor: pointer;
  -webkit-transition: all 0.12s ease;
  transition: all 0.12s ease;
}

#chat-panel-kapa-root .chip:hover {
  background: #f5f5f5;
  background: var(--grey-50-new, #f9fafb);
  border-color: #aaabae;
  border-color: var(--grey-300-new, #d1d5db);
}

#chat-panel-kapa-root .more-chip {
  color: #79797d;
  color: var(--grey-500-new, #6b7280);
  font-weight: 500;
}

/* Pulldown menu for expanded suggestions */

#chat-panel-kapa-root .pulldown-menu-desktop {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
  width: 100%;
}

#chat-panel-kapa-root .pulldown-item {
  display: inline-block;
  padding: 8px 12px;
  background: #fff;
  border: 1px solid #c3c4c6;
  border: 1px solid var(--grey-200-new, #e5e5e5);
  border-radius: 8px;
  font-size: 12px;
  color: #48484a;
  color: var(--grey-700-new, #374151);
  cursor: pointer;
  -webkit-transition: all 0.12s ease;
  transition: all 0.12s ease;
}

#chat-panel-kapa-root .pulldown-item:hover {
  background: #f5f5f5;
  background: var(--grey-50-new, #f9fafb);
  border-color: #aaabae;
  border-color: var(--grey-300-new, #d1d5db);
}

/* Disclaimer - always visible at bottom */

#chat-panel-kapa-root .disclaimer {
  padding: 10px 14px 14px;
  font-size: 10.5px;
  color: #79797d;
  color: var(--grey-500-new, #6b7280);
  text-align: center;
  line-height: 1.5;
  background: #fff;
  border-top: none;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

#chat-panel-kapa-root .disclaimer p {
  margin: 0 0 4px;
}

#chat-panel-kapa-root .disclaimer p:last-child {
  margin-bottom: 0;
}

#chat-panel-kapa-root .disclaimer a {
  color: #4f46e5;
  text-decoration: none;
}

#chat-panel-kapa-root .disclaimer a:hover {
  text-decoration: underline;
}

/* Button icons */

#chat-panel-kapa-root .button-icon,
#chat-panel-kapa-root .button-icon-left {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#chat-panel-kapa-root .button-text {
  display: inline-block;
}

/* Utility classes used by Kapa */

#chat-panel-kapa-root .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#chat-panel-kapa-root .items-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#chat-panel-kapa-root .justify-between {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

#chat-panel-kapa-root .visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Responsive behavior */

/* Narrow desktop: reduce chat panel width to fit better */

@media (min-width: 1024px) and (max-width: 1399px) {
  .chat-panel {
    width: 340px;
  }
}

/* Tablet/mobile: full width */

@media (max-width: 520px) {
  .chat-panel {
    width: 100%;
  }
}

/* =============================================================================
   DARK MODE
   Using !important to override Kapa SDK inline styles
   ============================================================================= */

.dark-theme .chat-panel {
  background: #1a2332 !important;
  color: #e8eef6 !important;
  border-left-color: rgba(255, 255, 255, 0.08) !important;
  -webkit-box-shadow: -14px 0 40px -18px rgba(0, 0, 0, 0.4) !important;
          box-shadow: -14px 0 40px -18px rgba(0, 0, 0, 0.4) !important;
}

.dark-theme .chat-head {
  border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}

.dark-theme .chat-head-name {
  color: #e8eef6 !important;
}

.dark-theme .chat-head-sub {
  color: #7c8ca8 !important;
}

.dark-theme .chat-head-btn {
  color: #7c8ca8 !important;
}

.dark-theme .chat-head-btn:hover {
  background: rgba(255, 255, 255, 0.05) !important;
  color: #e8eef6 !important;
}

.dark-theme .chat-foot {
  color: #7c8ca8 !important;
  border-top-color: rgba(255, 255, 255, 0.08) !important;
}

/* Dark mode - Kapa SDK overrides */

.dark-theme #chat-panel-kapa-root {
  color: #e8eef6 !important;
}

.dark-theme #chat-panel-kapa-root .question {
  background: #3730a3 !important;
  color: #e0e7ff !important;
  border-color: #4338ca !important;
}

.dark-theme #chat-panel-kapa-root .answer {
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  color: #e8eef6 !important;
}

.dark-theme #chat-panel-kapa-root .answer h2,
.dark-theme #chat-panel-kapa-root .answer h3,
.dark-theme #chat-panel-kapa-root .answer h4 {
  color: #e8eef6 !important;
}

.dark-theme #chat-panel-kapa-root .answer a {
  color: #e8eef6 !important;
  -webkit-text-decoration-color: #7c8ca8 !important;
          text-decoration-color: #7c8ca8 !important;
}

.dark-theme #chat-panel-kapa-root .answer a:hover {
  color: #818cf8 !important;
  color: var(--link-highlight-color, #818cf8) !important;
  -webkit-text-decoration-color: #818cf8 !important;
          text-decoration-color: #818cf8 !important;
  -webkit-text-decoration-color: var(--link-highlight-color, #818cf8) !important;
          text-decoration-color: var(--link-highlight-color, #818cf8) !important;
}

/* Dark mode inline code */

.dark-theme #chat-panel-kapa-root .answer code {
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: rgba(255, 255, 255, 0.15) !important;
  color: #e8eef6 !important;
}

/* Dark mode code blocks */

.dark-theme #chat-panel-kapa-root .answer pre {
  background: rgba(255, 255, 255, 0.06) !important;
  color: #e8eef6 !important;
}

.dark-theme #chat-panel-kapa-root .answer pre code {
  background: none !important;
  border: none !important;
  color: inherit !important;
}

/* Dark mode blockquotes */

.dark-theme #chat-panel-kapa-root .answer blockquote {
  background: rgba(255, 255, 255, 0.04) !important;
  border-left-color: #7c8ca8 !important;
  color: #aab8ca !important;
}

.dark-theme #chat-panel-kapa-root .chat-footer-wrapper {
  background: #1a2332 !important;
  border-top-color: rgba(255, 255, 255, 0.08) !important;
}

.dark-theme #chat-panel-kapa-root .chat-card {
  background: #232f3e !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}

.dark-theme #chat-panel-kapa-root .chat-input,
.dark-theme #chat-panel-kapa-root textarea.chat-input {
  background: #232f3e !important;
  color: #e8eef6 !important;
}

.dark-theme #chat-panel-kapa-root .chat-input::-webkit-input-placeholder, .dark-theme #chat-panel-kapa-root textarea.chat-input::-webkit-input-placeholder {
  color: #8fa3bd !important;
}

.dark-theme #chat-panel-kapa-root .chat-input::-moz-placeholder, .dark-theme #chat-panel-kapa-root textarea.chat-input::-moz-placeholder {
  color: #8fa3bd !important;
}

.dark-theme #chat-panel-kapa-root .chat-input:-ms-input-placeholder, .dark-theme #chat-panel-kapa-root textarea.chat-input:-ms-input-placeholder {
  color: #8fa3bd !important;
}

.dark-theme #chat-panel-kapa-root .chat-input::-ms-input-placeholder, .dark-theme #chat-panel-kapa-root textarea.chat-input::-ms-input-placeholder {
  color: #8fa3bd !important;
}

.dark-theme #chat-panel-kapa-root .chat-input::placeholder,
.dark-theme #chat-panel-kapa-root textarea.chat-input::placeholder {
  color: #8fa3bd !important;
}

.dark-theme #chat-panel-kapa-root .chat-footer-buttons,
.dark-theme #chat-panel-kapa-root .chat-footer {
  background: rgba(255, 255, 255, 0.02) !important;
  border-top-color: rgba(255, 255, 255, 0.08) !important;
}

.dark-theme #chat-panel-kapa-root .deep-thinking-button {
  background: #232f3e !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: #aab8ca !important;
}

.dark-theme #chat-panel-kapa-root .deep-thinking-button:hover {
  background: #2a3a4d !important;
  border-color: rgba(255, 255, 255, 0.15) !important;
  color: #e8eef6 !important;
}

/* Dark theme deep thinking active state */

.dark-theme #chat-panel-kapa-root .deep-thinking-button.active {
  background: rgba(99, 102, 241, 0.2) !important;
  border-color: rgba(99, 102, 241, 0.5) !important;
  color: #a5b4fc !important;
}

.dark-theme #chat-panel-kapa-root .deep-thinking-button.active:hover {
  background: rgba(99, 102, 241, 0.25) !important;
  border-color: rgba(99, 102, 241, 0.6) !important;
  color: #c7d2fe !important;
}

.dark-theme #chat-panel-kapa-root .main-button,
.dark-theme #chat-panel-kapa-root button[type="submit"].main-button {
  background: #e8eef6 !important;
  color: #1a2332 !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  margin: 0 !important;
  border: none !important;
}

.dark-theme #chat-panel-kapa-root .main-button:hover,
.dark-theme #chat-panel-kapa-root button[type="submit"].main-button:hover {
  background: #fff !important;
}

.dark-theme #chat-panel-kapa-root .chip {
  background: #232f3e !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: #aab8ca !important;
}

.dark-theme #chat-panel-kapa-root .chip:hover {
  background: #2a3a4d !important;
  border-color: rgba(255, 255, 255, 0.15) !important;
  color: #e8eef6 !important;
}

.dark-theme #chat-panel-kapa-root .more-chip {
  color: #7c8ca8 !important;
}

.dark-theme #chat-panel-kapa-root .pulldown-item {
  background: #232f3e !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: #aab8ca !important;
}

.dark-theme #chat-panel-kapa-root .pulldown-item:hover {
  background: #2a3a4d !important;
  border-color: rgba(255, 255, 255, 0.15) !important;
  color: #e8eef6 !important;
}

.dark-theme #chat-panel-kapa-root .disclaimer {
  color: #7c8ca8 !important;
  background: #1a2332 !important;
  border-top: none !important;
}

.dark-theme #chat-panel-kapa-root .disclaimer a {
  color: #818cf8 !important;
}

.dark-theme #chat-panel-kapa-root .action-button {
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: #7c8ca8 !important;
}

.dark-theme #chat-panel-kapa-root .action-button:hover {
  background: rgba(255, 255, 255, 0.05) !important;
  border-color: rgba(255, 255, 255, 0.15) !important;
  color: #aab8ca !important;
}

.dark-theme #chat-panel-kapa-root .feedback-button {
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: #7c8ca8 !important;
}

.dark-theme #chat-panel-kapa-root .feedback-button:hover {
  background: rgba(255, 255, 255, 0.05) !important;
  border-color: rgba(255, 255, 255, 0.15) !important;
  color: #aab8ca !important;
}

/* =============================================================================
   TOAST NOTIFICATIONS
   Floating toast for copy/feedback confirmations
   ============================================================================= */

#chat-panel-kapa-root .chat-toast {
  position: fixed;
  top: 16px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 500;
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.05);
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.05);
  z-index: 200;
  -webkit-animation: toastSlideIn 0.3s cubic-bezier(0.4, 0, 0.2, 1);
          animation: toastSlideIn 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
}

@keyframes toastSlideIn {
  from {
    opacity: 0;
    -webkit-transform: translateX(-50%) translateY(-12px);
            transform: translateX(-50%) translateY(-12px);
  }

  to {
    opacity: 1;
    -webkit-transform: translateX(-50%) translateY(0);
            transform: translateX(-50%) translateY(0);
  }
}

/* Success toast */

#chat-panel-kapa-root .chat-toast-success {
  background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
  color: #065f46;
  border: 1px solid #a7f3d0;
}

#chat-panel-kapa-root .chat-toast-success .chat-toast-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 20px;
  height: 20px;
  background: #10b981;
  border-radius: 50%;
  color: #fff;
}

#chat-panel-kapa-root .chat-toast-success .chat-toast-icon svg {
  width: 12px;
  height: 12px;
}

/* Error toast */

#chat-panel-kapa-root .chat-toast-error {
  background: linear-gradient(135deg, #fef2f2 0%, #fecaca 100%);
  color: #991b1b;
  border: 1px solid #fca5a5;
}

#chat-panel-kapa-root .chat-toast-error .chat-toast-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 20px;
  height: 20px;
  background: #ef4444;
  border-radius: 50%;
  color: #fff;
}

#chat-panel-kapa-root .chat-toast-error .chat-toast-icon svg {
  width: 12px;
  height: 12px;
}

#chat-panel-kapa-root .chat-toast-message {
  white-space: nowrap;
}

/* Dark mode toast */

.dark-theme #chat-panel-kapa-root .chat-toast-success {
  background: linear-gradient(135deg, #064e3b 0%, #065f46 100%) !important;
  color: #a7f3d0 !important;
  border-color: #10b981 !important;
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(16, 185, 129, 0.2) !important;
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(16, 185, 129, 0.2) !important;
}

.dark-theme #chat-panel-kapa-root .chat-toast-error {
  background: linear-gradient(135deg, #7f1d1d 0%, #991b1b 100%) !important;
  color: #fecaca !important;
  border-color: #ef4444 !important;
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(239, 68, 68, 0.2) !important;
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(239, 68, 68, 0.2) !important;
}

/* =============================================================================
   PRODUCT SWITCHER — Dropdown for switching between Redpanda products
   ============================================================================= */

.sb-product-wrap {
  position: relative;
  width: 100%;
  margin-bottom: 20px;
  padding: 0 16px;
}

.sb-product-switch {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 14px;
  background: #4f46e5;
  background: var(--component-color, #4f46e5);
  border: none;
  border-radius: 10px;
  cursor: pointer;
  -webkit-transition: background 0.15s, -webkit-filter 0.15s;
  transition: background 0.15s, -webkit-filter 0.15s;
  transition: background 0.15s, filter 0.15s;
  transition: background 0.15s, filter 0.15s, -webkit-filter 0.15s;
  text-align: left;
}

.sb-product-switch:hover {
  -webkit-filter: brightness(1.1);
          filter: brightness(1.1);
}

.sb-product-switch.is-open {
  -webkit-filter: brightness(1.15);
          filter: brightness(1.15);
}

/* Small color indicator chip - hidden when button has full color bg */

.sb-product-chip {
  display: none;
}

.sb-product-name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1px;
  font-size: 13px;
  color: #fff;
  font-weight: 500;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  letter-spacing: -0.01em;
  min-width: 0;
  overflow: hidden;
  line-height: 1.2;
}

/* Hierarchy display for child products (e.g., Cloud under Data Platform) */

.sb-product-name--hierarchy {
  gap: 0;
}

.sb-product-parent-label {
  font-size: 9px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.6);
  letter-spacing: 0.03em;
  text-transform: uppercase;
  line-height: 1.3;
}

.sb-product-child-label {
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  line-height: 1.2;
}

.sb-product-section {
  font-size: 10px;
  font-weight: 500;
  color: #8098b3;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  white-space: nowrap;
}

.sb-product-sep {
  /* Hidden in stacked layout */
  display: none;
}

.sb-product-title {
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* On very narrow viewports, hide section */

@media (max-width: 900px) {
  .sb-product-section {
    display: none;
  }
}

/* Version badge - shown when multiple versions exist */

.sb-product-version {
  font-family: "JetBrains Mono"
,
ui-monospace
,
sfmono-regular
,
menlo
,
monospace;
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, monospace);
  font-size: 10.5px;
  font-weight: 500;
  padding: 2px 6px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 4px;
  color: #a8b2c7;
  letter-spacing: 0.02em;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.sb-product-caret {
  color: #8098b3;
  -webkit-transition: -webkit-transform 0.15s;
  transition: -webkit-transform 0.15s;
  transition: transform 0.15s;
  transition: transform 0.15s, -webkit-transform 0.15s;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.sb-product-caret.rot {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  color: #fff;
}

/* Light theme overrides - keep full color background in light mode too */

.sidebar[data-theme="light"] .sb-product-switch {
  background: #4f46e5;
  background: var(--component-color, #4f46e5);
}

.sidebar[data-theme="light"] .sb-product-switch:hover {
  -webkit-filter: brightness(1.1);
          filter: brightness(1.1);
}

.sidebar[data-theme="light"] .sb-product-name {
  color: #fff;
}

.sidebar[data-theme="light"] .sb-product-section {
  color: rgba(255, 255, 255, 0.7);
}

.sidebar[data-theme="light"] .sb-product-title {
  color: #fff;
}

.sidebar[data-theme="light"] .sb-product-caret {
  color: rgba(255, 255, 255, 0.7);
}

.sidebar[data-theme="light"] .sb-product-caret.rot {
  color: #fff;
}

.sidebar[data-theme="light"] .sb-product-version {
  background: rgba(255, 255, 255, 0.15);
  color: rgba(255, 255, 255, 0.9);
}

/* Dropdown menu */

.sb-product-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  background: #1a2332;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  -webkit-box-shadow: 0 8px 24px rgba(0, 0, 0, 0.32);
          box-shadow: 0 8px 24px rgba(0, 0, 0, 0.32);
  padding: 8px;
  z-index: 100;
  -webkit-animation: sbProductMenuIn 0.12s ease-out;
          animation: sbProductMenuIn 0.12s ease-out;
}

@-webkit-keyframes sbProductMenuIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(-4px);
            transform: translateY(-4px);
  }

  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes sbProductMenuIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(-4px);
            transform: translateY(-4px);
  }

  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

.sidebar[data-theme="light"] .sb-product-menu {
  background: #fff;
  border-color: #c3c4c6;
  border-color: var(--grey-200-new, var(--grey-200, #c3c4c6));
  -webkit-box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.04),
    0 8px 24px rgba(0, 0, 0, 0.12);
          box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.04),
    0 8px 24px rgba(0, 0, 0, 0.12);
}

.sb-product-menu-head {
  padding: 8px 12px 6px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #a3b1c6;
}

/* Section header within dropdown (e.g., "Data Platform") */

.sb-product-menu-head.sb-product-menu-section {
  margin-top: 8px;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.sidebar[data-theme="light"] .sb-product-menu-head {
  color: #79797d;
  color: var(--grey-500-new, var(--grey-500, #79797d));
}

.sidebar[data-theme="light"] .sb-product-menu-head.sb-product-menu-section {
  border-top-color: #dcdcde;
  border-top-color: var(--grey-100-new, var(--grey-100, #dcdcde));
}

.sb-product-opt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 10px;
  width: 100%;
  padding: 10px 12px;
  background: transparent;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  text-align: left;
  -webkit-transition: background 0.12s;
  transition: background 0.12s;
  color: inherit;
}

.sb-product-opt:hover {
  background: rgba(255, 255, 255, 0.05);
}

.sidebar[data-theme="light"] .sb-product-opt:hover {
  background: #f5f5f5;
  background: var(--grey-50-new, var(--grey-50, #f5f5f5));
}

.sb-product-opt.is-current {
  background: rgba(255, 255, 255, 0.04);
}

.sidebar[data-theme="light"] .sb-product-opt.is-current {
  background: #f5f5f5;
  background: var(--grey-50-new, var(--grey-50, #f5f5f5));
}

.sb-product-opt .sb-product-chip {
  /* Show color indicator chip in dropdown */
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 3px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-top: 4px;
}

.sb-product-opt-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

.sb-product-opt-name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 4px 6px;
  font-size: 13px;
  font-weight: 500;
  color: #e8eef6;
  letter-spacing: -0.005em;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  line-height: 1.35;
}

.sidebar[data-theme="light"] .sb-product-opt-name {
  color: #181818;
  color: var(--grey-900-new, var(--grey-900, #181818));
}

.sb-product-opt-tag {
  /* Hide CURRENT tag - checkmark already indicates selection */
  display: none;
}

.sidebar[data-theme="light"] .sb-product-opt-tag {
  background: rgba(226, 67, 40, 0.1);
  color: #e24328;
  color: var(--brand-600-new, #e24328);
}

.sb-product-opt-desc {
  font-size: 11.5px;
  color: #9aa8bc;
  line-height: 1.4;
  letter-spacing: -0.003em;
}

.sidebar[data-theme="light"] .sb-product-opt-desc {
  color: #79797d;
  color: var(--grey-500-new, var(--grey-500, #79797d));
}

.sb-product-opt-check {
  color: #6172f3;
  color: var(--component-500, var(--indigo-500-new, #6172f3));
  margin-top: 4px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

/* Footer */

.sb-product-menu-foot {
  margin-top: 4px;
  padding-top: 8px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.sidebar[data-theme="light"] .sb-product-menu-foot {
  border-top-color: #dcdcde;
  border-top-color: var(--grey-100-new, var(--grey-100, #dcdcde));
}

.sb-product-menu-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  padding: 10px 12px;
  background: transparent;
  border-radius: 8px;
  font-size: 12.5px;
  font-weight: 500;
  color: #c0cad8;
  text-decoration: none;
  -webkit-transition: background 0.12s, color 0.12s;
  transition: background 0.12s, color 0.12s;
  letter-spacing: -0.005em;
}

.sb-product-menu-link:hover {
  background: rgba(255, 255, 255, 0.05);
  color: #fff;
}

.sidebar[data-theme="light"] .sb-product-menu-link {
  color: #606164;
  color: var(--grey-600-new, var(--grey-600, #606164));
}

.sidebar[data-theme="light"] .sb-product-menu-link:hover {
  background: #f5f5f5;
  background: var(--grey-50-new, var(--grey-50, #f5f5f5));
  color: #181818;
  color: var(--grey-900-new, var(--grey-900, #181818));
}

/* Clickable section header link (e.g., "Data Platform" → landing page) */

.sb-product-menu-section-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  text-decoration: none;
  -webkit-transition: background 0.12s, color 0.12s;
  transition: background 0.12s, color 0.12s;
  border-radius: 6px;
  margin-left: -4px;
  margin-right: -4px;
  padding-left: 16px;
  padding-right: 12px;
}

.sb-product-menu-section-link:hover {
  background: rgba(255, 255, 255, 0.05);
  color: #e8eef6;
}

.sidebar[data-theme="light"] .sb-product-menu-section-link:hover {
  background: #f5f5f5;
  background: var(--grey-50-new, var(--grey-50, #f5f5f5));
  color: #181818;
  color: var(--grey-900-new, var(--grey-900, #181818));
}

.sb-product-menu-section-cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #818cf8;
  color: var(--indigo-400, #818cf8);
  opacity: 0;
  -webkit-transition: opacity 0.12s;
  transition: opacity 0.12s;
}

.sb-product-menu-section-link:hover .sb-product-menu-section-cta {
  opacity: 1;
}

.sidebar[data-theme="light"] .sb-product-menu-section-cta {
  color: #4f46e5;
  color: var(--indigo-600, #4f46e5);
}

/* =============================================================================
   HIERARCHICAL PRODUCT STRUCTURE
   ============================================================================= */

/* Product group container (parent + children) */

.sb-product-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

/* Parent item styling (Data Platform) */

.sb-product-opt.sb-product-parent {
  border-radius: 8px 8px 0 0;
  margin-bottom: 0;
}

.sb-product-opt.sb-product-parent.is-current-group {
  background: rgba(255, 255, 255, 0.02);
}

.sidebar[data-theme="light"] .sb-product-opt.sb-product-parent.is-current-group {
  background: rgba(0, 0, 0, 0.02);
}

/* Children container */

.sb-product-children {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-left: 12px;
  margin-left: 16px;
  border-left: 2px solid rgba(255, 255, 255, 0.08);
  margin-bottom: 4px;
}

.sidebar[data-theme="light"] .sb-product-children {
  border-left-color: #c3c4c6;
  border-left-color: var(--grey-200-new, var(--grey-200, #c3c4c6));
}

/* Child item styling (Streaming, Connect) */

.sb-product-opt.sb-product-child {
  padding: 8px 12px;
  border-radius: 6px;
}

.sb-product-opt.sb-product-child .sb-product-chip {
  width: 8px;
  height: 8px;
  margin-top: 5px;
}

.sb-product-opt.sb-product-child .sb-product-opt-name {
  font-size: 12.5px;
}

.sb-product-opt.sb-product-child .sb-product-opt-desc {
  font-size: 11px;
}

/* Highlight current child */

.sb-product-opt.sb-product-child.is-current {
  background: rgba(255, 255, 255, 0.06);
}

.sidebar[data-theme="light"] .sb-product-opt.sb-product-child.is-current {
  background: #dcdcde;
  background: var(--grey-100-new, var(--grey-100, #dcdcde));
}

/* =============================================================================
   NESTED SUBGROUPS (e.g., Self-Managed containing Streaming + Connect)
   ============================================================================= */

.sb-product-subgroup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 4px;
}

/* Clickable Self-Managed button (parent of Streaming/Connect) */

.sb-product-subgroup-btn {
  margin-bottom: 2px;
}

.sb-product-subgroup-btn.is-current-group {
  background: rgba(255, 255, 255, 0.03);
}

.sidebar[data-theme="light"] .sb-product-subgroup-btn.is-current-group {
  background: #f5f5f5;
  background: var(--grey-50-new, var(--grey-50, #f5f5f5));
}

.sb-product-subgroup-label {
  padding: 6px 12px 4px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #8098b3;
}

.sidebar[data-theme="light"] .sb-product-subgroup-label {
  color: #79797d;
  color: var(--grey-500-new, var(--grey-500, #79797d));
}

.sb-product-subgroup-children {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-left: 8px;
  margin-left: 16px;
  border-left: 2px solid rgba(255, 255, 255, 0.06);
}

.sidebar[data-theme="light"] .sb-product-subgroup-children {
  border-left-color: #c3c4c6;
  border-left-color: var(--grey-200-new, var(--grey-200, #c3c4c6));
}

/* Grandchild items (Streaming, Connect under Self-Managed) */

.sb-product-opt.sb-product-grandchild {
  padding: 6px 10px;
}

.sb-product-opt.sb-product-grandchild .sb-product-chip {
  width: 6px;
  height: 6px;
  margin-top: 6px;
}

.sb-product-opt.sb-product-grandchild .sb-product-opt-name {
  font-size: 12px;
}

.sb-product-opt.sb-product-grandchild .sb-product-opt-desc {
  font-size: 10.5px;
}

/* =============================================================================
   LABS HOME PAGE STYLES
   Styling for the Labs landing page with hero, filters, and card grid
   ============================================================================= */

/* Labs page wrapper */

.labs-wrap {
  background: var(--body-background);
}

.labs-wrap .page-view {
  width: 100%;
  max-width: none;
}

.labs-page {
  width: 100%;
}

/* =============================================================================
   HERO SECTION
   ============================================================================= */

.labs-hero {
  position: relative;
  padding: 72px 5vw 56px;
  text-align: center;
  background: -webkit-gradient(linear, left top, left bottom, from(#0b1430), to(#10173a));
  background: linear-gradient(180deg, #0b1430 0%, #10173a 100%);
  overflow: hidden;
}

.labs-hero-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.labs-hero-glow {
  position: absolute;
  width: 600px;
  height: 600px;
  top: -220px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: radial-gradient(circle, rgba(226, 67, 40, 0.18) 0%, transparent 70%);
}

.labs-hero-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: -webkit-gradient(linear, left top, left bottom, from(white), color-stop(80%, transparent));
  mask-image: linear-gradient(180deg, white 0%, transparent 80%);
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(white), color-stop(80%, transparent));
  -webkit-mask-image: linear-gradient(180deg, white 0%, transparent 80%);
}

.labs-hero-inner {
  position: relative;
  max-width: 920px;
  margin: 0 auto;
}

.labs-hero-eyebrow {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 20px;
}

.labs-hero-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #e24328;
  -webkit-box-shadow: 0 0 10px rgba(226, 67, 40, 0.6);
          box-shadow: 0 0 10px rgba(226, 67, 40, 0.6);
}

.labs-hero-title {
  font-size: clamp(28px, 5vw, 40px);
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
  margin: 0 0 16px;
  font-family: var(--body-font-family);
  font-family: var(--body-font-family-bold, var(--body-font-family));
}

.labs-hero-sub {
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.6);
  max-width: 640px;
  margin: 0 auto 32px;
}

.labs-hero-stats {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 40px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.labs-hero-stats > div {
  text-align: center;
}

.labs-hero-stats strong {
  display: block;
  font-size: 28px;
  font-weight: 700;
  color: #fff;
}

.labs-hero-stats span {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* =============================================================================
   BODY / RESULTS LAYOUT (single column - filters are in nav sidebar)
   ============================================================================= */

.labs-body {
  padding: 40px 5vw 64px;
  max-width: none;
  margin: 0;
}

/* Labs Search Bar in Main Content */

.labs-search-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: #fff;
  background: var(--panel-background, #fff);
  border: 1px solid rgba(0, 0, 0, 0.1);
  border: 1px solid var(--panel-border-color, rgba(0, 0, 0, 0.1));
  border-radius: 8px;
  margin-bottom: 24px;
  max-width: 600px;
}

.labs-search-bar:focus-within {
  border-color: #4b44ff;
  border-color: var(--link-highlight-color, #4b44ff);
  -webkit-box-shadow: 0 0 0 3px rgba(75, 68, 255, 0.1);
          box-shadow: 0 0 0 3px rgba(75, 68, 255, 0.1);
}

.labs-search-bar > svg {
  color: #9ca3af;
  color: var(--grey-400, #9ca3af);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.labs-search-bar input {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  border: 0;
  background: transparent;
  font-size: 14px;
  color: var(--body-font-color);
  outline: none;
}

.labs-search-bar input::-webkit-input-placeholder {
  color: #9ca3af;
  color: var(--grey-400, #9ca3af);
}

.labs-search-bar input::-moz-placeholder {
  color: #9ca3af;
  color: var(--grey-400, #9ca3af);
}

.labs-search-bar input:-ms-input-placeholder {
  color: #9ca3af;
  color: var(--grey-400, #9ca3af);
}

.labs-search-bar input::-ms-input-placeholder {
  color: #9ca3af;
  color: var(--grey-400, #9ca3af);
}

.labs-search-bar input::placeholder {
  color: #9ca3af;
  color: var(--grey-400, #9ca3af);
}

.labs-search-clear {
  background: transparent;
  border: 0;
  padding: 4px;
  cursor: pointer;
  color: var(--grey-400);
  border-radius: 4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.labs-search-clear:hover {
  background: #f3f4f6;
  background: var(--grey-100, #f3f4f6);
  color: #374151;
  color: var(--grey-700, #374151);
}

html[data-theme="dark"] .labs-search-bar {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.1);
}

html[data-theme="dark"] .labs-search-bar input::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.4);
}

html[data-theme="dark"] .labs-search-bar input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.4);
}

html[data-theme="dark"] .labs-search-bar input:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.4);
}

html[data-theme="dark"] .labs-search-bar input::-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.4);
}

html[data-theme="dark"] .labs-search-bar > svg,
html[data-theme="dark"] .labs-search-bar input::placeholder {
  color: rgba(255, 255, 255, 0.4);
}

html[data-theme="dark"] .labs-search-clear:hover {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.9);
}

/* =============================================================================
   LABS NAV SIDEBAR FILTERS
   Integrated into the main nav sidebar structure
   ============================================================================= */

.labs-nav-search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding: 8px 12px;
  margin: 0 12px 12px;
  background: rgba(0, 0, 0, 0.03);
  background: var(--nav-background, rgba(0, 0, 0, 0.03));
  border: 1px solid rgba(0, 0, 0, 0.08);
  border: 1px solid var(--nav-border-color, rgba(0, 0, 0, 0.08));
  border-radius: 6px;
  -webkit-transition: border-color 0.15s, -webkit-box-shadow 0.15s;
  transition: border-color 0.15s, -webkit-box-shadow 0.15s;
  transition: border-color 0.15s, box-shadow 0.15s;
  transition: border-color 0.15s, box-shadow 0.15s, -webkit-box-shadow 0.15s;
}

.labs-nav-search:focus-within {
  border-color: #4b44ff;
  border-color: var(--link-highlight-color, #4b44ff);
  -webkit-box-shadow: 0 0 0 2px rgba(75, 68, 255, 0.1);
          box-shadow: 0 0 0 2px rgba(75, 68, 255, 0.1);
}

.labs-nav-search > svg {
  color: rgba(0, 0, 0, 0.4);
  color: var(--nav-muted-color, rgba(0, 0, 0, 0.4));
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.labs-nav-search input {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  border: 0;
  background: transparent;
  font-size: 13px;
  color: var(--body-font-color);
  outline: none;
}

.labs-nav-search input::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.4);
  color: var(--nav-muted-color, rgba(0, 0, 0, 0.4));
}

.labs-nav-search input::-moz-placeholder {
  color: rgba(0, 0, 0, 0.4);
  color: var(--nav-muted-color, rgba(0, 0, 0, 0.4));
}

.labs-nav-search input:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.4);
  color: var(--nav-muted-color, rgba(0, 0, 0, 0.4));
}

.labs-nav-search input::-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.4);
  color: var(--nav-muted-color, rgba(0, 0, 0, 0.4));
}

.labs-nav-search input::placeholder {
  color: rgba(0, 0, 0, 0.4);
  color: var(--nav-muted-color, rgba(0, 0, 0, 0.4));
}

.labs-nav-search-clear {
  background: transparent;
  border: 0;
  padding: 2px;
  cursor: pointer;
  color: rgba(0, 0, 0, 0.4);
  color: var(--nav-muted-color, rgba(0, 0, 0, 0.4));
  border-radius: 3px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.labs-nav-search-clear:hover {
  background: rgba(0, 0, 0, 0.06);
  color: var(--body-font-color);
}

.labs-nav-filters {
  padding: 0 12px;
}

.labs-nav-filters-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  border-bottom: 1px solid var(--nav-border-color, rgba(0, 0, 0, 0.08));
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: rgba(0, 0, 0, 0.5);
  color: var(--nav-muted-color, rgba(0, 0, 0, 0.5));
}

.labs-nav-clear {
  font-size: 11px;
  color: #4b44ff;
  color: var(--link-highlight-color, #4b44ff);
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 2px 6px;
  border-radius: 3px;
  text-transform: none;
  letter-spacing: normal;
}

.labs-nav-clear:hover {
  background: rgba(75, 68, 255, 0.08);
}

.labs-nav-filter-group {
  margin-bottom: 16px;
}

.labs-nav-filter-title {
  font-size: 12px;
  font-weight: 600;
  color: var(--body-font-color);
  margin-bottom: 8px;
  padding: 0 4px;
}

.labs-nav-filter-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Reuse existing filter row styles for nav filters */

.labs-nav-filter-list .labs-filter-row {
  padding: 6px 8px;
  font-size: 13px;
  margin-bottom: 2px;
}

.labs-nav-filter-list .labs-filter-check {
  width: 14px;
  height: 14px;
}

.labs-nav-filter-list .labs-filter-count {
  font-size: 11px;
}

/* Show more button for filters */

.ais-RefinementList-showMore {
  display: block;
  width: 100%;
  padding: 6px 8px;
  margin-top: 4px;
  font-size: 12px;
  color: #4b44ff;
  color: var(--link-font-color, #4b44ff);
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
}

.ais-RefinementList-showMore:hover {
  color: #3730d9;
  color: var(--link-hover-font-color, #3730d9);
  text-decoration: underline;
}

.ais-RefinementList-showMore--disabled {
  display: none;
}

html[data-theme="dark"] .ais-RefinementList-showMore {
  color: rgba(150, 150, 255, 0.9);
}

html[data-theme="dark"] .ais-RefinementList-showMore:hover {
  color: rgba(180, 180, 255, 1);
}

/* Dark mode adjustments for nav filters */

html[data-theme="dark"] .labs-nav-filters-head {
  border-color: rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.6);
}

html[data-theme="dark"] .labs-nav-filter-title {
  color: rgba(255, 255, 255, 0.9);
}

html[data-theme="dark"] .labs-filter-row {
  color: rgba(255, 255, 255, 0.75);
}

html[data-theme="dark"] .labs-filter-row:hover {
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.95);
}

html[data-theme="dark"] .labs-filter-row.is-on {
  color: rgba(255, 255, 255, 0.95);
}

html[data-theme="dark"] .labs-filter-label {
  color: rgba(255, 255, 255, 0.85);
}

html[data-theme="dark"] .labs-filter-count {
  color: rgba(255, 255, 255, 0.6);
  background: rgba(255, 255, 255, 0.1);
}

html[data-theme="dark"] .labs-filter-row.is-on .labs-filter-count {
  background: rgba(150, 150, 255, 0.15);
  color: rgba(180, 180, 255, 0.9);
}

html[data-theme="dark"] .labs-filter-check {
  border-color: rgba(255, 255, 255, 0.3);
}

/* Legacy sidebar styles (kept for backwards compatibility) */

.labs-sidebar {
  position: sticky;
  top: 88px;
  max-height: calc(100vh - 108px);
  overflow-y: auto;
  padding-right: 8px;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.12) transparent;
}

.labs-sidebar::-webkit-scrollbar {
  width: 6px;
}

.labs-sidebar::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.12);
  border-radius: 3px;
}

/* Search box */

.labs-search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  padding: 10px 14px;
  background: #f9fafb;
  background: var(--grey-50, #f9fafb);
  border: 1px solid #e5e7eb;
  border: 1px solid var(--grey-200, #e5e7eb);
  border-radius: 8px;
  margin-bottom: 20px;
  -webkit-transition: border-color 0.15s, -webkit-box-shadow 0.15s;
  transition: border-color 0.15s, -webkit-box-shadow 0.15s;
  transition: border-color 0.15s, box-shadow 0.15s;
  transition: border-color 0.15s, box-shadow 0.15s, -webkit-box-shadow 0.15s;
}

.labs-search:focus-within {
  border-color: #4b44ff;
  border-color: var(--link-highlight-color, #4b44ff);
  -webkit-box-shadow: 0 0 0 3px rgba(75, 68, 255, 0.1);
          box-shadow: 0 0 0 3px rgba(75, 68, 255, 0.1);
}

.labs-search > svg {
  color: #6b7280;
  color: var(--grey-500, #6b7280);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.labs-search input {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border: 0;
  background: transparent;
  font-size: 13px;
  color: var(--body-font-color);
  outline: none;
}

.labs-search input::-webkit-input-placeholder {
  color: #9ca3af;
  color: var(--grey-400, #9ca3af);
}

.labs-search input::-moz-placeholder {
  color: #9ca3af;
  color: var(--grey-400, #9ca3af);
}

.labs-search input:-ms-input-placeholder {
  color: #9ca3af;
  color: var(--grey-400, #9ca3af);
}

.labs-search input::-ms-input-placeholder {
  color: #9ca3af;
  color: var(--grey-400, #9ca3af);
}

.labs-search input::placeholder {
  color: #9ca3af;
  color: var(--grey-400, #9ca3af);
}

/* Filters header */

.labs-filters-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 16px;
  font-size: 12px;
  font-weight: 600;
  color: #4b5563;
  color: var(--grey-600, #4b5563);
}

.labs-clear {
  font-size: 11px;
  color: #4b44ff;
  color: var(--link-highlight-color, #4b44ff);
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 4px;
}

.labs-clear:hover {
  background: rgba(75, 68, 255, 0.08);
}

/* Filter groups */

.labs-filter-group {
  border-bottom: 1px solid #e5e7eb;
  border-bottom: 1px solid var(--grey-200, #e5e7eb);
  padding-bottom: 16px;
  margin-bottom: 16px;
}

.labs-filter-group:last-child {
  border-bottom: 0;
}

.labs-filter-title {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6b7280;
  color: var(--grey-500, #6b7280);
  margin-bottom: 10px;
}

.labs-filter-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.labs-filter-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  padding: 7px 10px;
  font-size: 13px;
  color: #4b5563;
  color: var(--grey-600, #4b5563);
  border-radius: 6px;
  cursor: pointer;
  -webkit-transition: background 0.12s, color 0.12s;
  transition: background 0.12s, color 0.12s;
}

.labs-filter-row:hover {
  background: rgba(0, 0, 0, 0.025);
  background: var(--grey-50, rgba(0, 0, 0, 0.025));
  color: #111827;
  color: var(--grey-900, #111827);
}

.labs-filter-row.is-on {
  color: #111827;
  color: var(--grey-900, #111827);
  font-weight: 500;
}

.labs-filter-row input {
  display: none;
}

.labs-filter-check {
  width: 16px;
  height: 16px;
  border: 1.5px solid #d1d5db;
  border: 1.5px solid var(--grey-300, #d1d5db);
  border-radius: 4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transition: background 0.12s, border-color 0.12s;
  transition: background 0.12s, border-color 0.12s;
}

.labs-filter-row.is-on .labs-filter-check {
  background: #4b44ff;
  background: var(--link-highlight-color, #4b44ff);
  border-color: #4b44ff;
  border-color: var(--link-highlight-color, #4b44ff);
  color: #fff;
}

.labs-filter-label {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

.labs-filter-count {
  font-size: 11px;
  color: #9ca3af;
  color: var(--grey-400, #9ca3af);
  background: #f3f4f6;
  background: var(--grey-100, #f3f4f6);
  padding: 2px 6px;
  border-radius: 4px;
}

.labs-filter-row.is-on .labs-filter-count {
  background: rgba(75, 68, 255, 0.1);
  color: #4b44ff;
  color: var(--link-highlight-color, #4b44ff);
}

/* =============================================================================
   RESULTS SECTION
   ============================================================================= */

.labs-results {
  min-width: 0;
}

.labs-results-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 24px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 16px;
}

.labs-results-count {
  font-size: 14px;
  color: #374151;
  color: var(--grey-700, #374151);
}

.labs-results-count strong {
  color: #111827;
  color: var(--grey-900, #111827);
  font-weight: 600;
}

.labs-results-filter-note {
  color: #6b7280;
  color: var(--grey-500, #6b7280);
}

.labs-results-controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}

.labs-sort {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}

.labs-sort label {
  font-size: 12px;
  color: #6b7280;
  color: var(--grey-500, #6b7280);
}

.labs-sort select {
  font-size: 13px;
  padding: 6px 28px 6px 10px;
  border: 1px solid #e5e7eb;
  border: 1px solid var(--grey-200, #e5e7eb);
  border-radius: 6px;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 8px center;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  color: var(--body-font-color);
}

.labs-sort select:focus {
  outline: 2px solid rgba(75, 68, 255, 0.3);
  outline-offset: 1px;
}

.labs-view-toggle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border: 1px solid #e5e7eb;
  border: 1px solid var(--grey-200, #e5e7eb);
  border-radius: 6px;
  overflow: hidden;
  background: #f9fafb;
  background: var(--grey-50, #f9fafb);
}

.labs-view-toggle button {
  padding: 6px 10px;
  background: transparent;
  border: 0;
  color: #6b7280;
  color: var(--grey-500, #6b7280);
  cursor: pointer;
  -webkit-transition: background 0.12s, color 0.12s;
  transition: background 0.12s, color 0.12s;
}

.labs-view-toggle button:not(:last-child) {
  border-right: 1px solid #e5e7eb;
  border-right: 1px solid var(--grey-200, #e5e7eb);
}

.labs-view-toggle button.is-on {
  background: #fff;
  color: #111827;
  color: var(--grey-900, #111827);
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

/* =============================================================================
   LABS GRID / CARDS
   ============================================================================= */

.labs-grid {
  display: block; /* Let Algolia's list be the grid */
}

/* Algolia InstantSearch creates .ais-Hits-list - make it the grid */

.labs-grid .ais-Hits-list {
  display: grid;
  gap: 20px;
  list-style: none;
  margin: 0;
  padding: 0;
  border: none !important;
  background: transparent !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}

.labs-grid.view-cards .ais-Hits-list {
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
}

.labs-grid.view-list .ais-Hits-list {
  grid-template-columns: 1fr;
}

/* Algolia wraps each hit in .ais-Hits-item - reset all default styles */

.labs-grid .ais-Hits,
.labs-grid .ais-Hits-item {
  display: block;
  list-style: none;
  margin: 0;
  padding: 0;
  border: none !important;
  background: transparent !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  border-radius: 0;
}

.labs-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 20px;
  background: var(--body-background);
  border: 1px solid #e5e7eb;
  border: 1px solid var(--grey-200, #e5e7eb);
  border-radius: 12px;
  text-decoration: none;
  color: inherit;
  -webkit-transition: border-color 0.15s, -webkit-box-shadow 0.15s, -webkit-transform 0.15s;
  transition: border-color 0.15s, -webkit-box-shadow 0.15s, -webkit-transform 0.15s;
  transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s;
  transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s, -webkit-box-shadow 0.15s, -webkit-transform 0.15s;
}

.labs-card:hover {
  border-color: #d1d5db;
  border-color: var(--grey-300, #d1d5db);
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
  text-decoration: none;
}

.labs-card.is-featured {
  border-color: rgba(226, 67, 40, 0.3);
  background: linear-gradient(135deg, rgba(226, 67, 40, 0.03) 0%, transparent 60%);
}

.labs-card-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.labs-card-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--body-font-color);
  line-height: 1.35;
  margin: 0;
}

.labs-card-featured {
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #e24328;
  background: rgba(226, 67, 40, 0.1);
  padding: 3px 6px;
  border-radius: 4px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.labs-card-desc {
  font-size: 13px;
  line-height: 1.5;
  color: #64748b;
  color: var(--body-faint-font-color, #64748b);
  margin: 0 0 16px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.labs-card-foot {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 12px;
}

.labs-card-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.labs-card-diff {
  font-size: 11px;
  font-weight: 500;
  text-transform: capitalize;
  padding: 3px 8px;
  border-radius: 4px;
  background: #f3f4f6;
  background: var(--grey-100, #f3f4f6);
  color: #4b5563;
  color: var(--grey-600, #4b5563);
}

.labs-card-diff.is-beginner {
  background: rgba(34, 197, 94, 0.1);
  color: #15803d;
}

.labs-card-diff.is-intermediate {
  background: rgba(234, 179, 8, 0.12);
  color: #a16207;
}

.labs-card-diff.is-advanced {
  background: rgba(226, 67, 40, 0.1);
  color: #b1351c;
}

.labs-card-time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  font-size: 11px;
  color: #6b7280;
  color: var(--grey-500, #6b7280);
}

.labs-card-tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.labs-card-tag {
  font-size: 10px;
  color: #6b7280;
  color: var(--grey-500, #6b7280);
  background: #f3f4f6;
  background: var(--grey-100, #f3f4f6);
  padding: 2px 6px;
  border-radius: 4px;
  white-space: nowrap;
}

/* List view adjustments */

.labs-grid.view-list .labs-card {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 16px 20px;
  gap: 20px;
}

.labs-grid.view-list .labs-card-head {
  margin-bottom: 4px;
}

.labs-grid.view-list .labs-card-foot {
  margin-left: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 8px;
}

.labs-grid.view-list .labs-card-desc {
  margin-bottom: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

/* =============================================================================
   EMPTY STATE
   ============================================================================= */

.labs-empty {
  text-align: center;
  padding: 64px 24px;
  background: #f9fafb;
  background: var(--grey-50, #f9fafb);
  border-radius: 12px;
}

.labs-empty-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 16px;
  background: #f3f4f6;
  background: var(--grey-100, #f3f4f6);
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #9ca3af;
  color: var(--grey-400, #9ca3af);
}

.labs-empty h3 {
  font-size: 16px;
  font-weight: 600;
  color: #111827;
  color: var(--grey-900, #111827);
  margin: 0 0 8px;
}

.labs-empty p {
  font-size: 13px;
  color: #6b7280;
  color: var(--grey-500, #6b7280);
  margin: 0 0 20px;
}

.labs-empty-clear {
  font-size: 13px;
  font-weight: 500;
  color: #4b44ff;
  color: var(--link-highlight-color, #4b44ff);
  background: transparent;
  border: 1px solid #4b44ff;
  border: 1px solid var(--link-highlight-color, #4b44ff);
  padding: 8px 16px;
  border-radius: 6px;
  cursor: pointer;
  -webkit-transition: background 0.15s, color 0.15s;
  transition: background 0.15s, color 0.15s;
}

.labs-empty-clear:hover {
  background: #4b44ff;
  background: var(--link-highlight-color, #4b44ff);
  color: #fff;
}

/* =============================================================================
   PAGINATION
   ============================================================================= */

.labs-pager {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 6px;
  margin-top: 32px;
}

.labs-pager-btn,
.labs-pager-num {
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 500;
  color: #4b5563;
  color: var(--grey-600, #4b5563);
  background: transparent;
  border: 1px solid #e5e7eb;
  border: 1px solid var(--grey-200, #e5e7eb);
  border-radius: 6px;
  cursor: pointer;
  -webkit-transition: background 0.12s, color 0.12s;
  transition: background 0.12s, color 0.12s;
}

.labs-pager-btn:hover:not(:disabled),
.labs-pager-num:hover {
  background: #f3f4f6;
  background: var(--grey-100, #f3f4f6);
}

.labs-pager-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.labs-pager-num.is-on {
  background: #4b44ff;
  background: var(--link-highlight-color, #4b44ff);
  border-color: #4b44ff;
  border-color: var(--link-highlight-color, #4b44ff);
  color: #fff;
}

/* =============================================================================
   CTA SECTION
   ============================================================================= */

.labs-cta {
  margin-top: 48px;
  padding: 32px;
  background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);
  background: linear-gradient(135deg, var(--grey-50, #f9fafb) 0%, var(--grey-100, #f3f4f6) 100%);
  border: 1px solid #e5e7eb;
  border: 1px solid var(--grey-200, #e5e7eb);
  border-radius: 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 24px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.labs-cta h3 {
  font-size: 16px;
  font-weight: 600;
  color: var(--body-font-color);
  margin: 0 0 4px;
}

.labs-cta p {
  font-size: 13px;
  color: #64748b;
  color: var(--body-faint-font-color, #64748b);
  margin: 0;
}

.labs-cta-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 500;
  color: var(--body-font-color);
  background: #fff;
  border: 1px solid #e5e7eb;
  border: 1px solid var(--grey-200, #e5e7eb);
  padding: 10px 16px;
  border-radius: 8px;
  text-decoration: none;
  -webkit-transition: background 0.15s;
  transition: background 0.15s;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.labs-cta-btn:hover {
  background: #f3f4f6;
  background: var(--grey-100, #f3f4f6);
  text-decoration: none;
}

/* =============================================================================
   RESPONSIVE
   ============================================================================= */

@media screen and (max-width: 1024px) {
  .labs-body {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .labs-sidebar {
    position: static;
    max-height: none;
    overflow: visible;
  }

  .labs-hero {
    padding: 48px 5vw 40px;
  }

  .labs-hero-stats {
    gap: 24px;
  }
}

@media screen and (max-width: 640px) {
  .labs-grid.view-list .labs-card {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 12px;
  }

  .labs-grid.view-list .labs-card-foot {
    margin-left: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }

  .labs-cta {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    text-align: center;
  }
}

/* =============================================================================
   DARK MODE
   ============================================================================= */

/* Labs body background */

html[data-theme="dark"] .labs-body {
  background: #0f172a;
  background: var(--body-background, #0f172a);
}

/* Results count text */

html[data-theme="dark"] .labs-results-count {
  color: rgba(255, 255, 255, 0.7);
}

html[data-theme="dark"] .labs-results-count strong {
  color: rgba(255, 255, 255, 0.95);
}

html[data-theme="dark"] .labs-results-filter-note {
  color: rgba(255, 255, 255, 0.5);
}

html[data-theme="dark"] .labs-sort select {
  background-color: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.1);
}

html[data-theme="dark"] .labs-view-toggle {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.1);
}

html[data-theme="dark"] .labs-view-toggle button {
  color: rgba(255, 255, 255, 0.6);
}

html[data-theme="dark"] .labs-view-toggle button:not(:last-child) {
  border-color: rgba(255, 255, 255, 0.1);
}

html[data-theme="dark"] .labs-view-toggle button.is-on {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.95);
}

/* Algolia hits wrapper - remove any default styling */

html[data-theme="dark"] .labs-grid .ais-Hits,
html[data-theme="dark"] .labs-grid .ais-Hits-list,
html[data-theme="dark"] .labs-grid .ais-Hits-item {
  background: transparent;
  border: none;
}

/* Labs cards in dark mode */

html[data-theme="dark"] .labs-card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .labs-card:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.15);
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

html[data-theme="dark"] .labs-card-title {
  color: rgba(255, 255, 255, 0.95);
}

html[data-theme="dark"] .labs-card-desc {
  color: rgba(255, 255, 255, 0.6);
}

html[data-theme="dark"] .labs-card-time {
  color: rgba(255, 255, 255, 0.5);
}

html[data-theme="dark"] .labs-card-tag {
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.6);
}

html[data-theme="dark"] .labs-card-diff {
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.7);
}

html[data-theme="dark"] .labs-card-diff.is-beginner {
  background: rgba(34, 197, 94, 0.15);
  color: #4ade80;
}

html[data-theme="dark"] .labs-card-diff.is-intermediate {
  background: rgba(234, 179, 8, 0.15);
  color: #fbbf24;
}

html[data-theme="dark"] .labs-card-diff.is-advanced {
  background: rgba(226, 67, 40, 0.15);
  color: #f87171;
}

html[data-theme="dark"] .labs-card-featured {
  background: rgba(226, 67, 40, 0.2);
  color: #f87171;
}

html[data-theme="dark"] .labs-card.is-featured {
  border-color: rgba(226, 67, 40, 0.25);
  background: linear-gradient(135deg, rgba(226, 67, 40, 0.08) 0%, transparent 60%);
}

html[data-theme="dark"] .labs-empty {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
}

html[data-theme="dark"] .labs-empty-icon {
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.4);
}

html[data-theme="dark"] .labs-empty h3 {
  color: rgba(255, 255, 255, 0.95);
}

html[data-theme="dark"] .labs-empty p {
  color: rgba(255, 255, 255, 0.6);
}

html[data-theme="dark"] .labs-pager-btn,
html[data-theme="dark"] .labs-pager-num {
  border-color: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.7);
}

html[data-theme="dark"] .labs-pager-btn:hover:not(:disabled),
html[data-theme="dark"] .labs-pager-num:hover {
  background: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .labs-cta {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.02) 0%, rgba(255, 255, 255, 0.04) 100%);
  border-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .labs-cta h3 {
  color: rgba(255, 255, 255, 0.95);
}

html[data-theme="dark"] .labs-cta p {
  color: rgba(255, 255, 255, 0.6);
}

html[data-theme="dark"] .labs-cta-btn {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.9);
}

html[data-theme="dark"] .labs-cta-btn:hover {
  background: rgba(255, 255, 255, 0.1);
}
/*# sourceMappingURL=site.css.map */
