
:root{--cl-primary:light-dark(oklch(.4 .2 250),oklch(.7 .16 250));--cl-secondary:light-dark(oklch(.38 .15 200),oklch(.65 .12 200));--bg-primary:light-dark(oklch(.96 .03 250),oklch(.18 .04 250));--cl-grey-100:light-dark(oklch(.98 .01 250),oklch(.15 .01 250));--cl-grey-200:light-dark(oklch(.9 .01 250),oklch(.25 .01 250));--cl-white:oklch(1 0 0);--cl-black:oklch(0 0 0);--background-color:light-dark(oklch(1 0 0),oklch(.05 .01 250));--foreground-color:light-dark(oklch(.11 .01 250),oklch(.95 .01 250));--cl-surface:light-dark(oklch(.98 .01 250),oklch(.12 .02 250));--link-color:light-dark(#0056b3,#66b2ff);--link-color-hover:light-dark(#003d7a,#99ccff);color-scheme:light dark}
:root{
  --nav-h:56px;
  --sidebar-w:280px;
  --toc-w:220px;
  --content-max:760px;
  --border:light-dark(#9ca3af,#4b5563);
  --border-strong:light-dark(#d1d5db,#3a3d48);
  --bg:var(--background-color);
  --bg-elev:light-dark(#fafafa,#141621);
  --bg-code:light-dark(#f6f6f7,#1a1c26);
  --fg:var(--foreground-color);
  --fg-muted:light-dark(#374151,#d1d5db);
  --fg-subtle:light-dark(#4b5563,#a5adba);
  --brand:light-dark(#1a3a8a,#7aa4ff);
  --brand-strong:light-dark(#122a63,#a4c1ff);
  --brand-soft:light-dark(#eaf0ff,#1c2340);
  --focus:#4c8bf5;
  --radius:8px;
  --font-sans:"Inter","Inter Fallback",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
  --font-serif:"Newsreader","Newsreader Fallback",Georgia,"Times New Roman",Times,serif;
  --font-mono:"JetBrains Mono","JetBrains Mono Fallback",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-sans);font-size:15.5px;line-height:1.65;color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--brand);text-decoration:none}
a:hover{color:var(--brand-strong);text-decoration:underline;text-underline-offset:3px}
img{max-width:100%;height:auto;display:block}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:3px}
:root[data-theme="dark"]{color-scheme:dark}
:root[data-theme="light"]{color-scheme:light}
.skip-link{position:absolute;top:-100%;left:1rem;background:var(--brand);color:#fff;padding:.5rem 1rem;border-radius:var(--radius);z-index:1000;font-weight:600}
.skip-link:focus{top:1rem}

.topnav{position:sticky;top:0;z-index:50;height:var(--nav-h);background:color-mix(in oklab,var(--bg) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}
.topnav-inner{display:flex;align-items:center;gap:16px;height:100%;padding:0 24px;max-width:1440px;margin:0 auto}
.brand{display:flex;align-items:center;gap:10px;font-weight:650;color:var(--fg);letter-spacing:-.01em}
.brand-mark{width:28px;height:28px;border-radius:50%;background:#000;display:grid;place-items:center;color:#fff;font-size:14px;font-weight:700;letter-spacing:0}
.brand-mark span{display:inline-block;transform:translateY(-1px)}
.brand-name{color:var(--fg);font-size:15px}
.brand-name b{color:var(--brand)}
.topnav-search{margin-left:auto;display:flex;align-items:center;gap:8px;padding:5px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);color:var(--fg-subtle);cursor:pointer;font:inherit;font-size:13.5px;min-width:260px}
.topnav-search:hover{border-color:var(--brand)}
.topnav-search svg{width:14px;height:14px}
.topnav-search kbd{margin-left:auto;font-family:var(--font-mono);font-size:11.5px;border:1px solid var(--border);border-radius:4px;padding:1px 6px;background:var(--bg);color:var(--fg-subtle)}
.topnav-links{display:flex;align-items:center;gap:18px;font-size:13.5px}
.topnav-links a{color:var(--fg-muted);font-weight:500}
.topnav-links a:hover{color:var(--brand)}
.theme-btn{background:none;border:1px solid var(--border);border-radius:var(--radius);padding:5px 8px;cursor:pointer;color:var(--fg-muted)}
.theme-btn:hover{border-color:var(--brand);color:var(--brand)}
.theme-btn svg{width:14px;height:14px}
.mobile-toggle{display:none;background:none;border:1px solid var(--border);border-radius:var(--radius);padding:5px 8px;cursor:pointer;color:var(--fg)}

.docs-shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr) var(--toc-w);gap:0;max-width:1440px;margin:0 auto;position:relative}
@media(max-width:1180px){.docs-shell{grid-template-columns:var(--sidebar-w) minmax(0,1fr)} .toc{display:none}}
.sidebar{position:sticky;top:var(--nav-h);height:calc(100vh - var(--nav-h));overflow-y:auto;padding:24px 12px 48px 20px;border-right:1px solid var(--border);font-size:14px;scrollbar-gutter:stable}
.sidebar::-webkit-scrollbar{width:8px}
.sidebar::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px}
.sidebar-group{margin-bottom:20px}
.sidebar-heading{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-subtle);padding:6px 10px;margin-top:4px}
.sidebar-list{list-style:none;padding:0;margin:0}
.sidebar-list li{margin:1px 0}
.sidebar-list a{display:block;padding:5px 10px;border-radius:5px;color:var(--fg-muted);font-weight:450;line-height:1.35}
.sidebar-list a:hover{background:var(--bg-elev);color:var(--fg);text-decoration:none}
.sidebar-list a.active{background:var(--brand-soft);color:var(--brand-strong);font-weight:600}

.docs-main{min-width:0;padding:32px 44px 96px}
.page-eyebrow{font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);margin:0 0 6px}
.page-title{font-family:var(--font-serif);font-size:clamp(1.85rem,3.2vw,2.4rem);font-weight:600;letter-spacing:-.02em;line-height:1.15;margin:0 0 8px}
.page-subtitle{font-size:1.05rem;color:var(--fg-muted);margin:0 0 24px;line-height:1.5;max-width:640px}
.page-header{padding-bottom:24px;border-bottom:1px solid var(--border);margin-bottom:32px}

.content{max-width:var(--content-max)}
.content h1{display:none}
.content h2{font-family:var(--font-serif);font-size:1.6rem;font-weight:600;letter-spacing:-.015em;margin:44px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border);scroll-margin-top:calc(var(--nav-h) + 24px)}
.content h2:first-child{margin-top:0}
.content h3{font-size:1.2rem;font-weight:600;letter-spacing:-.005em;margin:32px 0 10px;scroll-margin-top:calc(var(--nav-h) + 24px)}
.content h4{font-size:1.02rem;font-weight:600;margin:22px 0 8px}
.content p{margin:12px 0}
.content ul,.content ol{margin:12px 0;padding-left:1.4em}
.content li{margin:4px 0}
.content li>ul,.content li>ol{margin:4px 0}
.content strong{font-weight:650;color:var(--fg)}
.content blockquote{margin:16px 0;padding:12px 16px;border-left:3px solid var(--brand);background:var(--bg-elev);border-radius:0 var(--radius) var(--radius) 0;color:var(--fg-muted)}
.content hr{border:none;border-top:1px solid var(--border);margin:32px 0}

.content code{font-family:var(--font-mono);font-size:.88em;background:var(--bg-code);padding:.14em .38em;border-radius:4px;color:light-dark(#c026d3,#e879f9)}
.content pre{background:var(--bg-code);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto;padding:14px 16px;margin:16px 0;font-family:var(--font-mono);font-size:13.5px;line-height:1.55}
.content pre code{background:none;padding:0;color:inherit;font-size:inherit;border-radius:0}

.content table{width:100%;border-collapse:collapse;margin:16px 0;font-size:14px}
.content thead th{text-align:left;font-weight:650;background:var(--bg-elev);border-bottom:1px solid var(--border);padding:8px 12px}
.content tbody td{padding:8px 12px;border-bottom:1px solid var(--border);vertical-align:top}
.content tbody tr:last-child td{border-bottom:none}

.toc{position:sticky;top:var(--nav-h);height:calc(100vh - var(--nav-h));overflow-y:auto;padding:32px 20px 48px 24px;font-size:13.5px}
.toc-heading{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-subtle);margin:0 0 12px}
.toc-list{list-style:none;padding:0;margin:0}
.toc-list li{margin:6px 0}
.toc-list a{color:var(--fg-muted);display:block;padding:2px 0;line-height:1.4}
.toc-list a:hover{color:var(--brand);text-decoration:none}
.toc-list a.h3{padding-left:14px;font-size:12.5px;color:var(--fg-subtle)}

.footer{border-top:1px solid var(--border);padding:32px 44px;font-size:13.5px;color:var(--fg-subtle);text-align:center}

@media(max-width:960px){
  .docs-shell{grid-template-columns:1fr}
  .sidebar{position:fixed;top:var(--nav-h);left:0;right:0;bottom:0;width:100%;height:auto;padding:20px 20px 40px;background:var(--bg);z-index:40;transform:translateX(-100%);transition:transform .2s;border-right:none}
  .sidebar.open{transform:translateX(0)}
  .docs-main{padding:24px 20px 64px}
  .mobile-toggle{display:inline-flex}
  .topnav-search{min-width:0;max-width:160px}
  .topnav-links{display:none}
  .toc{display:none}
}
@media(max-width:520px){.topnav-search{display:none}}


/* -- Tabs -------------------------------------------------------- */
.tabs{margin:16px 0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.tabs .tab-list{display:flex;background:var(--bg-elev);border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}
.tabs .tab-list::-webkit-scrollbar{display:none}
.tabs .tab-list [role="tab"]{background:none;border:none;padding:10px 16px;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--fg-muted);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;transition:.15s}
.tabs .tab-list [role="tab"]:hover{color:var(--fg)}
.tabs .tab-list [role="tab"][aria-selected="true"]{color:var(--brand);border-bottom-color:var(--brand)}
.tabs .tab-panel{padding:16px 20px}
.tabs .tab-panel[hidden]{display:none}
.tabs .tab-panel > :first-child{margin-top:0}
.tabs .tab-panel > :last-child{margin-bottom:0}

/* -- Admonitions ------------------------------------------------- */
.admonition{margin:20px 0;padding:14px 16px;border-radius:var(--radius);border-left:4px solid;background:var(--bg-elev);position:relative;padding-left:52px}
.admonition::before{position:absolute;left:16px;top:14px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;font-weight:700;font-size:13px;color:#fff}
.admonition p:first-of-type{margin-top:0}
.admonition p:last-of-type{margin-bottom:0}
.admonition-title{font-weight:650;text-transform:uppercase;letter-spacing:.06em;font-size:12px;margin-bottom:4px;display:block}
.admonition[data-type="note"]{border-color:light-dark(#3b82f6,#60a5fa)}
.admonition[data-type="note"]::before{background:light-dark(#3b82f6,#60a5fa);content:"i"}
.admonition[data-type="note"] .admonition-title{color:light-dark(#1e40af,#93c5fd)}
.admonition[data-type="tip"]{border-color:light-dark(#10b981,#34d399)}
.admonition[data-type="tip"]::before{background:light-dark(#10b981,#34d399);content:"\2713"}
.admonition[data-type="tip"] .admonition-title{color:light-dark(#065f46,#a7f3d0)}
.admonition[data-type="warning"]{border-color:light-dark(#f59e0b,#fbbf24)}
.admonition[data-type="warning"]::before{background:light-dark(#f59e0b,#fbbf24);content:"!"}
.admonition[data-type="warning"] .admonition-title{color:light-dark(#92400e,#fde68a)}
.admonition[data-type="caution"]{border-color:light-dark(#ef4444,#f87171)}
.admonition[data-type="caution"]::before{background:light-dark(#ef4444,#f87171);content:"\26A0"}
.admonition[data-type="caution"] .admonition-title{color:light-dark(#991b1b,#fecaca)}
.admonition[data-type="info"]{border-color:light-dark(#6366f1,#818cf8)}
.admonition[data-type="info"]::before{background:light-dark(#6366f1,#818cf8);content:"i"}

/* -- Code block copy button ------------------------------------- */
.content pre{position:relative}
.copy-btn{position:absolute;top:8px;right:8px;padding:4px 10px;font-family:var(--font-sans);font-size:11.5px;font-weight:600;background:color-mix(in oklab,var(--bg) 90%,transparent);color:var(--fg-muted);border:1px solid var(--border);border-radius:5px;cursor:pointer;opacity:0;transition:.15s;letter-spacing:.02em}
.content pre:hover .copy-btn{opacity:1}
.copy-btn:hover{color:var(--fg);border-color:var(--brand)}
.copy-btn.copied{color:light-dark(#10b981,#34d399);border-color:light-dark(#10b981,#34d399)}

/* -- Breadcrumbs ------------------------------------------------- */
.breadcrumbs{font-size:12.5px;color:var(--fg-subtle);margin:0 0 12px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.breadcrumbs a{color:var(--fg-muted)}
.breadcrumbs a:hover{color:var(--brand);text-decoration:none}
.breadcrumbs .sep{color:var(--fg-subtle);user-select:none}
.breadcrumbs .current{color:var(--fg);font-weight:500}

/* -- Prev/Next pagination --------------------------------------- */
.pagination{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:56px 0 0;padding-top:24px;border-top:1px solid var(--border)}
.pagination a{display:block;padding:16px 20px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);color:var(--fg);text-decoration:none;transition:.15s}
.pagination a:hover{border-color:var(--brand);text-decoration:none;transform:translateY(-1px)}
.pagination-label{font-size:12px;color:var(--fg-subtle);margin:0 0 4px;text-transform:uppercase;letter-spacing:.06em}
.pagination-title{font-weight:650;font-size:15px}
.pagination .next{text-align:right}
@media(max-width:520px){.pagination{grid-template-columns:1fr}}

/* -- Collapsible sidebar groups -------------------------------- */
.sidebar-heading{display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none}
.sidebar-heading::after{content:"\25BE";font-size:9px;color:var(--fg-subtle);transition:transform .15s}
.sidebar-group.collapsed .sidebar-heading::after{transform:rotate(-90deg)}
.sidebar-group.collapsed .sidebar-list{display:none}


/* -- WCAG 2.2 AAA additions -------------------------------------- */
[id]{scroll-margin-top:calc(var(--nav-h) + 24px)}
:focus-visible{outline:3px solid #ff8c00;outline-offset:2px}
.content a{text-underline-offset:3px;text-decoration-thickness:from-font}
.content a:hover,.content a:focus-visible{text-decoration:underline;text-decoration-thickness:2px}
.content pre code{color:light-dark(#111827,#f3f4f6)}
.content code{color:light-dark(#7c1d6f,#f0abfc)}
/* Persistent Consistent Help control (3.2.6) */
.fab-help{position:fixed;bottom:20px;right:20px;width:52px;height:52px;border-radius:50%;background:var(--brand);color:#fff;border:2px solid var(--bg);display:grid;place-items:center;font-family:var(--font-serif);font-size:22px;font-weight:700;box-shadow:0 4px 14px rgba(0,0,0,.18);cursor:pointer;text-decoration:none;z-index:60}
.fab-help:hover{background:var(--brand-strong);color:#fff;text-decoration:none;transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.25)}
.fab-help:focus-visible{outline:3px solid #ff8c00;outline-offset:3px}
@media(max-width:520px){.fab-help{width:44px;height:44px;font-size:18px;bottom:14px;right:14px}}
/* Status message live region for copy button */
.copy-btn[aria-pressed="true"]{color:light-dark(#065f46,#a7f3d0)}
.sr-status{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}


/* Dark syntax highlighting override — the SSG's highlight.css emits inline
   Base16-ocean colors that are dark-theme-first. In light mode we tone them
   down for AAA contrast; dark mode uses them as-is. */
:root[data-theme="light"] .content pre[style]{background-color:#f6f6f7!important}
:root[data-theme="light"] .content pre span[style*="color:#c0c5ce"]{color:#111827!important}
:root[data-theme="light"] .content pre span[style*="color:#8fa1b3"]{color:#0b5e93!important}
:root[data-theme="light"] .content pre span[style*="color:#65737e"]{color:#4b5563!important}
:root[data-theme="light"] .content pre span[style*="color:#96b5b4"]{color:#0e5c4a!important}
:root[data-theme="light"] .content pre span[style*="color:#a3be8c"]{color:#065f46!important}
:root[data-theme="light"] .content pre span[style*="color:#d08770"]{color:#8a3a13!important}
:root[data-theme="light"] .content pre span[style*="color:#b48ead"]{color:#7c3aed!important}
:root[data-theme="light"] .content pre pre[style]{background-color:#f6f6f7!important}
:root[data-theme="light"] .content pre pre[style*="background-color:#2b303b"]{background-color:transparent!important}
:root[data-theme="dark"] .content pre pre[style*="background-color:#2b303b"]{background-color:transparent!important}
:root[data-theme="dark"] .content pre[style]{background-color:#111827!important}

/* Language switcher in topnav */
.lang-select{position:relative;margin-left:8px}
.lang-btn-toggle{background:none;border:1px solid var(--border);border-radius:var(--radius);padding:5px 10px;font-family:var(--font-sans);font-size:12.5px;font-weight:600;color:var(--fg-muted);cursor:pointer;display:flex;align-items:center;gap:6px}
.lang-btn-toggle:hover{border-color:var(--brand);color:var(--brand)}
.lang-menu{position:absolute;top:calc(100% + 4px);right:0;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:4px;min-width:130px;box-shadow:0 6px 18px rgba(0,0,0,.12);display:none;z-index:100}
.lang-menu.open{display:block}
.lang-menu a{display:block;padding:6px 10px;font-size:13px;color:var(--fg);border-radius:4px;text-decoration:none}
.lang-menu a:hover{background:var(--bg-elev);text-decoration:none}
.lang-menu a[aria-current="true"]{color:var(--brand);font-weight:600}

/* Landing feature cards animation */
@keyframes fadeUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.docs-hero-badges span{animation:fadeUp .4s ease-out backwards}
.docs-hero-badges span:nth-child(1){animation-delay:.05s}
.docs-hero-badges span:nth-child(2){animation-delay:.10s}
.docs-hero-badges span:nth-child(3){animation-delay:.15s}
.docs-hero-badges span:nth-child(4){animation-delay:.20s}
.docs-hero-badges span:nth-child(5){animation-delay:.25s}
.docs-hero-badges span:nth-child(6){animation-delay:.30s}
@media (prefers-reduced-motion:reduce){.docs-hero-badges span{animation:none}}


/* -- Search + Ask-AI dialog ------------------------------------- */
.ra-dialog{position:fixed;inset:0;background:none;border:none;padding:0;max-width:none;max-height:none;width:100%;height:100%;z-index:200}
.ra-dialog::backdrop{background:color-mix(in oklab,var(--fg) 55%,transparent);backdrop-filter:blur(4px)}
.ra-dialog[open]{display:grid;place-items:start center}
.ra-dialog-inner{background:var(--bg);border:1px solid var(--border);border-radius:14px;width:min(680px,92vw);margin-top:calc(var(--nav-h) + 24px);max-height:calc(100vh - var(--nav-h) - 60px);display:flex;flex-direction:column;box-shadow:0 24px 48px rgba(0,0,0,.28);overflow:hidden}
.ra-dialog-tabs{display:flex;border-bottom:1px solid var(--border);padding:6px 12px 0}
.ra-dialog-tabs button{background:none;border:none;padding:9px 14px;font:inherit;font-size:13.5px;font-weight:600;color:var(--fg-muted);cursor:pointer;border-bottom:2px solid transparent}
.ra-dialog-tabs button[aria-selected="true"]{color:var(--brand);border-bottom-color:var(--brand)}
.ra-dialog-search{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}
.ra-dialog-search svg{width:16px;height:16px;color:var(--fg-subtle)}
.ra-dialog-search input{flex:1;background:none;border:none;outline:none;font:inherit;font-size:15px;color:var(--fg)}
.ra-dialog-search kbd{font-family:var(--font-mono);font-size:11.5px;border:1px solid var(--border);border-radius:4px;padding:1px 6px;background:var(--bg-elev);color:var(--fg-subtle)}
.ra-dialog-body{overflow-y:auto;padding:6px 0}
.ra-dialog-hint{padding:12px 18px;color:var(--fg-subtle);font-size:13px}
.ra-result{display:block;padding:10px 18px;color:var(--fg);text-decoration:none;border-left:3px solid transparent}
.ra-result:hover,.ra-result:focus,.ra-result.active{background:var(--bg-elev);border-left-color:var(--brand);text-decoration:none}
.ra-result-title{font-weight:650;font-size:14px;margin-bottom:2px}
.ra-result-url{font-size:12px;color:var(--fg-subtle);font-family:var(--font-mono)}
.ra-result-snippet{font-size:13px;color:var(--fg-muted);margin-top:4px;line-height:1.4}
.ra-result-snippet mark{background:var(--brand-soft);color:var(--brand-strong);border-radius:2px;padding:0 2px}
.ra-ask-panel{padding:16px 18px}
.ra-ask-panel textarea{width:100%;min-height:80px;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font:inherit;font-size:14px;color:var(--fg);resize:vertical}
.ra-ask-panel .btn{margin-top:10px}
.ra-ask-answer{margin-top:16px;padding:14px 16px;background:var(--bg-elev);border-radius:8px;font-size:14px;line-height:1.55;color:var(--fg)}
.ra-ask-answer h4{margin:0 0 8px;font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-subtle)}
.ra-ask-answer ul{margin:6px 0;padding-left:1.2em}
.ra-ask-answer a{color:var(--brand);font-weight:500}


/* TUI demo interactive controls */
.tui-demo-controls{display:flex;gap:8px;align-items:center;padding:6px 12px;background:#161b22;border-top:1px solid rgba(255,255,255,.08);font-family:var(--font-sans);font-size:11.5px;color:#8b949e}
.tui-demo-controls button{background:none;border:1px solid rgba(255,255,255,.15);color:#c9d1d9;padding:3px 10px;border-radius:4px;font:inherit;font-size:11.5px;cursor:pointer}
.tui-demo-controls button:hover{border-color:#7aa4ff;color:#7aa4ff}
.tui-demo-controls .spacer{flex:1}
.tui-demo-controls kbd{font-family:var(--font-mono);font-size:10.5px;background:rgba(255,255,255,.08);padding:1px 4px;border-radius:3px}
.tui-demo.paused .tui-line{animation-play-state:paused}


/* -- WCAG 2.2 AA/AAA contrast overrides caught by Pa11y ---------- */
/* fab-help: darken background so white ? hits ≥3:1 (was 2.45:1) */
.fab-help{background:#0f2a75!important;border-color:var(--bg)}
.fab-help:hover{background:#0a1f5c!important;color:#fff}

/* Syntax highlighter (SSG emits base16-ocean inline colors on dark pre).
   We override with AAA-safe replacements for both light and dark themes. */
:root .content pre[style] span[style*="color:#65737e"]{color:#a8b2c0!important} /* comment */
:root .content pre[style] span[style*="color:#bf616a"]{color:#ff9aa2!important} /* red / keyword */
:root .content pre[style] span[style*="color:#d08770"]{color:#ffbb8a!important} /* orange */
:root .content pre[style] span[style*="color:#ebcb8b"]{color:#f0d99f!important} /* yellow */
:root .content pre[style] span[style*="color:#a3be8c"]{color:#c8e6b0!important} /* green */
:root .content pre[style] span[style*="color:#96b5b4"]{color:#b8d6d5!important} /* cyan */
:root .content pre[style] span[style*="color:#8fa1b3"]{color:#a8c8ff!important} /* blue */
:root .content pre[style] span[style*="color:#b48ead"]{color:#d3aacd!important} /* purple */

/* In light-theme code blocks (background:#f6f6f7 via our earlier override) — restore darker inks */
:root[data-theme="light"] .content pre[style] span[style*="color:#65737e"]{color:#4b5563!important}
:root[data-theme="light"] .content pre[style] span[style*="color:#bf616a"]{color:#991b1b!important}
:root[data-theme="light"] .content pre[style] span[style*="color:#d08770"]{color:#7c2d12!important}
:root[data-theme="light"] .content pre[style] span[style*="color:#ebcb8b"]{color:#78350f!important}
:root[data-theme="light"] .content pre[style] span[style*="color:#a3be8c"]{color:#065f46!important}
:root[data-theme="light"] .content pre[style] span[style*="color:#96b5b4"]{color:#0e5c4a!important}
:root[data-theme="light"] .content pre[style] span[style*="color:#8fa1b3"]{color:#1e40af!important}
:root[data-theme="light"] .content pre[style] span[style*="color:#b48ead"]{color:#6b21a8!important}


/* Pa11y: .btn-primary must hold ≥4.5:1 in both themes. Force darker brand bg. */
.btn-primary{background:#0f2a75!important;color:#fff!important}
.btn-primary:hover{background:#0a1f5c!important;color:#fff!important}
:root[data-theme="dark"] .btn-primary{background:#1e3a8a!important;color:#fff!important}
:root[data-theme="dark"] .btn-primary:hover{background:#1e40af!important;color:#fff!important}

.visually-hidden{position:absolute;clip:rect(0 0 0 0);width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;white-space:nowrap;border:0}
#ssg-search-btn{display:none!important}
  