/* SourceWire data visuals: story charts drawn from each story's own figures
   (app/figures.py), figure tables, dataset panels, topic volume sparklines and
   network property cards. Loaded after the context sheets so it wins ties. */

/* ---- story cards ---- */
.story-image.story-chart{display:block;background:#0b1720}
.story-chart svg{display:block;width:100%;height:100%}
.story-card-chart:hover .story-chart svg{filter:brightness(1.07)}
.story-card-text{border-top:4px solid var(--orange)}
.story-card-text .story-content{padding:20px 20px 18px}
.story-kicker{display:flex;flex-wrap:wrap;gap:8px;margin:0 48px 14px 0;font-size:.62rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--teal)}
.story-kicker span+span{color:var(--muted)}
.story-kicker span+span:before{content:"·";margin-right:8px}
.story-card-text h3{font-size:1.58rem;line-height:1.12}
.story-card-text p{font-size:.9rem;color:var(--text)}
.story-card-text .save-story{background:transparent;color:var(--ink);border-color:var(--line);backdrop-filter:none}
[data-theme="dark"] .story-card-text .save-story{color:#fff}
.market-grid.list-view .story-card-text{display:block}

/* ---- article: figures in this story ---- */
.story-figures{margin:0 0 38px;border:1px solid #1c3440;border-radius:14px;overflow:hidden;background:#0b1720;color:#dfe8ea;font:15px/1.5 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.story-figures-chart svg{display:block;width:100%;height:auto}
.story-figures figcaption{display:flex;flex-wrap:wrap;gap:2px 10px;align-items:baseline;padding:12px 22px 0;color:#b9c9cd;font-size:.78rem}
.story-figures figcaption b{color:#fff;font-weight:800}
.story-figures-table{overflow-x:auto;padding:10px 22px 18px}
.story-figures-table table{width:100%;border-collapse:collapse;font-size:.82rem;color:#dfe8ea}
.story-figures-table th,.story-figures-table td{padding:9px 10px;border-top:1px solid #23404b;text-align:left;vertical-align:top}
.story-figures-table thead th{border-top:0;color:#9fb6bc;font-size:.64rem;letter-spacing:.08em;text-transform:uppercase}
.story-figures-table tbody th{color:#fff;font-weight:700;white-space:nowrap}
.story-figures-table td:nth-child(2){color:#fff;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
.story-figures-table td:last-child{min-width:15rem;color:#b9c9cd;font-family:Georgia,serif;font-style:italic}

/* ---- article: dataset with a historical series ---- */
.dataset-figure{margin:34px 0 38px;border:1px solid #1c3440;border-radius:14px;overflow:hidden;background:#0b1720;color:#dfe8ea;font:15px/1.5 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.dataset-figure-title{padding:18px 22px 12px;color:#fff;font-size:1rem;font-weight:800}
.dataset-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#1c3440}
.dataset-panel svg{display:block;width:100%;height:auto;background:#0b1720}
.dataset-table{padding:12px 22px 4px}
.dataset-table td{white-space:nowrap;font-variant-numeric:tabular-nums}
.dataset-table td:last-child{min-width:0;color:#fff;font-family:inherit;font-style:normal;font-weight:800}
.dataset-notes{margin:8px 22px 0;padding-left:18px;color:#b9c9cd;font-size:.78rem}
.dataset-notes li{margin:5px 0}
.dataset-source{margin:10px 22px 16px;color:#9fb6bc;font-size:.74rem}
.dataset-source a{color:#7fd3cd}

/* ---- topics: daily volume ---- */
.category-volume-legend{margin:0 0 10px;color:var(--muted);font-size:.8rem}
.category-directory>a.category-tile{grid-template-columns:72px minmax(0,1fr) 168px 96px 28px}
.category-spark{display:block;color:var(--topic-accent,var(--teal))}
.category-spark svg{display:block;width:100%;height:44px}
.category-volume-art{margin:0;border-radius:28px 8px 28px 8px;overflow:hidden;background:#0b1720;box-shadow:var(--shadow)}
.category-volume-art svg{display:block;width:100%;height:auto}
.category-volume-art figcaption{padding:0 24px 18px;color:#b9c9cd;font-size:.8rem}

/* ---- network: property cards ---- */
.network-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.network-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--white);border:1px solid var(--line);border-radius:14px}
.network-card-media{display:block;aspect-ratio:40/21;max-width:100%;overflow:hidden;background:var(--paper);border-bottom:1px solid var(--line)}
.network-card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}
.network-card:hover .network-card-media img{transform:scale(1.02)}
.network-card-body{display:flex;flex:1;flex-direction:column;gap:8px;padding:18px 18px 16px}
.network-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.network-card h3{margin:0;color:var(--ink);font:600 1.3rem/1.15 Georgia,serif}
[data-theme="dark"] .network-card h3{color:#fff}
.network-count{white-space:nowrap;color:var(--muted);font-size:.72rem}
.network-count b{margin-right:3px;color:var(--ink);font:600 1.15rem Georgia,serif}
[data-theme="dark"] .network-count b{color:#fff}
.network-badge{white-space:nowrap;padding:4px 9px;border:1px solid #e3d0a1;border-radius:999px;background:#f5e8c9;color:#6e5017;font-size:.6rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.network-domain{margin:0;color:var(--teal);font-size:.74rem;font-weight:800}
.network-card p{margin:0;color:var(--muted);font-size:.84rem}
.network-links{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:auto;padding-top:8px}
.network-links a{color:var(--teal);font-size:.74rem;font-weight:800}

/* ---- home: newsdesk pulse (real stories per UTC day, newsdesk_pulse() in public.py) ---- */
.pulse-chart{margin:0}
.pulse-bars i,.pulse-bars i:nth-child(3n){background:var(--teal)}
.pulse-axis{display:flex;justify-content:space-between;padding:6px 10px 0;color:#91a2aa;font-size:.62rem}
.pulse-chart figcaption{margin-top:8px;color:#aebac0;font-size:.68rem;line-height:1.45}

@media(max-width:1180px){
  .category-directory>a.category-tile{grid-template-columns:62px minmax(0,1fr) 132px 84px 25px}
}
@media(max-width:960px){
  .network-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .dataset-panels{grid-template-columns:1fr}
  .story-figures-table,.dataset-table{padding-inline:14px}
  .story-figures figcaption{padding-inline:14px}
  .category-directory>a.category-tile{grid-template-columns:48px minmax(0,1fr) 20px;row-gap:8px}
  .category-directory>a.category-tile .category-copy{grid-column:2;grid-row:1}
  .category-spark{grid-column:2;grid-row:2;max-width:220px}
  .network-grid{grid-template-columns:1fr}
}
