/* BroadSQL website: documentation components, dark theme and print styles.
   Loaded after style.css on every page. Components: captioned examples, console sessions, copy buttons, the
   collapsible sidebar, the search dialog, how-to and troubleshooting blocks, diagrams, the cheat sheet. Colors come
   from the custom properties of style.css, redefined below for the dark theme, so every component follows it. */

:root {
  --code-text: #1f2937;
  --placeholder: #8a3ffc;
  --ok: #0f7b3f;
  --ok-bg: #eaf7ef;
  --warn: #9a5b00;
  --warn-bg: #fff4e0;
  --stop: #b42318;
  --stop-bg: #fdecea;
  --session-bg: #10151d;
  --session-text: #d7dde5;
  --session-prompt: #7d8896;
  --session-in: #7ec4ff;
  --session-out: #c5ccd6;
  --focus: #0b5fff;
}

/* ---------- dark theme: the system preference, or the toggle (html[data-theme]) ---------- */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #0f1419; --bg-alt: #161b22; --bg-code: #1c2230; --border: #2d3540; --text: #e6edf3; --text-muted: #a1abb8;
    --link: #79aeff; --link-hover: #a6c8ff; --accent: #5b96ff; --accent-bg: #172440; --header-bg: #0f1419;
    --sidebar-bg: #121821; --badge-bg: #232a35; --badge-text: #d0d7de; --code-text: #e6edf3; --placeholder: #c4a0ff;
    --ok: #57d28a; --ok-bg: #12301f; --warn: #ffc266; --warn-bg: #2d2312; --stop: #ff8a80; --stop-bg: #34181a;
    --session-bg: #0a0e13; --focus: #79aeff;
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --bg: #0f1419; --bg-alt: #161b22; --bg-code: #1c2230; --border: #2d3540; --text: #e6edf3; --text-muted: #a1abb8;
  --link: #79aeff; --link-hover: #a6c8ff; --accent: #5b96ff; --accent-bg: #172440; --header-bg: #0f1419;
  --sidebar-bg: #121821; --badge-bg: #232a35; --badge-text: #d0d7de; --code-text: #e6edf3; --placeholder: #c4a0ff;
  --ok: #57d28a; --ok-bg: #12301f; --warn: #ffc266; --warn-bg: #2d2312; --stop: #ff8a80; --stop-bg: #34181a;
  --session-bg: #0a0e13; --focus: #79aeff;
  color-scheme: dark;
}
:root[data-theme="light"] { color-scheme: light; }

body { background: var(--bg); color: var(--text); }
.site-header { background: var(--header-bg); }
.note.note-warning { background: var(--warn-bg); border-left-color: var(--warn); }
.cmp-yes { color: var(--ok); }
.cmp-no { color: var(--stop); }
.cmp-partial { color: var(--warn); }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .fa-panel.fa-know { background: var(--warn-bg); }
  :root:not([data-theme="light"]) .fa-panel.fa-try { background: var(--ok-bg); }
  :root:not([data-theme="light"]) .fa-panel.fa-whatif { background: #241a35; }
  :root:not([data-theme="light"]) .fa-panel .fa-label { color: var(--text); }
  :root:not([data-theme="light"]) .fa-file .md, :root:not([data-theme="light"]) .fa-file .kw { color: var(--link); }
  :root:not([data-theme="light"]) .fa-file .st { color: var(--ok); }
  :root:not([data-theme="light"]) .fa-file .vr { color: var(--stop); }
  :root:not([data-theme="light"]) .cta-band .btn-primary { background: #e6edf3; }
}
:root[data-theme="dark"] .fa-panel.fa-know { background: var(--warn-bg); }
:root[data-theme="dark"] .fa-panel.fa-try { background: var(--ok-bg); }
:root[data-theme="dark"] .fa-panel.fa-whatif { background: #241a35; }
:root[data-theme="dark"] .fa-panel .fa-label { color: var(--text); }
:root[data-theme="dark"] .fa-file .md, :root[data-theme="dark"] .fa-file .kw { color: var(--link); }
:root[data-theme="dark"] .fa-file .st { color: var(--ok); }
:root[data-theme="dark"] .fa-file .vr { color: var(--stop); }
:root[data-theme="dark"] .cta-band .btn-primary { background: #e6edf3; }

/* ---------- accessibility helpers ---------- */
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid var(--focus); outline-offset: 2px; border-radius: 3px;
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }

/* Menu and footer group titles: styled as before, but not headings (they came before the page title). */
.nav-dropdown-heading {
  margin: 0 0 .5rem; font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: var(--text); font-weight: 700;
}
.footer-col-heading {
  margin: 0 0 .7rem; font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: var(--text); font-weight: 700;
}

/* ---------- header: search and theme buttons (shown by site.js) ---------- */
.site-search-open, .theme-toggle {
  display: inline-flex; align-items: center; gap: .4rem; height: 34px; padding: 0 .6rem; margin-left: .6rem;
  border: 1px solid var(--border); border-radius: 6px; background: var(--bg); color: var(--text-muted);
  font: inherit; font-size: .88rem; cursor: pointer;
}
.site-search-open:hover, .theme-toggle:hover { color: var(--text); border-color: var(--accent); }
.site-search-open, .theme-toggle, .site-search-open svg, .theme-toggle svg { flex-shrink: 0; }
.site-search-open { min-width: 34px; justify-content: center; }
.site-search-open kbd { font-size: .74rem; padding: 0 .35em; border: 1px solid var(--border); border-radius: 4px; color: var(--text-muted); background: var(--bg-alt); }
.theme-toggle { padding: 0 .5rem; }
@media (max-width: 900px) {
  .site-search-open .site-search-label, .site-search-open kbd { display: none; }
  .site-search-open { margin-left: auto; padding: 0 .5rem; }
  .theme-toggle { margin-left: .4rem; }
}

/* ---------- inline code: neutral text, placeholders stand out ---------- */
code { color: var(--code-text); }
code var, .syntax-table var { font-style: italic; color: var(--placeholder); }

/* ---------- command examples: one captioned block per example ---------- */
.examples { display: grid; gap: .9rem; margin: 0 0 1.4em; }
.example { margin: 0; }
.example figcaption { font-size: .88rem; color: var(--text-muted); margin: 0 0 .3rem; }
.example pre { margin: 0; }
.example-note { font-size: .88rem; color: var(--text-muted); }

/* ---------- sidebar: the group headings of the how-to list ---------- */
.docs-sidebar li.sidebar-group-label { margin: .7rem 0 .15rem; }
.docs-sidebar li.sidebar-group-label > a { font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--text-muted); }
.docs-sidebar li.sidebar-group-label > a:hover, .docs-sidebar li.sidebar-group-label > a:focus-visible { color: var(--accent); }

/* ---------- labelled code blocks (how-tos): what the block is, above it ---------- */
.code-block { margin: 0 0 1.4em; }
.code-block > figcaption.code-label { font-size: .85rem; font-weight: 600; color: var(--text-muted); margin: 0 0 .3rem; }
.code-block > figcaption.code-label code { font-weight: 400; }
.code-block pre { margin: 0; }
.code-block .session-note { font-size: .85rem; color: var(--text-muted); margin-top: .4rem; }

/* ---------- console sessions ---------- */
.session-figure { margin: 0 0 1.4em; }
pre.session { background: var(--session-bg); color: var(--session-out); border: none; border-radius: 8px; }
pre.session code { color: inherit; }
pre.session .prompt { color: var(--session-prompt); }
pre.session .in { color: var(--session-in); }
pre.session .out { color: var(--session-out); }
.session-figure figcaption { font-size: .85rem; color: var(--text-muted); margin-top: .4rem; }
.session-note::before { content: "\2139\FE0E  "; }

/* ---------- copy buttons (site.js) ---------- */
.copy-wrap { position: relative; }
.copy-btn {
  position: absolute; top: .4rem; right: .4rem; padding: .15rem .55rem; font: inherit; font-size: .76rem; line-height: 1.5;
  border: 1px solid var(--border); border-radius: 5px; background: var(--bg); color: var(--text-muted); cursor: pointer; opacity: .85;
}
.copy-wrap:hover .copy-btn, .copy-btn:focus-visible { opacity: 1; }
.copy-wrap pre.session + .copy-btn, pre.session ~ .copy-btn { background: #1b222d; color: #c5ccd6; border-color: #3a4554; }
.copy-btn.is-done { color: var(--ok); border-color: var(--ok); }

/* ---------- sidebar: collapsible sections (site.js) ---------- */
.docs-sidebar h4 .sidebar-toggle {
  all: unset; display: flex; align-items: center; justify-content: space-between; width: 100%; cursor: pointer;
  text-transform: uppercase; font-size: .72rem; letter-spacing: .06em; font-weight: 700; color: var(--text);
}
.docs-sidebar h4 .sidebar-toggle::after { content: "\25BE"; font-size: .9rem; color: var(--text-muted); transition: transform .15s; }
.docs-sidebar h4 .sidebar-toggle[aria-expanded="false"]::after { transform: rotate(-90deg); }
.docs-sidebar ul[data-collapsed="true"] { display: none; }
.docs-sidebar .sidebar-cat > a { color: var(--text-muted); }
.docs-sidebar .sidebar-cat.is-current > a { color: var(--text); font-weight: 600; }
.docs-sidebar .sidebar-sub { margin: .1rem 0 .3rem .7rem; border-left: 1px solid var(--border); padding-left: .3rem; }
.docs-sidebar .sidebar-sub a { font-size: .84rem; padding: .2em .5em; }

/* ---------- page feedback ---------- */
.page-feedback { margin: 2.6rem 0 0; padding-top: 1rem; border-top: 1px solid var(--border); font-size: .86rem; color: var(--text-muted); }

/* ---------- recipes ---------- */
.recipe-meta { font-size: .86rem; color: var(--text-muted); margin: -.3rem 0 1.2rem; }
.cmd-chips { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .45rem; }
.cmd-chips li { margin: 0; }
.cmd-chips a { display: inline-block; padding: .2rem .55rem; border: 1px solid var(--border); border-radius: 999px; }
.cmd-chips a:hover { border-color: var(--accent); text-decoration: none; }
.used-in li { margin: .3rem 0; }
.howto-list { list-style: none; padding: 0; margin: 0 0 1.6rem; }
.howto-list li { display: grid; gap: .15rem; padding: .65rem 0; border-bottom: 1px solid var(--border); margin: 0; }
.howto-list a { font-weight: 600; }
.howto-list span { color: var(--text-muted); font-size: .92rem; }

/* ---------- documentation home ---------- */
.docs-search { display: flex; gap: .5rem; max-width: 640px; margin: 1.2rem 0 .3rem; }
.docs-search input {
  flex: 1; min-width: 0; font: inherit; padding: .6em .85em; color: var(--text); background: var(--bg);
  border: 1px solid var(--border); border-radius: var(--radius);
}
.docs-search-hint { font-size: .86rem; color: var(--text-muted); margin: 0 0 1.8rem; }
.docs-search-hint kbd, .cheat kbd {
  font-size: .78rem; padding: .05em .4em; border: 1px solid var(--border); border-bottom-width: 2px; border-radius: 4px; background: var(--bg-alt);
}
.intent-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 0 0 2rem; }
.intent-card {
  display: grid; align-content: start; gap: .3rem; padding: 1.1rem 1.2rem; border: 1px solid var(--border); border-radius: 10px;
  color: var(--text); background: var(--bg);
}
.intent-card:hover { border-color: var(--accent); text-decoration: none; color: var(--text); box-shadow: var(--shadow); }
.intent-kicker { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--accent); }
.intent-card strong { font-size: 1.06rem; }
.intent-card span:last-child { color: var(--text-muted); font-size: .92rem; }
.guide-grid { grid-template-columns: repeat(3, 1fr); }
.badge-experimental { background: var(--warn-bg); color: var(--warn); vertical-align: middle; }
@media (max-width: 900px) { .intent-grid, .guide-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .intent-grid, .guide-grid { grid-template-columns: 1fr; } }

/* ---------- reference tables of the website data ---------- */
.syntax-table td:first-child code { white-space: nowrap; }
.syntax-table tr:target { background: var(--accent-bg); }
table.facts th { width: 34%; background: var(--bg-alt); white-space: normal; }

/* ---------- error index ---------- */
.err-entry { border: 1px solid var(--border); border-radius: 8px; padding: .9rem 1.1rem; margin: 0 0 1rem; scroll-margin-top: 84px; }
.err-entry:target { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-bg); }
.err-msg { margin: 0 0 .6rem; }
.err-msg code { white-space: normal; overflow-wrap: anywhere; font-size: .92em; color: var(--stop); background: var(--stop-bg); }
.err-entry dl { margin: 0; display: grid; grid-template-columns: 9.5rem 1fr; gap: .3rem .9rem; font-size: .93rem; }
.err-entry dt { font-weight: 600; color: var(--text-muted); }
.err-entry dd { margin: 0; }
.err-entry dd ul { margin: 0; padding-left: 1.1em; }
.err-anchor { margin: .5rem 0 0; font-size: .8rem; }
@media (max-width: 560px) { .err-entry dl { grid-template-columns: 1fr; } .err-entry dd { margin-bottom: .4rem; } }

/* ---------- upgrade assistant and release notes ---------- */
.upgrade-picker { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; padding: .7rem .9rem; background: var(--bg-alt); border-radius: 8px; }
.upgrade-picker select { font: inherit; padding: .25em .5em; color: var(--text); background: var(--bg); border: 1px solid var(--border); border-radius: 5px; }
.upgrade-count { color: var(--text-muted); font-size: .9rem; }
.upgrade-release[hidden] { display: none; }
.upgrade-release li { margin: .5rem 0; }
.release-summary { border: 1px solid var(--border); border-left: 3px solid var(--accent); border-radius: 0 8px 8px 0; padding: .8rem 1.1rem; margin: 0 0 1.6rem; background: var(--bg-alt); }
.release-summary-title { font-weight: 700; margin: 0 0 .3rem; }
.release-summary ul { margin: 0 0 .5rem; }
.release-summary-note { font-size: .84rem; color: var(--text-muted); margin: 0; }

/* ---------- downloads ---------- */
.latest-download { border: 1px solid var(--border); border-radius: 12px; padding: 1.2rem 1.4rem; margin: 0 0 2.2rem; background: var(--bg-alt); }
.latest-download h2 { margin-top: 0; border: none; padding: 0; }
.latest-meta { color: var(--text-muted); font-size: .92rem; }
.latest-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.4rem; }
.latest-digest code { overflow-wrap: anywhere; word-break: break-all; }
@media (max-width: 700px) { .latest-grid { grid-template-columns: 1fr; } }

/* ---------- scripts gallery ---------- */
.gallery-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin: 0 0 2rem; }
.gallery-card { display: grid; align-content: start; gap: .35rem; padding: 1rem 1.1rem; border: 1px solid var(--border); border-radius: 10px; color: var(--text); }
.gallery-card:hover { border-color: var(--accent); text-decoration: none; color: var(--text); }
.gallery-card span { font-size: .92rem; color: var(--text-muted); }
.gallery-card .gallery-meta { font-size: .8rem; }
@media (max-width: 640px) { .gallery-grid { grid-template-columns: 1fr; } }

/* ---------- diagrams (content/diagrams, inline SVG) ---------- */
figure.diagram { margin: 1.2rem 0 1.8rem; padding: 1rem; border: 1px solid var(--border); border-radius: 10px; background: var(--bg); overflow-x: auto; }
figure.diagram svg { display: block; width: 100%; min-width: 560px; height: auto; font-family: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
.dg .dg-box { fill: var(--bg-alt); stroke: var(--border); stroke-width: 1.2; }
.dg .dg-current { fill: var(--accent-bg); stroke: var(--accent); }
.dg .dg-box-prod { stroke: var(--warn); stroke-width: 1.6; }
.dg .dg-question { fill: var(--bg); stroke: var(--text-muted); stroke-dasharray: 0; }
.dg .dg-ok { fill: var(--ok-bg); stroke: var(--ok); }
.dg .dg-stop { fill: var(--stop-bg); stroke: var(--stop); }
.dg .dg-ins { fill: var(--ok-bg); stroke: var(--ok); }
.dg .dg-upd { fill: var(--accent-bg); stroke: var(--accent); }
.dg .dg-keep { fill: var(--warn-bg); stroke: var(--warn); }
.dg text { fill: var(--text); font-size: 13px; }
.dg .dg-head { font-weight: 700; font-size: 14px; }
.dg .dg-label { fill: var(--text-muted); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.dg .dg-small { fill: var(--text-muted); font-size: 12px; }
.dg .dg-code { font-family: ui-monospace, SFMono-Regular, "Cascadia Mono", Consolas, monospace; font-size: 12.5px; }
.dg .dg-accent { fill: var(--accent); }
.dg .dg-muted-strong { fill: var(--text-muted); }
.dg .dg-prod { fill: var(--warn); font-weight: 400; font-size: 12px; }
.dg .dg-line, .dg .dg-line-accent, .dg .dg-line-muted { fill: none; stroke-width: 1.6; }
.dg .dg-line { stroke: var(--text-muted); }
.dg .dg-line-accent { stroke: var(--accent); stroke-width: 2.2; }
.dg .dg-line-muted { stroke: var(--text-muted); }
.dg .dg-dashed { stroke-dasharray: 6 5; }
.dg .dg-fill-accent { fill: var(--accent); }
.dg .dg-fill-muted, .dg .dg-fill-line { fill: var(--text-muted); }

/* ---------- cheat sheet ---------- */
.cheat { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.4rem; }
.cheat-box { border: 1px solid var(--border); border-radius: 10px; padding: .7rem .9rem; break-inside: avoid; }
.cheat-box h2 { font-size: 1rem; margin: 0 0 .4rem; border: none; padding: 0; }
.cheat-first { grid-column: 1 / -1; background: var(--accent-bg); border-color: transparent; }
.cheat-first .cheat-table { columns: 2; }
.cheat-table { font-size: .86rem; width: 100%; }
.cheat-table td { padding: .22rem .3rem; border-bottom: 1px solid var(--border); }
.cheat-table td:first-child { white-space: nowrap; }
.cheat-table tr:last-child td { border-bottom: none; }
.cheat-table tbody tr:hover { background: none; }
.cheat .alias { font-size: .74rem; color: var(--text-muted); margin-left: .3rem; }
.cheat-note { font-size: .8rem; color: var(--text-muted); margin: .4rem 0 0; }
.cheat-footer { margin-top: 1.4rem; font-size: .9rem; }
@media (max-width: 760px) { .cheat { grid-template-columns: 1fr; } .cheat-table td:first-child { white-space: normal; } }

/* ---------- site search dialog (search.js) ---------- */
.search-backdrop { position: fixed; inset: 0; background: rgba(10, 14, 20, .55); z-index: 100; display: flex; justify-content: center; align-items: flex-start; padding: 8vh 1rem 1rem; }
.search-backdrop[hidden] { display: none; }
.search-dialog {
  width: min(720px, 100%); max-height: 80vh; display: flex; flex-direction: column; background: var(--bg); color: var(--text);
  border: 1px solid var(--border); border-radius: 12px; box-shadow: 0 20px 60px rgba(0, 0, 0, .35); overflow: hidden;
}
.search-field { display: flex; align-items: center; gap: .5rem; padding: .7rem .9rem; border-bottom: 1px solid var(--border); }
.search-field input { flex: 1; min-width: 0; font: inherit; font-size: 1.05rem; border: none; outline: none; background: transparent; color: var(--text); }
.search-field button { font: inherit; font-size: .8rem; padding: .2rem .5rem; border: 1px solid var(--border); border-radius: 5px; background: var(--bg-alt); color: var(--text-muted); cursor: pointer; }
.search-status { padding: .5rem .9rem; font-size: .84rem; color: var(--text-muted); margin: 0; }
.search-results { list-style: none; margin: 0; padding: 0 .4rem .5rem; overflow-y: auto; }
.search-results li { margin: 0; }
.search-results a { display: grid; gap: .1rem; padding: .55rem .7rem; border-radius: 8px; color: var(--text); }
.search-results a:hover, .search-results a[aria-selected="true"] { background: var(--accent-bg); text-decoration: none; }
.search-result-head { display: flex; align-items: baseline; gap: .5rem; flex-wrap: wrap; }
.search-result-title { font-weight: 600; }
.search-result-section { color: var(--text-muted); font-size: .88rem; }
.search-result-type { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--accent); }
.search-result-text { font-size: .86rem; color: var(--text-muted); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.search-results mark { background: var(--warn-bg); color: inherit; padding: 0 .1em; border-radius: 2px; }
.search-foot { padding: .45rem .9rem; border-top: 1px solid var(--border); font-size: .76rem; color: var(--text-muted); }
body.search-open { overflow: hidden; }

/* ---------- print: the content only ---------- */
@media print {
  :root { --bg: #fff; --bg-alt: #fff; --bg-code: #f4f4f4; --text: #000; --text-muted: #333; --border: #bbb; --link: #000; --code-text: #000; }
  .site-header, .site-footer, .docs-sidebar, .mobile-docs-toggle, .docs-toc, .breadcrumbs, .page-feedback, .copy-btn,
  .site-search-open, .theme-toggle, .search-backdrop, .pager, .skip-link, .docs-search, .docs-search-hint, .cmd-search { display: none !important; }
  .docs-shell, .docs-shell.has-toc { display: block; max-width: none; margin: 0; }
  .docs-content, .docs-content.has-toc { display: block; padding: 0; }
  body { font-size: 11pt; }
  a { color: #000; text-decoration: none; }
  pre, pre.session { background: #f4f4f4 !important; color: #000 !important; border: 1px solid #bbb; white-space: pre-wrap; }
  pre.session .prompt, pre.session .in, pre.session .out { color: #000 !important; }
  pre.session .in { font-weight: 700; }
  h2, h3 { break-after: avoid; }
  pre, table, figure, .cheat-box, .err-entry { break-inside: avoid; }
  .cheat { gap: .5rem .8rem; }
  .cheat-table { font-size: 8.5pt; }
  .cheat-box { padding: .4rem .5rem; }
  .cheat-first { background: none; border: 1px solid #bbb; }
  figure.diagram svg { min-width: 0; }
  .hero-terminal { box-shadow: none; }
}

/* ---------- homepage: workflow strips ---------- */
.workflow { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 1.6rem; align-items: start; margin: 0 0 2.4rem; }
.workflow-text h3 { margin-top: .2rem; font-size: 1.15rem; }
.workflow-text p { color: var(--text-muted); }
.workflow-demo { min-width: 0; }
.workflow-demo pre { font-size: .8rem; margin: 0; }
.workflow-demo .session-figure { margin: 0; }
.section-alt { background: var(--bg-alt); max-width: none; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.section-alt > * { max-width: calc(var(--max-width) - 2.5rem); margin-left: auto; margin-right: auto; }
.section-alt .grid-features { margin-top: 1rem; }
.persona-list li { margin: .4rem 0; }
@media (max-width: 860px) { .workflow { grid-template-columns: 1fr; } }

/* ---------- SQL keywords in ```sql code blocks (build.mjs) ---------- */
pre code .kw { color: var(--accent); font-weight: 600; }
.hero-inner > * { min-width: 0; }
.hero-caption { font-size: .85rem; color: var(--text-muted); margin: .6rem 0 0; }
