/* Blog v2 — artigo aberto (sem .paper), Space Grotesk, figuras, TOC, lightbox, cards com capa.
   Arquivo separado: não altera blog.css nem styles.css/navbar/theme/footer. */
:root{--v2-fg:#1E2126;--v2-mut:#4A515B;--v2-line:#D5D9DE;--v2-acc:#1F4FA3;--v2-card:#fff;--v2-code:#E9ECEF}
html:not(.light-theme){--v2-fg:#E8EAED;--v2-mut:#A3ACB7;--v2-line:#2F353D;--v2-acc:#8DB6FF;--v2-card:#1E2227;--v2-code:#262B31}
.shell.post.v2{width:min(1600px,calc(100% - 64px));max-width:none}
.post.v2 .kicker{font:500 calc(12px*var(--blog-scale)) 'JetBrains Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--v2-mut)!important}
.post.v2 .byline{font:500 calc(16px*var(--blog-scale))/1.5 'IBM Plex Sans','Space Grotesk',sans-serif;font-size:calc(16px*var(--blog-scale))!important;color:var(--v2-mut);margin:.35em 0 .2em}
.post.v2 .byline .author{color:var(--v2-fg);font-weight:600}
.post.v2 .kicker span{color:var(--v2-mut)}
.post.v2>h1{font:700 calc(clamp(32px,4.4vw,54px)*var(--blog-scale))/1.08 'Space Grotesk',sans-serif!important;text-transform:none!important;letter-spacing:-.02em;max-width:24ch;color:var(--v2-fg)!important}
.post.v2 .ai-note{font:calc(14.4px*var(--blog-scale))/1.5 'Space Grotesk',sans-serif;color:var(--v2-mut);border-left:3px solid var(--v2-acc);padding:.5em .9em;margin:18px 0;max-width:none;background:transparent}
.post.v2 .fig-hero{max-width:70%;margin:8px 0 0}
.post-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,3fr);column-gap:48px;margin:28px 0 64px}
.post-grid.no-toc{grid-template-columns:minmax(0,7fr) minmax(0,3fr)}
.post-grid>.post-body{grid-column:1;width:100%;max-width:none!important;min-width:0}
.post-body,.post.v2 .post-body p,.post.v2 .post-body li{font-family:'Space Grotesk',system-ui,sans-serif!important;font-size:calc(21.55px*var(--blog-scale))!important;line-height:1.75;color:var(--v2-fg)!important;text-align:left;hyphens:auto;font-weight:400}
.post-body{max-width:none}
.post-body p{margin:0 0 1.15em}
.post-body h2,.post-body h3,.post-body h4{font-family:'Space Grotesk',sans-serif!important;color:var(--v2-fg)!important;background:none!important;letter-spacing:-.015em;line-height:1.2;font-weight:700;margin:1.9em 0 .6em;scroll-margin-top:80px}
.post-body h2{font-size:calc(28px*var(--blog-scale))}
.post-body h3{font-size:calc(20.8px*var(--blog-scale))}
.post-body>h1{display:none}
.post-body a{color:var(--v2-acc);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.post-body strong{font-weight:700;color:var(--v2-fg)}
.post-body blockquote{margin:1.4em 0;padding:.2em 0 .2em 1.1em;border-left:3px solid var(--v2-acc);color:var(--v2-mut);font-style:normal}
.post-body code{font-family:'JetBrains Mono',monospace;font-size:.86em;background:var(--v2-code);padding:.1em .35em;border-radius:3px}
.post-body pre{background:#1E2126;color:#E9ECEF;padding:16px 18px;border-radius:6px;overflow:auto}
.post-body pre code{background:none;padding:0}
.post-body img{max-width:100%;height:auto;border-radius:6px}
.post-body ul,.post-body ol{padding-left:1.35em;margin:0 0 1.15em}
.post-body li::marker{color:var(--v2-acc);font-family:'JetBrains Mono',monospace}
.fig{margin:2.2em 0}
.fig img{display:block;width:100%;height:auto;border-radius:6px;border:1px solid var(--v2-line);background:var(--v2-code);cursor:zoom-in;margin:0}
.fig figcaption{font:calc(14.72px*var(--blog-scale))/1.5 'Space Grotesk',sans-serif;color:var(--v2-mut);margin-top:.6em}
.fig figcaption b{font:600 .9em 'JetBrains Mono',monospace;color:var(--v2-fg)}
.fig-credit{display:block;font-size:.85em;opacity:.85}
.fig-ref{font-family:'JetBrains Mono',monospace;font-size:.9em}
.toc{position:sticky;top:84px;align-self:start;grid-column:2;min-width:0;font:400 calc(16px*var(--blog-scale))/1.45 'IBM Plex Sans','Space Grotesk',sans-serif;color:var(--v2-fg);max-height:calc(100vh - 110px);overflow-y:auto;overflow-x:hidden;padding-left:20px;border-left:2px solid var(--v2-line)}
.toc-h{font:600 calc(13.6px*var(--blog-scale))/1.4 'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.1em;margin:0 0 .6em;color:var(--v2-mut)}
.toc ol{margin:0 0 1.6em;padding-left:1.6em;list-style:decimal}
.post.v2 .toc li,.post.v2 .toc a{font-size:calc(16px*var(--blog-scale))!important}
.toc li{margin:.5em 0;white-space:normal;overflow-wrap:break-word;word-break:normal;hyphens:none}
.toc li::marker{color:var(--v2-acc);font-family:'JetBrains Mono',monospace;font-size:.9em}
.toc a{color:var(--v2-fg);text-decoration:none;font-weight:500;display:inline}
.toc a:hover{color:var(--v2-acc);text-decoration:underline}
@media(max-width:900px){.shell.post.v2{width:calc(100% - 32px)}.post-grid,.post-grid.no-toc{grid-template-columns:minmax(0,1fr);gap:0}.toc{display:none}.post.v2 .fig-hero{max-width:none}.post-body,.post.v2 .post-body p,.post.v2 .post-body li{font-size:calc(20.27px*var(--blog-scale))!important}}
/* lightbox */
.lb-open{overflow:hidden}
.lb{position:fixed;inset:0;z-index:1000;background:rgba(10,12,15,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;cursor:zoom-out}
.lb img{max-width:min(1600px,96vw);max-height:84vh;object-fit:contain;border-radius:4px}
.lb-cap{color:#D5D9DE;font:14px/1.5 'Space Grotesk',sans-serif;max-width:900px;text-align:center;margin:12px 0 0}
.lb-cap b{font-family:'JetBrains Mono',monospace;color:#fff}
.lb-x{position:absolute;top:14px;right:18px;background:none;border:1px solid #9AA3AD;color:#fff;font:16px 'JetBrains Mono',monospace;padding:4px 10px;cursor:pointer}
/* listagem v2 (index.html adiciona .v2 na .list) */
.list.v2{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;counter-reset:none}
.list.v2 .card{display:flex;flex-direction:column;padding:0;border:1px solid var(--v2-line);border-radius:8px;overflow:hidden;background:var(--v2-card);counter-increment:none}
.list.v2 .card::before{content:none}
.list.v2 .card:hover{box-shadow:none;border-color:var(--v2-acc)}
.list.v2 .card>*{grid-column:auto}
.list.v2 .card .cover{aspect-ratio:16/9;width:100%;object-fit:cover;display:block;background:var(--v2-code)}
.list.v2 .card .cover.none{display:grid;place-items:center;font:700 calc(38.4px*var(--blog-scale)) 'JetBrains Mono',monospace;color:var(--v2-mut)}
.list.v2 .card time,.list.v2 .card h2,.list.v2 .card p,.list.v2 .card .engage{margin-left:18px;margin-right:18px}
.list.v2 .card time{margin-top:14px}
.list.v2 .card .tag{color:var(--v2-acc)}
.list.v2 .card h2{font-size:calc(20.8px*var(--blog-scale))!important;color:var(--v2-fg)!important}
.list.v2 .card p{color:var(--v2-mut)!important}
.list.v2 .card .engage{margin-bottom:14px;margin-top:auto;padding-top:10px}
.list.v2 .card.featured{grid-column:1/-1;display:grid;grid-template-columns:1.4fr 1fr;align-items:start}
.list.v2 .card.featured .cover{grid-row:1/6;height:100%}
.list.v2 .card.featured h2{font-size:calc(32px*var(--blog-scale))!important}
@media(max-width:760px){.list.v2 .card.featured{display:flex}}
/* fix1: tabelas markdown */
.post-body .tbl{margin:2em 0}
.post-body .tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--v2-line);border-radius:6px;background:var(--v2-card)}
.post-body .tbl-scroll:focus-visible{outline:2px solid var(--v2-acc);outline-offset:2px}
.post-body table{width:100%;border-collapse:collapse;margin:0;font-family:'Space Grotesk',system-ui,sans-serif!important;font-size:calc(18.67px*var(--blog-scale))!important;line-height:1.5;color:var(--v2-fg)!important}
.post-body table caption{caption-side:bottom;text-align:left;padding:.7em 1em;font:400 calc(15px*var(--blog-scale))/1.5 'Space Grotesk',sans-serif;color:var(--v2-mut);font-style:italic;border-top:1px solid var(--v2-line)}
.post.v2 .post-body th,.post.v2 .post-body td{padding:.6em .9em;border-bottom:1px solid var(--v2-line);vertical-align:top;text-align:left;min-width:9em;color:var(--v2-fg)!important;font-size:inherit!important}
.post-body thead th{font-weight:700;background:var(--v2-code);white-space:nowrap}
.post-body tbody tr:last-child td{border-bottom:0}
.post-body td code{white-space:nowrap}
.post.v2 .post-body strong,.post.v2 .post-body em,.post.v2 .post-body a,.post.v2 .post-body b,.post.v2 .post-body span{font-size:inherit!important;line-height:inherit!important}
.post.v2 .post-body code{font-size:.86em!important}
.post.v2 .post-body code::before,.post.v2 .post-body code::after,.post.v2 .post-body blockquote p::before,.post.v2 .post-body blockquote p::after{content:none!important}
