/* rekall-terminal — tema Ghost com a identidade do site rekall.com.br */
:root{
  --bg:#202020;
  --bg-deep:#171717;
  --ink:#efeee9;
  --ink-soft:#aaa;
  --ink-dim:#777;
  --accent:#d8d4ca;
  --line:#3a3a3a;
  --mono:"DM Mono",ui-monospace,monospace;
  --sans:"Inter",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;height:auto;display:block}

/* NAV (espelha o site) */
.site-nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 6.3vw;background:#202020f2;backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.site-nav .logo{font:500 13px var(--mono);letter-spacing:1px;text-decoration:none}
.site-nav .logo b{color:var(--accent)}
.site-nav nav{display:flex;gap:26px}
.site-nav nav a{font:10px var(--mono);letter-spacing:1.2px;color:var(--ink-soft);text-decoration:none;transition:color .18s}
.site-nav nav a:hover,.site-nav nav a.active{color:var(--ink)}
.site-nav .access{font:10px var(--mono);letter-spacing:1px;padding:12px 18px;border-radius:6px;background:var(--accent);color:#202020;text-decoration:none;transition:background .18s}
.site-nav .access:hover{background:#fff}
@media(max-width:780px){.site-nav{padding:14px 20px}.site-nav nav{display:none}}

/* LISTAGEM */
.knowledge{max-width:1060px;margin:0 auto;padding:90px 6.3vw 70px}
.section-code{font:9px var(--mono);letter-spacing:2px;color:var(--ink-dim)}
.knowledge-head h1{margin:26px 0 18px;font:300 clamp(52px,8vw,92px)/0.95 var(--mono);letter-spacing:-3px}
.knowledge-head p{max-width:520px;color:var(--ink-soft);font-size:15px}
.posts{margin-top:70px;border-top:1px solid var(--line)}
.post-card{display:block;padding:34px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:padding-left .2s}
.post-card:hover{padding-left:14px}
.post-meta{font:9px var(--mono);letter-spacing:1.5px;color:var(--ink-dim);text-transform:uppercase}
.post-card h2{margin:12px 0 10px;font:400 clamp(24px,3.4vw,34px)/1.15 var(--mono);letter-spacing:-1px}
.post-card p{max-width:640px;color:var(--ink-soft);font-size:14px}
.post-card b{display:inline-block;margin-top:16px;font:9px var(--mono);letter-spacing:1.5px;color:var(--accent)}
.empty{padding:60px 0;font:11px var(--mono);letter-spacing:1.5px;color:var(--ink-dim)}

/* PAGINAÇÃO */
.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:40px;font:10px var(--mono);letter-spacing:1.2px}
.pagination a{color:var(--accent);text-decoration:none}
.pagination a:hover{color:#fff}
.page-number{color:var(--ink-dim)}

/* ARTIGO */
.article{max-width:860px;margin:0 auto;padding:90px 6.3vw 60px}
.article-head h1{margin:24px 0 20px;font:300 clamp(38px,6vw,64px)/1.02 var(--mono);letter-spacing:-2px}
.article-lead{max-width:640px;color:var(--ink-soft);font-size:17px}
.article-image{margin:44px 0}
.article-image img{border-radius:8px;border:1px solid var(--line)}
.article-image figcaption{margin-top:10px;font:9px var(--mono);letter-spacing:1.2px;color:var(--ink-dim)}

/* CONTEÚDO (prosa) */
.article-content{margin-top:44px;max-width:680px;font-size:16.5px;line-height:1.75;color:#dedcd5}
.article-content h2,.article-content h3{font-family:var(--mono);font-weight:400;letter-spacing:-.5px;margin:2.2em 0 .7em;color:var(--ink)}
.article-content h2{font-size:28px}
.article-content h3{font-size:21px}
.article-content p{margin:0 0 1.25em}
.article-content a{color:var(--accent);text-underline-offset:3px}
.article-content a:hover{color:#fff}
.article-content ul,.article-content ol{margin:0 0 1.25em 1.2em}
.article-content li{margin-bottom:.4em}
.article-content blockquote{margin:1.6em 0;padding:4px 0 4px 20px;border-left:2px solid var(--accent);color:var(--ink-soft);font-style:italic}
.article-content code{font-family:var(--mono);font-size:.88em;background:var(--bg-deep);padding:2px 7px;border-radius:4px;border:1px solid var(--line)}
.article-content pre{margin:1.6em 0;padding:20px;background:var(--bg-deep);border:1px solid var(--line);border-radius:8px;overflow-x:auto}
.article-content pre code{background:none;border:0;padding:0;font-size:13.5px;line-height:1.6}
.article-content img{margin:1.6em 0;border-radius:8px;border:1px solid var(--line)}
.article-content figcaption{font:9px var(--mono);letter-spacing:1.2px;color:var(--ink-dim);margin-top:10px}
.article-content hr{margin:2.5em 0;border:0;border-top:1px solid var(--line)}
.article-content .kg-card{margin:1.6em 0}
.article-content .kg-width-wide{max-width:860px;width:calc(100vw - 12.6vw);margin-left:50%;transform:translateX(-50%)}
.article-content .kg-width-full{max-width:1200px;width:calc(100vw - 12.6vw);margin-left:50%;transform:translateX(-50%)}

/* RODAPÉ DO ARTIGO */
.article-foot{margin-top:60px;padding-top:26px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.article-tags{display:flex;gap:14px;flex-wrap:wrap}
.article-tags a{font:10px var(--mono);letter-spacing:1px;color:var(--ink-dim);text-decoration:none}
.article-tags a:hover{color:var(--accent)}
.back-link{font:10px var(--mono);letter-spacing:1.2px;color:var(--accent);text-decoration:none}
.back-link:hover{color:#fff}

/* PRÓXIMA LEITURA */
.read-next{max-width:860px;margin:0 auto;padding:0 6.3vw 80px}
.read-next a{display:block;margin-top:14px;padding:28px;border:1px solid var(--line);border-radius:8px;text-decoration:none;transition:border-color .2s,transform .2s}
.read-next a:hover{border-color:var(--accent);transform:translateY(-2px)}
.read-next h3{font:400 22px/1.2 var(--mono);letter-spacing:-.5px}
.read-next b{display:inline-block;margin-top:14px;font:9px var(--mono);letter-spacing:1.5px;color:var(--accent)}

/* CTA */
.blog-cta{max-width:1060px;margin:0 auto;padding:80px 6.3vw;border-top:1px solid var(--line);text-align:left}
.blog-cta h2{margin:24px 0 14px;font:300 clamp(34px,5vw,54px)/1 var(--mono);letter-spacing:-2px}
.blog-cta p{max-width:480px;color:var(--ink-soft);font-size:14px}
.blog-cta a{display:inline-block;margin-top:26px;padding:15px 26px;border-radius:6px;background:var(--accent);color:#202020;font:10px var(--mono);letter-spacing:1.2px;text-decoration:none;transition:background .18s,transform .18s}
.blog-cta a:hover{background:#fff;transform:translateY(-2px)}

/* FOOTER */
.minimal-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 6.3vw;background:var(--bg-deep);color:var(--ink-dim);flex-wrap:wrap}
.minimal-footer span{font:8px var(--mono);letter-spacing:.5px}
.minimal-footer .back-link{font-size:9px}
