/* Signal Desk Editorialism — cross-route quality and legibility contract.
   Loaded after route styles so shared semantics cannot drift page by page. */

:root {
  --meta-size: 12px;
  --support-size: 14px;
  --control-height: 44px;
}

/* Trust metadata must remain readable wherever it appears. */
.ticker-content,
.brief-stamp,
.brief-hero-cap,
.aside-kicker,
.story-meta,
.story-source-class,
.story-sources,
.src-meta,
.src-sub,
.org-map-note,
.org-method,
.org-post-meta,
.org-post-sub,
.org-pillar,
.org-feed-title,
.map-mode-note,
.map-foot,
.map-insight span,
.signal-meta,
.signal-sub,
.section-kicker,
.panel-context,
.syn-stamp,
.tc-meta,
.tl-date,
.public-meta {
  font-size: var(--meta-size) !important;
  line-height: 1.45;
}

.public-brief-stamp,
.public-brief-story > span,
.public-brief-pillar,
.public-brief-live-link {
  font-size: var(--meta-size) !important;
  line-height: 1.45;
}

.kicker,
.section-nav-label,
.section-nav-links a,
.kpi-label,
.ticker-content .src,
.org-group-label,
.org-node .node-name,
.org-node .node-meta,
.scope-tab,
.map-view,
.filter-chip,
.topic-chip {
  font-size: 11px !important;
}

.hero-copy,
.panel-brief,
.syn-desc,
.topic-card .tc-head,
.org-remit,
.watch-state {
  font-size: var(--support-size) !important;
}

/* Consistent evidence-link affordance without decorating whole card links. */
.signal .signal-title::after,
.org-post .org-post-title::after,
.src-title a[target="_blank"]::after {
  content: " ↗";
  color: var(--red);
  font-family: var(--mono);
  font-size: .78em;
  font-weight: 600;
}
.public-brief-story h3 a[target="_blank"]::after { content: " ↗"; color: var(--red); font: 600 .78em var(--mono); }

/* One export control replaces four competing controls in the lead story. */
.brief-actions { position: relative; margin-left: auto; }
.brief-actions summary { list-style: none; display: inline-flex; align-items: center; gap: 7px; }
.brief-actions summary::-webkit-details-marker { display: none; }
.brief-actions[open] summary { border-color: var(--ink); color: var(--ink); }
.brief-actions-menu {
  position: absolute; z-index: 30; top: calc(100% + 7px); right: 0; width: 220px;
  display: grid; padding: 6px; border: 1px solid var(--ink); border-radius: 9px;
  background: var(--paper); box-shadow: var(--shadow-hi);
}
.brief-action {
  width: 100%; min-height: var(--control-height); display: flex; align-items: center;
  justify-content: space-between; padding: 9px 10px; border: 0; border-radius: 5px;
  background: transparent; color: var(--ink); cursor: pointer; text-align: left;
  font: 12px/1.35 var(--mono);
}
.brief-action:hover,.brief-action:focus-visible { background: var(--paper-2); }

/* Reusable, explicit system states for asynchronous analytical modules. */
.system-state {
  min-height: 120px; display: grid; place-content: center; gap: 5px; padding: 24px;
  border: 1px dashed var(--line); border-radius: var(--r); color: var(--ink-2);
  background: var(--paper-2); text-align: center; font-size: var(--support-size);
}
.system-state strong { color: var(--ink); }
.system-state small { color: var(--ink-3); font: var(--meta-size)/1.45 var(--mono); }
.metric-empty.system-state { border-width: 1px 0 0; border-radius: 0; }
.mobile-story-more { display: none; }

@media (max-width: 620px) {
  /* Mobile is a distinct editorial sequence: current read, then history, then depth. */
  .snapshot-page .page { display: flex; flex-direction: column; }
  .snapshot-page .page > * { order: 2; }
  .snapshot-page #brief { order: 0; padding-top: 20px; }
  .snapshot-page #timemachine { order: 1; margin-top: 20px; }
  .snapshot-page .kpitape { display: none; }

  .ticker-wrapper { height: 36px; }
  .ticker-label { padding-inline: 12px; font-size: 11px; }
  .ticker-pause { width: 44px; flex-basis: 44px; }
  .ticker-content { gap: 24px; padding-inline: 18px; font-size: 12px !important; }
  .ticker-content a { max-width: 72vw; overflow: hidden; text-overflow: ellipsis; }

  .navrail a { padding-inline: 8px; font-size: 11px !important; letter-spacing: .015em; }
  .navrail a:first-child { padding-left: 2px; }
  .section-nav-trigger small { font-size: 11px; }
  .section-nav-trigger strong { font-size: 12px; }
  .search-trigger { width: auto; min-width: var(--control-height); justify-content: center; padding: 0 12px; }
  .search-trigger span { display: none; }
  .search-trigger kbd { display: none; }
  .public-brief-live-link { display: none; }

  .brief-top { display: flex; align-items: center; flex-wrap: wrap; gap: 7px 10px; }
  .brief-top > .kicker { order: 0; }
  .brief-top > .brief-stamp { order: 1; flex: 1 1 170px; }
  .brief-top > .grow { display: none; }
  .brief-actions { order: 2; width: 100%; margin-left: 0; }
  .brief-actions summary { width: 100%; min-height: var(--control-height); justify-content: space-between; }
  .brief-actions-menu { position: static; width: 100%; margin-top: 6px; box-shadow: none; }

  .viewfinder { padding: 10px; }
  .vf-label { font-size: 11px; }
  .map-insight span { font-size: 11px !important; }
  .map-insight b { font-size: 12px !important; }
  .map-legend { font-size: 11px !important; }
  .org-search,.org-feed-title,.org-pillar { font-size: 11px !important; }
  .scope-tab,.filter-chip,.topic-chip,.map-view,.official-link { min-height: var(--control-height); display: inline-flex; align-items: center; justify-content: center; }

  /* Keep the mobile lead decisive: three representative signals, then history.
     The complete evidence list remains one tap away in the public brief. */
  .snapshot-page .brief-block .story:not(:first-child),
  .snapshot-page .brief-block:nth-child(n + 4) { display: none; }
  .snapshot-page .mobile-story-more { display: block; margin: 22px 0 0; }
  .snapshot-page .mobile-story-more a {
    min-height: var(--control-height); display: flex; align-items: center;
    justify-content: space-between; padding: 11px 14px; border: 1px solid var(--ink);
    border-radius: var(--r); font: 600 12px/1.35 var(--mono);
  }
}
