/* Post-specific styling: antenna failure-compensation writeup.
   Tables, figures, video, equations, and small metric cards. Inherits blog.css tokens. */

.post-body {
  --antenna-green: #168a55;
  --antenna-blue: #1f6fe5;
  --antenna-amber: #c97916;
  --antenna-rule: color-mix(in srgb, currentColor 13%, transparent);
  --antenna-soft: color-mix(in srgb, currentColor 4%, transparent);
  --antenna-softer: color-mix(in srgb, currentColor 2%, transparent);
}

.post-body .tablewrap {
  overflow-x: auto;
  margin: 1.4rem 0;
  border: 1px solid var(--antenna-rule);
  border-radius: 10px;
  background: linear-gradient(180deg, var(--antenna-softer), transparent);
}
.post-body table {
  border-collapse: collapse;
  width: 100%;
  font-size: 0.86rem;
  font-variant-numeric: tabular-nums;
}
.post-body th, .post-body td {
  padding: 0.5rem 0.8rem;
  text-align: right;
  white-space: nowrap;
  border-bottom: 1px solid color-mix(in srgb, currentColor 9%, transparent);
}
.post-body th:first-child, .post-body td:first-child { text-align: left; }
.post-body thead th {
  font-weight: 600;
  border-bottom: 1.5px solid color-mix(in srgb, currentColor 22%, transparent);
  position: sticky; top: 0;
  background: var(--bg);
}
.post-body tbody tr:hover { background: color-mix(in srgb, currentColor 4%, transparent); }
.post-body td strong { font-weight: 650; }

/* video + figure */
.post-body figure {
  margin: 2rem auto;
  width: 100%;
  max-width: 560px;
}
.post-body .full-bleed {
  width: 100% !important;
  max-width: 680px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.post-body video, .post-body figure img {
  width: 100%;
  max-height: min(56vh, 440px);
  object-fit: contain;
  border-radius: 10px;
  border: 1px solid var(--antenna-rule);
  display: block;
  background: var(--bg-elev);
  box-shadow: 0 10px 28px color-mix(in srgb, #000 9%, transparent);
}
.post-body figcaption {
  margin-top: 0.6rem;
  font-size: 0.82rem;
  line-height: 1.5;
  opacity: 0.72;
  text-align: center;
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
}

/* key-number cards */
.kpi-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 0.8rem;
  margin: 1.6rem 0;
}
.kpi {
  padding: 1rem 1.1rem;
  border: 1px solid var(--antenna-rule);
  border-radius: 10px;
  background: linear-gradient(180deg, color-mix(in srgb, currentColor 5%, transparent), color-mix(in srgb, currentColor 2%, transparent));
}
.kpi .num { font-size: 1.7rem; font-weight: 680; letter-spacing: 0; line-height: 1.1; font-variant-numeric: tabular-nums; }
.kpi .lab { font-size: 0.78rem; opacity: 0.7; margin-top: 0.3rem; }

/* callout */
.post-body .callout {
  border: 1px solid var(--antenna-rule);
  border-left: 4px solid var(--antenna-blue);
  border-radius: 10px;
  padding: 0.95rem 1rem;
  margin: 1.5rem 0;
  opacity: 0.94;
  background: linear-gradient(90deg, color-mix(in srgb, var(--antenna-blue) 8%, transparent), transparent 68%);
}
.post-body .lead { font-size: 1.12rem; line-height: 1.65; opacity: 0.9; }

/* equations + math-adjacent text */
.post-body .equation {
  margin: 1.35rem 0;
  padding: 1rem 1.1rem;
  overflow-x: auto;
  border: 1px solid var(--antenna-rule);
  border-radius: 10px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--antenna-blue) 8%, transparent), transparent 45%),
    var(--antenna-soft);
}
.post-body .equation-main {
  display: block;
  min-width: max-content;
  font-family: "SF Mono", ui-monospace, Menlo, Consolas, monospace;
  font-size: clamp(0.95rem, 1vw + 0.72rem, 1.15rem);
  line-height: 1.7;
  color: var(--text);
}
.post-body .equation-main + .equation-main {
  margin-top: 0.25rem;
}
.post-body .equation-note {
  display: block;
  margin-top: 0.45rem;
  font-size: 0.78rem;
  line-height: 1.45;
  color: var(--text-soft);
}
.post-body .eq-var {
  color: var(--antenna-blue);
  font-style: italic;
}
.post-body .eq-const {
  color: var(--antenna-green);
  font-variant-numeric: tabular-nums;
}
.post-body .eq-op {
  color: var(--antenna-amber);
}
.post-body code {
  border-color: color-mix(in srgb, var(--antenna-blue) 18%, var(--rule-soft));
}

@media (max-width: 640px) {
  .post-body figure,
  .post-body .full-bleed {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .post-body video,
  .post-body figure img {
    max-height: 58vh;
  }
  .post-body .equation {
    margin-left: -0.15rem;
    margin-right: -0.15rem;
    padding: 0.85rem;
  }
}
