*, *::before, *::after { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  background: var(--sys-background-primary);
  color: var(--sys-text-primary);
  font-family: var(--const-typography-family-text), sans-serif;
  font-size: var(--sys-typography-size-paragraph-p3);
  line-height: var(--sys-typography-lineHeight-paragraph-p3);
  -webkit-font-smoothing: antialiased;
}

.c1 { font-size: var(--sys-typography-size-caption-c1); line-height: var(--sys-typography-lineHeight-caption-c1); }
.p4 { font-size: var(--sys-typography-size-paragraph-p4); line-height: var(--sys-typography-lineHeight-paragraph-p4); }
.muted { color: var(--sys-text-secondary); }

/* ---------- Top bar ---------- */
.topbar {
  position: sticky; top: 0; z-index: 40;
  background: var(--sys-background-bar);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--sys-background-stroke);
}
.topbar-inner {
  max-width: 1440px; margin: 0 auto;
  display: flex; align-items: center; gap: var(--const-spacing-09);
  padding: var(--const-spacing-05) var(--const-spacing-08);
}
.brand { display: flex; align-items: center; gap: var(--const-spacing-05); text-decoration: none; color: inherit; }
.brand-logo { display: flex; }
.brand-text { display: flex; flex-direction: column; }
.brand-name {
  font-family: var(--const-typography-family-wide), sans-serif;
  font-weight: 500; font-size: var(--sys-typography-size-header-h4);
  line-height: 1.1;
  background: var(--sys-ecosystemText-AI);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.brand-sub { color: var(--sys-text-tertiary); }

.nav { display: flex; gap: var(--const-spacing-03); }
.nav-link {
  padding: var(--const-spacing-04) var(--const-spacing-06);
  border-radius: var(--const-radius-02);
  text-decoration: none; color: var(--sys-text-secondary);
  font-weight: 500;
}
.nav-link:hover { background: var(--sys-controls-hoverAlternative); color: var(--sys-text-primary); }
.nav-link.active { color: var(--sys-text-primary); background: var(--sys-controls-tertiaryActive); }

.topbar-right { margin-left: auto; display: flex; align-items: center; gap: var(--const-spacing-04); }
.search {
  height: 40px; width: 260px;
  padding: 0 var(--const-spacing-06);
  border-radius: var(--const-radius-02);
  border: 1px solid var(--sys-background-stroke);
  background: var(--sys-background-secondary);
  color: var(--sys-text-primary);
  font-family: inherit; font-size: var(--sys-typography-size-paragraph-p4);
  outline: none;
}
.search:focus { border-color: var(--sys-accent-active); }
.icon-btn {
  height: 40px; width: 40px;
  border-radius: var(--const-radius-02);
  border: 1px solid var(--sys-background-stroke);
  background: transparent; color: var(--sys-text-primary);
  cursor: pointer; font-size: 18px;
}
.icon-btn:hover { background: var(--sys-controls-hoverAlternative); }

/* ---------- Layout ---------- */
.page { max-width: 1440px; margin: 0 auto; padding: var(--const-spacing-08); }
.view { display: flex; gap: var(--const-spacing-08); }
.view[hidden] { display: none; }

.sidebar { width: 280px; flex-shrink: 0; display: flex; flex-direction: column; gap: var(--const-spacing-08); }
.side-block { display: flex; flex-direction: column; gap: var(--const-spacing-05); }
.side-title { color: var(--sys-text-tertiary); letter-spacing: .06em; }

.feed-col { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--const-spacing-06); }

/* ---------- Chips ---------- */
.chips { display: flex; flex-wrap: wrap; gap: var(--const-spacing-04); }
.chip {
  display: inline-flex; align-items: center; gap: var(--const-spacing-03);
  height: 32px; padding: 0 var(--const-spacing-05);
  border-radius: var(--const-radius-09);
  border: 0;
  background: var(--comp-chips-background-primary);
  color: var(--sys-text-primary);
  font-family: inherit;
  font-size: var(--sys-typography-size-paragraph-p4);
  line-height: 1; cursor: pointer;
}
.chip:hover { background: var(--sys-controls-hoverPrimary); }
.chip-selected { background: var(--comp-chips-background-selected); color: var(--sys-text-inverted); }
.chip-sm { height: 26px; font-size: var(--sys-typography-size-caption-c1); padding: 0 var(--const-spacing-04); }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: var(--const-spacing-04);
  height: 44px; padding: 0 var(--const-spacing-07);
  border-radius: var(--const-radius-02);
  font-family: inherit; font-size: var(--sys-typography-size-paragraph-p3);
  font-weight: 500; cursor: pointer; border: 0;
  transition: background .15s ease;
}
.btn-sm { height: 36px; padding: 0 var(--const-spacing-06); font-size: var(--sys-typography-size-paragraph-p4); }
.btn-primary { background: var(--sys-controls-primaryActive); color: #FFFFFF; }
.btn-primary:hover { filter: brightness(1.08); }
.btn-secondary { background: var(--comp-buttons-background-secondary); color: var(--sys-text-primary); }
.btn-secondary:hover { background: var(--comp-buttons-hover-secondary); }
.btn-ghost { background: transparent; color: var(--sys-text-secondary); }
.btn-ghost:hover { background: var(--sys-controls-hoverAlternative); color: var(--sys-text-primary); }

/* ---------- Cards / feed ---------- */
.card {
  background: var(--sys-background-secondaryElevated);
  border: 1px solid var(--sys-background-stroke);
  border-radius: var(--const-radius-03);
  padding: var(--const-spacing-07);
  box-shadow: var(--const-shadow-01);
}
.card-elevated {
  background: var(--sys-background-primaryElevated);
  border: 1px solid var(--sys-background-stroke);
  border-radius: var(--const-radius-04);
  box-shadow: var(--const-shadow-05);
}

.feed { display: flex; flex-direction: column; gap: var(--const-spacing-06); }
.news-card { cursor: pointer; transition: box-shadow .15s ease, border-color .15s ease; }
.news-card:hover { box-shadow: var(--const-shadow-02); border-color: var(--sys-controls-stroke); }
.news-head { display: flex; align-items: center; gap: var(--const-spacing-04); flex-wrap: wrap; margin-bottom: var(--const-spacing-04); }
.news-title {
  font-family: var(--const-typography-family-wide), sans-serif;
  font-size: var(--sys-typography-size-header-h4);
  line-height: var(--sys-typography-lineHeight-header-h4);
  font-weight: 500;
  margin: 0 0 var(--const-spacing-04);
}
.news-text {
  margin: 0 0 var(--const-spacing-05);
  color: var(--sys-text-secondary);
  display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;
  white-space: pre-line;
}
.news-foot { display: flex; align-items: center; gap: var(--const-spacing-04); flex-wrap: wrap; }

.badge {
  display: inline-flex; align-items: center; gap: var(--const-spacing-03);
  padding: 2px var(--const-spacing-05);
  border-radius: var(--const-radius-09);
  font-size: var(--sys-typography-size-caption-c1);
  line-height: var(--sys-typography-lineHeight-caption-c1);
  font-weight: 500;
}
.badge-tg { background: var(--sys-background-activeSoft); color: var(--sys-text-activeStrong); }
.badge-arxiv { background: var(--sys-background-highlightSoft); color: var(--sys-text-highlightStrong); }
.badge-rss { background: var(--sys-background-warningSoft); color: var(--sys-text-warningStrong); }
.badge-verified { background: var(--sys-background-positiveSoft); color: var(--sys-text-positiveStrong); }
.badge-single { background: var(--sys-background-secondary); color: var(--sys-text-tertiary); }
.status { display: inline-flex; align-items: center; padding: 2px var(--const-spacing-05); border-radius: var(--const-radius-09); font-size: var(--sys-typography-size-caption-c1); }
.status-positive { background: var(--sys-background-positiveSoft); color: var(--sys-text-positiveStrong); }
.status-negative { background: var(--sys-background-negativeSoft); color: var(--sys-text-negativeStrong); }
.status-neutral  { background: var(--sys-background-secondary); color: var(--sys-text-secondary); }
.news-date { color: var(--sys-text-tertiary); font-size: var(--sys-typography-size-caption-c1); }
.link { color: var(--sys-text-primaryLink); text-decoration: none; }
.link:hover { text-decoration: underline; }

.active-filters { display: flex; gap: var(--const-spacing-04); flex-wrap: wrap; }
.active-filters:empty { display: none; }
.feed-more { display: flex; justify-content: center; padding: var(--const-spacing-06) 0 var(--const-spacing-10); }
.feed-empty { text-align: center; color: var(--sys-text-tertiary); padding: var(--const-spacing-12); }

.entity-list { display: flex; flex-direction: column; gap: 0; }
.entity-row {
  display: flex; align-items: center; justify-content: space-between;
  padding: var(--const-spacing-03) var(--const-spacing-04);
  border-radius: var(--const-radius-01);
  cursor: pointer; color: var(--sys-text-primary);
  font-size: var(--sys-typography-size-paragraph-p4);
}
.entity-row:hover { background: var(--sys-controls-hoverAlternative); }
.entity-row .cnt { color: var(--sys-text-tertiary); font-size: var(--sys-typography-size-caption-c1); }

.stats-box { display: flex; flex-direction: column; gap: var(--const-spacing-03); }

/* ---------- Graph ---------- */
#view-graph { position: relative; }
.graph-wrap { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--const-spacing-05); }
.graph-controls-row { display: flex; align-items: center; gap: var(--const-spacing-06); flex-wrap: wrap; }
.ctl { display: inline-flex; align-items: center; gap: var(--const-spacing-04); color: var(--sys-text-secondary); }
.ctl input[type=range] { accent-color: var(--sys-accent-highlight); }
.dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 4px; }
.graph-intro { display:grid; grid-template-columns:minmax(280px,1fr) minmax(280px,460px); align-items:end; gap:40px; padding:16px 4px 6px; }
.graph-kicker { display:block; color:var(--sys-brand-MTSRed,#ff0032); font-size:11px; font-weight:700; letter-spacing:.18em; margin-bottom:10px; }
.graph-title { margin:0; font-family:var(--const-typography-family-wide),sans-serif; font-size:clamp(32px,4vw,58px); font-weight:500; line-height:.96; letter-spacing:-.035em; }
.graph-title em { color:var(--sys-text-tertiary); font-style:normal; }
.graph-lead { max-width:440px; margin:0 0 3px; color:var(--sys-text-secondary); font-size:15px; line-height:1.55; }
.graph-controls { position:relative; z-index:2; padding:12px; border:1px solid var(--sys-background-stroke); border-radius:18px; background:var(--sys-background-secondaryElevated); box-shadow:0 16px 45px rgba(0,0,0,.12); }
.graph-search-wrap { display:flex; align-items:center; gap:8px; min-width:250px; height:40px; padding:0 12px; border-radius:12px; background:var(--sys-background-secondary); border:1px solid transparent; }
.graph-search-wrap:focus-within { border-color:var(--sys-brand-MTSRed,#ff0032); box-shadow:0 0 0 3px rgba(255,0,50,.08); }
.graph-search-wrap > span { color:var(--sys-text-tertiary); font-size:22px; }
.graph-search { width:100%; min-width:0; border:0; outline:0; background:transparent; color:var(--sys-text-primary); font:inherit; }

/* Type filter chips: the legend IS the filter */
.type-chips { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.type-chip {
  display:inline-flex; align-items:center; gap:7px;
  height:30px; padding:0 12px;
  border-radius: var(--const-radius-09);
  border:1px solid var(--sys-background-stroke);
  background:transparent; color:var(--sys-text-tertiary);
  font-family:inherit; font-size:var(--sys-typography-size-caption-c1);
  cursor:pointer; transition: color .15s, background .15s, border-color .15s;
}
.type-chip .dot { margin:0; background:var(--tc); opacity:.3; transition: opacity .15s; }
.type-chip:hover { color:var(--sys-text-secondary); border-color:var(--sys-controls-stroke); }
.type-chip.on {
  color:var(--sys-text-primary);
  border-color: color-mix(in srgb, var(--tc) 55%, transparent);
  background: color-mix(in srgb, var(--tc) 12%, transparent);
}
.type-chip.on .dot { opacity:1; }
.type-chip .tcnt { color:var(--sys-text-tertiary); font-size:10px; }

/* Stage + side rail */
.graph-body { position:relative; min-width:0; }
.graph-stage { position:relative; overflow:hidden; border:1px solid var(--sys-background-stroke); border-radius:28px; background:#101114; isolation:isolate; }
.graph-stage::before { content:''; position:absolute; inset:0; z-index:-1; background:radial-gradient(circle at 50% 42%,rgba(119,74,185,.15),transparent 42%),linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px); background-size:auto,40px 40px,40px 40px; }
.graph-stage .cy { height:calc(100vh - 350px); min-height:560px; background:transparent; border:0; border-radius:0; }
[data-theme="light"] .graph-stage { background:#f7f7f5; }
[data-theme="light"] .graph-stage::before { background:radial-gradient(circle at 50% 42%,rgba(119,74,185,.06),transparent 42%),linear-gradient(rgba(0,0,0,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.035) 1px,transparent 1px); background-size:auto,40px 40px,40px 40px; }
.graph-summary { position:absolute; top:18px; left:20px; pointer-events:none; color:rgba(255,255,255,.62); font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.graph-summary b { color:#fff; font-size:15px; margin-right:3px; }
[data-theme="light"] .graph-summary { color:rgba(29,32,35,.55); }
[data-theme="light"] .graph-summary b { color:#1D2023; }
.graph-zoom { position:absolute; right:18px; bottom:18px; display:flex; overflow:hidden; border:1px solid rgba(255,255,255,.12); border-radius:12px; background:rgba(15,16,20,.76); backdrop-filter:blur(12px); }
.graph-zoom button { width:38px; height:36px; border:0; border-right:1px solid rgba(255,255,255,.1); background:transparent; color:rgba(255,255,255,.8); cursor:pointer; font-size:17px; }
.graph-zoom button:last-child { border-right:0; } .graph-zoom button:hover { color:#fff; background:rgba(168,121,255,.22); }
[data-theme="light"] .graph-zoom { border-color:rgba(0,0,0,.1); background:rgba(255,255,255,.8); }
[data-theme="light"] .graph-zoom button { color:rgba(29,32,35,.7); border-bottom-color:rgba(0,0,0,.08); }
[data-theme="light"] .graph-zoom button:hover { color:#1D2023; background:rgba(168,121,255,.15); }
.graph-hint { position:absolute; left:20px; bottom:18px; color:rgba(255,255,255,.55); font-size:12px; pointer-events:none; }
.graph-hint span { display:inline-block; width:6px; height:6px; margin-right:6px; border-radius:50%; background:var(--sys-brand-MTSRed,#ff0032); }
[data-theme="light"] .graph-hint { color:rgba(29,32,35,.5); }

/* Side rail: top connections list / entity & edge details */
.graph-side { position:absolute; z-index:4; top:16px; right:16px; width:310px; min-width:0; overflow-y:auto; max-height:calc(100% - 84px); padding:12px; border:1px solid var(--sys-background-stroke); border-radius:18px; background:var(--sys-background-secondaryElevated); box-shadow:0 18px 60px rgba(0,0,0,.14); }
.graph-side-block > .side-title { margin-bottom:10px; }
.edge-list { display:flex; flex-direction:column; gap:2px; }
.edge-row {
  display:flex; align-items:center; gap:10px; width:100%;
  padding:9px 10px; border:0; border-radius:10px;
  background:transparent; color:var(--sys-text-primary);
  font-family:inherit; font-size:var(--sys-typography-size-paragraph-p4);
  text-align:left; cursor:pointer;
}
.edge-row:hover { background:var(--sys-controls-hoverAlternative); }
.edge-row.active { background:var(--sys-background-activeSoft); box-shadow:inset 2px 0 0 var(--sys-brand-MTSRed, #FF0032); }
.edge-pair { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.edge-pair i { font-style:normal; color:var(--sys-text-tertiary); margin:0 2px; }
.edge-w {
  flex-shrink:0; min-width:26px; text-align:center;
  padding:1px 7px; border-radius:var(--const-radius-09);
  background:var(--sys-background-secondary); color:var(--sys-text-secondary);
  font-size:var(--sys-typography-size-caption-c1);
}
@media(max-width:1100px){ .graph-side{width:280px;max-height:calc(100% - 84px);min-height:0} }
@media(max-width:960px){ .graph-intro{grid-template-columns:1fr;gap:14px} .graph-search-wrap{width:100%} .graph-stage .cy{min-height:520px;height:62vh} }
.panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--const-spacing-04); margin-bottom: var(--const-spacing-05); }
.panel-title { font-family: var(--const-typography-family-wide), sans-serif; font-size: var(--sys-typography-size-header-h4); font-weight: 500; margin: 0; }
.panel-news { display: flex; flex-direction: column; gap: var(--const-spacing-05); }
.panel-news-item {
  padding: var(--const-spacing-05);
  border-radius: var(--const-radius-02);
  background: var(--sys-background-secondary);
  cursor: pointer;
}
.panel-news-item:hover { background: var(--sys-controls-hoverAlternative); }

/* ---------- Verification block ---------- */
.verify-box {
  display: flex; flex-direction: column; gap: var(--const-spacing-03);
  padding: var(--const-spacing-05) var(--const-spacing-06);
  border-radius: var(--const-radius-02);
  background: var(--sys-background-secondary);
}
.verify-line { font-size: var(--sys-typography-size-paragraph-p4); font-weight: 500; margin-bottom: var(--const-spacing-03); }
.verify-ok { color: var(--sys-text-positiveStrong); }
.verify-warn { color: var(--sys-text-warningStrong); }
.verify-row { display: flex; align-items: baseline; gap: var(--const-spacing-05); flex-wrap: wrap; }
.verify-row > .c1 { min-width: 64px; }

.cy-loading { opacity: .5; }

/* ---------- Modal ---------- */
.modal-overlay {
  position: fixed; inset: 0; z-index: 100;
  background: var(--sys-background-overlay);
  display: flex; align-items: flex-start; justify-content: center;
  padding: var(--const-spacing-11) var(--const-spacing-06);
  overflow-y: auto;
}
.modal-overlay[hidden] { display: none; }
.modal { width: 720px; max-width: 100%; padding: var(--const-spacing-09); margin-bottom: var(--const-spacing-11); font-weight: 400; }
.modal-actions { display: flex; margin-top: var(--const-spacing-05); }
.modal-actions .btn { text-decoration: none; }
.modal-text { white-space: pre-line; color: var(--sys-text-primary); font-weight: 400; }
.modal-text.post-text { white-space: normal; line-height: 1.6; font-weight: 300 !important; font-size: 15px; }
.modal-text.post-text a.inline-link { color: var(--sys-accent); text-decoration: none; font-weight: 500; }
.modal-text.post-text a.inline-link:hover { text-decoration: underline; }
.modal-cover { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: var(--const-radius-04); margin-bottom: var(--const-spacing-05); }
.modal-section-title { color: var(--sys-text-tertiary); letter-spacing: .06em; margin: var(--const-spacing-07) 0 var(--const-spacing-04); }
.related-list { display: flex; flex-direction: column; gap: var(--const-spacing-04); }

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
  .view { flex-direction: column; }
  .sidebar { width: 100%; }
  .search { width: 160px; }
  .brand-sub { display: none; }
}

/* Translated arXiv items: original English title under the Russian one,
   full original abstract behind a <details> toggle in the modal. */
.news-orig-title {
  font-size: 12px; color: var(--sys-text-tertiary);
  margin: -4px 0 var(--const-spacing-03);
}
.orig-details { margin-top: var(--const-spacing-04); }
.orig-details summary { cursor: pointer; }
.orig-details .modal-text { color: var(--sys-text-secondary); }

/* ---------- Trends ---------- */
.trends-wrap { width: 100%; max-width: 1080px; margin: 0 auto; }
.trends-head {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: var(--const-spacing-06); margin-bottom: var(--const-spacing-06);
}
.trends-title { margin: 0 0 4px; }
.trends-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: var(--const-spacing-06); margin-bottom: var(--const-spacing-08);
}
.trend-card { display: flex; flex-direction: column; gap: var(--const-spacing-03); }
.trend-global { border: 1px solid var(--const-palette-plum-normal); }
.badge-global { background: var(--const-palette-plum-normal); color: #fff; }
.badge-trend-policy_change { background: var(--const-palette-blueberry-normal); color: #fff; }
.badge-trend-opinion_shift { background: var(--const-palette-cranberry-normal); color: #fff; }
.badge-trend-attention_spike { background: var(--const-palette-mint-normal); color: #fff; }
.trend-evidence summary { cursor: pointer; }
.trend-card { cursor: pointer; transition: box-shadow .15s ease, border-color .15s ease; }
.trend-card:hover { box-shadow: var(--const-shadow-02); border-color: var(--sys-controls-stroke); }
.trend-more {
  margin-top: auto; padding-top: var(--const-spacing-03);
  color: var(--sys-text-primaryLink);
  font-size: var(--sys-typography-size-caption-c1);
}

/* Full trend write-up in the modal */
.trend-detail .modal-text { white-space: normal; }
.trend-detail-h {
  font-family: var(--const-typography-family-wide), sans-serif;
  font-size: var(--sys-typography-size-paragraph-p3);
  font-weight: 600;
  margin: var(--const-spacing-05) 0 var(--const-spacing-03);
}
.trend-detail-h:first-child { margin-top: 0; }
.trend-detail-list {
  margin: 0 0 var(--const-spacing-04);
  padding-left: 20px;
  color: var(--sys-text-secondary);
  display: flex; flex-direction: column; gap: 4px;
}
/* Trend navigation, rows and expanded cards use the regular text face. */
.trend-level-tabs .chip,
.trend-row,
.trend-row h3,
.trend-row .trend-relevance,
.trend-modal,
.trend-modal .news-title,
.trend-modal .trend-detail-h,
.trend-modal b,
.trend-modal strong {
  font-family: var(--const-typography-family-text), Arial, sans-serif;
  font-weight: 400;
}


/* Digest — editorial hot-list */
.digest-wrap { max-width:1120px; margin:0 auto; padding:42px 24px 80px; }
.digest-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; padding:38px 0 34px; border-bottom:1px solid var(--border-primary); }
.digest-kicker { color:#ff6b5f; font-size:11px; font-weight:800; letter-spacing:.18em; margin-bottom:14px; }
.digest-hero h1 { margin:0; max-width:760px; font-size:clamp(28px,3.2vw,44px); line-height:1.08; letter-spacing:-.035em; }
.digest-hero h1 em { color:var(--text-secondary); font-style:normal; font-weight:400; }
.digest-hero p { max-width:620px; color:var(--text-secondary); font-size:16px; line-height:1.6; }
.digest-periods { display:flex; flex-shrink:0; padding:4px; border:1px solid var(--border-primary); border-radius:12px; background:var(--bg-secondary); }
.digest-period { border:0; border-radius:8px; padding:10px 14px; background:transparent; color:var(--text-secondary); cursor:pointer; }
.digest-period.active { background:var(--text-primary); color:var(--bg-primary); }
.digest-summary { display:flex; align-items:center; gap:10px; min-height:86px; overflow:auto; border-bottom:1px solid var(--border-primary); }
.digest-summary > div { display:flex; align-items:baseline; gap:8px; margin-right:14px; white-space:nowrap; }
.digest-summary strong { font-size:26px; } .digest-summary span { color:var(--text-secondary); font-size:12px; }
.digest-topic { padding:7px 10px; border:1px solid var(--border-primary); border-radius:999px; white-space:nowrap; } .digest-topic b { color:var(--text-primary); margin-left:4px; }
.digest-list { display:flex; flex-direction:column; }
.digest-card { position:relative; display:grid; grid-template-columns:54px 1fr 86px; gap:22px; padding:28px 0; border-bottom:1px solid var(--border-primary); cursor:pointer; transition:transform .2s ease, background .2s ease; }
.digest-card:hover { transform:translateX(6px); } .digest-rank { color:var(--text-tertiary); font:700 18px/1 monospace; padding-top:6px; }
.digest-category { color:#ff6b5f; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.digest-card h2 { margin:8px 0 8px; max-width:800px; font-size:23px; line-height:1.2; letter-spacing:-.02em; }
.digest-card p { display:-webkit-box; overflow:hidden; -webkit-line-clamp:2; -webkit-box-orient:vertical; margin:0 0 14px; color:var(--text-secondary); line-height:1.55; }
.digest-lead { padding:34px 24px; margin:20px -24px 0; border:1px solid color-mix(in srgb,#ff5449 42%,var(--border-primary)); border-radius:20px; background:linear-gradient(110deg,color-mix(in srgb,#ff5449 9%,transparent),transparent 62%); }
.digest-lead h2 { font-size:30px; }
.heat-score { align-self:start; text-align:right; } .heat-score strong { display:block; font-size:28px; line-height:1; } .heat-score span { color:var(--text-tertiary); font-size:10px; text-transform:uppercase; }
.heat-score i { display:block; width:72px; height:3px; margin-top:9px; margin-left:auto; border-radius:2px; background:linear-gradient(90deg,#f7bd48 var(--heat),var(--border-primary) var(--heat)); }
.heat-score.hot strong,.heat-score.critical strong { color:#ff6b5f; } .heat-score.critical i { background:linear-gradient(90deg,#ff5449 var(--heat),var(--border-primary) var(--heat)); box-shadow:0 0 10px #ff544966; }
.momentum { display:flex; justify-content:flex-end; align-items:center; gap:4px; margin-top:10px; color:var(--text-tertiary); font-size:10px; font-weight:650; white-space:nowrap; }
.momentum b { font-size:16px; line-height:1; }
.momentum-rising { color:#1f9d68; } .momentum-falling { color:#d86a5f; }
@media (max-width:760px) { .digest-hero { align-items:flex-start; flex-direction:column; } .digest-periods { width:100%; } .digest-period { flex:1; } .digest-card { grid-template-columns:34px 1fr; gap:10px; } .heat-score { grid-column:2; text-align:left; display:flex; align-items:center; gap:7px; } .heat-score strong { font-size:20px; } .heat-score i { margin:0; } .digest-summary { min-height:72px; } }

.badge-kind{background:rgba(153,75,255,.13)}.kind-news{color:#48d597}.kind-interesting{color:#c09aff}.kind-tweet{color:#62b5ff}.relevance{margin-left:auto;font-size:12px;font-weight:700;color:var(--sys-text-secondary)}
.twitter-freshness{margin-left:auto;padding:5px 9px;border-radius:999px;font-weight:700}.twitter-freshness.fresh{color:#48d597;background:rgba(72,213,151,.13)}.twitter-freshness.stale{color:#ff8f70;background:rgba(255,143,112,.13)}.semantic-wrap{width:100%;margin:auto;padding:32px}.table-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.semantic-toolbar{display:flex;align-items:center;gap:16px;margin-bottom:16px;color:var(--sys-text-secondary)}
.semantic-table-wrap{overflow:auto;max-height:calc(100vh - 280px);border:1px solid var(--sys-border-primary);border-radius:12px}.semantic-table{width:100%;table-layout:fixed;border-collapse:collapse;min-width:1180px}.semantic-table .col-title{width:25vw;min-width:300px}.semantic-table .col-date{width:82px}.semantic-table .col-impact{width:145px}.semantic-table .col-relevance{width:105px}.semantic-table th{position:sticky;top:0;z-index:1;background:var(--sys-bg-secondary);text-align:left;font-size:11px;text-transform:uppercase}.semantic-table th,.semantic-table td{padding:10px;border-bottom:1px solid var(--sys-border-primary);vertical-align:top;font-size:12px;overflow-wrap:anywhere}.table-title{border:0;background:none;color:var(--sys-text-primary);font:inherit;font-weight:700;text-align:left;cursor:pointer}.selection-intro{margin:6px 0 18px;color:var(--sys-text-secondary)}.selection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}.selection-card{cursor:pointer}.selection-card .news-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}@media(max-width:700px){.semantic-toolbar{align-items:flex-start;flex-direction:column}.semantic-wrap{padding:20px 12px}}

.digest-card h2{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.trend-level-tabs{display:flex;gap:8px;margin:20px 0}.signal-links{margin:10px 0 0;padding-left:20px}

/* ---------- Frontier ---------- */
.frontier-meta{margin:0 0 18px;font-size:12px;line-height:1.6}
.frontier-card{border-left:3px solid var(--const-palette-plum-normal)}
.frontier-section{margin:8px 0;font-size:13px;line-height:1.55}
.frontier-section .c1{font-weight:700}
.frontier-sources{margin:10px 0 4px}
.frontier-sources .c1{font-size:12px;font-weight:700;display:block;margin-bottom:4px}
.badge-convergence{background:var(--sys-background-positiveSoft);color:var(--sys-text-positiveStrong)}
.badge-blind_spot{background:var(--sys-background-highlightSoft);color:var(--sys-text-highlightStrong)}
.badge-hype{background:var(--sys-background-warningSoft);color:var(--sys-text-warningStrong)}
.badge-change-incremental{background:var(--sys-background-secondary);color:var(--sys-text-tertiary)}
.badge-change-breakthrough{background:var(--const-palette-blueberry-normal);color:#fff}
.badge-change-paradigm_shift{background:var(--const-palette-cranberry-normal);color:#fff}
.badge-hype{background:var(--sys-background-activeSoft);color:var(--sys-text-activeStrong)}
.conv-list{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}
.conv-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;font-size:12px;background:var(--sys-bg-secondary)}
.conv-convergence{border-left:3px solid var(--sys-text-positiveStrong)}
.conv-blind_spot{border-left:3px solid var(--sys-text-highlightStrong)}
.conv-hype{border-left:3px solid var(--sys-text-warningStrong)}
.conv-topic{font-weight:700;min-width:120px}
.conv-stat{color:var(--sys-text-secondary);white-space:nowrap}
.conv-vel{margin-left:auto;color:var(--sys-text-tertiary);white-space:nowrap}
@media(max-width:700px){.conv-row{flex-wrap:wrap}.conv-vel{margin-left:0}}

.daily-narrative{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;padding:16px 18px;border-left:3px solid var(--const-palette-plum-normal);background:var(--sys-bg-secondary);border-radius:0 12px 12px 0}.daily-narrative span{font-size:10px;font-weight:800;letter-spacing:.09em;color:var(--sys-text-tertiary)}.daily-narrative strong{font-size:17px;line-height:1.4}.region-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.region-section{min-width:0}.region-head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--sys-border-primary);margin:0 0 14px;padding-bottom:10px}.region-head h3{font-size:24px;margin:0}.region-head span{color:var(--sys-text-tertiary);font-size:12px}.region-section .modal-section-title{margin-top:18px}@media(max-width:900px){.region-columns{grid-template-columns:1fr}}

.trend-list{border-top:1px solid var(--sys-controls-stroke)}
.trend-list-head,.trend-row{display:grid;grid-template-columns:150px 115px minmax(190px,1fr) minmax(260px,1.6fr) 24px;gap:var(--const-spacing-05);align-items:center}
.trend-list-head{padding:0 16px 10px;color:var(--sys-text-tertiary);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.trend-row{padding:18px 16px;border-bottom:1px solid var(--sys-controls-stroke);cursor:pointer;transition:background .15s ease}.trend-row:hover{background:var(--sys-background-secondary)}.trend-relevance{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600}.trend-status-dot{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:var(--const-palette-mint-normal)}.trend-added,.trend-name span{color:var(--sys-text-tertiary);font-size:12px}.trend-name h3{margin:0 0 4px;font-size:15px;line-height:1.3}.trend-essence{margin:0;color:var(--sys-text-secondary);font-size:14px;line-height:1.45}.trend-row-arrow{color:var(--sys-text-primaryLink)}.trend-row.is-aging{opacity:.72}.trend-row.is-aging .trend-status-dot{background:#d88a28}.trend-row.is-archive{opacity:.48}.trend-row.is-archive .trend-status-dot{background:var(--sys-text-tertiary)}
.news-table-list{border-top:1px solid var(--sys-controls-stroke)}.news-table-row .trend-name h3,.news-table-row .trend-essence{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.news-table-row .trend-name h3{-webkit-line-clamp:2}.news-table-row .trend-essence{-webkit-line-clamp:3}.news-relevance .trend-status-dot{background:var(--const-palette-blueberry-normal)}
@media(max-width:760px){.trend-list-head{display:none}.trend-row{grid-template-columns:1fr auto;gap:8px 16px}.trend-relevance,.trend-added{grid-row:1}.trend-name,.trend-essence{grid-column:1/-1}.trend-row-arrow{display:none}}

/* Help — list layout aligned with Trends and News table */
.help-wrap{max-width:1180px;margin:auto;padding:48px 24px 80px}.help-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:end;margin-bottom:34px}.help-hero>div>span{color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.14em}.help-hero h1{font-size:clamp(38px,5vw,68px);line-height:.98;letter-spacing:-.045em;margin:12px 0 0}.help-hero h1 em{color:var(--accent);font-style:normal}.help-hero>p,.help-card p{color:var(--text-secondary);line-height:1.65}.help-toc{display:flex;gap:8px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--sys-controls-stroke);background:var(--sys-bg-primary);position:sticky;top:64px;z-index:5}.help-toc a{color:var(--text-secondary);text-decoration:none;padding:8px 13px}.help-grid{display:flex;flex-direction:column;border-top:1px solid var(--sys-controls-stroke)}.help-card,.help-card.help-wide{display:grid;grid-template-columns:220px minmax(220px,.8fr) minmax(360px,1.5fr);gap:24px;border:0;border-bottom:1px solid var(--sys-controls-stroke);border-radius:0;background:transparent;padding:26px 16px;scroll-margin-top:140px;transition:background .15s}.help-card:hover{background:var(--sys-background-secondary)}.help-card h2{font-size:18px;margin:0}.help-card>p{margin:0}.help-card dl{display:grid;grid-template-columns:140px 1fr;margin:0}.help-card dt,.help-card dd{padding:8px 0;border-bottom:1px solid var(--sys-controls-stroke);margin:0}.help-card dt{font-weight:700}.help-card dd{color:var(--text-secondary);line-height:1.5}.help-note{padding:12px;border-radius:8px;background:var(--surface-hover)}.help-levels{display:flex;flex-direction:column;margin:0}.help-levels>div{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:10px 0;border-bottom:1px solid var(--sys-controls-stroke)}.help-levels b{color:var(--accent)}.help-levels span{color:var(--text-secondary);line-height:1.5;font-size:14px}@media(max-width:900px){.help-hero{grid-template-columns:1fr;gap:24px}.help-toc{position:static}.help-card,.help-card.help-wide{grid-template-columns:1fr;gap:12px}.help-card dl{grid-template-columns:130px 1fr}}@media(max-width:560px){.help-card dl,.help-levels>div{grid-template-columns:1fr;gap:2px}}
