/* Vibyverse documentation. SPDX-License-Identifier: MPL-2.0 */
/* Colours, spacing and radii come from Lynn's design tokens via the extension. */
body { font-family:var(--font-stack); font-size:16px; line-height:1.7; }
.page { max-width:1440px; margin-inline:auto; }
.content { padding-top:40px; padding-bottom:40px; }
.sidebar-container { border-right:1px solid var(--vv-line); }
.sidebar-tree .caption, .toc-title { font-size:11px; font-weight:650; letter-spacing:.06em; text-transform:uppercase; }
.sidebar-tree .reference { border-radius:var(--vv-radius-sm); }
.sidebar-tree .current-page>.reference { color:var(--vv-accent); background:var(--vv-surface-mist); font-weight:650; }
.sidebar-search-container { margin:20px 16px 24px; border:1px solid var(--vv-line); border-radius:var(--vv-radius-sm); background:var(--vv-surface-mist); }
.sidebar-search-container:focus-within { outline:2px solid var(--vv-accent); outline-offset:2px; }
.sidebar-search { padding-block:10px; }
.sidebar-search:focus { border-color:transparent; }
.vv-sidebar-brand { display:flex; flex-direction:row; align-items:center; justify-content:flex-start; gap:12px; text-align:left; padding:28px 20px 8px; }
.vv-sidebar-brand:hover { text-decoration:none; }
.vv-product-icon { display:block; flex:0 0 40px; width:40px; }
.vv-product-icon img { width:40px; height:40px; margin:0; }
.vv-sidebar-eyebrow { display:block; color:var(--vv-ink-muted); font-size:10px; letter-spacing:.07em; text-transform:uppercase; line-height:1.5; margin-bottom:4px; }
.vv-sidebar-brand .sidebar-brand-text { display:block; font-family:var(--font-stack); font-size:17px; font-weight:650; letter-spacing:-.4px; line-height:1.4; color:var(--vv-ink); }
.vv-docs-version { margin:0 20px 10px 72px; color:var(--vv-ink-muted); font-size:11px; overflow-wrap:anywhere; }
.vv-docs-kicker { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:0 0 18px; color:var(--vv-ink-muted); font-size:11px; font-weight:600; letter-spacing:.055em; text-transform:uppercase; }
.vv-docs-kicker a { color:var(--vv-accent); text-decoration:none; }
article h1,article h2,article h3,article h4 { font-family:var(--font-stack--headings); color:var(--vv-ink); font-weight:550; }
article h1 { font-size:clamp(30px,3.2vw,46px); line-height:1.15; letter-spacing:-1.5px; margin-top:0; margin-bottom:28px; overflow-wrap:anywhere; }
article h2 { font-size:28px; line-height:1.3; letter-spacing:-.7px; margin-top:44px; padding-top:12px; }
article h3 { font-size:21px; line-height:1.4; letter-spacing:-.35px; margin-top:30px; }
article p,article li { line-height:1.8; }
article p { margin-block:18px; }
article a { text-underline-offset:3px; text-decoration-thickness:1px; }
article code.literal { padding:2px 5px; border-radius:4px; }
.highlight { border:1px solid var(--vv-line); border-radius:var(--vv-radius-sm); box-shadow:none; margin-block:24px; }
.highlight pre { font-size:13px; line-height:1.75; padding:20px; }
div[class*="highlight-"] { margin-block:24px; }
.table-wrapper { border:1px solid var(--vv-line); border-radius:var(--vv-radius-sm); margin-block:24px; }
table.docutils { border:0; box-shadow:none; width:100%; margin:0; font-size:14px; }
table.docutils th { background:var(--vv-surface-mist); font-weight:650; }
table.docutils th,table.docutils td { padding:12px 16px; border-color:var(--vv-line); }
.admonition,details.sd-dropdown { border:1px solid var(--vv-line); border-radius:var(--vv-radius-chip); box-shadow:none; overflow:hidden; margin-block:24px; }
.admonition { border-left:3px solid var(--color-admonition-title,var(--vv-accent)); }
.admonition-title { font-family:var(--font-stack); font-weight:650; }
.admonition>p:not(.admonition-title) { margin-block:16px; }
blockquote { border-left:3px solid var(--vv-accent); background:var(--vv-surface-mist); margin-inline:0; padding:12px 24px; border-radius:0 var(--vv-radius-sm) var(--vv-radius-sm) 0; }
article img { border-radius:var(--vv-radius-sm); }
article figure { margin-block:28px; }
figcaption,.caption-text { color:var(--vv-ink-muted); font-size:13px; }
.sd-card { border-color:var(--vv-line)!important; border-radius:var(--vv-radius-chip); box-shadow:none!important; }
.sd-card-header,.sd-card-footer { background:var(--vv-surface-mist); }
.toc-sticky { padding-top:36px; }
.toc-tree { font-size:12px; line-height:1.8; }
.toc-tree a:hover { color:var(--vv-accent); }
.related-pages { border-top:1px solid var(--vv-line); margin-top:40px; padding-top:24px; gap:20px; }
.related-pages a { border:1px solid var(--vv-line); border-radius:var(--vv-radius-sm); padding:14px 18px; }
.related-pages a:hover { background:var(--vv-surface-mist); }
.bottom-of-page { color:var(--vv-ink-muted); font-size:11px; padding-top:24px; }
.vv-docs-footer { border-top:1px solid var(--vv-line); display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:24px; padding-top:20px; font-size:11px; }
.vv-docs-footer a { color:var(--vv-ink-muted); text-decoration:none; }
.vv-docs-footer a:hover { color:var(--vv-accent); text-decoration:underline; }
.announcement { height:auto; min-height:var(--header-height); overflow-x:visible; border-bottom:1px solid var(--vv-line); }
.announcement-content { min-width:0; width:100%; max-width:1320px; white-space:normal; overflow-wrap:anywhere; font-size:12px; line-height:1.8; padding:16px 32px; }
.announcement-content code { white-space:normal; }
.mobile-header { border-bottom:1px solid var(--vv-line); }
.mobile-header .brand { font-family:var(--font-stack); font-size:13px; font-weight:600; }
.mobile-header .header-center { min-width:0; }
.mobile-header .brand { max-width:calc(100vw - 144px); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.vv-header { background:var(--vv-surface); color:var(--vv-ink); border-color:var(--vv-line); }
.vv-header a { color:var(--vv-ink); }
.vv-header a:hover { color:var(--vv-tool-qc); }
.vv-header .vv-nav-docs,.vv-menu-toggle { border-color:var(--vv-line); }
.vv-header .vv-menu-toggle { background:var(--vv-surface); color:var(--vv-ink); }
.vv-nav-ready .vv-navigation { background:var(--vv-surface); border-color:var(--vv-line); }
.theme-toggle:hover,.toc-overlay-icon:hover { color:var(--vv-accent); }
:focus-visible { outline:2px solid var(--vv-accent); outline-offset:3px; }
@media(max-width:1008px) {
 .content { padding-top:24px; }
 .toc-sticky { padding-top:24px; }
}
@media(max-width:600px) {
 .content { padding:24px 20px; }
 article h1 { font-size:32px; letter-spacing:-1px; }
 article h2 { font-size:25px; margin-top:32px; }
 .highlight pre { font-size:12px; padding:16px; }
 .announcement-content { padding:14px 20px; }
 .related-pages a { padding:12px; }
}
@media print {
 body { font-size:11pt; }
 .content { max-width:none; padding:0; }
 article h1 { font-size:26pt; }
 .vv-docs-kicker,.vv-docs-footer { display:none; }
 .highlight,.table-wrapper,.admonition { break-inside:avoid; }
}
