/*fern-site-stylesheet*/@font-face {
    font-family: 'TLText';
    src: url('/_fern-files/twelvelabs-fern-sdk.docs.buildwithfern.com/864ee18004905bea05ac50cc65012495a0f55a696df97ff2a37c0a77565574ec/docs/assets/fonts/205TF-Milling-Duplex1mm.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0100-0192, U+01CD-0237, U+0259, U+02C7-02DD, U+0300-0331, U+0394-03C0, U+1E20-1E21, U+1E80-1E85, U+1EBC-1EF9, U+2070-2089, U+2116-2126, U+215B-215E, U+2190-21AA, U+2202-2265, U+2295-22A0, U+2300, U+25A0-2612, U+2690-2691, U+2733, U+2764, U+2913, U+29B6-29BF, U+2B12-2B1A, U+2B73, U+A78B-A78C, U+FB01-FB02, U+1F310, U+1F78A-1F796;
}
@font-face {
    font-family: 'TLText';
    src: url('/_fern-img/864ee18004905bea05ac50cc65012495-v1.latin.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+000D, U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+2002-2003, U+2009, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2191, U+2193, U+2212;
}
@font-face {
    font-family: 'TLHHeading';
    src: url('/_fern-files/twelvelabs-fern-sdk.docs.buildwithfern.com/864ee18004905bea05ac50cc65012495a0f55a696df97ff2a37c0a77565574ec/docs/assets/fonts/205TF-Milling-Duplex1mm.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0100-0192, U+01CD-0237, U+0259, U+02C7-02DD, U+0300-0331, U+0394-03C0, U+1E20-1E21, U+1E80-1E85, U+1EBC-1EF9, U+2070-2089, U+2116-2126, U+215B-215E, U+2190-21AA, U+2202-2265, U+2295-22A0, U+2300, U+25A0-2612, U+2690-2691, U+2733, U+2764, U+2913, U+29B6-29BF, U+2B12-2B1A, U+2B73, U+A78B-A78C, U+FB01-FB02, U+1F310, U+1F78A-1F796;
}
@font-face {
    font-family: 'TLHHeading';
    src: url('/_fern-img/864ee18004905bea05ac50cc65012495-v1.latin.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+000D, U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+2002-2003, U+2009, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2191, U+2193, U+2212;
}
@font-face {
    font-family: 'TLText Fallback';
    src: local('Arial'), local('ArialMT'), local('Liberation Sans'), local('Arimo');
    size-adjust: 111.72%;
    ascent-override: 86.71%;
    descent-override: 25.17%;
    line-gap-override: 0.00%;
}
@font-face {
    font-family: 'TLHHeading Fallback';
    src: local('Arial'), local('ArialMT'), local('Liberation Sans'), local('Arimo');
    size-adjust: 111.72%;
    ascent-override: 86.71%;
    descent-override: 25.17%;
    line-gap-override: 0.00%;
}

:root {
  --header-height: 50px;
  --header-height-real: 50px;
  --mobile-header-height-real: 50px;
  --content-width: 720px;
  --sidebar-width: 298px;
  --page-width: 100vw;
  --logo-height: 24px;
  --font-body: 'TLText', 'TLText Fallback', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --font-heading: 'TLHHeading', 'TLHHeading Fallback', 'TLText', 'TLText Fallback', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --font-code: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
}

:root {
  --typography-body-font-family: var(--font-body);
  --typography-heading-font-family: var(--font-heading);
  --typography-code-font-family: var(--font-code);
}


.light, :root {
  --accent-1: #f0f0f0;
  --accent-2: #ecebeb;
  --accent-3: #e2e2e1;
  --accent-4: #dad9d8;
  --accent-5: #d2d1cf;
  --accent-6: #c9c8c6;
  --accent-7: #bebcba;
  --accent-8: #aba9a6;
  --accent-9: #7d7b78;
  --accent-10: #716e6b;
  --accent-11: #555351;
  --accent-12: #22201e;

  --accent-a1: #285b5b05;
  --accent-a2: #12111109;
  --accent-a3: #030f0213;
  --accent-a4: #100f061d;
  --accent-a5: #100f0226;
  --accent-a6: #100f0430;
  --accent-a7: #0e0a013c;
  --accent-a8: #0f0b0151;
  --accent-a9: #0a080282;
  --accent-a10: #0b06008f;
  --accent-a11: #060300aa;
  --accent-a12: #050200e0;

  --accent-contrast: #fff;
  --accent-surface: #eae9e9cc;
  --accent-indicator: #7d7b78;
  --accent-track: #7d7b78;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --accent-1: oklch(95.6% 0.0006 67.78);
      --accent-2: oklch(94.1% 0.0008 67.78);
      --accent-3: oklch(91.2% 0.0012 67.78);
      --accent-4: oklch(88.5% 0.0019 67.78);
      --accent-5: oklch(86% 0.0021 67.78);
      --accent-6: oklch(83.3% 0.0028 67.78);
      --accent-7: oklch(79.7% 0.0035 67.78);
      --accent-8: oklch(73.5% 0.0047 67.78);
      --accent-9: oklch(58.3% 0.0053 67.78);
      --accent-10: oklch(53.9% 0.0053 67.78);
      --accent-11: oklch(44.3% 0.0043 67.78);
      --accent-12: oklch(24.5% 0.0041 67.78);

      --accent-a1: color(display-p3 0.0353 0.2627 0.2627 / 0.017);
      --accent-a2: color(display-p3 0.0078 0.0039 0.0039 / 0.033);
      --accent-a3: color(display-p3 0.0157 0.0667 0.0118 / 0.075);
      --accent-a4: color(display-p3 0.0471 0.0431 0.0078 / 0.112);
      --accent-a5: color(display-p3 0.0627 0.0588 0.0078 / 0.149);
      --accent-a6: color(display-p3 0.051 0.0471 0.0078 / 0.186);
      --accent-a7: color(display-p3 0.0549 0.0353 0.0039 / 0.235);
      --accent-a8: color(display-p3 0.0549 0.0392 0.0039 / 0.317);
      --accent-a9: color(display-p3 0.0392 0.0235 0 / 0.507);
      --accent-a10: color(display-p3 0.0353 0.0235 0 / 0.56);
      --accent-a11: color(display-p3 0.0235 0.0118 0 / 0.667);
      --accent-a12: color(display-p3 0.0196 0.0078 0 / 0.877);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.9176 0.9137 0.9137 / 0.8);
      --accent-indicator: oklch(58.3% 0.0053 67.78);
      --accent-track: oklch(58.3% 0.0053 67.78);
    }
  }
}


.light, :root {
  --grayscale-1: #fdfdfc;
  --grayscale-2: #f9f9f8;
  --grayscale-3: #f1f0ef;
  --grayscale-4: #e9e8e6;
  --grayscale-5: #e2e1de;
  --grayscale-6: #dad9d6;
  --grayscale-7: #cfceca;
  --grayscale-8: #bcbbb5;
  --grayscale-9: #8d8d86;
  --grayscale-10: #82827c;
  --grayscale-11: #63635e;
  --grayscale-12: #21201c;

  --grayscale-a1: #55550003;
  --grayscale-a2: #25250007;
  --grayscale-a3: #20100010;
  --grayscale-a4: #1f150019;
  --grayscale-a5: #1f180021;
  --grayscale-a6: #19130029;
  --grayscale-a7: #19140035;
  --grayscale-a8: #1915014a;
  --grayscale-a9: #0f0f0079;
  --grayscale-a10: #0c0c0083;
  --grayscale-a11: #080800a1;
  --grayscale-a12: #060500e3;

  --grayscale-contrast: #000;
  --grayscale-surface: #ffffffcc;
  --grayscale-indicator: #8d8d86;
  --grayscale-track: #8d8d86;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --grayscale-1: color(display-p3 0.992 0.992 0.989);
      --grayscale-2: color(display-p3 0.977 0.977 0.973);
      --grayscale-3: color(display-p3 0.943 0.942 0.936);
      --grayscale-4: color(display-p3 0.913 0.912 0.903);
      --grayscale-5: color(display-p3 0.885 0.883 0.873);
      --grayscale-6: color(display-p3 0.854 0.852 0.839);
      --grayscale-7: color(display-p3 0.813 0.81 0.794);
      --grayscale-8: color(display-p3 0.738 0.734 0.713);
      --grayscale-9: color(display-p3 0.553 0.553 0.528);
      --grayscale-10: color(display-p3 0.511 0.511 0.488);
      --grayscale-11: color(display-p3 0.388 0.388 0.37);
      --grayscale-12: color(display-p3 0.129 0.126 0.111);

      --grayscale-a1: #55550003;
      --grayscale-a2: #25250007;
      --grayscale-a3: #20100010;
      --grayscale-a4: #1f150019;
      --grayscale-a5: #1f180021;
      --grayscale-a6: #19130029;
      --grayscale-a7: #19140035;
      --grayscale-a8: #1915014a;
      --grayscale-a9: #0f0f0079;
      --grayscale-a10: #0c0c0083;
      --grayscale-a11: #080800a1;
      --grayscale-a12: #060500e3;

      --grayscale-contrast: #000;
      --grayscale-surface: color(display-p3 1 1 1 / 80%);
      --grayscale-indicator: color(display-p3 0.553 0.553 0.528);
      --grayscale-track: color(display-p3 0.553 0.553 0.528);
    }
  }
}


.dark {
  --accent-1: #0b0c0d;
  --accent-2: #17181a;
  --accent-3: #202224;
  --accent-4: #282a2c;
  --accent-5: #2f3133;
  --accent-6: #393b3d;
  --accent-7: #47494b;
  --accent-8: #606263;
  --accent-9: #707477;
  --accent-10: #656668;
  --accent-11: #b2b6ba;
  --accent-12: #e8ecf0;

  --accent-a1: #0b0c8c02;
  --accent-a2: #d7d9fb0f;
  --accent-a3: #d9e4f81a;
  --accent-a4: #e4edfc22;
  --accent-a5: #ebf3ff29;
  --accent-a6: #edf2fc34;
  --accent-a7: #f0f5fc43;
  --accent-a8: #f7fafd5c;
  --accent-a9: #eff7fd71;
  --accent-a10: #f8f9fe61;
  --accent-a11: #f4f9ffb7;
  --accent-a12: #f5fafef0;

  --accent-contrast: #fff;
  --accent-surface: #23242880;
  --accent-indicator: #707477;
  --accent-track: #707477;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --accent-1: oklch(15.3% 0.0038 248);
      --accent-2: oklch(20.9% 0.0034 248);
      --accent-3: oklch(25.1% 0.004 248);
      --accent-4: oklch(28.3% 0.0045 248);
      --accent-5: oklch(31.3% 0.0046 248);
      --accent-6: oklch(35.1% 0.0045 248);
      --accent-7: oklch(40.4% 0.0043 248);
      --accent-8: oklch(49.4% 0.0029 248);
      --accent-9: oklch(55.6% 0.0069 248);
      --accent-10: oklch(51.1% 0.0029 248);
      --accent-11: oklch(77.4% 0.0069 248);
      --accent-12: oklch(94.2% 0.0069 248);

      --accent-a1: color(display-p3 0.0431 0.051 0.8353 / 0.005);
      --accent-a2: color(display-p3 0.8549 0.8588 0.9961 / 0.058);
      --accent-a3: color(display-p3 0.8784 0.9216 1 / 0.099);
      --accent-a4: color(display-p3 0.9059 0.9412 1 / 0.132);
      --accent-a5: color(display-p3 0.9216 0.949 1 / 0.161);
      --accent-a6: color(display-p3 0.9373 0.9608 0.9961 / 0.202);
      --accent-a7: color(display-p3 0.949 0.9686 1 / 0.26);
      --accent-a8: color(display-p3 0.9725 0.9882 0.9961 / 0.359);
      --accent-a9: color(display-p3 0.9529 0.9725 1 / 0.441);
      --accent-a10: color(display-p3 0.9765 0.9804 1 / 0.379);
      --accent-a11: color(display-p3 0.9647 0.9804 1 / 0.717);
      --accent-a12: color(display-p3 0.9686 0.9804 1 / 0.939);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.1333 0.1412 0.149 / 0.5);
      --accent-indicator: oklch(55.6% 0.0069 248);
      --accent-track: oklch(55.6% 0.0069 248);
    }
  }
}


.dark {
  --grayscale-1: #111111;
  --grayscale-2: #191919;
  --grayscale-3: #222222;
  --grayscale-4: #2a2a2a;
  --grayscale-5: #313131;
  --grayscale-6: #3a3a3a;
  --grayscale-7: #484848;
  --grayscale-8: #606060;
  --grayscale-9: #6e6e6e;
  --grayscale-10: #7b7b7b;
  --grayscale-11: #b4b4b4;
  --grayscale-12: #eeeeee;

  --grayscale-a1: #00000000;
  --grayscale-a2: #ffffff09;
  --grayscale-a3: #ffffff12;
  --grayscale-a4: #ffffff1b;
  --grayscale-a5: #ffffff22;
  --grayscale-a6: #ffffff2c;
  --grayscale-a7: #ffffff3b;
  --grayscale-a8: #ffffff55;
  --grayscale-a9: #ffffff64;
  --grayscale-a10: #ffffff72;
  --grayscale-a11: #ffffffaf;
  --grayscale-a12: #ffffffed;

  --grayscale-contrast: #fff;
  --grayscale-surface: rgba(0, 0, 0, 0.05);
  --grayscale-indicator: #6e6e6e;
  --grayscale-track: #6e6e6e;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --grayscale-1: color(display-p3 0.067 0.067 0.067);
      --grayscale-2: color(display-p3 0.098 0.098 0.098);
      --grayscale-3: color(display-p3 0.135 0.135 0.135);
      --grayscale-4: color(display-p3 0.163 0.163 0.163);
      --grayscale-5: color(display-p3 0.192 0.192 0.192);
      --grayscale-6: color(display-p3 0.228 0.228 0.228);
      --grayscale-7: color(display-p3 0.283 0.283 0.283);
      --grayscale-8: color(display-p3 0.375 0.375 0.375);
      --grayscale-9: color(display-p3 0.431 0.431 0.431);
      --grayscale-10: color(display-p3 0.484 0.484 0.484);
      --grayscale-11: color(display-p3 0.706 0.706 0.706);
      --grayscale-12: color(display-p3 0.933 0.933 0.933);

      --grayscale-a1: #00000000;
      --grayscale-a2: #ffffff09;
      --grayscale-a3: #ffffff12;
      --grayscale-a4: #ffffff1b;
      --grayscale-a5: #ffffff22;
      --grayscale-a6: #ffffff2c;
      --grayscale-a7: #ffffff3b;
      --grayscale-a8: #ffffff55;
      --grayscale-a9: #ffffff64;
      --grayscale-a10: #ffffff72;
      --grayscale-a11: #ffffffaf;
      --grayscale-a12: #ffffffed;

      --grayscale-contrast: #fff;
      --grayscale-surface: color(display-p3 0 0 0 / 5%);
      --grayscale-indicator: color(display-p3 0.431 0.431 0.431);
      --grayscale-track: color(display-p3 0.431 0.431 0.431);
    }
  }
}

.light, :root {
  color-scheme: light;
  --accent: rgba(211, 209, 207, 1);
  --background: rgba(244, 243, 243, 1);
  --border: rgba(211, 209, 207, 1);
  --sidebar-background: rgba(244, 243, 243, 1);
  --header-background: rgba(244, 243, 243, 1);
  --card-background: rgba(233, 232, 231, 1);
  --theme-color: #f4f3f3;
}

.dark {
  color-scheme: dark;
  --accent: rgba(44, 46, 48, 1);
  --background: rgba(11, 12, 12, 1);
  --border: rgba(44, 46, 48, 1);
  --sidebar-background: rgba(11, 12, 12, 1);
  --header-background: rgba(11, 12, 12, 1);
  --card-background: rgba(11, 12, 12, 1);
  --theme-color: #0b0c0c;
}

/* .fern-accordion-content {
    background-color: white !important;
} */

:is(.light) #fern-announcement {
  color: #1D1C1B !important;
  font-size: 14px;
}

:is(.dark) #fern-announcement {
  color: #D3D1CF!important;
  font-size: 14px;
}

.fern-mdx-link {
  color: #4452E6;
  text-decoration-color: #4452E6;
}

::selection {
  background-color: #D3D1CF !important;
}

.fern-sidebar-link-text {
  font: TLText;
}

body#fern-docs .fern-sidebar-link span {
  font: TLText;
}


/* Use dark black for the Try it button.*/

:is(.light) .fern-button:not([disabled]).filled.primary {
  background-color: #1D1C1B;
}

:is(.dark) .fern-button:not([disabled]).filled.primary {
  background-color: #e2e3e4;
  color: #1d1c1b;
}

.light body#fern-docs a[id*="playground-button"] {
  background-color: #1D1C1B;
}

.dark body#fern-docs a[id*="playground-button"] {
  background-color: #e2e3e4;
  color: #1d1c1b;
}

/* Override the arrow color in dark mode */
:is(.dark)  button:not([disabled]).filled.primary svg {
  color: #1d1c1b;
}

/* .fern-page-actions {
  display: none;
} */

/* 
 * API parameter table column size adjustments
 * Only applies on SDK Reference pages (controlled by scripts.js)
 */

/* CSS Variables for responsive column widths */
body.tl-sdk-table-styles {
  --col-name: 140px;
  --col-type: 120px;
  --col-required: 90px;
}

@media (max-width: 768px) {

  body.tl-sdk-table-styles {
    --col-name: 70px;
    --col-type: 70px;
    --col-required: 80px;
  }

}

/* Table styles - applied once using CSS variables */
body.tl-sdk-table-styles :is(.fern-api-table, .fern-table):has(thead) {
  table-layout: fixed !important;
}

body.tl-sdk-table-styles :is(.fern-api-table, .fern-table):has(thead) td {
  white-space: normal !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  vertical-align: middle !important;
}

/* Column 1: Name */
body.tl-sdk-table-styles :is(.fern-api-table, .fern-table):has(thead) :is(td, th):nth-child(1) {
  width: var(--col-name) !important;
  max-width: var(--col-name) !important;
}

/* Column 2: Type */
body.tl-sdk-table-styles :is(.fern-api-table, .fern-table):has(thead) :is(td, th):nth-child(2) {
  width: var(--col-type) !important;
  max-width: var(--col-type) !important;
}

/* Column 3: Required (4-column tables only, centered) */
body.tl-sdk-table-styles :is(.fern-api-table, .fern-table):has(thead) :is(td, th):nth-child(3):not(:last-child) {
  width: var(--col-required) !important;
  max-width: var(--col-required) !important;
  text-align: center !important;
}

/* Last column: Description (auto width) */
body.tl-sdk-table-styles :is(.fern-api-table, .fern-table):has(thead) :is(td, th):last-child {
  width: auto !important;
}

/* Left-align Colab badge — override Fern's mx-auto on the img */
body#fern-docs img[src*="colab-badge"] {
  margin-left: 0;
}

/* Docs homepage (fern/docs/pages/home.mdx) and step strips (Start here pages) */
.tl-home,
.tl-steps-wrap {
  --tl-text: #1D1C1B;
  --tl-muted: #5B5958;
  --tl-border: #D3D1CF;
  --tl-panel: #FFFFFF;
  --tl-panel-hover: #FBFBFA;
  --tl-soft: #E9E8E7;
  --tl-accent: #4452E6;
  --tl-accent-text: #FFFFFF;
}

:is(.dark) .tl-home,
:is(.dark) .tl-steps-wrap {
  --tl-text: #E2E3E4;
  --tl-muted: #A8A9AA;
  --tl-border: #2C2E30;
  --tl-panel: #121314;
  --tl-panel-hover: #17191A;
  --tl-soft: #1B1D1E;
  --tl-accent: #7C87F2;
  --tl-accent-text: #0B0C0C;
}

.tl-home {
  max-width: 64rem;
  margin: 0 auto;
  padding: 3rem 1.5rem 4rem;
}

.tl-home .tl-eyebrow {
  font-size: 0.8125rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--tl-muted);
  margin: 0 0 0.75rem;
}

.tl-home h1 {
  font-size: 3rem;
  line-height: 1.1;
  margin: 0 0 1rem;
  max-width: 44rem;
}

.tl-home h1 + p {
  font-size: 1.1875rem;
  line-height: 1.5;
  max-width: 40rem;
  margin: 0 0 3rem;
  color: var(--tl-muted);
}

.tl-home h2 {
  margin-top: 3.5rem;
  margin-bottom: 1rem;
  padding-top: 2rem;
  border-top: 1px solid var(--tl-border);
}

.tl-home h2:first-of-type {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

/* Two big choice panels */
.tl-choices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  margin: 1.25rem 0 1rem;
}

.tl-choice {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.75rem;
  border: 1px solid var(--tl-border);
  border-top: 4px solid var(--tl-accent);
  border-radius: 0.75rem;
  background: var(--tl-panel);
  color: var(--tl-text);
  text-decoration: none !important;
  transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.tl-choice:hover {
  background: var(--tl-panel-hover);
  border-color: var(--tl-accent);
  border-top-color: var(--tl-accent);
  transform: translateY(-2px);
}
.tl-choice:focus-visible {
  background: var(--tl-panel-hover);
  border-color: var(--tl-accent);
  border-top-color: var(--tl-accent);
  transform: translateY(-2px);
}

.tl-choice .tl-tag,
.tl-lane .tl-tag {
  align-self: flex-start;
  font-size: 0.75rem;
  padding: 0.125rem 0.625rem;
  border-radius: 999px;
  background: var(--tl-soft);
  color: var(--tl-muted);
}

.tl-choice .tl-choice-title {
  font-size: 1.75rem;
  line-height: 1.2;
  margin: 0;
  color: var(--tl-text);
}

.tl-choice .tl-choice-lead {
  margin: 0;
  line-height: 1.5;
  color: var(--tl-text);
}

.tl-choice .tl-choice-for {
  margin: 0;
  font-size: 0.875rem;
  color: var(--tl-muted);
}

/* Pin the strip to the bottom so both panels line up regardless of text length */
.tl-choice .tl-steps {
  margin-top: auto !important;
  padding-top: 0.5rem !important;
  min-height: 11rem;
  align-content: start;
}

.tl-choice .tl-cta {
  padding-top: 0.5rem;
  font-weight: 600;
  color: var(--tl-accent);
}

/* Numbered 4-step strip */
.tl-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  list-style: none !important;
  margin: 0.5rem 0 0 !important;
  padding: 0 !important;
}

.tl-steps li {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.tl-steps li::before {
  content: none !important;
}

.tl-steps .tl-step-num {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  margin-bottom: 0.25rem;
  border-radius: 999px;
  background: var(--tl-accent);
  color: var(--tl-accent-text);
  font-weight: 700;
  font-size: 0.9375rem;
}

.tl-steps li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 0.9375rem;
  left: 2.5rem;
  right: -0.5rem;
  height: 2px;
  background: var(--tl-border);
}

.tl-steps .tl-step-label {
  font-weight: 700;
  font-size: 0.9375rem;
  color: var(--tl-text);
}

.tl-steps .tl-step-desc {
  font-size: 0.8125rem;
  line-height: 1.35;
  color: var(--tl-muted);
}

.tl-steps a {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  text-decoration: none !important;
}

/* Strip at the top of a Start here page */
.tl-steps-wrap {
  margin: 1.5rem 0 2rem;
  padding: 1.5rem;
  border: 1px solid var(--tl-border);
  border-radius: 0.75rem;
  background: var(--tl-panel);
}

.tl-steps-wrap .tl-steps-title {
  margin: 0 0 0.5rem;
  font-size: 0.8125rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--tl-muted);
}

/* Connect callout */
.tl-callout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  margin: 1.5rem 0;
  padding: 1.5rem 1.75rem;
  border: 1px solid var(--tl-border);
  border-left: 4px solid var(--tl-accent);
  border-radius: 0.75rem;
  background: var(--tl-soft);
}

.tl-callout .tl-callout-title {
  margin: 0 0 0.25rem;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--tl-text);
}

.tl-callout .tl-callout-text {
  margin: 0;
  line-height: 1.5;
  color: var(--tl-muted);
}

.tl-callout .tl-callout-link {
  flex: none;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  background: var(--tl-accent);
  color: var(--tl-accent-text) !important;
  font-weight: 600;
  text-decoration: none !important;
  white-space: nowrap;
}

/* Jockey and Models lanes: two panels, each with a no-code and a code path */
.tl-lane-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  margin: 1.25rem 0 1rem;
}

.tl-lane {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1.5rem;
  border: 1px solid var(--tl-border);
  border-radius: 0.75rem;
  background: var(--tl-panel);
}

.tl-lane .tl-lane-head {
  min-height: 6.5rem;
}

.tl-lane .tl-lane-title,
.tl-lane .tl-lane-text {
  margin: 0 !important;
}

.tl-lane .tl-lane-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.2;
  color: var(--tl-text);
}

.tl-lane .tl-lane-text {
  margin-top: 0.5rem !important;
  line-height: 1.5;
  color: var(--tl-muted);
}

.tl-lane .tl-tag {
  font-size: 0.75rem;
  font-weight: 400;
  padding: 0.125rem 0.625rem;
  border-radius: 999px;
  background: var(--tl-soft);
  color: var(--tl-muted);
}

.tl-lane .tl-path {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  min-height: 10.5rem;
  padding: 1rem 1.125rem;
  border: 1px solid var(--tl-border);
  border-radius: 0.625rem;
  color: var(--tl-text);
  text-decoration: none !important;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

.tl-lane .tl-path:hover {
  border-color: var(--tl-accent);
  background: var(--tl-soft);
}
.tl-lane .tl-path:focus-visible {
  border-color: var(--tl-accent);
  background: var(--tl-soft);
}

.tl-lane .tl-path-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.625rem;
  background: var(--tl-soft);
  color: var(--tl-accent);
}

.tl-lane .tl-path-kind {
  display: inline-block;
  padding: 0.0625rem 0.5rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.tl-lane .tl-kind-nocode {
  background: var(--tl-accent);
  color: var(--tl-accent-text);
}

.tl-lane .tl-kind-code {
  border: 1px solid var(--tl-border);
  color: var(--tl-muted);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  text-transform: none;
}

.tl-lane .tl-path-title {
  margin: 0.375rem 0 0.25rem !important;
  font-size: 1.1875rem;
  font-weight: 600;
  color: var(--tl-text);
}

.tl-lane .tl-path-arrow {
  color: var(--tl-accent);
  transition: margin-left 0.15s ease;
}

.tl-lane .tl-path:hover .tl-path-arrow {
  margin-left: 0.25rem;
}
.tl-lane .tl-path:focus-within .tl-path-arrow {
  margin-left: 0.25rem;
}

.tl-lane .tl-path-lead {
  margin: 0 !important;
  line-height: 1.5;
  color: var(--tl-muted);
}

.tl-steps.tl-steps-compact {
  margin: 0 !important;
  padding: 0 !important;
}

.tl-steps-compact .tl-step-desc {
  display: none;
}

@media (max-width: 900px) {

  .tl-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 1rem;
  }

  .tl-steps li::after {
    content: none !important;
  }

}

@media (max-width: 720px) {

  .tl-lane .tl-lane-head,
  .tl-lane .tl-path {
    min-height: 0;
  }

  .tl-home {
    padding: 2rem 1rem 3rem;
  }

  .tl-home h1 {
    font-size: 2.25rem;
  }

  .tl-choices,
  .tl-lane-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .tl-callout {
    flex-direction: column;
    align-items: flex-start;
  }

}
