/* STOCK TALK portfolio page: snapshot-driven holdings, not trade replay. */

.talk-main {
  display: grid;
  gap: 32px;
  padding-block: 32px 64px;
}

.talk-main h2 { margin: 0 0 6px; font-size: var(--type-key); font-weight: 650; }

.stat-time { font-size: var(--type-body) !important; }

.change-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 6px;
}

.change {
  display: grid;
  grid-template-columns: 68px 90px 1fr;
  align-items: center;
  gap: 12px;
  border-left: 3px solid var(--wire);
  background: var(--terminal-raised);
  padding: 9px 14px;
  border-radius: 0 8px 8px 0;
  font-size: var(--type-body);
}

.change-opened    { border-left-color: var(--profit); }
.change-increased { border-left-color: var(--profit-muted); }
.change-decreased { border-left-color: var(--caution); }
.change-closed    { border-left-color: var(--risk); }

.change-kind {
  font: 700 var(--type-meta)/1 "Ubuntu Mono", monospace;
  color: var(--signal-secondary);
}

.change-opened .change-kind    { color: var(--profit); }
.change-decreased .change-kind { color: var(--caution); }
.change-closed .change-kind    { color: var(--risk); }

.change-ticker {
  color: var(--signal-ink);
  font: 700 var(--type-meta)/1 "Ubuntu Mono", monospace;
  text-decoration: none;
}

.change-ticker:hover { color: var(--profit); }
.change-detail { color: var(--signal-tertiary); font-variant-numeric: tabular-nums; }

.sector-block { margin-top: 22px; }

.sector-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--wire);
  color: var(--signal-secondary);
  font-size: var(--type-meta);
  font-weight: 650;
}

.sector-head span {
  color: var(--signal-ink);
  font: 650 var(--type-meta)/1 "Ubuntu Mono", monospace;
  font-variant-numeric: tabular-nums;
}

.holding-labels,
.holding {
  display: grid;
  grid-template-columns: 62px 1.1fr 0.8fr 0.8fr 0.8fr 1.6fr;
  align-items: center;
  gap: 14px;
}

.holding-labels {
  min-height: 24px;
  color: var(--signal-muted);
  font: 700 var(--type-meta)/1 "Ubuntu Mono", monospace;
  letter-spacing: 0.08em;
}

.holding-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid var(--wire);
  border-radius: var(--radius-panel);
  background: var(--terminal-raised);
}

.holding {
  min-height: 38px;
  padding: 0 14px;
  border-bottom: 1px solid var(--wire-soft);
  font-size: var(--type-body);
}

.holding:last-child { border-bottom: 0; }

.holding-weight {
  color: var(--signal-ink);
  font: 650 var(--type-meta)/1 "Ubuntu Mono", monospace;
  font-variant-numeric: tabular-nums;
}

.holding-ticker a {
  color: var(--signal-ink);
  font: 700 var(--type-body)/1 "Ubuntu Mono", monospace;
  text-decoration: none;
}

.holding-ticker a:hover { color: var(--profit); }
.holding-ticker em { font-style: normal; color: var(--caution); font-size: var(--type-meta); }

.tag-new {
  color: var(--profit) !important;
  border: 1px solid var(--profit-muted);
  border-radius: 4px;
  padding: 0 4px;
  font-size: var(--type-meta) !important;
}

.holding-cost,
.holding-price { color: var(--signal-secondary); font-variant-numeric: tabular-nums; }

.holding > strong {
  font: 600 var(--type-meta)/1 "Ubuntu Mono", monospace;
  font-variant-numeric: tabular-nums;
  color: var(--signal-secondary);
}

.holding > strong.pnl-up { color: var(--profit); }
.holding > strong.pnl-down { color: var(--risk); }

.holding-options {
  color: var(--signal-tertiary);
  font: 500 var(--type-meta)/1.5 "Ubuntu Mono", monospace;
}

.holding-list.compact .holding { grid-template-columns: 62px 1fr 0.8fr 1.4fr; }

@media (max-width: 900px) {
  .holding-labels { display: none; }
  .holding { grid-template-columns: 58px 1fr 0.8fr 0.8fr; gap: 10px; padding: 10px 12px; }
  .holding-options, .holding > strong { display: none; }
  .change { grid-template-columns: 60px 80px 1fr; }
}

/* 二级研究员: several weight-based books side by side. */
.book-section { margin-top: 28px; }

.book-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 12px;
  margin: 0 0 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--wire);
  font-size: var(--type-body);
  font-weight: 650;
}

.book-total {
  color: var(--signal-ink);
  font: 650 var(--type-meta)/1 "Ubuntu Mono", monospace;
  font-variant-numeric: tabular-nums;
}

.book-head small { color: var(--signal-muted); font-size: var(--type-meta); font-weight: 400; }
.book-head small a { color: var(--signal-tertiary); text-decoration: none; }

.erji-holding { grid-template-columns: 62px 1.1fr 1.4fr 0.8fr; }

.ops-details { margin-top: 12px; }

.ops-details summary {
  cursor: pointer;
  color: var(--signal-tertiary);
  font-size: var(--type-body);
  padding: 6px 0;
}

.ops-details summary:hover { color: var(--signal-ink); }
.ops-details .change-list { margin-top: 8px; }
.change-detail em { font-style: normal; color: var(--signal-muted); margin-left: 6px; }
.change-detail a { color: var(--signal-tertiary); font-size: var(--type-body); text-decoration: none; }
