/* Additions for entity pages, breadcrumbs, fact grids and digests.
   Loaded after style.css and reuses its custom properties. */

.crumbs {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--dim);
  margin: 28px 0 6px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.crumbs a { color: var(--dim); }
.crumbs a:hover { color: var(--ink); }
.crumb-sep { color: var(--dimmer); }
.crumbs [aria-current="page"] { color: var(--ink); overflow-wrap: anywhere; }

.entity-head { margin: 8px 0 22px; }
.entity-head h1 {
  font-family: var(--font-mono);
  font-size: clamp(22px, 3.2vw, 32px);
  font-weight: 600;
  line-height: 1.25;
  overflow-wrap: anywhere;
  margin-bottom: 10px;
}
.entity-head .lede {
  color: var(--dim);
  font-size: 15.5px;
  line-height: 1.7;
  max-width: 760px;
}
.entity-head .lede strong { color: var(--ink); font-weight: 500; }

.fact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  margin: 0 0 28px;
}
.fact { background: var(--panel); padding: 14px 16px; min-width: 0; }
.fact-label {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--dimmer);
  margin-bottom: 6px;
}
.fact-value { font-size: 15px; color: var(--ink); overflow-wrap: anywhere; }
.fact-value.mono { font-family: var(--font-mono); font-size: 12.5px; line-height: 1.5; }

.entity-section { margin: 0 0 30px; }
.entity-section h2 {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 12px;
}
.entity-section p { color: var(--dim); line-height: 1.7; max-width: 760px; margin-bottom: 12px; }
.entity-section p a { color: var(--trace); text-decoration: underline; }

.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip {
  font-family: var(--font-mono);
  font-size: 12px;
  padding: 4px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--dim);
}
a.chip:hover { border-color: var(--signal-dim); color: var(--ink); }

.related-list { list-style: none; border: 1px solid var(--line); border-radius: var(--radius); }
.related-list li { border-bottom: 1px solid var(--line); }
.related-list li:last-child { border-bottom: none; }
.related-list a {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 14px;
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--ink);
}
.related-list a:hover { background: var(--panel); }
.related-list .rel-meta { color: var(--dimmer); flex-shrink: 0; }

.action-row { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 30px; }
.btn-line {
  font-family: var(--font-mono);
  font-size: 13px;
  padding: 9px 16px;
  border: 1px solid var(--signal-dim);
  border-radius: var(--radius);
  color: var(--signal);
}
.btn-line:hover { background: var(--panel); color: var(--ink); }
.btn-line.quiet { border-color: var(--line); color: var(--dim); }

.note-box {
  border-left: 2px solid var(--signal-dim);
  background: var(--panel);
  padding: 12px 16px;
  color: var(--dim);
  font-size: 14px;
  line-height: 1.65;
  max-width: 760px;
  margin: 0 0 28px;
}

.ref-list { list-style: none; }
.ref-list li { margin-bottom: 8px; overflow-wrap: anywhere; }
.ref-list a { color: var(--trace); font-size: 14px; text-decoration: underline; }
.ref-tag {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--dimmer);
  margin-left: 8px;
}

.data-table-wrap { overflow-x: auto; margin: 0 0 22px; }
.data-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.data-table th {
  text-align: left;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--dimmer);
  font-weight: 500;
  padding: 8px 12px;
  border-bottom: 1px solid var(--line);
}
.data-table td {
  padding: 9px 12px;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  vertical-align: top;
}
.data-table td.num, .data-table th.num { text-align: right; font-family: var(--font-mono); }
.blog-post-body .data-table a { color: var(--trace); }

a.ioc-msg:hover { color: var(--signal); text-decoration: underline; }
.ip-table td a:hover { color: var(--signal); text-decoration: underline; }

.foot-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
  padding: 22px 0 6px;
  border-top: 1px solid var(--line);
  font-family: var(--font-mono);
  font-size: 12px;
}
.foot-links a { color: var(--dim); }
.foot-links a:hover { color: var(--ink); }

.related-posts { margin-top: 44px; padding-top: 22px; border-top: 1px solid var(--line); }
.related-posts h2 { font-family: var(--font-display); font-size: 18px; margin-bottom: 12px; }
.related-posts ul { list-style: none; }
.related-posts li { margin-bottom: 8px; }
.related-posts a { color: var(--trace); text-decoration: underline; font-size: 15px; }
.post-readtime { font-family: var(--font-mono); font-size: 12px; color: var(--dimmer); }

@media (max-width: 640px) {
  .fact-grid { grid-template-columns: 1fr 1fr; }
}
