/* NVTrader docs — shared styling.
 * Tailwind CDN handles utilities; this file owns the prose styling for #doc-content.
 */
html, body { background:#0b0b0d; color:#f5f6f8; font-family: Inter, system-ui, sans-serif; font-size:14px; line-height:1.6 }
::selection { background:#76b900; color:#0b0b0d }

.scroll-thin::-webkit-scrollbar { width:6px }
.scroll-thin::-webkit-scrollbar-thumb { background:#2a2c33; border-radius:4px }

/* prose */
#doc-content h1 { font-size:30px; font-weight:800; letter-spacing:-0.02em; line-height:1.15; margin:0 0 14px 0 }
#doc-content > .eyebrow { font-family:'JetBrains Mono',monospace; font-size:11px; color:#76b900; letter-spacing:0.14em; text-transform:uppercase; margin-bottom:10px }
#doc-content > .lede { font-size:16px; color:#cdd2da; line-height:1.55; margin: 0 0 24px 0; max-width: 90ch }
#doc-content { max-width: 1200px }

#doc-content h2 { font-size:22px; font-weight:700; letter-spacing:-0.01em; margin:42px 0 12px; padding-top:6px; border-top:1px solid #2a2c33 }
#doc-content h2:first-of-type { border-top:0; padding-top:0; margin-top:28px }
#doc-content h3 { font-size:17px; font-weight:600; margin:28px 0 8px; color:#f5f6f8 }
#doc-content h4 { font-size:14px; font-weight:600; font-family:'JetBrains Mono',monospace; color:#76b900; margin:18px 0 6px; letter-spacing:0.04em }

#doc-content p { margin: 10px 0; color:#cdd2da }
#doc-content p strong, #doc-content li strong { color:#f5f6f8 }
#doc-content em { color:#e7ebf2; font-style: italic }

#doc-content ul, #doc-content ol { margin: 10px 0 10px 22px; color:#cdd2da }
#doc-content ul { list-style: none }
#doc-content ul > li { position:relative; padding-left: 4px; margin: 4px 0 }
#doc-content ul > li::before { content:"·"; color:#76b900; position:absolute; left:-14px; font-weight:700 }
#doc-content ol { list-style: decimal; margin-left: 28px }
#doc-content ol > li { margin: 4px 0; padding-left:4px }
#doc-content li > ul, #doc-content li > ol { margin-top:4px; margin-bottom:4px }

#doc-content a { color:#76b900; border-bottom: 1px dotted #76b90060 }
#doc-content a:hover { color:#8edc1a; border-bottom-color:#8edc1a }

#doc-content code { font-family:'JetBrains Mono',monospace; font-size:12.5px; background:#15161a; padding:1px 6px; border-radius:3px; color:#8edc1a; border:1px solid #1e2025 }
#doc-content pre { background:#0c0d10; border:1px solid #2a2c33; border-left:3px solid #76b900; border-radius:4px; padding:14px 16px; overflow-x:auto; font-family:'JetBrains Mono',monospace; font-size:12.5px; line-height:1.55; color:#cdd2da; margin: 14px 0 }
#doc-content pre code { background:transparent; padding:0; border:0; color:inherit; font-size:inherit }

#doc-content blockquote { border-left:3px solid #76b90080; background:#15161a; padding:10px 16px; margin: 14px 0; color:#cdd2da; font-style: normal }
#doc-content blockquote p { margin: 4px 0 }

#doc-content hr { border:0; border-top: 1px dashed #2a2c33; margin: 30px 0 }

#doc-content table { border-collapse: collapse; width:100%; font-size:12.5px; font-family:'JetBrains Mono',monospace; margin: 14px 0 }
#doc-content table th, #doc-content table td { border:1px solid #2a2c33; padding:8px 10px; text-align:left; vertical-align: top }
#doc-content table th { background:#15161a; color:#f5f6f8; font-weight:600; font-size:11px; text-transform: uppercase; letter-spacing:0.06em }
#doc-content table td { color:#cdd2da }
#doc-content table tr:nth-child(even) td { background:#0d0e11 }

/* callouts */
.callout { border-radius:4px; padding:12px 16px; margin:14px 0; font-size:13.5px; border:1px solid #2a2c33; background:#15161a }
.callout.tip   { border-left:3px solid #76b900 }
.callout.warn  { border-left:3px solid #f0a020 }
.callout.danger{ border-left:3px solid #e0444c }
.callout.info  { border-left:3px solid #8090a0 }
.callout .label { display:inline-block; font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.1em; text-transform: uppercase; margin-right:8px; padding:1px 8px; border-radius:3px; background:#0b0b0d }
.callout.tip   .label { color:#76b900; border:1px solid #76b90060 }
.callout.warn  .label { color:#f0a020; border:1px solid #f0a02060 }
.callout.danger .label{ color:#e0444c; border:1px solid #e0444c60 }
.callout.info  .label { color:#9ba0a8; border:1px solid #4a4f57 }
.callout p { margin: 4px 0; display: inline }

/* badges */
.badge { display:inline-block; padding:2px 8px; border-radius:3px; font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:0.04em; border:1px solid #2a2c33; background:#15161a; color:#cdd2da; vertical-align:middle }
.badge.live { color:#76b900; border-color:#76b90060; background:#152008 }
.badge.beta { color:#f0a020; border-color:#f0a02060 }
.badge.deprecated { color:#71757d; border-color:#3a3d44 }

/* method labels for API surface tables */
.m-get    { color:#76b900 }
.m-post   { color:#f0a020 }
.m-delete { color:#e0444c }

/* arch boxes inside content */
.arch-strip { display:grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap:10px; margin: 16px 0; font-family:'JetBrains Mono',monospace; font-size:12px }
.arch-strip .cell { background:#0c0d10; border:1px solid #2a2c33; border-radius:4px; padding:10px 12px }
.arch-strip .cell .h { color:#76b900; font-weight:600; letter-spacing:0.06em; text-transform: uppercase; font-size:10px; margin-bottom:4px }
.arch-strip .cell .d { color:#cdd2da; font-size:12px }

/* Marked-rendered prose (tech-brief inline render) */
.brief-prose h1 { font-size:24px; font-weight:800; margin: 30px 0 12px; border-top: 1px dashed #2a2c33; padding-top: 20px }
.brief-prose h1:first-child { border-top: 0; padding-top: 0; margin-top: 8px }
.brief-prose h2 { font-size:20px; font-weight:700; margin: 28px 0 10px; padding-top: 8px; border-top: 1px solid #2a2c33 }
.brief-prose h3 { font-size:16px; font-weight:600; margin: 22px 0 8px }
.brief-prose h4 { font-size:13.5px; font-weight:600; font-family:'JetBrains Mono',monospace; color:#76b900; margin:16px 0 6px }
.brief-prose p { margin: 10px 0; color: #cdd2da }
.brief-prose blockquote { border-left:3px solid #76b90080; background:#15161a; padding:8px 14px; margin: 12px 0; color:#cdd2da; font-style:normal }
.brief-prose blockquote p { margin: 4px 0 }
.brief-prose ul, .brief-prose ol { margin: 8px 0 8px 22px; color:#cdd2da }
.brief-prose ul { list-style: none }
.brief-prose ul > li { position:relative; padding-left:4px; margin:3px 0 }
.brief-prose ul > li::before { content:"·"; color:#76b900; position:absolute; left:-14px; font-weight:700 }
.brief-prose ol { list-style: decimal; margin-left: 28px }
.brief-prose a { color:#76b900; border-bottom:1px dotted #76b90060 }
.brief-prose a:hover { color:#8edc1a; border-bottom-color:#8edc1a }
.brief-prose code { font-family:'JetBrains Mono',monospace; font-size:12.5px; background:#15161a; padding:1px 6px; border-radius:3px; color:#8edc1a; border:1px solid #1e2025 }
.brief-prose pre { background:#0c0d10; border:1px solid #2a2c33; border-left:3px solid #76b900; border-radius:4px; padding:12px 14px; overflow-x:auto; font-family:'JetBrains Mono',monospace; font-size:12.5px; line-height:1.55; color:#cdd2da; margin: 12px 0 }
.brief-prose pre code { background:transparent; padding:0; border:0; color:inherit }
.brief-prose table { border-collapse: collapse; width:100%; font-size:12.5px; font-family:'JetBrains Mono',monospace; margin: 12px 0 }
.brief-prose th, .brief-prose td { border:1px solid #2a2c33; padding:7px 10px; text-align:left; vertical-align: top }
.brief-prose th { background:#15161a; color:#f5f6f8; font-weight:600; font-size:11px; text-transform: uppercase; letter-spacing:0.06em }
.brief-prose td { color:#cdd2da }
.brief-prose tr:nth-child(even) td { background:#0d0e11 }
.brief-prose hr { border:0; border-top: 1px dashed #2a2c33; margin: 26px 0 }
.brief-prose strong { color: #f5f6f8 }
