*,
			*::before,
			*::after {
				margin: 0;
				padding: 0;
				box-sizing: border-box;
			}
			:root {
				--white: #ffffff;
				--off-white: #f8f9fa;
				--black: #0a0a0a;
				--ink: #0f1117;
				--mid: #6b6b6b;
				--light: #e8e6e1;
				--teal: #087a6b;
				--teal-light: #e3f3f0;
				--teal-mid: #065e52;
				--font: 'Plus Jakarta Sans', sans-serif;
				--mono: 'IBM Plex Mono', monospace;
				--dark-bg: #0d0d0d;
				--dark-border: rgba(255, 255, 255, 0.07);
				--dark-surface: #141414;
				--dark-surface-2: #1a1a1a;
				--dark-mid: rgba(255, 255, 255, 0.45);
				--dark-text: rgba(255, 255, 255, 0.85);
			}
			html {
				scroll-behavior: smooth;
				height: 100%;
			}
			body {
				font-family: var(--font);
				background: var(--dark-bg);
				color: var(--dark-text);
				-webkit-font-smoothing: antialiased;
				-moz-osx-font-smoothing: grayscale;
				overflow-x: hidden;
				min-height: 100vh;
			}

			/* SKIP LINK */
			.skip-link {
				position: absolute;
				top: -100%;
				left: 0;
				background: var(--teal);
				color: var(--white);
				padding: 8px 16px;
				font-size: 14px;
				font-weight: 600;
				z-index: 200;
				text-decoration: none;
				border-radius: 0 0 4px 0;
			}
			.skip-link:focus {
				top: 0;
			}
			a:focus-visible,
			button:focus-visible {
				outline: 2px solid var(--teal);
				outline-offset: 3px;
				border-radius: 2px;
			}

			/* NAV */
			nav.main-nav {
				position: fixed;
				top: 0;
				left: 0;
				right: 0;
				z-index: 120;
				display: flex;
				align-items: center;
				justify-content: space-between;
				padding: 0 48px;
				height: 68px;
				background: rgba(13, 13, 13, 0.96);
				border-bottom: 1px solid var(--dark-border);
			}
			@media (prefers-reduced-motion: no-preference) {
				nav.main-nav {
					backdrop-filter: blur(12px);
				}
			}
			.nav-logo {
				font-size: 26px;
				font-weight: 800;
				letter-spacing: -0.03em;
				color: rgba(255, 255, 255, 0.85);
				text-decoration: none;
				padding: 4px 8px 4px 0;
				flex-shrink: 0;
			}
			.nav-logo-data {
				font-weight: 600;
			}
			.nav-logo-basin {
				color: var(--teal);
				font-weight: 700;
			}
			.nav-logo-img {
				height: 26px;
				width: auto;
				display: block;
			}
			.nav-links {
				display: flex;
				gap: 36px;
				list-style: none;
			}
			.nav-links a {
				font-size: 14px;
				font-weight: 500;
				color: var(--dark-mid);
				text-decoration: none;
				transition: color 0.18s;
			}
			.nav-links a:hover {
				color: rgba(255, 255, 255, 0.75);
			}
			.nav-links a.active {
				color: rgba(255, 255, 255, 0.85);
				font-weight: 600;
			}
			.nav-links a:focus-visible {
				outline: 2px solid var(--teal);
				outline-offset: 3px;
				border-radius: 2px;
			}
			.nav-right {
				display: flex;
				gap: 12px;
				align-items: center;
			}
			.btn-coming-soon {
				font-size: 13px;
				font-weight: 600;
				color: var(--dark-mid);
				padding: 8px 18px;
				border: 1.5px solid var(--dark-border);
				border-radius: 100px;
				cursor: default;
				opacity: 0.7;
				display: flex;
				align-items: center;
				gap: 7px;
				white-space: nowrap;
			}
			.btn-coming-soon-dot {
				width: 6px;
				height: 6px;
				border-radius: 50%;
				background: var(--teal);
				opacity: 0.5;
				flex-shrink: 0;
			}
			.btn-nav-solid {
				font-size: 14px;
				font-weight: 700;
				color: var(--white);
				background: var(--teal);
				text-decoration: none;
				padding: 9px 22px;
				border-radius: 100px;
				transition: background 0.18s;
				white-space: nowrap;
			}
			.btn-nav-solid:hover {
				background: var(--teal-mid);
			}
			.btn-nav-solid:focus-visible {
				outline: 2px solid var(--teal);
				outline-offset: 2px;
				border-radius: 100px;
			}
			.btn-nav-signin {
				font-size: 14px;
				font-weight: 500;
				color: var(--mid);
				text-decoration: none;
				padding: 9px 12px;
				white-space: nowrap;
				transition: color 0.18s;
			}
			.btn-nav-signin:hover {
				color: var(--ink);
			}
			.btn-nav-signin:focus-visible {
				outline: 2px solid var(--teal);
				outline-offset: 3px;
				border-radius: 4px;
			}
			.btn-nav-outline {
				font-size: 14px;
				font-weight: 700;
				color: var(--teal);
				background: transparent;
				text-decoration: none;
				padding: 9px 20px;
				border: 1.5px solid var(--teal);
				border-radius: 100px;
				transition:
					background 0.18s,
					color 0.18s;
				white-space: nowrap;
			}
			.btn-nav-outline:hover {
				background: var(--teal);
				color: var(--white);
			}
			.btn-nav-outline:focus-visible {
				outline: 2px solid var(--teal);
				outline-offset: 2px;
			}

			/* LAYOUT */
			.docs-layout {
				display: grid;
				grid-template-columns: 260px 1fr 220px;
				min-height: calc(100vh - 68px);
				margin-top: 68px;
				align-items: start;
			}

			/* SIDEBAR */
			.docs-sidebar {
				position: sticky;
				top: 68px;
				height: calc(100vh - 68px);
				overflow-y: auto;
				border-right: 1px solid var(--dark-border);
				padding: 32px 0;
				background: var(--dark-bg);
			}
			.docs-sidebar::-webkit-scrollbar {
				width: 4px;
			}
			.docs-sidebar::-webkit-scrollbar-track {
				background: transparent;
			}
			.docs-sidebar::-webkit-scrollbar-thumb {
				background: var(--dark-border);
				border-radius: 2px;
			}
			.sidebar-search {
				margin: 0 20px 28px;
				position: relative;
			}
			.sidebar-search input {
				width: 100%;
				background: var(--dark-surface);
				border: 1px solid var(--dark-border);
				border-radius: 8px;
				padding: 9px 12px 9px 36px;
				font-family: var(--font);
				font-size: 13px;
				color: var(--dark-text);
				outline: none;
				transition: border-color 0.18s;
			}
			.sidebar-search input::placeholder {
				color: var(--dark-mid);
			}
			.sidebar-search input:focus {
				border-color: var(--teal);
			}
			.sidebar-search-icon {
				position: absolute;
				left: 11px;
				top: 50%;
				transform: translateY(-50%);
				color: var(--dark-mid);
				pointer-events: none;
			}
			.sidebar-section {
				margin-bottom: 28px;
			}
			.sidebar-section-label {
				font-family: var(--mono);
				font-size: 10px;
				letter-spacing: 0.14em;
				text-transform: uppercase;
				color: var(--dark-mid);
				padding: 0 20px;
				margin-bottom: 6px;
			}
			.sidebar-link {
				display: flex;
				align-items: center;
				gap: 8px;
				padding: 7px 20px;
				font-size: 13px;
				font-weight: 500;
				color: var(--dark-mid);
				text-decoration: none;
				transition:
					color 0.15s,
					background 0.15s;
				border-left: 2px solid transparent;
				margin-left: 0;
			}
			.sidebar-link:hover {
				color: var(--dark-text);
				background: var(--dark-surface);
			}
			.sidebar-link.active {
				color: var(--teal);
				border-left-color: var(--teal);
				background: rgba(8, 122, 107, 0.08);
				font-weight: 600;
			}
			.sidebar-link:focus-visible {
				outline: 2px solid var(--teal);
				outline-offset: -2px;
			}
			.sidebar-link-dot {
				width: 5px;
				height: 5px;
				border-radius: 50%;
				background: currentColor;
				flex-shrink: 0;
				opacity: 0.5;
			}
			.sidebar-divider {
				height: 1px;
				background: var(--dark-border);
				margin: 8px 20px 24px;
			}

			/* MAIN CONTENT */
			.docs-content {
				padding: 48px 64px 120px;
				max-width: 820px;
			}
			.docs-breadcrumb {
				display: flex;
				align-items: center;
				gap: 8px;
				font-family: var(--mono);
				font-size: 11px;
				letter-spacing: 0.08em;
				color: var(--dark-mid);
				margin-bottom: 32px;
			}
			.docs-breadcrumb a {
				color: var(--teal);
				text-decoration: none;
				transition: color 0.18s;
			}
			.docs-breadcrumb a:hover {
				color: var(--teal-mid);
			}
			.docs-breadcrumb a:focus-visible {
				outline: 2px solid var(--teal);
				outline-offset: 2px;
				border-radius: 2px;
			}
			.docs-breadcrumb-sep {
				color: var(--dark-border);
			}

			/* PAGE HEADER */
			.docs-eyebrow {
				font-family: var(--mono);
				font-size: 11px;
				letter-spacing: 0.14em;
				text-transform: uppercase;
				color: var(--teal);
				margin-bottom: 12px;
			}
			.docs-h1 {
				font-size: clamp(28px, 3.5vw, 42px);
				font-weight: 800;
				letter-spacing: -0.03em;
				color: var(--white);
				line-height: 1.1;
				margin-bottom: 16px;
			}
			.docs-h1 em {
				font-style: normal;
				color: var(--teal);
			}
			.docs-lead {
				font-size: 16px;
				line-height: 1.8;
				color: var(--dark-mid);
				margin-bottom: 40px;
				max-width: 640px;
			}
			.docs-meta {
				display: flex;
				align-items: center;
				gap: 20px;
				padding: 16px 0;
				border-top: 1px solid var(--dark-border);
				border-bottom: 1px solid var(--dark-border);
				margin-bottom: 48px;
				flex-wrap: wrap;
			}
			.docs-meta-item {
				font-family: var(--mono);
				font-size: 11px;
				color: var(--dark-mid);
				display: flex;
				align-items: center;
				gap: 6px;
			}
			.docs-meta-label {
				color: rgba(255, 255, 255, 0.3);
			}

			/* BODY COPY */
			.docs-body h2 {
				font-size: 20px;
				font-weight: 700;
				letter-spacing: -0.02em;
				color: var(--white);
				margin: 48px 0 16px;
				scroll-margin-top: 96px;
			}
			.docs-body h2:first-child {
				margin-top: 0;
			}
			.docs-body h3 {
				font-size: 15px;
				font-weight: 700;
				color: rgba(255, 255, 255, 0.75);
				margin: 32px 0 12px;
				scroll-margin-top: 96px;
			}
			.docs-body p {
				font-size: 15px;
				line-height: 1.85;
				color: var(--dark-mid);
				margin-bottom: 20px;
			}
			.docs-body a {
				color: var(--teal);
				text-decoration: none;
			}
			.docs-body a:hover {
				text-decoration: underline;
			}
			.docs-body strong {
				color: rgba(255, 255, 255, 0.75);
				font-weight: 600;
			}
			.docs-body ul,
			.docs-body ol {
				margin: 0 0 20px 20px;
				display: flex;
				flex-direction: column;
				gap: 8px;
			}
			.docs-body li {
				font-size: 15px;
				line-height: 1.75;
				color: var(--dark-mid);
			}

			/* CODE */
			.docs-body code {
				font-family: var(--mono);
				font-size: 13px;
				color: var(--teal);
				background: rgba(8, 122, 107, 0.12);
				padding: 2px 6px;
				border-radius: 4px;
			}
			.docs-body pre {
				background: var(--dark-surface);
				border: 1px solid var(--dark-border);
				border-radius: 10px;
				padding: 24px 28px;
				margin: 0 0 28px;
				overflow-x: auto;
			}
			.docs-body pre code {
				background: none;
				padding: 0;
				color: rgba(255, 255, 255, 0.75);
				font-size: 13px;
				line-height: 1.7;
			}

			/* CALLOUT BLOCKS */
			.callout {
				border-radius: 10px;
				padding: 20px 24px;
				margin: 0 0 28px;
				display: flex;
				gap: 14px;
				align-items: flex-start;
			}
			.callout-note {
				background: rgba(8, 122, 107, 0.1);
				border: 1px solid rgba(8, 122, 107, 0.25);
			}
			.callout-warn {
				background: rgba(255, 183, 0, 0.08);
				border: 1px solid rgba(255, 183, 0, 0.2);
			}
			.callout-icon {
				font-family: var(--mono);
				font-size: 13px;
				flex-shrink: 0;
				margin-top: 1px;
			}
			.callout-note .callout-icon {
				color: var(--teal);
			}
			.callout-warn .callout-icon {
				color: #ffb700;
			}
			.callout-body {
				font-size: 14px;
				line-height: 1.7;
				color: var(--dark-mid);
			}
			.callout-body strong {
				color: rgba(255, 255, 255, 0.75);
			}

			/* STEP LIST */
			.step-list {
				display: flex;
				flex-direction: column;
				gap: 0;
				margin: 0 0 28px;
				counter-reset: steps;
			}
			.step {
				display: flex;
				gap: 20px;
				padding: 24px 0;
				border-bottom: 1px solid var(--dark-border);
			}
			.step:last-child {
				border-bottom: none;
			}
			.step-num {
				width: 28px;
				height: 28px;
				border-radius: 50%;
				background: rgba(8, 122, 107, 0.15);
				border: 1px solid rgba(8, 122, 107, 0.3);
				color: var(--teal);
				font-family: var(--mono);
				font-size: 12px;
				font-weight: 600;
				display: flex;
				align-items: center;
				justify-content: center;
				flex-shrink: 0;
				margin-top: 2px;
			}
			.step-body h3 {
				font-size: 15px;
				font-weight: 700;
				color: rgba(255, 255, 255, 0.85);
				margin: 0 0 8px;
			}
			.step-body p {
				font-size: 14px;
				line-height: 1.75;
				color: var(--dark-mid);
				margin: 0;
			}
			.step-body code {
				font-family: var(--mono);
				font-size: 12px;
				color: var(--teal);
				background: rgba(8, 122, 107, 0.12);
				padding: 2px 6px;
				border-radius: 4px;
			}

			/* ON-PAGE NAV (TOC) */
			.docs-toc {
				position: sticky;
				top: 96px;
				align-self: start;
				padding: 32px 24px 0;
				border-left: 1px solid var(--dark-border);
				min-height: 100px;
			}
			.docs-toc-label {
				font-family: var(--mono);
				font-size: 10px;
				letter-spacing: 0.14em;
				text-transform: uppercase;
				color: var(--dark-mid);
				margin-bottom: 12px;
			}
			.docs-toc-link {
				display: block;
				font-size: 12px;
				color: var(--dark-mid);
				text-decoration: none;
				padding: 5px 0;
				border-left: 1.5px solid var(--dark-border);
				padding-left: 12px;
				transition:
					color 0.15s,
					border-color 0.15s;
				line-height: 1.4;
			}
			.docs-toc-link:hover {
				color: var(--dark-text);
			}
			.docs-toc-link.active {
				color: var(--teal);
				border-left-color: var(--teal);
			}
			.docs-toc-link:focus-visible {
				outline: 2px solid var(--teal);
				outline-offset: 2px;
				border-radius: 2px;
			}

			/* CONTENT + TOC WRAPPER */
			.docs-main {
				display: block;
			}

			/* CONTENT PLACEHOLDER */
			.content-placeholder {
				background: var(--dark-surface);
				border: 1.5px dashed var(--dark-border);
				border-radius: 12px;
				padding: 48px 40px;
				text-align: center;
				margin-bottom: 28px;
			}
			.content-placeholder-icon {
				font-family: var(--mono);
				font-size: 28px;
				color: var(--dark-border);
				margin-bottom: 16px;
			}
			.content-placeholder-title {
				font-size: 16px;
				font-weight: 700;
				color: rgba(255, 255, 255, 0.5);
				margin-bottom: 8px;
			}
			.content-placeholder-sub {
				font-size: 14px;
				color: var(--dark-mid);
				line-height: 1.6;
			}

			/* PAGE NAV (prev/next) */
			.docs-page-nav {
				display: flex;
				justify-content: space-between;
				gap: 16px;
				padding-top: 48px;
				border-top: 1px solid var(--dark-border);
				margin-top: 64px;
				flex-wrap: wrap;
			}
			.docs-page-nav-item {
				display: flex;
				flex-direction: column;
				gap: 4px;
				text-decoration: none;
				padding: 16px 20px;
				border: 1px solid var(--dark-border);
				border-radius: 10px;
				flex: 1;
				min-width: 160px;
				transition:
					border-color 0.18s,
					background 0.18s;
			}
			.docs-page-nav-item:hover {
				border-color: rgba(8, 122, 107, 0.4);
				background: rgba(8, 122, 107, 0.06);
			}
			.docs-page-nav-item:focus-visible {
				outline: 2px solid var(--teal);
				outline-offset: 3px;
				border-radius: 10px;
			}
			.docs-page-nav-dir {
				font-family: var(--mono);
				font-size: 10px;
				letter-spacing: 0.12em;
				text-transform: uppercase;
				color: var(--dark-mid);
			}
			.docs-page-nav-title {
				font-size: 14px;
				font-weight: 600;
				color: rgba(255, 255, 255, 0.75);
			}
			.docs-page-nav-item.next {
				text-align: right;
			}

			/* FOOTER */
			footer {
				padding: 32px 48px;
				border-top: 1px solid var(--dark-border);
				display: flex;
				justify-content: space-between;
				align-items: center;
				flex-wrap: wrap;
				gap: 20px;
				background: var(--dark-bg);
			}
			.footer-logo {
				font-size: 15px;
				font-weight: 800;
				letter-spacing: -0.03em;
				color: rgba(255, 255, 255, 0.6);
				text-decoration: none;
			}
			.footer-logo-basin {
				color: var(--teal);
			}
			.footer-logo-img {
				height: 18px;
				width: auto;
				display: block;
			}
			.footer-links {
				display: flex;
				gap: 24px;
				list-style: none;
				flex-wrap: wrap;
			}
			.footer-links a {
				font-size: 13px;
				color: var(--dark-mid);
				text-decoration: none;
				transition: color 0.18s;
			}
			.footer-links a:hover {
				color: rgba(255, 255, 255, 0.75);
			}
			.footer-links a:focus-visible {
				outline: 2px solid var(--teal);
				outline-offset: 2px;
				border-radius: 2px;
			}
			.footer-copy {
				font-family: var(--mono);
				font-size: 11px;
				color: rgba(255, 255, 255, 0.2);
			}

			/* RESPONSIVE */
			@media (min-width: 1101px) {
				.nav-hamburger,
				.nav-drawer,
				.nav-overlay {
					display: none !important;
				}
			}
			@media (max-width: 1100px) {
				nav.main-nav {
					padding: 0 20px;
				}
				.nav-links {
					display: none;
				}
				.nav-right {
					display: none;
				}
				.docs-layout {
					grid-template-columns: 1fr;
					margin-top: 68px;
				}
				.docs-sidebar {
					display: none;
				}
				.docs-toc {
					display: none;
				}
				.docs-content {
					padding: 32px 24px 80px;
				}
				footer {
					padding: 28px 24px;
					flex-direction: column;
					align-items: flex-start;
					gap: 16px;
				}

				.nav-hamburger {
					display: flex;
					flex-direction: column;
					justify-content: center;
					align-items: center;
					gap: 5px;
					width: 40px;
					height: 40px;
					background: none;
					border: none;
					cursor: pointer;
					padding: 0;
					border-radius: 6px;
					flex-shrink: 0;
				}
				.nav-hamburger span {
					display: block;
					width: 22px;
					height: 2px;
					background: rgba(255, 255, 255, 0.7);
					border-radius: 2px;
					transition:
						transform 0.25s ease,
						opacity 0.25s ease;
				}
				.nav-hamburger[aria-expanded='true'] span:nth-child(1) {
					transform: translateY(7px) rotate(45deg);
				}
				.nav-hamburger[aria-expanded='true'] span:nth-child(2) {
					opacity: 0;
					transform: scaleX(0);
				}
				.nav-hamburger[aria-expanded='true'] span:nth-child(3) {
					transform: translateY(-7px) rotate(-45deg);
				}
				.nav-hamburger:focus-visible {
					outline: 2px solid var(--teal);
					outline-offset: 3px;
					border-radius: 6px;
				}
				.nav-drawer {
					display: none;
					position: fixed;
					top: 68px;
					left: 0;
					right: 0;
					z-index: 99;
					background: var(--dark-surface);
					border-bottom: 1px solid var(--dark-border);
					padding: 8px 0 20px;
					transform-origin: top;
					animation: drawerIn 0.22s ease forwards;
				}
				.nav-drawer.is-open {
					display: block;
				}
				.nav-overlay {
					display: none;
					position: fixed;
					inset: 68px 0 0 0;
					z-index: 98;
					background: rgba(0, 0, 0, 0.5);
				}
				.nav-overlay.is-open {
					display: block;
				}
				@keyframes drawerIn {
					from {
						opacity: 0;
						transform: scaleY(0.95);
					}
					to {
						opacity: 1;
						transform: scaleY(1);
					}
				}
				.drawer-link {
					display: block;
					padding: 13px 24px;
					font-size: 15px;
					font-weight: 500;
					color: var(--dark-mid);
					text-decoration: none;
					transition:
						color 0.15s,
						background 0.15s;
				}
				.drawer-link:hover {
					color: var(--dark-text);
					background: var(--dark-surface-2);
				}
				.drawer-link:focus-visible {
					outline: 2px solid var(--teal);
					outline-offset: -2px;
				}
				.drawer-divider {
					height: 1px;
					background: var(--dark-border);
					margin: 8px 0;
				}
				.drawer-actions {
					padding: 12px 24px 0;
					display: flex;
					flex-direction: column;
					gap: 10px;
				}
				.drawer-coming-soon {
					display: inline-flex;
					align-items: center;
					gap: 8px;
					font-size: 13px;
					font-weight: 600;
					color: var(--dark-mid);
					border: 1.5px solid var(--dark-border);
					border-radius: 100px;
					padding: 10px 16px;
					opacity: 0.7;
					cursor: default;
				}
				.drawer-coming-soon-dot {
					width: 6px;
					height: 6px;
					border-radius: 50%;
					background: var(--teal);
					opacity: 0.5;
					flex-shrink: 0;
				}
				.drawer-demo {
					display: block;
					text-align: center;
					background: var(--teal);
					color: var(--white);
					font-size: 15px;
					font-weight: 700;
					border-radius: 100px;
					padding: 13px 24px;
					text-decoration: none;
					transition: background 0.18s;
				}
				.drawer-demo:hover {
					background: var(--teal-mid);
				}
				.drawer-demo:focus-visible {
					outline: 2px solid var(--teal);
					outline-offset: 3px;
					border-radius: 100px;
				}
				.drawer-signin {
					display: block;
					text-align: center;
					font-size: 14px;
					font-weight: 600;
					color: var(--mid);
					text-decoration: none;
					padding: 10px 16px;
					transition: color 0.18s;
				}
				.drawer-signin:hover {
					color: var(--ink);
				}
				.drawer-demo-outline {
					display: block;
					text-align: center;
					background: transparent;
					color: var(--teal);
					font-size: 15px;
					font-weight: 700;
					border: 1.5px solid var(--teal);
					border-radius: 100px;
					padding: 11px 24px;
					text-decoration: none;
					transition:
						background 0.18s,
						color 0.18s;
				}
				.drawer-demo-outline:hover {
					background: var(--teal);
					color: var(--white);
				}
			}
/* ═══════════════════════════════════════════════════════════════════════════
   Docs content blocks — added for the generated /docs collection.
   (Everything above is the original scaffold: chrome + base typography.)
   These style what the exported Learn articles actually emit.
   ═══════════════════════════════════════════════════════════════════════════ */

/* Tables (Markdown GFM) */
.docs-body table {
	width: 100%;
	margin: 0 0 28px;
	border-collapse: collapse;
	font-size: 14px;
}
.docs-body th,
.docs-body td {
	padding: 10px 14px;
	border-bottom: 1px solid var(--dark-border);
	text-align: left;
	vertical-align: top;
	line-height: 1.6;
}
.docs-body th {
	color: var(--dark-text);
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	background: var(--dark-surface);
}
.docs-body td {
	color: var(--dark-mid);
}
.docs-body td code {
	white-space: nowrap;
}

/* Inline + block extras */
.docs-body kbd {
	font-family: var(--mono);
	font-size: 12px;
	color: var(--dark-text);
	background: var(--dark-surface-2);
	border: 1px solid var(--dark-border);
	border-radius: 5px;
	padding: 2px 7px;
}
.docs-body blockquote {
	margin: 0 0 28px;
	padding: 4px 20px;
	border-left: 3px solid var(--teal);
	color: var(--dark-mid);
}
.docs-body hr {
	border: none;
	border-top: 1px solid var(--dark-border);
	margin: 40px 0;
}
.docs-body img {
	max-width: 100%;
	border-radius: 10px;
	border: 1px solid var(--dark-border);
}

/* Callouts — note + warn are defined above; add tip + info, and tidy the body. */
.callout-tip {
	background: rgba(8, 122, 107, 0.1);
	border: 1px solid rgba(8, 122, 107, 0.25);
}
.callout-info {
	background: rgba(91, 141, 239, 0.08);
	border: 1px solid rgba(91, 141, 239, 0.22);
}
.callout-tip .callout-icon {
	color: var(--teal);
}
.callout-info .callout-icon {
	color: #7aa2f7;
}
.callout-body p {
	margin: 0 0 10px;
	font-size: 14px;
	line-height: 1.7;
}
.callout-body p:last-child {
	margin-bottom: 0;
}
.callout-body p:first-child strong {
	color: var(--dark-text);
}
.callout-body ul,
.callout-body ol {
	margin: 8px 0 8px 18px;
}
.callout-body code {
	white-space: nowrap;
}

/* Try-it — inline pill that links into the app (mirrors .btn-nav-outline). */
.try-it {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 13px;
	font-weight: 700;
	color: var(--teal);
	background: transparent;
	border: 1.5px solid var(--teal);
	border-radius: 100px;
	padding: 5px 14px;
	margin: 2px 0;
	text-decoration: none;
	white-space: nowrap;
	transition:
		background 0.18s,
		color 0.18s;
}
.try-it:hover {
	background: var(--teal);
	color: var(--white);
	text-decoration: none;
}
.try-it-arrow {
	font-family: var(--mono);
}

/* Next-steps — card grid that closes each article. */
.next-steps {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 12px;
	margin: 8px 0 28px;
}
.next-steps-card {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 16px 40px 16px 18px;
	background: var(--dark-surface);
	border: 1px solid var(--dark-border);
	border-radius: 12px;
	text-decoration: none;
	position: relative;
	transition:
		border-color 0.18s,
		transform 0.18s;
}
.next-steps-card:hover {
	border-color: var(--teal);
	transform: translateY(-2px);
	text-decoration: none;
}
.next-steps-title {
	font-size: 14px;
	font-weight: 700;
	color: var(--dark-text);
}
.next-steps-desc {
	font-size: 13px;
	line-height: 1.5;
	color: var(--dark-mid);
}
.next-steps-arrow {
	position: absolute;
	top: 14px;
	right: 16px;
	color: var(--teal);
	font-family: var(--mono);
	opacity: 0.6;
}

/* Docs landing — category card grid (drops the TOC column). */
.docs-layout-index {
	grid-template-columns: 260px minmax(0, 1fr);
}
.docs-index-content {
	max-width: none;
}
.doc-card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 16px;
	margin-top: 32px;
}
.doc-card {
	padding: 24px;
	background: var(--dark-surface);
	border: 1px solid var(--dark-border);
	border-radius: 14px;
	border-top: 2px solid var(--accent, var(--teal));
}
.doc-card-title {
	font-size: 16px;
	font-weight: 700;
	color: var(--white);
	margin: 0 0 6px;
}
.doc-card-desc {
	font-size: 13px;
	color: var(--dark-mid);
	margin: 0 0 14px;
	line-height: 1.55;
}
.doc-card-list {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.doc-card-list a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 6px 8px;
	margin: 0 -8px;
	border-radius: 7px;
	font-size: 13.5px;
	color: var(--dark-text);
	text-decoration: none;
	transition:
		background 0.15s,
		color 0.15s;
}
.doc-card-list a:hover {
	background: rgba(8, 122, 107, 0.12);
	color: var(--teal);
}
.doc-card-time {
	font-family: var(--mono);
	font-size: 11px;
	color: var(--dark-mid);
	flex-shrink: 0;
}

@media (max-width: 900px) {
	.docs-layout-index {
		grid-template-columns: 1fr;
	}
}
