/* Stacklog — site.css
   Independent dev blog. Dark terminal accents, monospace headings,
   warm paper background for reading, hard-edged widget boxes. */

@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=Source+Serif+4:opsz@8..60&display=swap');

:root{
  --paper: #f6f3ec;
  --paper-2: #efeadd;
  --ink: #1b1b17;
  --ink-soft: #4a4740;
  --rule: #d9d2bf;
  --accent: #1f7a4d;
  --accent-ink: #0d3a23;
  --code-bg: #0d1117;
  --code-ink: #c9d1d9;
  --code-accent: #7ee787;
  --link: #185c38;
  --warn: #b5541a;
  --maxw: 1180px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Source Serif 4', Georgia, 'Times New Roman', serif;
  font-size:18px;
  line-height:1.65;
}

a{color:var(--link);text-decoration-thickness:1px;}
a:hover{color:var(--accent-ink);}

h1,h2,h3,h4,.site-title,.widget-title,.wp-block-heading{
  font-family:'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing:-0.01em;
}

/* ---------- site header ---------- */
.site-header{
  max-width:var(--maxw);
  margin:0 auto;
  padding:28px 20px 18px;
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  border-bottom:3px solid var(--ink);
  flex-wrap:wrap;
  gap:12px;
}
.site-branding .site-title{
  font-size:28px;
  font-weight:700;
  color:var(--ink);
  text-decoration:none;
}
.site-branding .site-title::before{
  content:"$ ";
  color:var(--accent);
}
.site-branding .site-description{
  margin:2px 0 0;
  font-size:14px;
  color:var(--ink-soft);
  font-family:'JetBrains Mono', monospace;
}
.site-nav ul{list-style:none;display:flex;gap:22px;margin:0;padding:0;font-family:'JetBrains Mono', monospace;font-size:14px;text-transform:uppercase;letter-spacing:.04em;}
.site-nav a{text-decoration:none;color:var(--ink);border-bottom:2px solid transparent;padding-bottom:4px;}
.site-nav a:hover{border-bottom-color:var(--accent);}

/* ---------- ad slots ---------- */
.ad-label{
  max-width:var(--maxw);
  margin:18px auto 6px;
  padding:0 20px;
  font-family:'JetBrains Mono', monospace;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#9a9382;
  text-align:center;
}
.ad-slot{
  max-width:var(--maxw);
  margin:0 auto 24px;
  padding:0 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:90px;
  background:repeating-linear-gradient(45deg, #ece6d5, #ece6d5 10px, #e4ddc8 10px, #e4ddc8 20px);
  border:1px dashed #c8bfa3;
}
.ad-leaderboard{min-height:100px;max-width:calc(var(--maxw) - 40px);}
.ad-incontent{min-height:120px;}
.widget .ad-slot, .widget .ad-label{max-width:none;padding:0;}
.widget .ad-slot{min-height:250px;}

/* ---------- breadcrumbs ---------- */
.breadcrumbs{
  max-width:var(--maxw);
  margin:16px auto 0;
  padding:0 20px;
  font-family:'JetBrains Mono', monospace;
  font-size:12px;
  color:var(--ink-soft);
}
.breadcrumbs a{color:var(--ink-soft);}

/* ---------- layout ---------- */
.site-main{
  max-width:var(--maxw);
  margin:20px auto 60px;
  padding:0 20px;
  display:grid;
  grid-template-columns: minmax(0,1fr) 320px;
  gap:48px;
  align-items:start;
}
@media (max-width:860px){
  .site-main{grid-template-columns:1fr;}
}

/* ---------- article ---------- */
article.post{min-width:0;}
.entry-header .cat-tag{
  display:inline-block;
  font-family:'JetBrains Mono', monospace;
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--accent-ink);
  background:#e2efe6;
  border:1px solid #bcdcc6;
  padding:3px 8px;
  margin-bottom:10px;
}
.entry-header h1{
  font-size:38px;
  line-height:1.15;
  margin:0 0 12px;
}
.byline{
  font-family:'JetBrains Mono', monospace;
  font-size:13px;
  color:var(--ink-soft);
  margin-bottom:18px;
}
.byline a{color:var(--ink-soft);}

.entry-content h2.wp-block-heading{
  font-size:24px;
  margin:40px 0 14px;
  padding-top:14px;
  border-top:1px solid var(--rule);
}
.entry-content p{margin:0 0 20px;}
.entry-content ul.wp-block-list{margin:0 0 20px;padding-left:1.3em;}
.entry-content li{margin-bottom:8px;}

figure.wp-block-image{margin:28px 0;}
figure.wp-block-image img{width:100%;display:block;border:1px solid var(--rule);}
figure.wp-block-image figcaption{
  font-family:'JetBrains Mono', monospace;
  font-size:12px;
  color:var(--ink-soft);
  margin-top:8px;
}

pre.wp-block-code{
  background:var(--code-bg);
  color:var(--code-ink);
  padding:18px 20px;
  overflow-x:auto;
  border-radius:4px;
  margin:24px 0;
  font-family:'JetBrains Mono', monospace;
  font-size:13.5px;
  line-height:1.55;
  border-left:3px solid var(--code-accent);
}
pre.wp-block-code code{color:inherit;background:none;}

blockquote{
  border-left:3px solid var(--accent);
  margin:24px 0;
  padding:4px 0 4px 18px;
  color:var(--ink-soft);
  font-style:italic;
}

table.wp-block-table{width:100%;border-collapse:collapse;margin:24px 0;font-size:15px;}
table.wp-block-table th, table.wp-block-table td{border:1px solid var(--rule);padding:8px 10px;text-align:left;}
table.wp-block-table th{background:var(--paper-2);font-family:'JetBrains Mono', monospace;font-size:12.5px;text-transform:uppercase;}

/* entry footer / tags / author box */
.entry-footer{margin-top:40px;padding-top:20px;border-top:1px solid var(--rule);}
.post-tags{font-family:'JetBrains Mono', monospace;font-size:13px;margin-bottom:24px;}
.post-tags a{display:inline-block;background:var(--paper-2);border:1px solid var(--rule);padding:3px 9px;margin:0 6px 6px 0;text-decoration:none;color:var(--ink);}

.author-box{
  display:flex;
  gap:16px;
  background:var(--paper-2);
  border:1px solid var(--rule);
  padding:18px;
  margin:24px 0;
}
.author-box img{width:64px;height:64px;border-radius:50%;flex-shrink:0;}
.author-box h3{margin:0 0 4px;font-size:15px;}
.author-box p{margin:0;font-size:14.5px;color:var(--ink-soft);}

.related-posts{margin:36px 0;}
.related-posts h2{font-size:17px;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--rule);padding-bottom:8px;}
.related-posts ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
@media (max-width:640px){.related-posts ul{grid-template-columns:1fr;}}
.related-posts li{font-size:15px;}
.related-posts .rp-kicker{display:block;font-family:'JetBrains Mono', monospace;font-size:11px;color:var(--ink-soft);text-transform:uppercase;margin-bottom:3px;}

/* comments */
#comments{margin-top:48px;}
#comments > h2{font-size:20px;border-bottom:1px solid var(--rule);padding-bottom:10px;}
.comment-list{list-style:none;margin:0;padding:0;}
.comment{border-bottom:1px solid var(--rule);padding:18px 0;}
.comment .comment-author{font-family:'JetBrains Mono', monospace;font-size:13px;font-weight:700;}
.comment .comment-meta{font-family:'JetBrains Mono', monospace;font-size:11.5px;color:var(--ink-soft);margin-bottom:8px;}
.comment p{margin:0 0 8px;font-size:15.5px;}
.comment.is-reply{margin-left:36px;}
.comment-respond{background:var(--paper-2);border:1px solid var(--rule);padding:20px;margin-top:20px;}
.comment-respond label{display:block;font-family:'JetBrains Mono', monospace;font-size:12px;margin-bottom:4px;}
.comment-respond input, .comment-respond textarea{width:100%;padding:8px;margin-bottom:12px;border:1px solid var(--rule);background:#fff;font-family:inherit;font-size:14px;}
.comment-respond button{
  font-family:'JetBrains Mono', monospace;
  background:var(--ink);
  color:var(--paper);
  border:none;
  padding:10px 18px;
  cursor:pointer;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.06em;
}

/* ---------- sidebar ---------- */
.widget-area{display:flex;flex-direction:column;gap:28px;}
.widget{border:1px solid var(--rule);background:#fffdf7;padding:18px;}
.widget-title{font-size:14px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 14px;border-bottom:2px solid var(--ink);padding-bottom:8px;}
.widget-about img{width:52px;border-radius:50%;float:left;margin-right:12px;}
.widget-about p{font-size:14.5px;margin:0;color:var(--ink-soft);}
.widget-popular ol{margin:0;padding-left:1.1em;font-size:14.5px;}
.widget-popular li{margin-bottom:10px;}
.widget-newsletter p{font-size:13.5px;color:var(--ink-soft);margin:0 0 12px;}
.widget-newsletter input[type="email"]{width:100%;padding:9px;border:1px solid var(--rule);margin-bottom:10px;font-size:14px;}
.widget-newsletter button{width:100%;background:var(--accent-ink);color:#fff;border:none;padding:10px;font-family:'JetBrains Mono', monospace;text-transform:uppercase;font-size:12px;letter-spacing:.05em;cursor:pointer;}
.widget-newsletter .fine-print{font-size:11.5px;color:#8a8373;margin-top:8px;}

/* ---------- home page ---------- */
.post-list{display:flex;flex-direction:column;gap:36px;}
.post-summary{border-bottom:1px solid var(--rule);padding-bottom:28px;}
.post-summary h2{font-size:26px;margin:0 0 8px;}
.post-summary h2 a{text-decoration:none;color:var(--ink);}
.post-summary .post-meta{font-family:'JetBrains Mono', monospace;font-size:12.5px;color:var(--ink-soft);margin-bottom:10px;}
.post-summary .excerpt{margin:0 0 10px;}
.post-summary .read-more{font-family:'JetBrains Mono', monospace;font-size:13px;text-transform:uppercase;}
.hero-intro{font-size:16px;color:var(--ink-soft);max-width:640px;margin-bottom:8px;font-family:'JetBrains Mono', monospace;}

/* ---------- site footer ---------- */
.site-footer{
  border-top:3px solid var(--ink);
  padding:28px 20px 40px;
  max-width:var(--maxw);
  margin:0 auto;
  font-family:'JetBrains Mono', monospace;
  font-size:13px;
  color:var(--ink-soft);
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
}
.site-footer a{color:var(--ink-soft);}

/* Pubber: a filled ad container drops its placeholder styling */
.pb-filled{background:none !important;border:0 !important;min-height:0 !important;height:auto !important}
.pb-filled::before,.pb-filled::after{content:none !important;display:none !important}
