/* ============================================================
   Machine Dispatch — Ghost Theme
   screen.css
   ============================================================ */

/* --- Reset & Base ----------------------------------------- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
}

body {
  background-color: #0b0f12;
  color: #e6eef6;
  font-family: 'Inter', system-ui, sans-serif;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

a { color: inherit; text-decoration: none; }

/* --- Masthead --------------------------------------------- */
.site-header {
  background: #0b0f12;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  padding: 0 20px;
}

.site-header-inner {
  max-width: 900px;
  margin: 0 auto;
  padding: 28px 0 0;
}

.masthead-top-bar {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 16px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #4a6075;
}

.masthead-bureau { color: #f5e6a3; opacity: 0.7; }
.masthead-date { color: #4a6075; }

.masthead-main {
  margin-bottom: 14px;
}

.masthead-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(36px, 6vw, 58px);
  font-weight: 400;
  line-height: 1.0;
  color: #f0ece0;
  letter-spacing: -0.02em;
  display: block;
}

.masthead-rule {
  height: 1px;
  background: linear-gradient(to right, #f5e6a3, rgba(255,255,255,0.04));
  margin-bottom: 14px;
}

.masthead-bottom-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 18px;
}

.masthead-tagline {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #4a6075;
}

.site-nav {
  display: flex;
  gap: 24px;
}

.site-nav a {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #4a6075;
  transition: color 0.15s;
}

.site-nav a:hover { color: #f5e6a3; }

@media (max-width: 600px) {
  .masthead-bottom-bar { flex-direction: column; align-items: flex-start; gap: 10px; }
  .masthead-title { font-size: 36px; }
}

/* --- Main ------------------------------------------------- */
.site-main { flex: 1; }

/* --- Index / Post List ------------------------------------ */
.post-list-wrap {
  padding: 48px 20px 80px;
}

.post-list-inner {
  max-width: 720px;
  margin: 0 auto;
}

.index-header {
  margin-bottom: 48px;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  text-align: center;
}

.index-pub-name {
  font-family: 'Playfair Display', serif;
  font-size: 13px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #7b9ea8;
  margin-bottom: 10px;
}

.index-contact {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  color: #4a6075;
  margin-top: 8px;
}
.index-contact a { color: #7b9ea8; }
.index-contact a:hover { color: #a8c4d0; }

.index-dek {
  font-size: 13px;
  color: #4a6075;
  font-style: italic;
}

/* Post cards */
.post-feed {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.post-card {
  border-bottom: 1px solid rgba(255,255,255,0.04);
}

.post-card-link {
  display: block;
  padding: 22px 0;
  transition: background 0.15s;
}

.post-card-link:hover .post-card-title {
  color: #fff;
}

.post-card-section {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #e74c3c;
  display: block;
  margin-bottom: 8px;
}

.post-card-title {
  font-family: 'Playfair Display', serif;
  font-size: 20px;
  line-height: 1.3;
  font-weight: 700;
  color: #e8f0f8;
  margin-bottom: 8px;
  transition: color 0.15s;
}

.post-card-excerpt {
  font-size: 14px;
  line-height: 1.6;
  color: #7b9ea8;
  margin-bottom: 12px;
  font-style: italic;
}

.post-card-meta {
  display: flex;
  gap: 16px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  color: #2a4055;
  letter-spacing: 0.05em;
}

/* Pagination */
.pagination {
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  color: #4a6075;
}

.pagination a {
  color: #7b9ea8;
}

/* --- Single Post ------------------------------------------ */
.post-wrap {
  padding: 40px 20px 80px;
}

.post-inner {
  max-width: 720px;
  margin: 0 auto;
}

/* Ghost content wrapper — let the HTML card do its own thing */
.post-content {
  /* no extra styling — the HTML card carries all its own styles */
}

/* Suppress duplicate title/dek inside HTML cards — theme renders these natively above */
.post-content .pub-name,
.post-content .headline,
.post-content .dek,
.post-content .dateline {
  display: none;
}
.post-content .divider:first-of-type {
  display: none;
}

/* Override Ghost's default content styles that would fight the dark card */
.gh-content > * + * {
  margin-top: 0;
}

.gh-content p,
.gh-content ul,
.gh-content ol,
.gh-content blockquote {
  color: #e6eef6;
  font-size: 15px;
  line-height: 1.7;
}

.gh-content h1,
.gh-content h2,
.gh-content h3,
.gh-content h4 {
  color: #ffffff;
  font-family: 'Playfair Display', serif;
}

/* --- Footer ----------------------------------------------- */
.site-footer {
  border-top: 1px solid rgba(255,255,255,0.04);
  padding: 20px;
}

.site-footer-inner {
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  color: #2a4055;
  letter-spacing: 0.08em;
}

/* --- Dispatch Card Components ----------------------------- */
/* Used by all post HTML cards. Edit here, updates everywhere */

.md-wrap{background:#0b0f12;color:#e6eef6;font-family:'Inter',system-ui,sans-serif;padding:32px 20px;border-radius:8px;}
.md-inner{max-width:660px;margin:0 auto;}
.pub-name{font-family:'Playfair Display',serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#7b9ea8;margin-bottom:10px;text-align:center;}
.headline{font-family:'Playfair Display',serif;font-size:26px;line-height:1.25;color:#fff;font-weight:700;margin:14px 0 8px;text-align:center;}
.dek{font-size:14px;color:#8fa8bf;line-height:1.5;font-style:italic;margin-bottom:20px;text-align:center;}
.dateline{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#4a6075;letter-spacing:.05em;text-align:center;margin-top:6px;}
.divider{border:none;border-top:1px solid rgba(255,255,255,0.06);margin:18px 0;}
.alert-bar{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:6px;background:rgba(231,76,60,.06);border:1px solid rgba(231,76,60,.2);margin-bottom:20px;}
.alert-icon{font-family:'IBM Plex Mono',monospace;font-size:10px;color:#e74c3c;letter-spacing:.1em;white-space:nowrap;padding-top:2px;}
.alert-text{font-size:13px;color:#c8daea;line-height:1.6;}
.section-label{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#4a6075;letter-spacing:.12em;text-transform:uppercase;margin:24px 0 10px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.04);}
.summary-box{background:#071018;border:1px solid rgba(255,255,255,.04);border-radius:6px;padding:16px 18px;font-size:14px;line-height:1.65;color:#c8daea;}
.conf-obs{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:10px;padding:2px 7px;border-radius:3px;margin-right:6px;font-weight:600;background:#1a4a2e;color:#2ecc71;}
.conf-likely{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:10px;padding:2px 7px;border-radius:3px;margin-right:6px;font-weight:600;background:#3d3000;color:#f1c40f;}
.conf-poss{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:10px;padding:2px 7px;border-radius:3px;margin-right:6px;font-weight:600;background:#3d1f00;color:#e67e22;}
.body-text{font-size:15px;line-height:1.7;color:#d0e2f0;}
.body-text p{margin:0 0 14px;}
.quote-block{border-left:2px solid #e74c3c;padding:12px 16px;margin:16px 0;background:rgba(231,76,60,.04);border-radius:0 6px 6px 0;}
.quote-block p{font-size:14px;color:#c8daea;line-height:1.65;margin:0 0 6px;font-style:italic;}
.quote-meta{font-family:'IBM Plex Mono',monospace;font-size:10px;color:#4a6075;}
.threat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0;}
.threat-card{background:#0d1a24;border:1px solid rgba(231,76,60,.1);border-radius:6px;padding:12px 14px;}
.threat-label{font-family:'IBM Plex Mono',monospace;font-size:13px;color:#e74c3c;margin-bottom:6px;letter-spacing:.05em;font-weight:600;}
.threat-body{font-size:13px;color:#8fa8bf;line-height:1.5;}
.proposed{background:#071820;border:1px solid rgba(123,158,168,.12);border-radius:6px;padding:14px 16px;margin:16px 0;}
.proposed-item{display:flex;gap:10px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.03);font-size:13px;color:#8fa8bf;line-height:1.5;}
.proposed-item:last-child{border-bottom:none;}
.proposed-n{color:#7b9ea8;font-family:'IBM Plex Mono',monospace;font-size:11px;flex-shrink:0;padding-top:1px;}
.what-missing{background:#0d1a24;border:1px solid rgba(255,255,255,.05);border-radius:6px;padding:14px 16px;margin:16px 0;}
.missing-item{display:flex;gap:10px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.03);font-size:13px;color:#8fa8bf;line-height:1.5;}
.missing-item:last-child{border-bottom:none;}
.missing-x{color:#e74c3c;font-family:'IBM Plex Mono',monospace;font-size:11px;flex-shrink:0;padding-top:1px;}
.bigger-picture{background:linear-gradient(135deg,#071820,#0a1a28);border:1px solid rgba(123,158,168,.15);border-radius:6px;padding:18px 20px;}
.bp-text{font-size:14px;line-height:1.7;color:#b8cdd8;}
.bp-text p{margin:0 0 12px;}
.bp-close{margin-bottom:0;color:#7b9ea8;font-style:italic;}
.conf-table{width:100%;border-collapse:collapse;font-size:13px;}
.conf-table td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.04);color:#b0c8dc;}
.conf-table td:first-child{color:#8fa8bf;width:60%;}
.footer-bar{text-align:center;margin-top:28px;padding-top:14px;border-top:1px solid rgba(255,255,255,.04);font-family:'IBM Plex Mono',monospace;font-size:10px;color:#2a4055;letter-spacing:.08em;}
.md-wrap code{font-family:'IBM Plex Mono',monospace;font-size:12px;color:#e74c3c;}
@media(max-width:600px){.threat-grid{grid-template-columns:1fr;}.md-wrap{padding:20px 14px;}.headline{font-size:20px;}}

/* --- Koenig Editor Classes -------------------------------- */
/* Required by Ghost even if we don't use feature images */
.kg-width-wide {
  margin-left: -40px;
  margin-right: -40px;
}
.kg-width-full {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.kg-image { max-width: 100%; height: auto; }

/* --- Responsive ------------------------------------------- */
@media (max-width: 600px) {
  .site-title { font-size: 15px; }
  .post-card-title { font-size: 17px; }
  .post-wrap { padding: 24px 16px 60px; }
  .post-list-wrap { padding: 32px 16px 60px; }
  .site-footer-inner { flex-direction: column; gap: 6px; }
}

/* --- Post header (native Ghost title rendering) ----------- */
.post-header {
  max-width: 660px;
  margin: 0 auto 28px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.post-section {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #e74c3c;
  display: block;
  margin-bottom: 10px;
}
.post-title {
  font-family: 'Playfair Display', serif;
  font-size: 28px;
  line-height: 1.2;
  font-weight: 700;
  color: #fff;
  margin-bottom: 10px;
}
.post-dek {
  font-size: 15px;
  color: #8fa8bf;
  font-style: italic;
  line-height: 1.5;
  margin-bottom: 10px;
}
.post-byline {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  color: #4a6075;
  letter-spacing: 0.05em;
}
