/* 题材事件脉络:梯队卡片三框 + 新闻页(/tiers/story/)。红涨绿跌语义:起爆=红、发酵=琥珀、尾声信号=灰、尾声确认=绿。 */

/* ---- 梯队卡片三框 ---- */
.tiers-story { margin:8px 0 12px; }
.tiers-story-note { margin:0 0 6px; font-size:11px; color:var(--muted); line-height:1.6; overflow-wrap:anywhere; }
.tiers-story-boxes { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:8px; }
.tiers-story-box { display:flex; flex-direction:column; gap:4px; min-width:0; padding:9px 11px 8px; border:1px solid var(--line); border-top:3px solid var(--faint);
  border-radius:8px; background:var(--card); color:var(--ink); text-decoration:none; font-size:12px; line-height:1.55; transition:border-color .15s, box-shadow .15s; }
.tiers-story-box:hover { border-color:var(--ink-2); box-shadow:0 1px 6px rgba(25, 43, 62, .08); }
.tiers-story-box:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.tiers-story-label { font-size:11px; letter-spacing:.06em; color:var(--muted); }
.tiers-story-head { font-size:14px; font-weight:600; font-variant-numeric:tabular-nums; }
.tiers-story-head small { margin-left:6px; font-size:11px; font-weight:400; color:var(--muted); }
.tiers-story-chip { align-self:flex-start; padding:0 5px; border-radius:4px; font-size:11px; font-weight:500; background:var(--surface-2); color:var(--ink-2); }
.tiers-story-chip.is-muted { color:var(--muted); }
.tiers-story-lines { display:flex; flex-direction:column; gap:1px; color:var(--ink-2); font-variant-numeric:tabular-nums; }
.tiers-story-news { display:block; padding-top:4px; border-top:1px dashed var(--line-2); overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.tiers-story-news i { font-style:normal; color:var(--muted); margin-right:5px; font-variant-numeric:tabular-nums; }
.tiers-story-news em { font-style:normal; margin-left:5px; font-size:11px; color:var(--muted); }
.tiers-story-empty { display:block; padding-top:4px; border-top:1px dashed var(--line-2); color:var(--muted); }
.tiers-story-more { margin-top:auto; padding-top:2px; font-size:11px; color:var(--muted); }
.tiers-story-box:hover .tiers-story-more { color:var(--ink); }
.tiers-story-strip { display:flex; align-items:flex-end; gap:2px; height:22px; margin-top:2px; }
.tiers-story-strip i { flex:1 1 0; min-width:3px; max-width:9px; border-radius:1px 1px 0 0; background:#ecd3b0; }
.tiers-story-strip i.has-news { background:var(--warn); }
.tiers-story-strip i.has-risk { box-shadow:inset 0 2px 0 var(--ink-2); }

.tiers-story-box.is-ignite { border-top-color:var(--up); }
.tiers-story-box.is-ignite .tiers-story-label, .tiers-story-box.is-ignite .tiers-story-head { color:var(--up); }
.tiers-story-box.is-ferment { border-top-color:var(--warn); }
.tiers-story-box.is-ferment .tiers-story-label, .tiers-story-box.is-ferment .tiers-story-head { color:var(--warn); }
.tiers-story-box.is-tail.is-signal { border-top-color:var(--ink-2); background:var(--surface); }
.tiers-story-box.is-tail.is-confirmed { border-top-color:var(--down); background:var(--down-bg); }
.tiers-story-box.is-tail.is-confirmed .tiers-story-label, .tiers-story-box.is-tail.is-confirmed .tiers-story-head { color:var(--down); }

@media (max-width: 640px) {
  .tiers-story-boxes { gap:5px; }
  .tiers-story-box { padding:7px 7px 6px; font-size:11px; }
  .tiers-story-head { font-size:12px; }
  .tiers-story-head small { display:block; margin:0; }
  .tiers-story-lines span:nth-child(n+2), .tiers-story-chip.is-muted { display:none; }
  .tiers-story-news { -webkit-line-clamp:3; }
  .tiers-story-more { display:none; }
}

/* ---- 新闻页 /tiers/story/ ---- */
.story-main { max-width:1080px; }
.story-back { display:inline-block; margin-bottom:8px; font-size:12px; color:var(--muted); text-decoration:none; }
.story-back:hover { color:var(--ink); }
.story-title { margin:0 0 4px; font-size:20px; text-wrap:balance; }
.story-meta { margin:0 0 12px; font-size:12px; color:var(--muted); line-height:1.7; overflow-wrap:anywhere; }
.story-meta b { color:var(--ink-2); font-weight:500; }
.story-alert { margin:0 0 12px; padding:8px 12px; border-radius:6px; background:var(--warn-bg); color:var(--warn); font-size:12px; line-height:1.6; }
.story-tabs { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:8px; margin-bottom:14px; }
.story-tab { display:flex; flex-direction:column; gap:3px; padding:9px 12px; border:1px solid var(--line); border-top:3px solid var(--faint); border-radius:8px;
  background:var(--card); color:var(--ink); font:inherit; font-size:12px; text-align:left; cursor:pointer; line-height:1.5; min-width:0; }
.story-tab[aria-selected="true"] { box-shadow:0 0 0 2px var(--accent) inset; }
.story-tab:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.story-tab b { font-size:14px; }
.story-tab span { color:var(--ink-2); overflow-wrap:anywhere; }
.story-tab.is-ignite { border-top-color:var(--up); } .story-tab.is-ignite b { color:var(--up); }
.story-tab.is-ferment { border-top-color:var(--warn); } .story-tab.is-ferment b { color:var(--warn); }
.story-tab.is-tail.is-confirmed { border-top-color:var(--down); } .story-tab.is-tail.is-confirmed b { color:var(--down); }
.story-tab.is-tail.is-signal { border-top-color:var(--ink-2); }

.story-section { margin:0 0 18px; }
.story-section > h2 { margin:0 0 8px; font-size:15px; }
.story-section > h2 small { margin-left:8px; font-size:12px; font-weight:400; color:var(--muted); }
.story-facts { display:flex; flex-wrap:wrap; gap:6px 16px; margin:0 0 10px; padding:0; list-style:none; font-size:12px; color:var(--ink-2); }
.story-facts li b { color:var(--ink); font-weight:600; font-variant-numeric:tabular-nums; }

.story-table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:8px; background:var(--card); }
.story-table { width:100%; border-collapse:collapse; font-size:12px; font-variant-numeric:tabular-nums; }
.story-table th, .story-table td { padding:6px 8px; border-bottom:1px solid var(--line-2); text-align:right; white-space:nowrap; }
.story-table th:first-child, .story-table td:first-child, .story-table td.is-text, .story-table th.is-text { text-align:left; }
.story-table td.is-text { white-space:normal; min-width:180px; }
.story-table thead th { color:var(--muted); font-weight:500; background:var(--surface); position:sticky; top:0; }
.story-table tbody tr { cursor:pointer; }
.story-table tbody tr:hover { background:var(--surface); }
.story-table tbody tr[aria-selected="true"] { background:var(--warn-bg); }
.story-table .is-peak { color:var(--up); font-weight:600; }
.story-table .is-quiet { color:var(--muted); }
.story-up { color:var(--up); } .story-down { color:var(--down); }

.story-filters { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 10px; }
.story-filter { padding:3px 10px; border:1px solid var(--line); border-radius:999px; background:var(--card); color:var(--ink-2); font:inherit; font-size:12px; cursor:pointer; }
.story-filter[aria-pressed="true"] { background:var(--accent); border-color:var(--accent); color:#fff; }
.story-filter:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }

.story-group { margin:0 0 14px; }
.story-group > h3 { margin:0 0 6px; font-size:13px; color:var(--ink-2); }
.story-group > h3 small { margin-left:6px; font-weight:400; color:var(--muted); }
.story-list { margin:0; padding:0; list-style:none; border:1px solid var(--line); border-radius:8px; background:var(--card); }
.story-item { display:grid; grid-template-columns:92px minmax(0, 1fr); gap:4px 12px; padding:9px 12px; border-bottom:1px solid var(--line-2); font-size:13px; line-height:1.6; }
.story-item:last-child { border-bottom:0; }
.story-item time { color:var(--muted); font-size:12px; font-variant-numeric:tabular-nums; }
.story-item time small { display:block; font-size:11px; }
.story-item-title { color:var(--ink); overflow-wrap:anywhere; }
.story-item-title a { color:inherit; text-decoration:underline; text-decoration-color:var(--line); text-underline-offset:3px; }
.story-item-title a:hover { text-decoration-color:var(--ink-2); }
.story-item-title button { padding:0; border:0; background:none; color:inherit; font:inherit; text-align:left; cursor:pointer; text-decoration:underline dotted var(--faint); text-underline-offset:3px; }
.story-item-why { grid-column:2; display:flex; flex-wrap:wrap; gap:4px 8px; font-size:11px; color:var(--muted); }
.story-tag { padding:0 5px; border-radius:4px; background:var(--surface-2); color:var(--ink-2); }
.story-tag.is-catalyst { background:var(--up-bg); color:var(--up); }
.story-tag.is-risk { background:var(--down-bg); color:var(--down); }
.story-tag.is-market { background:var(--surface-2); color:var(--muted); }
.story-tag.is-tier-A { background:var(--accent-bg); color:var(--accent); }
.story-item-body { grid-column:2; margin:4px 0 0; padding:8px 10px; border-radius:6px; background:var(--surface); font-size:12px; color:var(--ink-2); white-space:pre-wrap; overflow-wrap:anywhere; }
.story-empty { margin:0; padding:12px; font-size:12px; color:var(--muted); }
.story-stocks { display:flex; flex-wrap:wrap; gap:4px 10px; margin:0 0 10px; font-size:12px; color:var(--ink-2); }
.story-stocks span b { font-weight:500; color:var(--ink); }

.story-signals { margin:0 0 10px; padding:0; list-style:none; font-size:12px; }
.story-signals li { padding:5px 0; border-bottom:1px dashed var(--line-2); color:var(--ink-2); }
.story-signals li b { margin-right:6px; color:var(--ink); }
.story-signals li.is-falsified { color:var(--muted); text-decoration:line-through; text-decoration-color:var(--faint); }
.story-signals li.is-falsified em { text-decoration:none; }
.story-trigger { margin:0 0 10px; padding:8px 12px; border-left:3px solid var(--ink-2); background:var(--surface); font-size:12px; line-height:1.6; }

.story-terms { margin:0 0 16px; padding:10px 12px; border:1px dashed var(--line); border-radius:8px; font-size:12px; }
.story-terms summary { cursor:pointer; color:var(--ink-2); }
.story-terms-row { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:8px; }
.story-term { display:inline-flex; align-items:center; gap:4px; padding:1px 4px 1px 8px; border:1px solid var(--line); border-radius:999px; background:var(--card); }
.story-term.is-blocked { color:var(--faint); text-decoration:line-through; }
.story-term button { padding:0 4px; border:0; background:none; color:var(--muted); cursor:pointer; font:inherit; }
.story-terms input { width:120px; padding:3px 8px; border:1px solid var(--line); border-radius:6px; font:inherit; }
.story-terms .tiers-btn { padding:3px 10px; }

@media (max-width: 640px) {
  .story-tabs { gap:5px; }
  .story-tab { padding:7px; font-size:11px; }
  .story-tab b { font-size:12px; }
  .story-tab span:nth-of-type(n+2) { display:none; }
  .story-item { grid-template-columns:minmax(0, 1fr); gap:2px; }
  .story-item-why, .story-item-body { grid-column:1; }
}
