/* Shared by the blog and its editor, on top of nuclei.css. */
:root{--ease:cubic-bezier(.2,.7,.3,1);--snap:cubic-bezier(.3,1.25,.5,1);}
html{scroll-padding-top:84px;}
body{-webkit-font-smoothing:antialiased;overflow-x:hidden;}
@keyframes rise{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px;}

.site-nav{position:sticky;top:0;z-index:20;background:rgba(7,10,8,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-soft);}
.nav-row{display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px;}
.brand{display:flex;align-items:center;gap:10px;font:700 18px var(--font-display);}
.brand img{width:28px;height:28px;border-radius:7px;object-fit:cover;box-shadow:0 0 16px var(--green-glow);transition:transform .4s var(--snap);}
.brand:hover img{transform:rotate(-10deg) scale(1.08);}
.nav-links{display:flex;gap:28px;font-size:14px;color:var(--text-dim);}
.nav-links a{transition:color .2s ease;}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--text);}
.nav-cta{display:flex;align-items:center;gap:10px;}
.btn.lift{transition:background .15s ease,border-color .15s ease,transform .25s var(--snap),box-shadow .25s ease;}
.btn.primary.lift:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 22px var(--green-glow);}

/* the post body */
.prose{font-size:16.5px;line-height:1.75;color:#d5ddd8;overflow-wrap:break-word;}
.prose>*:first-child{margin-top:0;}
.prose p,.prose ul,.prose ol,.prose blockquote,.prose pre,.prose .table-scroll,.prose figure{margin:0 0 1.25em;}
.prose h2,.prose h3,.prose h4{color:var(--text);font-family:var(--font-display);letter-spacing:-.01em;line-height:1.3;}
.prose h2{margin:1.9em 0 .6em;font-size:1.5em;}
.prose h3{margin:1.6em 0 .5em;font-size:1.22em;}
.prose h4{margin:1.4em 0 .4em;font-size:1.05em;}
.prose h1{margin:1.6em 0 .6em;font-size:1.8em;color:var(--text);}
.prose a{color:var(--green);text-decoration:underline;text-decoration-color:var(--green-dim);text-underline-offset:3px;transition:text-decoration-color .15s ease;}
.prose a:hover{text-decoration-color:var(--green);}
.prose strong{color:var(--text);font-weight:600;}
.prose ul,.prose ol{padding-left:1.4em;}
.prose li{margin:.3em 0;}
.prose li::marker{color:var(--text-faint);}
.prose blockquote{padding:.2em 0 .2em 1.1em;color:var(--text-dim);border-left:3px solid var(--green-dim);}
.prose hr{height:1px;margin:2.4em 0;background:var(--border);border:0;}
.prose img{display:block;max-width:100%;height:auto;margin:1.6em auto;border:1px solid var(--border-soft);border-radius:10px;}
.prose code{padding:.15em .4em;font:.86em var(--font-mono);color:var(--text);background:var(--bg-panel-alt);border:1px solid var(--border-soft);border-radius:5px;}
.prose pre{padding:16px 18px;overflow-x:auto;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;}
.prose pre code{padding:0;font-size:13.5px;line-height:1.65;background:none;border:0;}
.prose .table-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:10px;}
.prose table{width:100%;border-collapse:collapse;font-size:14.5px;}
.prose th,.prose td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--border-soft);}
.prose th{font-weight:600;color:var(--text);background:var(--bg-panel);}
.prose tr:last-child td{border-bottom:0;}
.prose .math-block{margin:0 0 1.25em;overflow-x:auto;overflow-y:hidden;}
.prose .katex{font-size:1.08em;}
.prose input[type="checkbox"]{margin-right:.5em;accent-color:var(--green);}

.badge{display:inline-flex;align-items:center;padding:2px 9px;font:500 11.5px var(--font-body);border:1px solid var(--border);border-radius:99px;color:var(--text-dim);}
.badge.draft{color:var(--amber);border-color:rgba(255,184,77,.35);background:var(--amber-glow);}

@media (max-width:720px){
  .wrap{padding:0 16px;}
  .nav-links{display:none;}
  .prose{font-size:16px;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-iteration-count:1 !important;}
}
