.mention-page { min-height: calc(100vh - 160px); padding: 52px 0 96px; }
.mention-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:24px; }
.mention-head h1 { margin:8px 0 0; font-size:2rem; letter-spacing:0; }
.index-status { color:var(--muted); font:12px 'SF Mono', Menlo, monospace; text-align:right; }
.mention-search { display:flex; gap:8px; max-width:920px; padding:7px; border:1px solid var(--border); background:var(--surface); border-radius:8px; }
.mention-search:focus-within { border-color:var(--accent); box-shadow:0 0 0 3px rgba(88,166,255,.14); }
.mention-search input { flex:1; min-width:0; border:0; outline:0; padding:14px 16px; background:transparent; color:var(--text); font-size:16px; }
.mention-search button { border:0; border-radius:6px; padding:0 24px; background:var(--accent); color:var(--bg); font-weight:650; cursor:pointer; }
.mention-search button:disabled { opacity:.55; cursor:wait; }
.mention-error { margin-top:18px; padding:14px 16px; border-left:3px solid var(--red); background:rgba(248,81,73,.08); color:#ffb1a8; }
.mention-summary { display:flex; flex-wrap:wrap; align-items:baseline; gap:14px 24px; margin:28px 0 18px; padding-bottom:16px; border-bottom:1px solid var(--border); }
.mention-company { font-size:20px; font-weight:650; }
.mention-company code { margin-left:8px; color:var(--accent); }
.mention-stat { color:var(--muted); }
.mention-layout { display:grid; grid-template-columns:minmax(0, 1fr) 220px; gap:36px; max-width:1240px; align-items:start; }
.mention-results { min-width:0; }
.transcript-result { margin-bottom:16px; padding:22px 24px; border:1px solid var(--border); border-radius:8px; background:var(--surface); }
.transcript-result-head { display:flex; justify-content:space-between; align-items:baseline; gap:24px; }
.transcript-result-head > a { min-width:0; color:var(--text); font-size:17px; font-weight:650; line-height:1.4; text-decoration:none; }
.transcript-result-head > a:hover { color:var(--accent); }
.transcript-result-head time { color:var(--muted); font-size:12px; white-space:nowrap; }
.transcript-result-meta { display:flex; align-items:center; gap:10px; margin:13px 0 12px; }
.transcript-result-meta > span { padding:4px 10px; border-radius:12px; background:#d29922; color:#0d1117; font-size:11px; font-weight:700; }
.transcript-result-meta small { color:var(--muted); }
.transcript-excerpt { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; color:var(--muted); line-height:1.65; text-decoration:none; }
.transcript-excerpt:hover { color:var(--text); }
.transcript-excerpt mark { padding:1px 2px; background:rgba(210,153,34,.32); color:#f2cc60; }
.mention-group { border-bottom:1px solid var(--border); padding:22px 0; }
.mention-group-head { display:flex; align-items:baseline; justify-content:space-between; gap:18px; margin-bottom:12px; }
.mention-group-head h2 { margin:0; font-size:17px; letter-spacing:0; }
.mention-count { color:var(--muted); font-size:12px; white-space:nowrap; }
.mention-document { margin-top:14px; padding-left:16px; border-left:2px solid var(--border); }
.mention-document-head { display:flex; justify-content:space-between; gap:18px; }
.mention-document-title { color:var(--text); font-weight:600; text-decoration:none; }
.mention-document-title:hover { color:var(--accent); }
.mention-document-meta { color:var(--muted); font-size:12px; white-space:nowrap; }
.mention-lines { margin-top:8px; }
.mention-snippet { display:grid; grid-template-columns:24px minmax(0, 1fr); gap:8px; margin:0; padding:9px 8px; color:var(--muted); line-height:1.65; text-decoration:none; border-radius:4px; }
.mention-snippet > span:last-child { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.mention-snippet:hover { background:var(--surface-2); color:var(--text); }
.mention-number { color:var(--muted-2); font:11px 'SF Mono', Menlo, monospace; padding-top:3px; }
.mention-snippet mark { padding:1px 3px; background:rgba(210,153,34,.25); color:#f2cc60; border-radius:2px; }
.mention-reference-panel { position:sticky; top:76px; max-height:calc(100vh - 96px); overflow:auto; margin-top:22px; border-left:1px solid var(--border); padding-left:18px; }
.reference-panel-head { margin-bottom:10px; color:var(--muted); font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.06em; }
.reference-list { display:flex; flex-direction:column; gap:3px; }
.reference-filter { display:grid; grid-template-columns:16px minmax(0, 1fr) auto; align-items:center; gap:8px; min-height:34px; padding:5px 7px; color:var(--muted); border-radius:4px; font:13px 'SF Mono', Menlo, monospace; cursor:pointer; }
.reference-filter:hover { background:var(--surface-2); color:var(--text); }
.reference-filter input { accent-color:var(--accent); }
.reference-filter > span { overflow:hidden; text-overflow:ellipsis; }
.reference-list strong { display:inline-flex; align-items:center; justify-content:center; min-width:25px; height:20px; padding:0 6px; border:1px solid rgba(88,166,255,.28); border-radius:10px; background:var(--accent-dim); color:var(--accent); font-size:10px; font-weight:650; }
.mention-group { scroll-margin-top:72px; }
.mention-empty { padding:42px 0; color:var(--muted); }
@media (max-width:700px) {
  .mention-page { padding-top:32px; }
  .mention-head { align-items:flex-start; flex-direction:column; }
  .index-status { text-align:left; }
  .mention-search button { padding:0 16px; }
  .mention-document-head { flex-direction:column; gap:4px; }
  .mention-document-meta { white-space:normal; }
  .transcript-result { padding:18px 16px; }
  .transcript-result-head { align-items:flex-start; flex-direction:column; gap:6px; }
  .mention-layout { display:block; }
  .mention-reference-panel { position:static; max-height:none; margin:22px 0 0; padding:18px 0 0; border-left:0; border-top:1px solid var(--border); }
}

.source-page { min-height:100vh; background:var(--bg); padding-bottom:96px; }
.source-toolbar { position:sticky; top:0; z-index:20; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px; min-height:52px; padding:0 28px; border-bottom:1px solid var(--border); background:rgba(13,17,23,.96); backdrop-filter:blur(10px); font-size:12px; }
.source-toolbar > a:last-child { text-align:right; }
.source-back, .source-toolbar a { color:var(--accent); text-decoration:none; }
.source-meta { display:flex; gap:16px; color:var(--muted); }
.source-layout { display:grid; grid-template-columns:minmax(0, 900px) 300px; gap:42px; max-width:1280px; margin:0 auto; padding:0 28px; align-items:start; }
.source-document { min-width:0; padding:46px 0; }
.source-document h1 { margin:0 0 30px; font-size:24px; line-height:1.35; letter-spacing:0; }
.source-text { color:var(--muted); font-size:16px; line-height:1.9; white-space:pre-wrap; }
.source-text mark { background:rgba(210,153,34,.24); color:#f2cc60; padding:2px 3px; border-radius:2px; scroll-margin-top:90px; }
.source-text mark.selected { background:#f2cc60; color:#161b22; box-shadow:0 0 0 4px rgba(242,204,96,.2); }
.source-stats { position:sticky; top:76px; max-height:calc(100vh - 96px); margin-top:46px; overflow:auto; border-left:1px solid var(--border); padding-left:22px; }
.source-stats-head { display:flex; justify-content:space-between; align-items:baseline; padding-bottom:16px; border-bottom:1px solid var(--border); color:var(--muted); font-size:13px; }
.source-stats-head strong { color:var(--text); font:26px 'SF Mono', Menlo, monospace; }
.source-stats-section { padding:18px 0; border-bottom:1px solid var(--border); }
.source-stats-section h2 { margin:0 0 12px; color:var(--muted); font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.06em; }
.alias-stat { display:flex; justify-content:space-between; gap:12px; padding:5px 0; }
.alias-stat code { color:#f2cc60; overflow:hidden; text-overflow:ellipsis; }
.alias-stat span { color:var(--muted); font:12px 'SF Mono', Menlo, monospace; }
.occurrence-list { display:flex; flex-direction:column; gap:4px; }
.occurrence-list a { display:grid; grid-template-columns:22px 1fr; gap:7px; padding:8px 7px; color:var(--muted); text-decoration:none; border-radius:4px; }
.occurrence-list a:hover, .occurrence-list a.active { background:var(--surface-2); color:var(--text); }
.occurrence-list a.active { box-shadow:inset 2px 0 var(--accent); }
.occurrence-list a > span { color:var(--accent); font:11px 'SF Mono', Menlo, monospace; padding-top:2px; }
.occurrence-list p { margin:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:12px; line-height:1.45; }
@media (max-width:700px) {
  .source-toolbar { grid-template-columns:1fr auto; padding:8px 16px; }
  .source-meta { grid-column:1 / -1; grid-row:2; flex-wrap:wrap; }
  .source-layout { display:block; padding:0 18px; }
  .source-document { padding:32px 0; }
  .source-text { font-size:15px; }
  .source-stats { position:static; max-height:none; margin:0; padding:24px 0 0; border-left:0; border-top:1px solid var(--border); }
}
@media (min-width:701px) and (max-width:1050px) {
  .source-layout { grid-template-columns:minmax(0, 1fr) 250px; gap:26px; }
}
