/* Adapted from packages/ui/src/styles/system.css and workbench fusionRules.
   Native rem units use a 20px root: the reading scale is 32 / 20 / 16px. */
:root {
  --md-text-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --md-code-font: ui-monospace, "SFMono-Regular", Consolas, monospace;
  --sqk-control-radius: 4px;
  --sqk-panel-radius: 10px;
  --md-shadow-z1: none;
  --md-shadow-z2: none;
  --md-shadow-z3: none;
}
html { font-size: 125%; }

[data-md-color-scheme="default"] {
  color-scheme: light;
  --md-default-bg-color: #f5f5f7;
  --md-default-fg-color: #44444f;
  --sqk-heading-color: #22222a;
  --md-default-fg-color--light: #5c5c68;
  --md-default-fg-color--lighter: #656572;
  --md-default-fg-color--lightest: #e0e0e6;
  --md-primary-fg-color: #17171b;
  --md-primary-bg-color: #f5f5f7;
  --md-accent-fg-color: #003a5c;
  --md-accent-fg-color--transparent: #e0edf4;
  --md-code-bg-color: #ededf0;
  --md-code-fg-color: #2a2a33;
  --sqk-line: #d2d2da;
  --sqk-raised: #ededf0;
  --sqk-source-only: #886423;
  --sqk-logo-gold: #b84d00;
  --sqk-logo-blue: #5b7cfa;
}

[data-md-color-scheme="slate"] {
  color-scheme: dark;
  --md-default-bg-color: #16161a;
  --md-default-fg-color: #b8bac4;
  --sqk-heading-color: #e2dfd6;
  --md-default-fg-color--light: #9a9aaa;
  --md-default-fg-color--lighter: #8b8b98;
  --md-default-fg-color--lightest: #26262f;
  --md-primary-fg-color: #e2dfd6;
  --md-primary-bg-color: #16161a;
  --md-accent-fg-color: #7fd4ff;
  --md-accent-fg-color--transparent: #12212a;
  --md-code-bg-color: #222229;
  --md-code-fg-color: #c9ccd5;
  --sqk-line: #32323b;
  --sqk-raised: #1d1d23;
  --sqk-source-only: #e8b04a;
  --sqk-logo-gold: #ffc048;
  --sqk-logo-blue: #5b7cfa;
}

[data-md-color-scheme] {
  --md-typeset-color: var(--md-default-fg-color);
  --md-typeset-a-color: var(--md-accent-fg-color);
}

/* Opaque, achromatic chrome; keep native drawer and search behavior. */
.md-header, .md-tabs, .md-footer-meta {
  color: var(--md-default-fg-color);
  background: var(--md-default-bg-color);
  border-bottom: 1px solid var(--sqk-line);
  box-shadow: none;
}
.md-header, .md-sidebar--primary, .md-sidebar-button, .md-top,
.md-overlay, .md-consent__overlay {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.md-sidebar--primary { background: var(--md-default-bg-color); }
.md-overlay { background: rgb(0 0 0 / 55%); }
.md-search__form, .md-search__output, .md-dialog, .md-sidebar-button, .md-top {
  border: 1px solid var(--sqk-line);
  border-radius: var(--sqk-control-radius);
  box-shadow: none;
}
.md-sidebar-button, .md-top { background: var(--md-default-bg-color); }
.md-header__title, .md-header__topic {
  color: var(--sqk-heading-color);
  font-size: 1rem;
  font-weight: 650;
}
.md-header__button.md-logo { display: inline-flex; }
.md-header__button.md-logo svg.docs-brand-logo,
.md-nav__button.md-logo svg.docs-brand-logo {
  width: auto;
  height: 1.6rem;
  aspect-ratio: 590 / 238;
  max-width: none;
}

/* Three sizes and distinct heading/body colors establish the reading hierarchy. */
.md-typeset, .md-nav, .md-search, .md-footer, .md-path,
.md-top, .md-sidebar-button, .md-dialog, .md-typeset small {
  font-size: .8rem;
}
.md-typeset { line-height: 1.7; }
.md-content__inner { max-width: 48rem; }
.md-typeset h1 {
  margin: .6rem 0 1.2rem;
  color: var(--sqk-heading-color);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.025em;
}
.md-typeset h2 {
  color: var(--sqk-heading-color);
  margin: 2rem 0 .8rem;
  padding-top: .6rem;
  border-top: 1px solid var(--sqk-line);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -.01em;
}
.md-typeset h3, .md-typeset h4, .md-typeset h5, .md-typeset h6 {
  color: var(--sqk-heading-color);
  margin: 1.4rem 0 .5rem;
  font-size: .8rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
}
.md-typeset p { margin: .7rem 0; }
.md-typeset > p, .md-typeset > blockquote { max-width: 72ch; }
.md-typeset a {
  color: var(--md-typeset-a-color);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
}
.md-typeset a:hover, .md-typeset a:focus-visible { text-decoration-thickness: 2px; }
.md-typeset .headerlink, .md-typeset .md-content__button { text-decoration: none; }
.md-typeset :is(h1, h2, h3, h4, h5, h6) { scroll-margin-top: 5rem; }

/* Native TOC permalinks retain accessible text behind the theme's Lucide link icon. */
.md-typeset .headerlink {
  --sqk-heading-link-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg>');
  position: relative;
  width: 1.2rem;
  height: 1.2rem;
  overflow: hidden;
  vertical-align: -.2rem;
  text-indent: 100%;
  white-space: nowrap;
}
.md-typeset .headerlink::before {
  position: absolute;
  inset: .15rem;
  background-color: currentColor;
  -webkit-mask: var(--sqk-heading-link-icon) no-repeat center / contain;
  mask: var(--sqk-heading-link-icon) no-repeat center / contain;
  content: "";
}
.md-typeset :is(h1, h2, h3, h4, h5, h6):is(:hover, :focus-within) > .headerlink {
  opacity: 1;
}
@media (hover: none), (any-pointer: coarse) {
  .md-typeset .headerlink { opacity: 1; }
}

/* Definitions supplement ordinary links; contract labels keep their code styling. */
.md-typeset .docs-term { text-decoration-style: dotted; }
.md-typeset span.docs-term { cursor: help; text-decoration-line: underline; }
.md-typeset .docs-term:focus-visible {
  outline: 2px solid var(--md-accent-fg-color);
  outline-offset: 3px;
}
.md-typeset :is(h1, h2, h3, h4, h5, h6) .docs-term {
  color: inherit;
  text-decoration-line: none;
}
.md-typeset :is(h1, h2, h3, h4, h5, h6) .docs-term:hover {
  text-decoration-line: underline;
}
.md-typeset .docs-contract {
  padding: .04em .25em;
  border: 1px solid var(--sqk-line);
  border-bottom-style: dotted;
  border-radius: var(--sqk-control-radius);
  background: var(--sqk-raised);
  color: var(--md-accent-fg-color);
  font-family: var(--md-code-font);
  font-size: .8rem;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}
.md-typeset a.docs-contract { cursor: pointer; text-decoration: none; }
.md-typeset .docs-contract:hover,
.md-typeset .docs-contract:focus-visible {
  border-color: var(--md-accent-fg-color);
  background: var(--md-accent-fg-color--transparent);
}
.docs-tooltip {
  display: none;
  position: fixed;
  inset: auto;
  margin: 0;
  z-index: 10;
  box-sizing: border-box;
  width: 22rem;
  max-width: min(22rem, calc(100vw - 24px));
  max-height: calc(100dvh - 24px);
  overflow: auto;
  padding: .65rem .8rem;
  border: 1px solid var(--sqk-line);
  border-radius: var(--sqk-control-radius);
  background: var(--sqk-raised);
  color: var(--md-default-fg-color);
  box-shadow: none;
  font-size: .8rem;
  line-height: 1.55;
}
.docs-tooltip:popover-open { display: block; }
.docs-tooltip.is-open { display: block; }
.docs-tooltip strong { color: var(--sqk-heading-color); }
.docs-tooltip p { margin: 0; }
.docs-tooltip p + p { margin-top: .5rem; }

/* Source identity is a static reading boundary, not a live health signal. */
.docs-source-context {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem;
  margin: 0 0 .8rem;
  color: var(--md-default-fg-color--light);
  font-size: .8rem;
  line-height: 1.5;
}
.docs-source-label, .docs-source-only {
  padding: .1rem .4rem;
  border: 1px solid var(--sqk-line);
  border-radius: var(--sqk-control-radius);
}
.docs-source-only { color: var(--sqk-source-only); border-color: currentColor; }
.docs-source-context a { margin-inline-start: .2rem; }
.md-typeset .docs-tldr {
  margin: 0 0 1.6rem;
  padding: .8rem 1rem;
  border: 1px solid var(--sqk-line);
  border-radius: var(--sqk-panel-radius);
  background: var(--sqk-raised);
}
.md-typeset .docs-tldr h2#tldr {
  margin: 0 0 .5rem;
  padding: 0;
  border: 0;
  font-family: var(--md-code-font);
  font-size: .8rem;
  letter-spacing: .04em;
}
.md-typeset .docs-tldr > ul { margin: 0; padding-inline-start: 1rem; }
.md-typeset .docs-tldr li { margin-bottom: .4rem; }
.md-typeset .docs-tldr li:last-child { margin-bottom: 0; }

/* Quiet reading paths: one primary link followed by a concrete next step. */
.md-typeset .docs-paths > ul {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0 1.2rem;
  padding: 0;
  margin: .8rem 0 1.6rem;
  list-style: none;
}
.md-typeset .docs-paths > ul > li {
  min-width: 0;
  margin: 0;
  padding: .8rem 0 1rem;
  border-top: 1px solid var(--sqk-line);
}
.md-typeset .docs-paths > ul > li > a:first-child,
.md-typeset .docs-paths > ul > li > p:first-child > a:first-child {
  display: block;
  margin-bottom: .35rem;
  font-weight: 650;
}
.md-typeset .docs-paths > ul > li > p { margin: 0 0 .4rem; }

/* Section title and chevron form one compact navigation target. */
.md-nav__link { align-items: center; line-height: 1.45; border-radius: var(--sqk-control-radius); }
.md-nav--primary .md-nav__link {
  margin: .15rem 0;
  padding: .25rem .5rem;
  font-weight: 400;
}
.md-nav--primary > .md-nav__list > .md-nav__item--nested { margin-top: .35rem; }
.md-nav--primary .docs-section-link {
  color: var(--sqk-heading-color);
  font-weight: 700;
}
[dir] .md-nav--primary .md-nav__item--nested > .docs-section-link { padding-inline: .5rem; }
.md-nav--primary .docs-section-link .md-nav__icon {
  flex: 0 0 1rem;
  margin-inline-start: auto;
}
.md-nav--primary .docs-section-link .md-nav__icon::after {
  transition: transform 200ms ease;
}
.md-nav--primary .md-nav__toggle:checked ~ .docs-section-link .md-nav__icon::after {
  transform: rotate(90deg);
}
.md-nav--primary .md-nav__toggle ~ .md-nav {
  grid-template-rows: minmax(0, 0fr);
  transition: grid-template-rows 200ms ease, opacity 200ms ease, visibility 0s 200ms;
}
.md-nav--primary .md-nav__toggle:checked ~ .md-nav {
  grid-template-rows: minmax(0, 1fr);
  transition: grid-template-rows 200ms ease, opacity 200ms ease, visibility 0s;
}
.md-nav--primary.docs-nav-restoring .md-nav__toggle ~ .md-nav,
.md-nav--primary.docs-nav-restoring .md-nav__icon::after {
  transition: none;
}
.md-nav--primary .md-nav[data-md-level] > .md-nav__list { margin-inline-start: .4rem; }
.md-nav--primary .md-nav__item .md-nav__link--active,
.md-nav--secondary .md-nav__link--active {
  color: var(--md-accent-fg-color);
  background: var(--md-accent-fg-color--transparent);
  font-weight: 650;
}
.md-nav--primary .md-nav__link[href]:hover,
.md-nav--primary .md-nav__link[for]:hover,
.md-nav--primary .md-nav__link[href]:focus-visible,
.md-nav--secondary .md-nav__link:hover {
  color: var(--md-accent-fg-color);
  background: var(--sqk-raised);
}
.md-nav--secondary .md-nav__title {
  color: var(--sqk-heading-color);
  font-size: .8rem;
  font-weight: 700;
  box-shadow: none;
  margin-inline: 0;
  padding-inline: 0;
}
.md-nav--secondary .md-nav__link { margin-inline: 0; padding-inline: 0; padding-block: 0; }
.md-nav--secondary .md-nav .md-nav__link { color: var(--md-default-fg-color--light); }
.md-nav--secondary .md-nav .md-nav__link--active { color: var(--md-accent-fg-color); }

/* Narrow tables fit naturally; technical data scrolls inside the native wrapper. */
.md-typeset__scrollwrap { scrollbar-color: var(--md-default-fg-color--lighter) transparent; }
.md-typeset table:not([class]), .md-typeset .admonition, .md-typeset details {
  border: 1px solid var(--sqk-line);
  border-radius: var(--sqk-control-radius);
  box-shadow: none;
  font-size: .8rem;
}
.md-typeset details:not([class]) {
  background: var(--sqk-raised);
  color: var(--md-default-fg-color--light);
}
.md-typeset details:not([class]) > summary {
  background: transparent;
  color: var(--md-default-fg-color);
  padding-inline-start: .8rem;
}
.md-typeset details:not([class]) > summary::before { display: none; }
.md-typeset details:not([class]) > summary::after { background-color: currentColor; }
.md-typeset table:not([class]) { line-height: 1.55; }
.md-typeset table:not([class]):has(th:nth-child(3)) { min-width: 32rem; }
.md-typeset table:not([class]) th {
  padding: .65rem .8rem;
  background: var(--sqk-raised);
  font-weight: 700;
  white-space: normal;
}
.md-typeset table:not([class]) td {
  min-width: 0;
  overflow-wrap: anywhere;
  padding: .65rem .8rem;
  border-top: 1px solid var(--sqk-line);
}
.md-typeset dt { margin-top: 1rem; font-weight: 700; color: var(--md-default-fg-color); }
.md-typeset dd { margin: .3rem 0 .8rem; }
.md-typeset dt [id], .md-typeset td [id] { scroll-margin-top: 5rem; }
.md-typeset table:not([class]) tbody tr:hover { background: var(--sqk-raised); box-shadow: none; }
.md-typeset code, .md-typeset kbd, .md-typeset pre { font-size: .8rem; }
.md-typeset code { border-radius: var(--sqk-control-radius); overflow-wrap: anywhere; }
.md-typeset pre > code {
  padding: .8rem 1rem;
  border: 1px solid var(--sqk-line);
  border-radius: var(--sqk-control-radius);
  line-height: 1.6;
  white-space: pre;
  overflow-wrap: normal;
}
.md-typeset kbd { border: 1px solid var(--sqk-line); box-shadow: none; }
.md-typeset li { margin-bottom: .4rem; }
.md-typeset li > ul, .md-typeset li > ol { margin-top: .35rem; }
.md-typeset .task-list-item { padding-inline-start: .2rem; }
.md-typeset .task-list-control [type="checkbox"] { accent-color: var(--md-default-fg-color); }
.md-typeset [type="checkbox"]:checked + .task-list-indicator::before {
  background-color: var(--md-default-fg-color);
}
.md-typeset blockquote { padding-inline-start: .8rem; border-inline-start: 2px solid var(--sqk-line); }
.md-footer { color: var(--md-default-fg-color); background: var(--sqk-raised); }
:focus-visible, .md-header__button:focus-visible, .md-nav__link:focus-visible,
.md-top:focus-visible, .md-sidebar-button:focus-visible {
  outline: 2px solid var(--md-accent-fg-color);
  outline-offset: 3px;
}

@media (min-width: 700px) {
  .md-typeset .docs-paths > ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .md-typeset h1 { overflow-wrap: anywhere; }
  .md-header__button.md-logo svg.docs-brand-logo { height: 1.4rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
