/* OpenVibe.Bot's "Build" pages (/docs, /docs/drivers, /docs/profiles): a docs layout inside the OpenVibe Frame.
   Colours come from the Frame's theme variables, so the pages follow the person's theme. */
.docs-wrap { font-family: var(--ov-font, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif); max-width: 1120px; margin: 0 auto; padding: 32px 16px 64px; display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 40px; align-items: start; }
.docs-side { position: sticky; top: 76px; display: flex; flex-direction: column; gap: 2px; }
.docs-side .docs-side-title { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-secondary, #96a7c2); margin: 0 0 8px 10px; }
.docs-side a { display: block; padding: 8px 10px; border-radius: 8px; color: var(--text-secondary, #96a7c2); text-decoration: none; font-size: 14px; font-weight: 600; }
.docs-side a:hover { color: var(--text-primary, #e6edf7); background: var(--bg-secondary, #101828); }
.docs-side a[aria-current="page"] { color: var(--text-primary, #e6edf7); background: var(--accent-glow, rgba(59,130,246,.14)); box-shadow: inset 2px 0 0 var(--accent, #3b82f6); }
.docs-side .docs-side-rule { height: 1px; background: var(--border, #1f2d47); margin: 10px 0; }

.docs-main { min-width: 0; color: var(--text-primary, #e6edf7); font-size: 15.5px; line-height: 1.65; }
.docs-main h1 { font-size: clamp(28px, 4vw, 38px); line-height: 1.15; letter-spacing: -.02em; margin: 0 0 12px; }
.docs-main > p.muted:first-of-type { font-size: 17px; margin: 0 0 28px; }
.docs-main h2 { font-size: 20px; letter-spacing: -.01em; margin: 0 0 10px; }
.docs-main h3 { font-size: 16px; margin: 18px 0 6px; }
.docs-main p { margin: 0 0 12px; }
.docs-main ul, .docs-main ol { margin: 0 0 12px; padding-left: 22px; }
.docs-main li { margin: 4px 0; }
.docs-main a { color: var(--accent-light, #60a5fa); text-underline-offset: 2px; }
.docs-main .muted { color: var(--text-secondary, #96a7c2); }
.docs-main code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .9em; background: var(--bg-secondary, #101828); border: 1px solid var(--border, #1f2d47); border-radius: 5px; padding: 1px 5px; }
.docs-main pre { margin: 10px 0 14px; padding: 14px 16px; overflow-x: auto; background: var(--bg-primary, #0a0f1c); border: 1px solid var(--border, #1f2d47); border-radius: 10px; line-height: 1.5; }
.docs-main pre code { background: none; border: 0; padding: 0; font-size: 13px; white-space: pre; }

.docs-main .card { background: var(--bg-secondary, #101828); border: 1px solid var(--border, #1f2d47); border-radius: 14px; padding: 20px 22px; margin: 0 0 16px; }
.docs-main .card > :last-child { margin-bottom: 0; }
.docs-main .card h2 { font-size: 13px; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; color: var(--text-secondary, #96a7c2); margin-bottom: 12px; }
.docs-main .card .card { background: var(--bg-primary, #0a0f1c); padding: 14px 16px; margin: 10px 0; }

.docs-main form { display: grid; gap: 12px; margin: 6px 0 10px; }
.docs-main .field { display: grid; gap: 6px; }
.docs-main .field-label { font-size: 13px; font-weight: 700; color: var(--text-secondary, #96a7c2); }
.docs-main textarea { width: 100%; box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13px; line-height: 1.5; color: var(--text-primary, #e6edf7); background: var(--bg-primary, #0a0f1c); border: 1px solid var(--border, #1f2d47); border-radius: 10px; padding: 12px 14px; resize: vertical; }
.docs-main textarea:focus { outline: 2px solid var(--accent, #3b82f6); outline-offset: 1px; }
.docs-main button.primary { justify-self: start; font: inherit; font-weight: 700; font-size: 14px; color: var(--on-accent-strong, var(--on-accent, #fff)); background: var(--accent-strong, var(--accent, #3472d8)); border: 0; border-radius: 10px; padding: 10px 18px; cursor: pointer; }
.docs-main button.primary:hover { filter: brightness(1.08); }
.docs-main .error { border: 1px solid rgba(239, 68, 68, .45); background: rgba(239, 68, 68, .08); border-radius: 10px; padding: 12px 14px; }
.docs-main [role="status"] strong { color: #22c55e; }
.docs-foot { margin-top: 28px; padding-top: 16px; border-top: 1px solid var(--border, #1f2d47); font-size: 13.5px; }

@media (max-width: 860px) {
    .docs-wrap { grid-template-columns: 1fr; gap: 18px; padding-top: 18px; }
    .docs-side { position: static; flex-direction: row; flex-wrap: wrap; gap: 6px; }
    .docs-side .docs-side-title, .docs-side .docs-side-rule { display: none; }
    .docs-side a { padding: 7px 12px; border: 1px solid var(--border, #1f2d47); border-radius: 999px; font-size: 13px; }
    .docs-side a[aria-current="page"] { box-shadow: none; border-color: var(--accent, #3b82f6); }
    .docs-main .card { padding: 16px; }
}
