/* What Adam Is Reading — archive site stylesheet */
:root{
  --blue-dark:#0a2a4a; --blue-deep:#0d3460; --blue-mid:#1a5f94;
  --blue-bright:#2176ae; --blue-light:#b8d8f0; --blue-pale:#e8f3fb;
  --bg:#f4f9fd; --text-main:#1a2a38; --text-mid:#3a5068; --text-muted:#6a8898;
  --border:#cce0ee; --white:#ffffff;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0; background:var(--bg); color:var(--text-main);
  font-family:'DM Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  font-size:16px; line-height:1.6;
}
a{color:var(--blue-mid);}
.wrapper{max-width:760px; margin:0 auto; padding:0 20px 64px;}

/* ---- top site bar ---- */
.site-bar{
  background:var(--blue-dark); color:#fff;
}
.site-bar-inner{
  max-width:760px; margin:0 auto; padding:14px 20px;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.site-bar a{color:#fff; text-decoration:none;}
.site-bar .brand{
  font-family:'DM Serif Display',Georgia,serif; font-size:18px; letter-spacing:.01em;
}
.site-bar nav a{
  font-size:13px; color:var(--blue-light); margin-left:18px; text-decoration:none;
}
.site-bar nav a:hover{color:#fff;}

/* ---- post header ---- */
.post-header{
  background:var(--blue-dark); padding:40px 36px 32px; margin:0 -20px 30px;
}
.post-header .eyebrow{
  font-size:10px; font-weight:600; letter-spacing:.2em; text-transform:uppercase;
  color:var(--blue-light); margin-bottom:12px;
}
.post-header h1{
  font-family:'DM Serif Display',Georgia,serif; font-weight:400;
  font-size:clamp(26px,4.5vw,36px); line-height:1.18; color:#fff; margin:0 0 14px;
}
.post-header .date{font-size:14px; color:var(--blue-light);}
.post-header .rule{display:flex; height:3px; margin-top:20px; max-width:200px;}
.post-header .rule span{flex:1;}
.post-header .rule .r1{background:var(--blue-bright);}
.post-header .rule .r2{background:var(--blue-light);}
.post-header .rule .r3{background:rgba(255,255,255,.25);}

/* ---- prose (original newsletter body) ---- */
.prose{font-size:16.5px; line-height:1.7; color:var(--text-main);}
.prose p{margin:0 0 15px;}
.prose a{color:var(--blue-mid); text-decoration:underline; text-underline-offset:2px; word-break:break-word;}
.prose h1,.prose h2,.prose h3,.prose h4{
  font-family:'DM Serif Display',Georgia,serif; font-weight:400; color:var(--blue-dark);
  line-height:1.25; margin:28px 0 12px;
}
.prose h2{font-size:22px;} .prose h3{font-size:19px;} .prose h4{font-size:17px;}
.prose img{max-width:100%; height:auto; border-radius:4px; margin:10px 0;}
.prose ul,.prose ol{margin:0 0 15px; padding-left:24px;}
.prose li{margin:0 0 6px;}
.prose blockquote{
  margin:0 0 18px; padding:10px 18px; border-left:3px solid var(--blue-mid);
  background:var(--blue-pale); color:var(--text-mid);
}
.prose table{border-collapse:collapse; max-width:100%; margin:0 0 16px;}
.prose td,.prose th{border:1px solid var(--border); padding:6px 10px; text-align:left; vertical-align:top;}
.prose hr{border:none; border-top:1px solid var(--border); margin:26px 0;}

/* ---- prev / next ---- */
.postnav{
  display:flex; justify-content:space-between; gap:12px;
  margin-top:40px; padding-top:22px; border-top:1px solid var(--border);
  font-size:14px;
}
.postnav a{text-decoration:none; color:var(--blue-mid); max-width:46%;}
.postnav a .lbl{display:block; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--text-muted); margin-bottom:3px;}
.postnav a.next{text-align:right; margin-left:auto;}
.postnav span.spacer{flex:1;}

/* ---- footer ---- */
.site-footer{
  border-top:1px solid var(--border); margin-top:48px; padding-top:20px;
  font-size:12.5px; color:var(--text-muted); line-height:1.6;
}

/* ================= INDEX ================= */
.hero{
  background:var(--blue-dark); color:#fff; padding:48px 36px 40px; margin:0 -20px 6px;
}
.hero .eyebrow{font-size:11px; font-weight:600; letter-spacing:.24em; text-transform:uppercase; color:var(--blue-light); margin-bottom:14px;}
.hero h1{font-family:'DM Serif Display',Georgia,serif; font-weight:400; font-size:clamp(30px,6vw,46px); line-height:1.1; margin:0 0 14px;}
.hero p{font-size:15.5px; color:var(--blue-light); max-width:560px; margin:0;}
.hero .rule{display:flex; height:3px; margin-top:22px; max-width:220px;}
.hero .rule span{flex:1;}
.hero .rule .r1{background:var(--blue-bright);} .hero .rule .r2{background:var(--blue-light);} .hero .rule .r3{background:rgba(255,255,255,.25);}

.latest{
  background:var(--white); border:1px solid var(--border); border-radius:6px;
  padding:22px 24px; margin:26px 0 30px; box-shadow:0 1px 3px rgba(10,42,74,.06);
}
.latest .kicker{font-size:10px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--blue-bright); margin-bottom:8px;}
.latest h2{font-family:'DM Serif Display',Georgia,serif; font-weight:400; font-size:24px; line-height:1.22; margin:0 0 8px;}
.latest h2 a{color:var(--blue-dark); text-decoration:none;}
.latest h2 a:hover{color:var(--blue-mid);}
.latest .date{font-size:13px; color:var(--text-muted);}

.searchbox{margin:0 0 22px;}
.searchbox input{
  width:100%; padding:12px 14px; font-size:15px; font-family:inherit;
  border:1px solid var(--border); border-radius:6px; background:var(--white); color:var(--text-main);
}
.searchbox input:focus{outline:none; border-color:var(--blue-mid); box-shadow:0 0 0 3px rgba(33,118,174,.12);}
.searchcount{font-size:12.5px; color:var(--text-muted); margin:8px 2px 0;}

.yeargroup{margin:0 0 26px;}
.yearhead{
  font-family:'DM Serif Display',Georgia,serif; font-size:22px; color:var(--blue-mid);
  border-bottom:1px solid var(--border); padding-bottom:6px; margin:0 0 6px;
}
ul.issuelist{list-style:none; margin:0; padding:0;}
ul.issuelist li{
  display:flex; gap:14px; align-items:baseline;
  padding:9px 4px; border-bottom:1px solid #e3eef7;
}
ul.issuelist li .idate{
  flex:0 0 92px; font-size:12.5px; color:var(--text-muted); font-variant-numeric:tabular-nums;
}
ul.issuelist li a{
  color:var(--text-main); text-decoration:none; font-size:15.5px; line-height:1.4;
}
ul.issuelist li a:hover{color:var(--blue-mid); text-decoration:underline;}
.nohits{display:none; color:var(--text-muted); font-size:14px; padding:14px 4px;}

/* ---- topic chips on post pages ---- */
.topictags{display:flex; flex-wrap:wrap; gap:7px; margin:16px 0 24px;}
.topictags a{
  font-size:11.5px; font-weight:500; text-decoration:none;
  color:var(--blue-mid); background:var(--blue-pale); border:1px solid var(--border);
  padding:3px 10px; border-radius:12px;
}
.topictags a.seg{background:#eef7f1; color:var(--green); border-color:#bfe0cd;}
.topictags a:hover{border-color:var(--blue-mid);}

/* ---- index two-column layout with themes sidebar ---- */
.wrapper.wide{max-width:1000px;}
.layout{display:grid; grid-template-columns:1fr 250px; gap:36px; align-items:start;}
.layout main{min-width:0;}
aside.themes{position:sticky; top:16px;}
aside.themes h3{
  font-family:'DM Serif Display',Georgia,serif; font-weight:400; font-size:18px;
  color:var(--blue-dark); margin:0 0 4px;
}
aside.themes .sub{font-size:11px; color:var(--text-muted); margin:0 0 12px;}
ul.themelist{list-style:none; margin:0 0 18px; padding:0;}
ul.themelist li{margin:0 0 5px;}
ul.themelist button{
  width:100%; text-align:left; cursor:pointer; font-family:inherit; font-size:13.5px;
  color:var(--text-mid); background:var(--white); border:1px solid var(--border);
  border-radius:5px; padding:7px 10px; display:flex; justify-content:space-between; gap:8px;
}
ul.themelist button:hover{border-color:var(--blue-mid); color:var(--blue-dark);}
ul.themelist button.active{background:var(--blue-dark); color:#fff; border-color:var(--blue-dark);}
ul.themelist button .cnt{color:var(--text-muted); font-variant-numeric:tabular-nums;}
ul.themelist button.active .cnt{color:var(--blue-light);}
.themehead{font-size:10px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--text-muted); margin:0 0 8px;}
details.themegroup{margin:0 0 14px;}
details.themegroup>summary{
  cursor:pointer; list-style:none; user-select:none;
  font-size:10px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--blue-mid); margin:0 0 8px; padding:2px 0; display:flex; align-items:center; gap:6px;
}
details.themegroup>summary::-webkit-details-marker{display:none;}
details.themegroup>summary::before{content:"\25B8"; font-size:9px; transition:transform .15s ease;}
details.themegroup[open]>summary::before{transform:rotate(90deg);}
#clearfilter{
  display:none; width:100%; cursor:pointer; font-family:inherit; font-size:12.5px;
  color:var(--blue-mid); background:none; border:1px dashed var(--border); border-radius:5px; padding:7px;
}
#clearfilter.show{display:block;}

@media (max-width:760px){
  .layout{grid-template-columns:1fr; gap:20px;}
  aside.themes{position:static; order:-1;}
  ul.themelist{display:flex; flex-wrap:wrap; gap:6px;}
  ul.themelist li{margin:0;}
  ul.themelist button{width:auto;}
}
@media (max-width:600px){
  .post-header{padding:28px 20px 24px;}
  .hero{padding:34px 20px 28px;}
  ul.issuelist li{flex-direction:column; gap:2px;}
  ul.issuelist li .idate{flex-basis:auto;}
}
