/* Docs site only. Authors do not copy this file.
   Puts Ubuntu Sans in front of the library system stack, plus docs chrome. */

@font-face {
	font-family: "Ubuntu Sans";
	src: url("/fonts/ubuntu-vf.woff2") format("woff2-variations");
	font-weight: 100 800;
	font-stretch: 75% 100%;
	font-display: swap;
}

html,
:host {
	font-family: "Ubuntu Sans", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

.docs-shell {
	display: flex;
	flex-direction: column;
	height: 100dvh;
	overflow: hidden;
}

.docs-top {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	padding: 0.25rem 1rem;
	border-bottom: 1px solid var(--border);
	background: var(--background);
}

.docs-github {
	margin-left: auto;
	flex-shrink: 0;
}

.docs-github svg {
	width: 1rem;
	height: 1rem;
	flex-shrink: 0;
}

.docs-top .nav-menu-panel {
	max-width: min(56rem, calc(100vw - 2rem));
	max-height: min(32rem, calc(100dvh - 6rem));
}

.docs-top .nav-menu-grid {
	grid-template-columns: repeat(4, minmax(9rem, 12rem));
}

.docs-top .nav-menu-grid[data-cols="3"] {
	grid-template-columns: repeat(3, minmax(9rem, 12rem));
}

.docs-top .nav-menu-grid[data-cols="2"] {
	grid-template-columns: repeat(2, minmax(9rem, 12rem));
}

.docs-top .nav-menu-item {
	padding: 0.4rem 0.6rem;
}

.docs-body {
	display: flex;
	flex: 1 1 0%;
	min-width: 0;
	min-height: 0;
	overflow: hidden;
}

.docs-nav {
	flex: 0 0 16rem;
	width: 16rem;
	min-height: 0;
	padding: 1.5rem 1rem;
	border-right: 1px solid var(--sidebar-border);
	background: var(--sidebar);
	color: var(--sidebar-foreground);
	overflow: auto;
	scrollbar-width: none;
	font-size: var(--text-sm);
}

.docs-nav a {
	color: inherit;
	text-decoration: none;
	padding: 0.25rem 0.5rem;
	border-radius: var(--radius-md);
}

.docs-nav a:hover {
	background: var(--sidebar-accent);
	color: var(--sidebar-accent-foreground);
}

.docs-nav a[aria-current="page"] {
	background: var(--sidebar-accent);
	color: var(--sidebar-accent-foreground);
	font-weight: 500;
}

.docs-brand {
	font-weight: 500;
}

.docs-nav-label {
	margin: 0;
	padding: 0.25rem 0.5rem;
	font-size: var(--text-xs);
	font-weight: 500;
	color: var(--muted-foreground);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.docs-nav a.docs-nav-label {
	color: var(--muted-foreground);
}

.docs-index {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0.15rem 1.5rem;
}

.docs-main .docs-index a {
	padding: 0.35rem 0;
}

.docs-nav-soon {
	padding: 0.25rem 0.5rem;
	color: var(--muted-foreground);
}

.docs-theme {
	margin-left: auto;
}

.docs-toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font: inherit;
	font-size: var(--text-xs);
	font-weight: 500;
	padding: 0.25rem 0.5rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	background: var(--background);
	color: var(--foreground);
	cursor: pointer;
}

html.dark .docs-toggle {
	border-color: var(--input);
	background: var(--control-fill);
}

@media (prefers-color-scheme: dark) {
	html:not(.light) .docs-toggle {
		border-color: var(--input);
		background: var(--control-fill);
	}
}

.docs-toggle:hover {
	background: var(--muted);
}

html.dark .docs-toggle:hover {
	background: color-mix(in oklab, var(--input) 50%, transparent);
}

@media (prefers-color-scheme: dark) {
	html:not(.light) .docs-toggle:hover {
		background: color-mix(in oklab, var(--input) 50%, transparent);
	}
}

.docs-toggle svg {
	width: 0.875rem;
	height: 0.875rem;
	flex-shrink: 0;
}

.docs-toggle[aria-haspopup="menu"]::after {
	content: "";
	width: 0.75rem;
	height: 0.75rem;
	flex-shrink: 0;
	background: currentColor;
	opacity: 0.7;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
}

.docs-main {
	flex: 1 1 0%;
	min-width: 0;
	min-height: 0;
	padding: 2rem 1.5rem 4rem;
	overflow: auto;
	scrollbar-width: none;
	font-size: var(--text-sm);
	scroll-padding-block-start: 0.75rem;
}

.docs-main h1 {
	font-size: var(--text-2xl);
	font-weight: 500;
	letter-spacing: -0.02em;
	scroll-margin-block-start: 0.75rem;
}

.docs-main h2 {
	font-size: var(--text-lg);
	font-weight: 500;
	scroll-margin-block-start: 0.75rem;
}

.docs-main h3 {
	font-size: var(--text-base);
	font-weight: 500;
	scroll-margin-block-start: 0.75rem;
}

.docs-main h4 {
	font-size: var(--text-sm);
	font-weight: 500;
	scroll-margin-block-start: 0.75rem;
}

.docs-main p,
.docs-main li {
	color: var(--muted-foreground);
}

.docs-toc {
	flex: 0 0 14rem;
	width: 14rem;
	min-width: 0;
	min-height: 0;
	padding: 1.5rem 1rem;
	border-inline-start: 1px solid var(--sidebar-border);
	background: var(--background);
	overflow: auto;
	scrollbar-width: none;
	font-size: 0.8rem;
}

.docs-nav::-webkit-scrollbar,
.docs-main::-webkit-scrollbar,
.docs-toc::-webkit-scrollbar {
	display: none;
}

.docs-main a:not(.button) {
	color: var(--foreground);
}

.docs-toc a,
.docs-toc a:link,
.docs-toc a:visited,
.docs-toc a:hover,
.docs-toc a:active,
.docs-toc a:focus,
.docs-toc a:focus-visible,
.docs-main nav.toc a,
.docs-main nav.toc a:link,
.docs-main nav.toc a:visited,
.docs-main nav.toc a:hover,
.docs-main nav.toc a:active,
.docs-main nav.toc a:focus,
.docs-main nav.toc a:focus-visible {
	text-decoration: none;
}

.docs-main code {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
	font-size: 0.9em;
	background: var(--muted);
	padding: 0.1em 0.35em;
	border-radius: var(--radius-sm);
}

.docs-steps {
	padding-left: 1.25rem;
	list-style: decimal;
}

.docs-steps li + li {
	margin-top: 0.5rem;
}

.docs-code-wrap {
	position: relative;
	min-width: 0;
}

.docs-code {
	margin: 0;
	padding: 1rem 1.25rem;
	padding-inline-end: 2.75rem;
	border-radius: var(--radius-md);
	background: var(--muted);
	color: var(--foreground);
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
	font-size: var(--text-xs);
	line-height: 1.6;
	overflow: auto;
}

.docs-code-copy {
	position: absolute;
	inset-inline-end: 0.5rem;
	inset-block-start: 0.5rem;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	padding: 0;
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	background: var(--background);
	color: var(--foreground);
	cursor: pointer;
}

html.dark .docs-code-copy {
	border-color: var(--input);
	background: var(--control-fill);
}

@media (prefers-color-scheme: dark) {
	html:not(.light) .docs-code-copy {
		border-color: var(--input);
		background: var(--control-fill);
	}
}

.docs-code-copy:hover {
	background: var(--muted);
}

html.dark .docs-code-copy:hover {
	background: color-mix(in oklab, var(--input) 50%, transparent);
}

@media (prefers-color-scheme: dark) {
	html:not(.light) .docs-code-copy:hover {
		background: color-mix(in oklab, var(--input) 50%, transparent);
	}
}

.docs-code-copy svg {
	width: 0.875rem;
	height: 0.875rem;
	flex-shrink: 0;
	pointer-events: none;
}

.docs-code-copy-check {
	display: none;
}

.docs-code-copy[data-copied] .docs-code-copy-clip {
	display: none;
}

.docs-code-copy[data-copied] .docs-code-copy-check {
	display: block;
}

.docs-code-copy::after {
	content: attr(aria-label);
	position: absolute;
	inset-block-end: calc(100% + 0.375rem);
	inset-inline-end: 0;
	z-index: 2;
	width: max-content;
	padding: 0.375rem 0.75rem;
	border-radius: var(--radius-md);
	background: var(--foreground);
	color: var(--background);
	font-size: var(--text-xs);
	font-weight: 500;
	line-height: 1.4;
	box-shadow: var(--shadow-md);
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.docs-code-copy:hover::after,
.docs-code-copy:focus-visible::after,
.docs-code-copy[data-copied]::after {
	opacity: 1;
	visibility: visible;
}

.docs-code code {
	background: none;
	padding: 0;
	font-size: inherit;
}

.docs-code .token.comment,
.docs-code .token.prolog,
.docs-code .token.doctype,
.docs-code .token.cdata {
	color: var(--muted-foreground);
}

.docs-code .token.punctuation {
	color: var(--muted-foreground);
}

.docs-code .token.tag,
.docs-code .token.property,
.docs-code .token.selector,
.docs-code .token.keyword,
.docs-code .token.atrule,
.docs-code .token.boolean {
	color: var(--primary);
}

.docs-code .token.attr-name,
.docs-code .token.operator,
.docs-code .token.rule {
	color: var(--muted-foreground);
}

.docs-code .token.attr-value,
.docs-code .token.string,
.docs-code .token.char,
.docs-code .token.regex {
	color: var(--destructive);
}

.docs-code .token.function,
.docs-code .token.class-name,
.docs-code .token.builtin {
	color: var(--foreground);
}

.docs-code .token.number,
.docs-code .token.constant,
.docs-code .token.symbol {
	color: var(--secondary-foreground);
}

.docs-preview {
	padding: 1.5rem;
	border-radius: var(--radius-xl);
	background: var(--card);
	color: var(--card-foreground);
	box-shadow: var(--shadow-xs), var(--ring-hairline);
}

.docs-preview:has(.login),
.docs-preview:has(.login-split) {
	padding: 0;
	overflow: auto;
	max-height: 40rem;
}

.docs-preview .login,
.docs-preview .login-split {
	min-height: 32rem;
	border-radius: var(--radius-xl);
}

.docs-preview:has(.shell) {
	padding: 0;
	overflow: hidden;
}

.docs-preview .shell {
	min-height: 22rem;
}

.docs-main .docs-preview .shell a:not(.button) {
	color: inherit;
	text-decoration: none;
}

.docs-main .docs-preview .shell a:not(.button):hover {
	text-decoration: none;
}

.block-view-preview {
	overflow: auto;
	max-height: 40rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-xl);
	background: var(--card);
}

.block-view-preview .login,
.block-view-preview .login-split,
.block-view-preview .shell,
.block-view-preview .charts {
	min-height: 32rem;
}

.docs-main .block-view-preview a:not(.button) {
	color: inherit;
	text-decoration: none;
}

.docs-main .block-view-preview a:not(.button):hover {
	text-decoration: none;
}

.docs-preview.docs-scroll-well {
	max-height: 18rem;
	overflow: auto;
	padding: 0;
	background: var(--background);
}

.docs-main .docs-scroll-well a:not(.button) {
	color: inherit;
	text-decoration: none;
}

.docs-main .docs-scroll-well a:not(.button):hover {
	text-decoration: none;
}

.docs-swatch {
	padding: 0.75rem 1rem;
	border-radius: var(--radius-md);
	background: var(--muted);
	color: var(--foreground);
	font-size: var(--text-sm);
}

.docs-swatch-destructive {
	background: color-mix(in oklab, var(--destructive) 10%, transparent);
	color: var(--destructive);
}

html.dark .docs-swatch-destructive {
	background: color-mix(in oklab, var(--destructive) 20%, transparent);
}

@media (prefers-color-scheme: dark) {
	html:not(.light) .docs-swatch-destructive {
		background: color-mix(in oklab, var(--destructive) 20%, transparent);
	}
}

/* Docs-only /theming samples. Not a customizer; Vega tokens stay on :root. */
.docs-preview.docs-theme-minimal-neutral,
.docs-preview.docs-theme-professional,
.docs-preview.docs-theme-tiesen {
	background: var(--background);
	color: var(--foreground);
}

.docs-preview.docs-theme-minimal-neutral {
	color-scheme: light;

	--background: oklch(1 0 0);
	--foreground: oklch(0.145 0 0);
	--card: oklch(0.995 0 0);
	--card-foreground: oklch(0.145 0 0);
	--popover: oklch(1 0 0);
	--popover-foreground: oklch(0.145 0 0);
	--primary: oklch(0.205 0 0);
	--primary-foreground: oklch(0.985 0 0);
	--secondary: oklch(0.87 0 0);
	--secondary-foreground: oklch(0.145 0 0);
	--muted: oklch(0.95 0 0);
	--muted-foreground: oklch(0.556 0 0);
	--accent: oklch(0.95 0 0);
	--accent-foreground: oklch(0.205 0 0);
	--destructive: oklch(0.577 0.245 27.325);
	--border: oklch(0.95 0 0);
	--input: oklch(0.97 0 0);
	--ring: oklch(0.708 0 0);
	--chart-1: oklch(0.81 0.1 252);
	--chart-2: oklch(0.62 0.19 260);
	--chart-3: oklch(0.55 0.22 263);
	--chart-4: oklch(0.49 0.22 264);
	--chart-5: oklch(0.42 0.18 266);

	--sidebar: oklch(0.985 0 0);
	--sidebar-foreground: oklch(0.145 0 0);
	--sidebar-primary: oklch(0.205 0 0);
	--sidebar-primary-foreground: oklch(0.985 0 0);
	--sidebar-accent: oklch(0.97 0 0);
	--sidebar-accent-foreground: oklch(0.205 0 0);
	--sidebar-border: oklch(0.922 0 0);
	--sidebar-ring: oklch(0.708 0 0);

	--radius: 1rem;
}

html.dark .docs-preview.docs-theme-minimal-neutral {
	color-scheme: dark;

	--background: oklch(0.205 0 0);
	--foreground: oklch(0.985 0 0);
	--card: oklch(0.165 0 0);
	--card-foreground: oklch(0.985 0 0);
	--popover: oklch(0.205 0 0);
	--popover-foreground: oklch(0.985 0 0);
	--primary: oklch(0.922 0 0);
	--primary-foreground: oklch(0.205 0 0);
	--secondary: oklch(0.269 0 0);
	--secondary-foreground: oklch(0.985 0 0);
	--muted: oklch(0.269 0 0);
	--muted-foreground: oklch(0.708 0 0);
	--accent: oklch(0.371 0 0);
	--accent-foreground: oklch(0.985 0 0);
	--destructive: oklch(0.704 0.191 22.216);
	--border: oklch(0.269 0 0);
	--input: oklch(0.269 0 0);
	--ring: oklch(0.556 0 0);
	--chart-1: oklch(0.81 0.1 252);
	--chart-2: oklch(0.62 0.19 260);
	--chart-3: oklch(0.55 0.22 263);
	--chart-4: oklch(0.49 0.22 264);
	--chart-5: oklch(0.42 0.18 266);

	--sidebar: oklch(0.269 0 0);
	--sidebar-foreground: oklch(0.985 0 0);
	--sidebar-primary: oklch(0.488 0.243 264.376);
	--sidebar-primary-foreground: oklch(0.985 0 0);
	--sidebar-accent: oklch(0.269 0 0);
	--sidebar-accent-foreground: oklch(0.985 0 0);
	--sidebar-border: oklch(0.275 0 0);
	--sidebar-ring: oklch(0.439 0 0);

	--control-fill: color-mix(in oklab, var(--input) 30%, transparent);
	--invalid-shadow: 0 0 0 3px color-mix(in oklab, var(--destructive) 40%, transparent);
}

@media (prefers-color-scheme: dark) {
	html:not(.light) .docs-preview.docs-theme-minimal-neutral {
		color-scheme: dark;

		--background: oklch(0.205 0 0);
		--foreground: oklch(0.985 0 0);
		--card: oklch(0.165 0 0);
		--card-foreground: oklch(0.985 0 0);
		--popover: oklch(0.205 0 0);
		--popover-foreground: oklch(0.985 0 0);
		--primary: oklch(0.922 0 0);
		--primary-foreground: oklch(0.205 0 0);
		--secondary: oklch(0.269 0 0);
		--secondary-foreground: oklch(0.985 0 0);
		--muted: oklch(0.269 0 0);
		--muted-foreground: oklch(0.708 0 0);
		--accent: oklch(0.371 0 0);
		--accent-foreground: oklch(0.985 0 0);
		--destructive: oklch(0.704 0.191 22.216);
		--border: oklch(0.269 0 0);
		--input: oklch(0.269 0 0);
		--ring: oklch(0.556 0 0);
		--chart-1: oklch(0.81 0.1 252);
		--chart-2: oklch(0.62 0.19 260);
		--chart-3: oklch(0.55 0.22 263);
		--chart-4: oklch(0.49 0.22 264);
		--chart-5: oklch(0.42 0.18 266);

		--sidebar: oklch(0.269 0 0);
		--sidebar-foreground: oklch(0.985 0 0);
		--sidebar-primary: oklch(0.488 0.243 264.376);
		--sidebar-primary-foreground: oklch(0.985 0 0);
		--sidebar-accent: oklch(0.269 0 0);
		--sidebar-accent-foreground: oklch(0.985 0 0);
		--sidebar-border: oklch(0.275 0 0);
		--sidebar-ring: oklch(0.439 0 0);

		--control-fill: color-mix(in oklab, var(--input) 30%, transparent);
		--invalid-shadow: 0 0 0 3px color-mix(in oklab, var(--destructive) 40%, transparent);
	}
}

.docs-preview.docs-theme-professional {
	color-scheme: light;

	--background: oklch(1 0 0);
	--foreground: oklch(0.1371 0.036 258.5258);
	--card: oklch(1 0 0);
	--card-foreground: oklch(0.1371 0.036 258.5258);
	--popover: oklch(1 0 0);
	--popover-foreground: oklch(0.1371 0.036 258.5258);
	--primary: oklch(0.546 0.2153 262.8719);
	--primary-foreground: oklch(0.9838 0.0035 247.8583);
	--secondary: oklch(0.9684 0.0068 247.8951);
	--secondary-foreground: oklch(0.2079 0.0399 265.7275);
	--muted: oklch(0.9684 0.0068 247.8951);
	--muted-foreground: oklch(0.5547 0.0407 257.4404);
	--accent: oklch(0.9684 0.0068 247.8951);
	--accent-foreground: oklch(0.2079 0.0399 265.7275);
	--destructive: oklch(0.6368 0.2078 25.3259);
	--border: oklch(0.929 0.0126 255.5317);
	--input: oklch(0.929 0.0126 255.5317);
	--ring: oklch(0.546 0.2153 262.8719);
	--chart-1: oklch(0.546 0.2153 262.8719);
	--chart-2: oklch(0.7211 0.1415 253.1015);
	--chart-3: oklch(0.6325 0.1843 258.636);
	--chart-4: oklch(0.8117 0.097 249.0979);
	--chart-5: oklch(0.8829 0.0573 251.9139);

	--sidebar: oklch(0.9838 0.0035 247.8583);
	--sidebar-foreground: oklch(0.2079 0.0399 265.7275);
	--sidebar-primary: oklch(0.546 0.2153 262.8719);
	--sidebar-primary-foreground: oklch(1 0 0);
	--sidebar-accent: oklch(0.929 0.0126 255.5317);
	--sidebar-accent-foreground: oklch(0.546 0.2153 262.8719);
	--sidebar-border: oklch(0.929 0.0126 255.5317);
	--sidebar-ring: oklch(0.546 0.2153 262.8719);

	--radius: 0.375rem;
}

html.dark .docs-preview.docs-theme-professional {
	color-scheme: dark;

	--background: oklch(0.1371 0.036 258.5258);
	--foreground: oklch(0.9838 0.0035 247.8583);
	--card: oklch(0.1371 0.036 258.5258);
	--card-foreground: oklch(0.9838 0.0035 247.8583);
	--popover: oklch(0.1371 0.036 258.5258);
	--popover-foreground: oklch(0.9838 0.0035 247.8583);
	--primary: oklch(0.6232 0.1879 259.7964);
	--primary-foreground: oklch(0.2079 0.0399 265.7275);
	--secondary: oklch(0.28 0.0369 259.974);
	--secondary-foreground: oklch(0.9838 0.0035 247.8583);
	--muted: oklch(0.28 0.0369 259.974);
	--muted-foreground: oklch(0.7107 0.0351 256.7877);
	--accent: oklch(0.28 0.0369 259.974);
	--accent-foreground: oklch(0.9838 0.0035 247.8583);
	--destructive: oklch(0.704 0.191 25.3259);
	--border: oklch(0.28 0.0369 259.974);
	--input: oklch(0.28 0.0369 259.974);
	--ring: oklch(0.4878 0.217 264.3876);
	--chart-1: oklch(0.4878 0.217 264.3876);
	--chart-2: oklch(0.5449 0.2154 262.7414);
	--chart-3: oklch(0.6776 0.1481 238.1044);
	--chart-4: oklch(0.3752 0.0394 256.8467);
	--chart-5: oklch(0.4691 0.1926 264.5776);

	--sidebar: oklch(0.1371 0.036 258.5258);
	--sidebar-foreground: oklch(0.9838 0.0035 247.8583);
	--sidebar-primary: oklch(0.6232 0.1879 259.7964);
	--sidebar-primary-foreground: oklch(0.1371 0.036 258.5258);
	--sidebar-accent: oklch(0.28 0.0369 259.974);
	--sidebar-accent-foreground: oklch(0.9838 0.0035 247.8583);
	--sidebar-border: oklch(0.28 0.0369 259.974);
	--sidebar-ring: oklch(0.4878 0.217 264.3876);

	--control-fill: color-mix(in oklab, var(--input) 30%, transparent);
	--invalid-shadow: 0 0 0 3px color-mix(in oklab, var(--destructive) 40%, transparent);
}

@media (prefers-color-scheme: dark) {
	html:not(.light) .docs-preview.docs-theme-professional {
		color-scheme: dark;

		--background: oklch(0.1371 0.036 258.5258);
		--foreground: oklch(0.9838 0.0035 247.8583);
		--card: oklch(0.1371 0.036 258.5258);
		--card-foreground: oklch(0.9838 0.0035 247.8583);
		--popover: oklch(0.1371 0.036 258.5258);
		--popover-foreground: oklch(0.9838 0.0035 247.8583);
		--primary: oklch(0.6232 0.1879 259.7964);
		--primary-foreground: oklch(0.2079 0.0399 265.7275);
		--secondary: oklch(0.28 0.0369 259.974);
		--secondary-foreground: oklch(0.9838 0.0035 247.8583);
		--muted: oklch(0.28 0.0369 259.974);
		--muted-foreground: oklch(0.7107 0.0351 256.7877);
		--accent: oklch(0.28 0.0369 259.974);
		--accent-foreground: oklch(0.9838 0.0035 247.8583);
		--destructive: oklch(0.704 0.191 25.3259);
		--border: oklch(0.28 0.0369 259.974);
		--input: oklch(0.28 0.0369 259.974);
		--ring: oklch(0.4878 0.217 264.3876);
		--chart-1: oklch(0.4878 0.217 264.3876);
		--chart-2: oklch(0.5449 0.2154 262.7414);
		--chart-3: oklch(0.6776 0.1481 238.1044);
		--chart-4: oklch(0.3752 0.0394 256.8467);
		--chart-5: oklch(0.4691 0.1926 264.5776);

		--sidebar: oklch(0.1371 0.036 258.5258);
		--sidebar-foreground: oklch(0.9838 0.0035 247.8583);
		--sidebar-primary: oklch(0.6232 0.1879 259.7964);
		--sidebar-primary-foreground: oklch(0.1371 0.036 258.5258);
		--sidebar-accent: oklch(0.28 0.0369 259.974);
		--sidebar-accent-foreground: oklch(0.9838 0.0035 247.8583);
		--sidebar-border: oklch(0.28 0.0369 259.974);
		--sidebar-ring: oklch(0.4878 0.217 264.3876);

		--control-fill: color-mix(in oklab, var(--input) 30%, transparent);
		--invalid-shadow: 0 0 0 3px color-mix(in oklab, var(--destructive) 40%, transparent);
	}
}

.docs-preview.docs-theme-tiesen {
	color-scheme: light;

	--background: oklch(0.9851 0 0);
	--foreground: oklch(0 0 0);
	--card: oklch(1 0 267.51);
	--card-foreground: oklch(0.2103 0 267.51);
	--popover: oklch(1 0 0);
	--popover-foreground: oklch(0 0 0);
	--primary: oklch(0.5144 0.1605 267.44);
	--primary-foreground: oklch(0.97 0.014 254.604);
	--secondary: oklch(0.94 0 0);
	--secondary-foreground: oklch(0.25 0 0);
	--muted: oklch(0.97 0 0);
	--muted-foreground: oklch(0.44 0 0);
	--accent: oklch(0.9214 0.0248 257.65);
	--accent-foreground: oklch(0.2571 0.1161 272.24);
	--destructive: oklch(0.58 0.22 27);
	--border: oklch(0.92 0 0);
	--input: oklch(0.94 0 0);
	--ring: oklch(0.5144 0.1605 267.44);
	--chart-1: oklch(0.9214 0.0248 257.65);
	--chart-2: oklch(0.7597 0.0804 267.01);
	--chart-3: oklch(0.6083 0.1247 272.72);
	--chart-4: oklch(0.5144 0.1605 267.44);
	--chart-5: oklch(0.2571 0.1161 272.24);

	--sidebar: oklch(1 0 267.51);
	--sidebar-foreground: oklch(0 0 0);
	--sidebar-primary: oklch(0.5144 0.1605 267.44);
	--sidebar-primary-foreground: oklch(0.97 0.014 254.604);
	--sidebar-accent: oklch(0.9214 0.0248 257.65);
	--sidebar-accent-foreground: oklch(0.2571 0.1161 272.24);
	--sidebar-border: oklch(0.92 0 0);
	--sidebar-ring: oklch(0.5144 0.1605 267.44);

	--radius: 0.5rem;
}

html.dark .docs-preview.docs-theme-tiesen {
	color-scheme: dark;

	--background: oklch(0 0 0);
	--foreground: oklch(1 0 0);
	--card: oklch(0.2103 0 267.51);
	--card-foreground: oklch(0.9461 0 0);
	--popover: oklch(0.2103 0 267.51);
	--popover-foreground: oklch(1 0 0);
	--primary: oklch(0.6144 0.1605 267.44);
	--primary-foreground: oklch(0.97 0.014 254.604);
	--secondary: oklch(0.25 0 0);
	--secondary-foreground: oklch(0.94 0 0);
	--muted: oklch(0.23 0 0);
	--muted-foreground: oklch(0.72 0 0);
	--accent: oklch(0.32 0 0);
	--accent-foreground: oklch(0.9214 0.0248 257.65);
	--destructive: oklch(0.704 0.191 22.216);
	--border: oklch(0.26 0 0);
	--input: oklch(0.32 0 0);
	--ring: oklch(0.5144 0.1605 267.44);
	--chart-1: oklch(0.9214 0.0248 257.65);
	--chart-2: oklch(0.7597 0.0804 267.01);
	--chart-3: oklch(0.6083 0.1247 272.72);
	--chart-4: oklch(0.5144 0.1605 267.44);
	--chart-5: oklch(0.2571 0.1161 272.24);

	--sidebar: oklch(0 0 0);
	--sidebar-foreground: oklch(1 0 0);
	--sidebar-primary: oklch(0.6144 0.1605 267.44);
	--sidebar-primary-foreground: oklch(0.97 0.014 254.604);
	--sidebar-accent: oklch(0.32 0 0);
	--sidebar-accent-foreground: oklch(0.9214 0.0248 257.65);
	--sidebar-border: oklch(0.26 0 0);
	--sidebar-ring: oklch(0.5144 0.1605 267.44);

	--control-fill: color-mix(in oklab, var(--input) 30%, transparent);
	--invalid-shadow: 0 0 0 3px color-mix(in oklab, var(--destructive) 40%, transparent);
}

@media (prefers-color-scheme: dark) {
	html:not(.light) .docs-preview.docs-theme-tiesen {
		color-scheme: dark;

		--background: oklch(0 0 0);
		--foreground: oklch(1 0 0);
		--card: oklch(0.2103 0 267.51);
		--card-foreground: oklch(0.9461 0 0);
		--popover: oklch(0.2103 0 267.51);
		--popover-foreground: oklch(1 0 0);
		--primary: oklch(0.6144 0.1605 267.44);
		--primary-foreground: oklch(0.97 0.014 254.604);
		--secondary: oklch(0.25 0 0);
		--secondary-foreground: oklch(0.94 0 0);
		--muted: oklch(0.23 0 0);
		--muted-foreground: oklch(0.72 0 0);
		--accent: oklch(0.32 0 0);
		--accent-foreground: oklch(0.9214 0.0248 257.65);
		--destructive: oklch(0.704 0.191 22.216);
		--border: oklch(0.26 0 0);
		--input: oklch(0.32 0 0);
		--ring: oklch(0.5144 0.1605 267.44);
		--chart-1: oklch(0.9214 0.0248 257.65);
		--chart-2: oklch(0.7597 0.0804 267.01);
		--chart-3: oklch(0.6083 0.1247 272.72);
		--chart-4: oklch(0.5144 0.1605 267.44);
		--chart-5: oklch(0.2571 0.1161 272.24);

		--sidebar: oklch(0 0 0);
		--sidebar-foreground: oklch(1 0 0);
		--sidebar-primary: oklch(0.6144 0.1605 267.44);
		--sidebar-primary-foreground: oklch(0.97 0.014 254.604);
		--sidebar-accent: oklch(0.32 0 0);
		--sidebar-accent-foreground: oklch(0.9214 0.0248 257.65);
		--sidebar-border: oklch(0.26 0 0);
		--sidebar-ring: oklch(0.5144 0.1605 267.44);

		--control-fill: color-mix(in oklab, var(--input) 30%, transparent);
		--invalid-shadow: 0 0 0 3px color-mix(in oklab, var(--destructive) 40%, transparent);
	}
}

/* Hide the TOC rail below 64rem. Left .docs-nav still stacks only at 40rem. */
@media (max-width: 64rem) {
	.docs-toc {
		display: none;
	}
}

@media (max-width: 40rem) {
	.docs-shell {
		height: auto;
		min-height: 100dvh;
		overflow: visible;
	}

	.docs-body {
		flex-direction: column;
		flex: 1 1 auto;
		overflow: visible;
	}

	.docs-nav {
		flex: none;
		width: 100%;
		border-right: 0;
		border-bottom: 1px solid var(--sidebar-border);
	}

	.docs-top .nav-menu-grid,
	.docs-top .nav-menu-grid[data-cols="3"],
	.docs-top .nav-menu-grid[data-cols="2"] {
		grid-template-columns: repeat(2, minmax(8rem, 1fr));
	}

	.docs-index {
		grid-template-columns: 1fr;
	}
}
