@font-face{font-family:'Newsreader';src:url('fonts/newsreader-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Newsreader';src:url('fonts/newsreader-latin-600-normal.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Newsreader';src:url('fonts/newsreader-latin-400-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('fonts/jetbrains-mono-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{--violet:#6d28d9;--violet-dark:#5b21b6;--ink:#1e293b;--muted:#64748b;--line:#e2e8f0;--bg:#fcfcfd}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:'Newsreader',Georgia,Cambria,serif;font-size:1.125rem;line-height:1.75;-webkit-font-smoothing:antialiased}
.wrap{max-width:42rem;margin:0 auto;padding:0 1.25rem}
header.site{border-bottom:1px solid var(--line);padding:1.1rem 0}
header.site .wrap{display:flex;align-items:baseline;justify-content:space-between}
.brand{font-weight:600;font-size:1.05rem;color:var(--ink);text-decoration:none}
.brand span{color:var(--violet)}
nav.top a{font-family:ui-sans-serif,system-ui,sans-serif;font-size:.8rem;color:var(--muted);text-decoration:none;margin-left:1.1rem;letter-spacing:.02em}
nav.top a:hover{color:var(--violet)}
main{padding:3.5rem 0 4rem}
.eyebrow{display:flex;align-items:center;gap:.75rem;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--violet)}
.eyebrow::after{content:'';height:1px;flex:1;background:var(--line)}
h1{font-size:2.15rem;line-height:1.2;font-weight:600;margin:.9rem 0 .6rem;letter-spacing:-.01em}
.meta{font-family:'JetBrains Mono',monospace;font-size:.75rem;color:var(--muted);margin-bottom:2.2rem}
.lead{font-size:1.28rem;line-height:1.65;font-style:italic;color:#334155;margin-bottom:2.4rem}
article h2{font-size:1.4rem;font-weight:600;margin:2.4rem 0 .7rem;letter-spacing:-.01em}
article p{margin-bottom:1.15rem}
article ul{margin:0 0 1.15rem 1.3rem}
article li{margin-bottom:.4rem}
article a{color:var(--violet);text-decoration:underline;text-underline-offset:3px}
.mono{font-family:'JetBrains Mono',monospace;font-size:.85em;background:#f1f5f9;padding:.1em .4em;border-radius:4px;white-space:nowrap}
.cta{margin:3rem 0 0;padding:1.6rem;border:1px solid var(--line);border-radius:10px;background:#fff}
.cta p{margin-bottom:1rem;color:#334155}
.btn{display:inline-block;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.85rem;font-weight:500;color:var(--violet);border:1px solid var(--violet);border-radius:8px;padding:.55rem 1.1rem;text-decoration:none;margin-right:.7rem}
.btn:hover{background:var(--violet);color:#fff}
.btn.ghost{border-color:var(--line);color:var(--muted)}
.btn.ghost:hover{background:transparent;border-color:var(--violet);color:var(--violet)}
.related{margin-top:3rem;border-top:1px solid var(--line);padding-top:1.6rem}
.related h3{font-family:ui-sans-serif,system-ui,sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.9rem}
.related a{display:block;color:var(--ink);text-decoration:none;padding:.45rem 0;border-bottom:1px dotted var(--line);font-size:1.02rem}
.related a:hover{color:var(--violet)}
footer.site{border-top:1px solid var(--line);padding:1.6rem 0 2.2rem;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.78rem;color:var(--muted)}
footer.site a{color:var(--muted)}
footer.site a:hover{color:var(--violet)}
/* índice */
.post-list a.item{display:block;text-decoration:none;color:var(--ink);padding:1.5rem 0;border-bottom:1px solid var(--line)}
.post-list a.item:hover h2{color:var(--violet)}
.post-list .eyebrow{margin-bottom:.35rem}
.post-list h2{font-size:1.45rem;font-weight:600;line-height:1.25;margin:.2rem 0 .4rem;letter-spacing:-.01em}
.post-list p{color:var(--muted);font-size:1rem;line-height:1.6}
@media (max-width:640px){h1{font-size:1.7rem}.lead{font-size:1.12rem}}
