/* Individual-stock page: readable type, spacious charts, honest loading states. */
body.stock-readable { font-size: 16px; --text-dim: #a2b5d3; }
.stock-readable #control-bar { flex-wrap: wrap; gap: 8px; padding: 8px 12px; }
.stock-readable #control-bar input,
.stock-readable #control-bar select,
.stock-readable #control-bar button { font-size: 16px; min-height: 42px; }
.stock-readable #status-text { font-size: 14px; white-space: normal; }
.stock-readable #hdr { position: static; gap: 8px; padding: 8px 12px; }
.stock-readable .hdr-block { height: auto; min-height: 94px; padding: 8px; }
.stock-readable #hdr-name, .stock-readable #hdr-name.short { font-size: 24px; letter-spacing: 1px; }
.stock-readable #hdr-price { font-size: 36px; }
.stock-readable #main { grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 12px; padding: 12px; }
.stock-readable .col { gap: 12px; flex-direction: column; grid-column: auto; }
.stock-readable .col > .panel { flex: auto; }
.stock-readable .panel { padding: 12px; }
.stock-readable .ptitle { font-size: 18px; padding-bottom: 8px; margin-bottom: 10px; }
.stock-readable .gauge-panel > .ptitle { line-height: 1.5; }
.stock-readable .col > .gauge-panel { flex: 0 0 auto; min-height: 310px; }
.stock-readable #winrate-gauge { flex: 0 0 180px; height: 180px; min-height: 180px; }
.stock-readable .gauge-label { margin-top: 8px; font-size: 16px; line-height: 1.5; }
.stock-readable .gauge-panel > .ptitle .muted {
  display: block; margin-top: 6px; font-size: 14px;
  font-weight: 400; line-height: 1.5; letter-spacing: 0.5px;
}
.stock-readable .stock-summary-row {
  display: grid; grid-column: 1 / -1; gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.stock-readable .stock-summary-row > .panel { min-width: 0; }
.stock-readable .stock-summary-row > #dt-advice-panel { grid-column: 1 / -1; }
.stock-readable .trend-forecast {
  grid-template-columns: minmax(0, 1fr); max-height: none;
  gap: 0; padding: 8px 14px;
}
.stock-readable .forecast-row {
  display: grid; grid-template-columns: 128px minmax(0, 1fr);
  align-items: start; gap: 16px; padding: 10px 0;
  line-height: 1.6; overflow: visible;
  border-bottom: 1px solid var(--border);
}
.stock-readable .forecast-row:last-child { border-bottom: 0; }
.stock-readable .forecast-row .fc-label { white-space: normal; }
.stock-readable .forecast-row .fc-value {
  font-size: 16px; white-space: normal; overflow: visible;
  text-overflow: clip; overflow-wrap: anywhere; font-variant-numeric: tabular-nums;
}
.stock-readable .forecast-row .fc-dim { display: inline-block; margin-left: 8px; }
.stock-readable .forecast-row.fc-action { grid-column: auto; margin-top: 0; padding-top: 10px; }
.stock-readable .tab { font-size: 16px; padding: 6px 0; }
.stock-readable .tab-row { flex-wrap: wrap; gap: 14px; }
.stock-readable #kline-chart { height: 440px; min-height: 360px; flex: auto; }
.stock-readable .ti-block > div[id^="mini-"] { min-height: 140px; }
.stock-readable .bul li, .stock-readable .chip li, .stock-readable .sig li { white-space: normal; line-height: 1.7; }
.stock-readable .reco-faces { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.stock-readable .reco-news-list li { grid-template-columns: minmax(0, 1fr); }
.stock-readable .reco-news-meta { white-space: normal; }
.stock-readable .data-badge { line-height: 1.5; min-height: 22px; }
.stock-readable #bottom-row { gap: 12px; padding: 12px; }
.dashboard-pending { position: relative; min-height: 96px; }
.dashboard-pending > * { visibility: hidden; pointer-events: none; }
.dashboard-pending::after {
  content: attr(data-pending-label); position: absolute; inset: 0;
  display: grid; place-items: center; padding: 16px; text-align: center;
  background: var(--bg-panel); color: #bacce5; font-size: 16px; line-height: 1.6;
}
@media (max-width: 1100px) {
  .stock-readable #hdr { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .stock-readable #main { grid-template-columns: minmax(0, 1fr); }
  .stock-readable .col-right, .stock-readable .col-far { flex-direction: column; grid-column: auto; }
}
@media (max-width: 960px) {
  .stock-readable .stock-summary-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .stock-readable .stock-summary-row { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 768px) {
  .stock-readable .forecast-row { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .stock-readable #hdr { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .stock-readable #hdr-name, .stock-readable #hdr-name.short { font-size: 20px; }
  .stock-readable #hdr-price { font-size: 30px; }
  .stock-readable #main, .stock-readable #bottom-row { padding: 8px; }
  .stock-readable #kline-chart { height: 380px; min-height: 320px; }
  .stock-readable .reco-faces { grid-template-columns: minmax(0, 1fr); }
  .stock-readable #control-bar { position: static; }
}
