/* dispatch 092: 先行指標 詳細 / アーカイブ ページ専用スタイル。
   正典 mock design/signal_page_mock_2026-07-04.html を .signal-page scoped で外出し
   (既存 .story-* / global .hero 等との衝突回避、about.css と同方針)。
   palette は mock :root を .signal-page ローカル変数に取込 (本番トークンと同値)。 */
.signal-page{
  --fg:#1a1d24; --fg-muted:#5b6270; --fg-subtle:#8a92a0;
  --bg:#ffffff; --bg-alt:#f7f8fa; --bg-card:#fbfbfd;
  --border:#e3e6ec; --border-strong:#c8cdd6;
  --accent:#2c5b8c; --accent-soft:#e8f0f9;
  --warn:#b06a1f; --grp-b:#5a3c8c; --grp-c:#2c7a4d;
  --navy:#16243d; --gold:#a37b3e; --gold-soft:#f5ecd9;
  line-height:1.7;
}
.signal-page .crumb-note{font-size:12.5px; color:var(--fg-subtle); margin:6px 2px 12px;}

/* hero (濃紺・先行指標は金アクセント border-top) */
.signal-page .sig-hero{background:var(--navy); color:#eef2f9; padding:22px 26px 24px; border-radius:10px; border-top:4px solid var(--gold);}
.signal-page .sig-hero .tag{font-size:11px; color:#e0c48a; font-weight:600; letter-spacing:.5px;}
.signal-page .sig-hero .topic{font-size:12px; color:#9fb6d6; margin-top:8px;}
.signal-page .sig-hero h1{margin:4px 0 14px; font-size:25px; font-weight:700; color:#eef2f9; letter-spacing:.3px;}
/* mock の hero .said (分析リード) は MVP 未描画: 分析本文と同じく要約側トラックで後日投入
   (StructuralSignal に lead フィールド無し)。→ 対応 CSS も未使用のため削除済。 */
.signal-page .sig-hero .meta{display:flex; gap:12px; flex-wrap:wrap; font-size:12.5px; color:#c7d3e6; align-items:center;}
.signal-page .chip{background:rgba(255,255,255,.12); color:#eef2f9; border-radius:4px; padding:2px 8px; font-weight:600;}
.signal-page .chip.mag{background:rgba(163,123,62,.28); color:#f0dcb4;}
.signal-page .url-chip{background:#e8f0f9; color:var(--accent); border-radius:4px; padding:2px 8px; font-weight:600; font-size:11.5px;}
.signal-page .conf{font-size:11.5px; font-weight:700; padding:2px 10px; border-radius:20px; white-space:nowrap;}
.signal-page .conf-ok{background:#e8f4ee; color:var(--grp-c);}   /* 複数ソース確認・公式 */
.signal-page .conf-un{background:#fbf0df; color:var(--warn);}    /* 報道ベース・未確認 */

.signal-page .sec-label{font-size:13px; font-weight:600; color:var(--fg-muted); margin:22px 2px 8px; display:flex; align-items:center; gap:8px;}
.signal-page .sec-label .ic{color:var(--fg-subtle); font-style:normal;}

/* 三角測量 (発表 vs 事実) */
.signal-page .tri{display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px;}
.signal-page .tri .cell{background:var(--bg); border:1px solid var(--border); border-radius:8px; padding:12px 14px;}
.signal-page .tri .cell .k{font-size:11px; color:var(--fg-subtle); font-weight:600; margin-bottom:5px;}
.signal-page .tri .cell .v{font-size:13.5px; color:var(--fg-muted);}
.signal-page .tri .cell.fact{border-left:3px solid var(--grp-c);}
.signal-page .tri .cell.claim{border-left:3px solid var(--accent);}
.signal-page .tri .cell.gap{border-left:3px solid var(--warn);}

/* 一次ソース (二層) */
.signal-page .lane{background:var(--bg); border:1px solid var(--border); border-radius:8px; overflow:hidden;}
.signal-page .art{display:flex; gap:12px; padding:13px 16px; border-bottom:1px solid var(--border); align-items:flex-start; text-decoration:none; color:var(--fg);}
.signal-page .art:last-child{border-bottom:none;}
.signal-page .art:hover{background:#fbfcfe;}
.signal-page .art .src-badge{flex-shrink:0; font-size:10px; font-weight:600; padding:2px 7px; border-radius:4px; margin-top:2px;}
.signal-page .art .t1{background:var(--gold-soft); color:var(--gold);}   /* 公式 IR */
.signal-page .art .t3{background:#eef4f0; color:var(--grp-c);}          /* 報道 */
.signal-page .art .t4{background:#f3eef9; color:var(--grp-b);}          /* 専門/コミュニティ */
.signal-page .art .t2{background:#eef1f6; color:var(--fg-muted);}       /* 学術 (arxiv) */
.signal-page .art .body{flex:1; min-width:0;}
.signal-page .art .title{font-size:14.5px; font-weight:500; margin:0 0 3px;}
.signal-page .art .ameta{font-size:11.5px; color:var(--fg-subtle); margin:0;}
.signal-page .art .asum{font-size:12px; color:var(--fg-muted); margin:5px 0 0; line-height:1.6;}
.signal-page .art .ext{flex-shrink:0; font-size:11px; color:var(--accent); font-weight:600; white-space:nowrap; margin-top:2px;}
.signal-page .academic-fold{border-top:1px solid var(--border);}
.signal-page .academic-fold > summary{padding:11px 16px; font-size:12.5px; color:var(--fg-subtle); cursor:pointer; background:var(--bg-card); list-style:none;}

/* 分析本文 (MVP プレースホルダ) */
.signal-page .body-area{background:var(--bg-card); border:1px dashed var(--border-strong); border-radius:8px; padding:16px 18px; margin-top:8px; color:var(--fg-muted); font-size:13.5px;}
/* dispatch 095: 分析本文 (explanation.status=published) の段落。mock L163-165 準拠 (2 段目以降 margin-top)。 */
.signal-page .body-area .body-p{margin:0; line-height:1.7;}
.signal-page .body-area .body-p + .body-p{margin-top:8px;}

/* 三角測量 MVP プレースホルダ (per-cell 本文が無いとき) */
.signal-page .tri .cell .pending{font-size:12px; color:var(--fg-subtle); font-style:italic;}

/* 関連ストーリー */
.signal-page .rel{background:var(--bg); border:1px solid var(--border); border-radius:8px;}
.signal-page .rel .rrow{display:flex; gap:12px; padding:12px 16px; align-items:center; border-bottom:1px solid var(--border); text-decoration:none; color:var(--fg);}
.signal-page .rel .rrow:last-child{border-bottom:none;}
.signal-page .rel .rrow:hover{background:var(--accent-soft);}
/* mock の .rtag (topic 別ラベル) は簡略化: 関連は tag ラベルを .rtitle に 1 本で表示
   (story headline を別途引く JOIN を避ける MVP 簡略、無ければ section 非表示)。 */
.signal-page .rel .rrow .rtitle{flex:1; font-size:14px; font-weight:500; color:var(--fg);}
.signal-page .rel .rrow .arrow{color:var(--fg-subtle);}

.signal-page .sig-anno{font-size:12px; color:var(--fg-subtle); margin:12px 2px 0;}
.signal-page .back-link{display:inline-block; margin-top:20px; font-size:13px; color:var(--accent); text-decoration:none;}

/* archive */
.signal-page .arch-header{margin-bottom:12px;}
.signal-page .arch-title{font-size:22px; font-weight:700; margin:0 0 4px;}
.signal-page .arch-lead{color:var(--fg-muted); font-size:14px; margin:0;}
.signal-page .arch-count{color:var(--fg-subtle); font-size:12.5px; margin:6px 0 0;}
.signal-page .arch{background:var(--bg); border:1px solid var(--border); border-radius:8px; margin-top:10px;}
.signal-page .arow{display:flex; gap:12px; padding:12px 16px; border-bottom:1px solid var(--border); align-items:center; text-decoration:none;}
.signal-page .arow:last-child{border-bottom:none;}
.signal-page .arow:hover{background:var(--accent-soft);}
.signal-page .arow .date{font-size:12px; color:var(--fg-subtle); width:60px; flex-shrink:0;}
.signal-page .arow .cat{font-size:11px; font-weight:600; min-width:110px; color:var(--gold);}
.signal-page .arow .atitle{flex:1; font-size:14px; font-weight:500; color:var(--fg);}

@media (max-width:768px){
  .signal-page .tri{grid-template-columns:1fr;}
  .signal-page .sig-hero h1{font-size:21px;}
  .signal-page .arow{flex-wrap:wrap; gap:4px 10px;} .signal-page .arow .cat{min-width:auto;}
  /* dispatch 097: タイトル(.atitle)をフル幅の独立行に。メタ (date/sub_axis/確信度) を
     上段1行にまとめ、確信度ラベルがタイトル途中で孤立する崩れを解消。desktop は不変。 */
  .signal-page .arow .date{order:1;}
  .signal-page .arow .cat{order:2;}
  .signal-page .arow .conf{order:3;}
  .signal-page .arow .atitle{order:4; flex:1 1 100%;}
}
