/* viewer/lib/board.css
 * 取引ボード (trs-board.html) / 所有ボード (holdings.html) 共通スタイル。
 * 両ページで byte 一致していたルールのみを抽出 (ページ固有 drift は各 HTML の <style> に残す)。
 * 読み込み順: theme.css -> board.css -> ページ inline <style> (後勝ちでページ側が上書き可)。
 */

:root {
  --bg-side: #0d0d14;
  --bg-card-subtle: rgba(255,255,255,0.025);
  --bg-summary: rgba(255,255,255,0.02);
  --bg-pill: rgba(15,17,24,0.82);
  --border-strong: rgba(255,255,255,0.15);
  --border-input: rgba(255,255,255,0.2);
  --border-thin: rgba(255,255,255,0.1);
  --text-2: rgba(255,255,255,0.85);
  --text-3: rgba(255,255,255,0.7);
  --text-4: rgba(255,255,255,0.55);
  --text-5: rgba(255,255,255,0.4);
  --text-6: rgba(255,255,255,0.3);
  --hover-strong: rgba(255,255,255,0.12);
  --accent-soft: rgba(96,165,250,0.08);
  --accent-soft-strong: rgba(96,165,250,0.10);
  --hl-value: #fbbf24;
  --scroll-thumb: rgba(255,255,255,0.1);
  --shadow-panel: 0 2px 8px rgba(0,0,0,0.4);
}

:root[data-theme="light"] {
  --bg-side: #fafbfd;
  --bg-card-subtle: rgba(0,0,0,0.025);
  --bg-summary: rgba(0,0,0,0.02);
  --bg-pill: rgba(255,255,255,0.92);
  --border-strong: rgba(0,0,0,0.15);
  --border-input: rgba(0,0,0,0.2);
  --border-thin: rgba(0,0,0,0.1);
  --text-2: rgba(0,0,0,0.85);
  --text-3: rgba(0,0,0,0.7);
  --text-4: rgba(0,0,0,0.55);
  --hover-strong: rgba(0,0,0,0.10);
  --accent-soft: rgba(37,99,235,0.08);
  --accent-soft-strong: rgba(37,99,235,0.12);
  --hl-value: #d97706;
  --scroll-thumb: rgba(0,0,0,0.18);
  --shadow-panel: 0 2px 8px rgba(0,0,0,0.12);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html, body { height: 100%; }
.page-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  background: var(--bg-header); backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
}
.header-row {
  height: 48px; display: flex; align-items: center; gap: 10px; padding: 0 16px;
  overflow-x: auto; scrollbar-width: none;
}
.header-row::-webkit-scrollbar { display: none; }
#filter-reit .filter-btn.is-extra, #filter-pref .filter-btn.is-extra { display: none; }
#filter-reit.is-expanded .filter-btn.is-extra, #filter-pref.is-expanded .filter-btn.is-extra { display: inline-flex; }
.filter-btn.filter-more { border-style: dashed; color: var(--text-4); }
#filter-reit.is-expanded .filter-btn.filter-more,
#filter-pref.is-expanded .filter-btn.filter-more {
  order: -1; border-style: solid; color: var(--text-2);
  background: var(--hover-strong);
}
.summary-pill {
  flex-shrink: 0; font-size: 0.72rem; padding: 3px 10px; border-radius: 14px;
  background: var(--hover); border: 1px solid var(--border-thin);
  color: var(--text-3); white-space: nowrap;
}
.summary-pill b { color: var(--text-1); font-weight: 600; }
.side-panel {
  width: 460px; flex-shrink: 0; overflow-y: auto;
  background: var(--bg-side); border-right: 1px solid var(--border-faint);
  scrollbar-width: thin; scrollbar-color: var(--scroll-thumb) transparent;
}
.side-panel::-webkit-scrollbar { width: 4px; }
.side-panel::-webkit-scrollbar-thumb { background: var(--scroll-thumb); border-radius: 2px; }
.search-panel {
  position: sticky; top: 0; z-index: 10;
  padding: 8px 12px; background: var(--bg-side);
  border-bottom: 1px solid var(--border-faint);
  display: flex; gap: 6px; align-items: center;
}
.search-box::placeholder { color: var(--text-5); }
.search-box-wrap { flex: 1; position: relative; }
.sort-select {
  background: var(--hover); border: 1px solid var(--border-input);
  border-radius: 20px; color: var(--text-1); font-size: 0.72rem; padding: 5px 8px; outline: none;
}
.no-results { padding: 40px 20px; text-align: center; font-size: 0.82rem; color: var(--text-6); }
#map { position: absolute; inset: 0; }
.disclosures-bottom {
  /* ヘッダ + 適時開示 3 件分の高さ。超過分は #disclosures-list 内でスクロール */
  flex-shrink: 0; height: 124px;
  border-top: 1px solid var(--border);
  background: var(--bg-side);
  display: flex; flex-direction: column;
  overflow: hidden;
}
.disclosures-bottom .dh {
  display: flex; align-items: baseline; justify-content: space-between;
  padding: 8px 14px 6px; border-bottom: 1px solid var(--border-faint);
}
.disclosures-bottom .dh-title { font-size: 0.82rem; font-weight: 700; color: var(--text-1); }
.disclosures-bottom .dh-meta a { color: var(--accent); text-decoration: none; }
.disclosures-bottom .dh-meta a:hover { text-decoration: underline; }
.dl-item {
  display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap;
  padding: 6px 14px; line-height: 1.4;
  border-bottom: 1px solid var(--border-faint);
  text-decoration: none; color: inherit;
  transition: background 0.12s;
}
.dl-item:hover { background: var(--hover); }
.dl-item:last-child { border-bottom: none; }
.dl-date {
  flex-shrink: 0; font-size: 0.78rem; color: var(--text-3);
  font-variant-numeric: tabular-nums;
}
.dl-reit {
  flex-shrink: 0; font-size: 0.78rem; color: var(--text-2); font-weight: 600;
}
.dl-kind {
  flex-shrink: 0; font-size: 0.58rem; font-weight: 700;
  padding: 0 6px; border-radius: 8px; line-height: 1.5;
}
.dl-title .arrow { color: var(--accent); font-size: 0.7rem; margin-left: 4px; }
.dl-placeholder { padding: 24px 14px; text-align: center; color: var(--text-5); font-size: 0.78rem; }
.map-switcher { top: 10px; right: 10px; }
.radius-control { top: 50px; right: 10px; }
.radius-control .rc-label { padding: 6px 8px; color: var(--text-4); font-size: 0.66rem; border-right: 1px solid var(--border-thin); }
