/* Shared phone typography and surfaces for secondary research pages. */
.mobile-page-heading { display: none; }
@media (max-width: 700px) {
  .mobile-page-heading { display: block; padding: 20px 18px 16px; }
  .mobile-page-heading h2 { font-size: 22px; font-weight: 600; letter-spacing: -.3px; }
  .mobile-page-heading p { margin: 6px 0 0; color: #929ba8; font-size: 12px; }
  .news-panel, .setup-strip { background: #101216; border: 0; }
  .news-panel .panel-heading { border: 0; padding: 18px 18px 10px; }
  .news-panel .panel-heading h2 { font-size: 21px; font-weight: 600; }
  .news-panel .legend { color: #8993a2; font-size: 11px; }
  .news-filters { border: 0; margin: 0 18px; padding: 3px; gap: 4px; background: #1b2027; border-radius: 10px; }
  .news-filters button { flex: 1; border: 0; border-radius: 8px; min-height: 44px; color: #a3adbb; font-size: 12px; }
  .news-filters button.active { color: #f0c65a; background: #2b2a22; }
  .news-filters button.active::after { display: none; }
  .news-note { margin: 0; padding: 12px 18px; font-size: 11px; color: #8993a2; }
  .recent-news-board { display: grid; gap: 12px; padding: 0 14px 18px; }
  .recent-news-card { border: 1px solid #2b313b; border-radius: 13px; padding: 16px; background: #191e25; overflow-wrap: anywhere; }
  .recent-news-meta { gap: 6px; font-size: 10px; line-height: 1.6; margin-bottom: 10px; }
  .recent-news-meta time { flex-basis: 100%; }
  .recent-news-meta span { max-width: 100%; color: #b1bbc8; }
  .recent-news-card > strong { font-size: 15px; line-height: 1.65; font-weight: 550; letter-spacing: .1px; }
  .news-evidence { border: 0; margin-top: 10px; }
  .news-evidence > summary { display: flex; align-items: center; justify-content: space-between; list-style: none; min-height: 44px; border-top: 1px solid #2a303a; color: #aeb9c8; font-size: 12px; }
  .news-evidence > summary::-webkit-details-marker { display: none; }
  .news-evidence > summary::after { content: '+'; font-size: 18px; font-weight: 400; color: #8c98a8; }
  .news-evidence[open] > summary::after { content: '−'; }
  .news-evidence :is(p, .recent-news-summary) { font-size: 13px; line-height: 1.85; color: #adb7c5; }
  .news-evidence b { color: #d3d9e2; font-weight: 500; }
  .news-evidence .news-source-links a { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; color: #96b9dd; }
  .news-more { align-self: stretch; margin: 0 14px 14px; border: 1px solid #303742; border-radius: 10px; color: #c4ccd7; }
  .dock-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 14px; padding: 3px; gap: 3px; background: #1b2027; border: 0; border-radius: 10px; overflow: visible; }
  .dock-tabs button { min-width: 0; min-height: 44px; font-size: 11px; border-radius: 8px; }
  .dock-tabs button.active { background: #2b2a22; color: #f0c65a; }
  .dock-tabs button.active::after { display: none; }
  .dock-tabs b { font-size: 9px; padding-left: 2px; }
  .signal-columns { padding: 16px 14px 20px; }
  .workspace-changes { border: 0; padding: 12px 18px 0; font-size: 11px; }
  .context-column, .context-editor { padding: 16px; border: 1px solid #2b313b; border-radius: 13px; background: #191e25; min-width: 0; }
  .interaction-body { gap: 12px; }
  .field-label, .context-editor form label { font-size: 12px; color: #c4cdd9; }
  .context-summary { font-size: 15px; line-height: 1.8; margin-top: 10px; color: #e0e5ed; overflow-wrap: anywhere; }
  .context-column .caption { margin-top: 14px; font-size: 11px; line-height: 1.8; color: #8d98a8; }
  .context-editor form { gap: 12px; }
  .context-editor textarea { min-height: 128px; padding: 12px; border-radius: 9px; background: #13171d; border-color: #343d49; font-size: 16px; line-height: 1.7; }
  .context-editor textarea::placeholder { font-size: 13px; color: #7f8a99; }
  .context-editor .primary { min-height: 46px; border-radius: 9px; font-size: 13px; }
  .context-editor .secondary { min-height: 46px; border-radius: 9px; font-size: 13px; }
  .chat-result { font-size: 12px; line-height: 1.7; }
  .signal-table-head { display: none; }
  .setup-board { gap: 10px; }
  .setup-card { grid-template-columns: minmax(0, 1fr) auto; gap: 10px; min-height: 100px; border: 1px solid #2b313b; border-radius: 12px; padding: 14px; background: #191e25; }
  .setup-description { grid-column: 1 / -1; grid-row: 2; }
  .setup-card > :nth-child(3) { grid-column: 2; grid-row: 1; text-align: right; }
  .setup-card strong { font-size: 14px; }
  .setup-card small { font-size: 11px; white-space: normal; line-height: 1.7; }
  .setup-description strong { font-size: 12px; }
  .setup-card-status { font-size: 11px; }
  .history-controls { display: none; }
  .history-board { display: flex; flex-direction: column; overflow: visible; gap: 10px; }
  .history-card { flex: none; width: 100%; padding: 16px; border-radius: 12px; background: #191e25; border-color: #2b313b; }
  .history-head strong { font-size: 15px; }
  .history-head span { font-size: 11px; }
  .history-meta { font-size: 10px; gap: 6px 10px; }
  .history-card p, .history-card > small { white-space: normal; line-height: 1.7; font-size: 12px; }
  .history-signals .section-head { margin-bottom: 8px; }
  .history-signals h2 { font-size: 15px; font-weight: 550; }
  .history-browse-hint { display: none; }
  .graph-inputs { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .graph-desktop { gap: 12px; }
  .graph-node { padding: 16px; border-radius: 12px; border-color: #2b313b; background: #191e25; }
  .graph-node h3 { font-size: 16px; margin: 6px 0 12px; }
  .graph-node > small, .graph-relation small, .graph-signal { font-size: 11px; line-height: 1.7; }
  .graph-relation, .market-lines, .graph-opinion p { font-size: 12px; line-height: 1.8; }
  .graph-opinion div, .graph-opinion div span { font-size: 12px; line-height: 1.8; }
  .ordinary-decisions summary { min-height: 44px; display: flex; align-items: center; font-size: 12px; }
  .decision-grid-compact { flex-direction: column; overflow: visible; }
  .decision-mini { flex: none; width: 100%; border-radius: 12px; padding: 14px; background: #191e25; }
  .decision-mini h3 { font-size: 15px; }
  .mini-signals, .mini-action, .mini-action small { font-size: 12px; line-height: 1.7; }
  .setup-empty, .history-empty, .empty { padding: 24px 18px; font-size: 12px; line-height: 1.8; }
  .setup-empty, .history-empty { border: 1px dashed #343c48; border-radius: 12px; background: #181c22; flex: none; }
  .setup-empty strong, .history-empty strong { font-size: 14px; }
  .ontology-details { margin: 0 14px 12px; border: 1px solid #2b313b; border-radius: 12px !important; background: #191e25; }
  .ontology-details .detail-summary { min-height: 52px; padding: 12px 16px; font-size: 13px; }
  .data-status-bar { padding: 14px; gap: 12px; }
  .status-item { border-radius: 9px; }
  .metrics-strip { padding: 16px; }
  .ontology-layout { padding: 16px; overflow-wrap: anywhere; }
  .terminal-footer { padding: 8px 18px 16px; font-size: 10px; line-height: 1.8; color: #8993a2; }
  .signal-replay { margin: 14px; border-radius: 12px !important; border: 1px solid #303742; background: #191e25; }
  .signal-replay .panel-heading { min-height: 52px; padding: 12px 16px; }
  .signal-replay-body { padding: 16px; }
  .replay-columns p { font-size: 13px; }
  .replay-chart { height: 260px; }
  .symbol-picker, .news-dialog { background: #191e25; border-color: #343c48; box-shadow: 0 -16px 70px #0005; }
  .symbol-picker header { padding: 4px 2px; }
  .symbol-picker h2 { font-size: 19px; font-weight: 600; }
  .symbol-picker header button { min-width: 48px; font-size: 12px; }
  #symbolQuery { min-height: 48px; border-color: #354150; }
  .symbol-results button { min-height: 64px; padding: 14px 12px; }
  .news-dialog { --news-line: #303844; --news-muted: #a1aebf; --news-accent: #e8bd51; }
  .news-dialog .news-dialog-header { padding: 6px 16px; gap: 10px; }
  .news-dialog .news-dialog-icon { color: #c1cbd9; width: 21px; }
  .news-dialog .news-dialog-header h2 { font-size: 16px; font-weight: 550; }
  .news-dialog .news-detail-title { font-size: 20px; line-height: 1.55; font-weight: 600; margin-bottom: 12px; }
  .news-dialog .news-detail-source { font-size: 12px; color: #bbc6d4; }
  .news-dialog .news-detail-meta { gap: 6px 10px; }
  .news-dialog .news-detail-time { font-size: 10px; line-height: 1.7; }
  .news-dialog .news-detail-actions { gap: 7px; margin-top: 12px; }
  .news-dialog .news-detail-actions :is(a, button) { border-radius: 8px; font-size: 12px; background: #202630; }
  .news-dialog .news-impact-strip { background: transparent; border: 0; padding: 0; gap: 8px 12px; margin: 14px 0; }
  .news-dialog .news-impact-direction { font-size: 13px; border-radius: 7px; padding: 6px 10px; }
  .news-dialog .news-impact-metric { font-size: 11px; color: #a1aebf; }
  .news-dialog .news-core-view { background: #171d24; border-color: #354a42; padding: 14px; border-radius: 11px; }
  .news-dialog .news-core-view h4 { font-size: 14px; font-weight: 550; }
  .news-dialog .news-core-view p { font-size: 13px; line-height: 1.8; color: #c7d2de; }
  .news-dialog .news-core-view > small { display: block; margin-top: 10px; font-size: 10px; line-height: 1.8; color: #8f9faf; }
  .news-dialog .news-timeline-card { background: #171d24; border-color: #303844; padding: 14px; border-radius: 11px; }
  .news-dialog .news-timeline-card h4 { font-size: 13px; font-weight: 550; margin-bottom: 12px; }
  .news-dialog .news-timeline { gap: 14px; }
  .news-dialog .news-timeline-step { font-size: 12px; line-height: 1.7; }
  .news-dialog details { padding: 8px 14px; border-radius: 11px; background: #171d24; }
  .news-dialog details > summary { font-size: 12px; }
  .news-dialog .news-topic { font-size: 11px; border-radius: 7px; padding: 4px 8px; }
  .news-dialog .news-detail-footer { font-size: 10px; line-height: 1.7; }
}
