:root {
  --navy: #1b2f4b;
  --navy-2: #26426a;
  --accent: #e8541e;
  --bg: #eef0f3;
  --paper: #ffffff;
  --ink: #1f2328;
  --ink-2: #57606a;
  --line: #d9dde3;
  --link: #1a55b8;
  --up: #d42a3a;
  --down: #1f6fd1;
  --pick: #e8541e;
  --update: #2f7bd6;
  --summary: #1e9a5a;
  --warn-bg: #fff6d6;
  --say: #7a3fc2;
  --say-bg: #f7f3fd;
  --say-line: #d9c9f0;
  --news: #2f7bd6;
  --ir: #1e9a5a;
  --qa: #c27a00;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--bg); color: var(--ink);
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic UI", "Meiryo", system-ui, sans-serif;
  font-size: 15px; line-height: 1.7;
}
a { color: var(--link); text-decoration: none; }
a:hover { text-decoration: underline; }
.wrap { max-width: 1360px; margin: 0 auto; padding: 0 16px; }
.muted { color: var(--ink-2); }

/* ヘッダー */
.site-header { background: var(--navy); color: #fff; border-bottom: 4px solid var(--accent); }
.site-header .wrap { display: flex; align-items: baseline; gap: 20px; padding-top: 14px; padding-bottom: 12px; flex-wrap: wrap; }
.logo { color: #fff; font-size: 24px; font-weight: 800; letter-spacing: .02em; }
.logo:hover { text-decoration: none; }
.logo small { font-size: 13px; font-weight: 400; opacity: .7; }
.logo-mark { color: var(--accent); margin-right: 6px; }
.tagline { margin: 0; font-size: 13px; opacity: .8; }
.disclaimer-bar { background: var(--warn-bg); border-bottom: 1px solid #ecd98a; font-size: 12.5px; color: #6b5300; }
.disclaimer-bar .wrap { padding-top: 6px; padding-bottom: 6px; }

/* レイアウト */
.layout { display: grid; grid-template-columns: 236px minmax(0, 1fr) 290px; grid-template-areas: "left main right"; gap: 22px; padding-top: 20px; padding-bottom: 40px; align-items: start; }
#left { grid-area: left; } #main { grid-area: main; min-width: 0; } #side { grid-area: right; }
@media (max-width: 1180px) {
  .layout { grid-template-columns: minmax(0, 1fr) 290px; grid-template-areas: "main right" "main left"; grid-template-rows: auto 1fr; }
}
@media (max-width: 880px) {
  .layout { grid-template-columns: minmax(0, 1fr); grid-template-areas: "main" "right" "left"; grid-template-rows: none; }
}

/* 共通パーツ */
.badge { display: inline-block; color: #fff; font-size: 12px; font-weight: 700; padding: 1px 8px; border-radius: 3px; line-height: 1.6; white-space: nowrap; }
.badge.mini { font-size: 10.5px; padding: 0 5px; }
.t-pick.badge { background: var(--pick); }
.t-update.badge { background: var(--update); }
.t-summary.badge { background: var(--summary); }
.tag { display: inline-block; font-size: 12px; color: var(--ink-2); border: 1px solid var(--line); background: #f7f8fa; padding: 0 7px; border-radius: 3px; white-space: nowrap; }
.tag.link { color: var(--link); }
.chip { display: inline-block; font-size: 12px; background: #fff1ea; color: #a8390f; border: 1px solid #f6c7b3; padding: 0 8px; border-radius: 999px; white-space: nowrap; }
.chip.link { background: #eef4ff; color: var(--link); border-color: #c9dbfb; }
.code { display: inline-block; font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; font-size: .8em; font-weight: 700; background: var(--navy); color: #fff; padding: 0 6px; border-radius: 3px; margin-right: 8px; vertical-align: .1em; }
a.code:hover { text-decoration: none; background: var(--navy-2); }
.chg { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.chg.up { color: var(--up); } .chg.down { color: var(--down); } .chg.flat { color: var(--ink-2); }
.status { font-size: 11px; padding: 0 6px; border-radius: 3px; font-weight: 700; white-space: nowrap; }
.status.live { background: #fff0c2; color: #8a6100; }
.status.done { background: #e2f3e9; color: #1d7a48; }
.sample-tag { position: absolute; left: 4px; top: 4px; font-size: 9px; font-weight: 800; background: #555; color: #fff; padding: 0 4px; border-radius: 2px; letter-spacing: .05em; }
.sample-tag.inline { position: static; font-size: 10px; padding: 1px 5px; }
.notice { padding: 12px 14px; border-radius: 4px; margin-bottom: 16px; font-size: 14px; }
.notice.err { background: #fdecec; border: 1px solid #f2b8b8; color: #8c1d1d; }
.crumb { font-size: 12.5px; color: var(--ink-2); margin-bottom: 10px; }
.loading { color: var(--ink-2); }

.sec-h { font-size: 16px; margin: 26px 0 12px; padding: 6px 10px; background: #f3f5f8; border-left: 5px solid var(--navy); }
.sec-h small { font-size: 11px; font-weight: 400; color: var(--ink-2); margin-left: 8px; }

/* トップ */
.intro { background: var(--paper); border: 1px solid var(--line); padding: 16px 18px; margin-bottom: 18px; border-top: 3px solid var(--navy); }
.intro h1 { font-size: 20px; margin: 0 0 4px; }
.intro p { margin: 0; color: var(--ink-2); font-size: 14px; }
.stock-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.week-h { display: flex; justify-content: space-between; align-items: baseline; font-size: 15px; margin: 22px 0 10px; padding-bottom: 6px; border-bottom: 2px solid var(--navy); }
.week-h small { font-weight: 400; color: var(--ink-2); font-size: 12px; }

/* カード（まとめサイト風） */
.card { background: var(--paper); border: 1px solid var(--line); margin-bottom: 10px; transition: box-shadow .15s; }
.card:hover { box-shadow: 0 2px 10px rgba(20, 40, 70, .12); }
.card-link { display: flex; gap: 14px; padding: 12px; color: inherit; }
.card-link:hover { text-decoration: none; }
.card-link:hover .card-title { color: var(--accent); text-decoration: underline; }
.card-thumb { position: relative; flex: 0 0 128px; height: 88px; background: #f6f8fb; border: 1px solid #e5e8ed; display: flex; align-items: center; }
.spark { width: 100%; height: 72px; }
.spark polyline { fill: none; stroke-width: 2; vector-effect: non-scaling-stroke; }
.spark.up polyline { stroke: var(--up); } .spark.down polyline { stroke: var(--down); }
.spark-empty { width: 100%; text-align: center; font-size: 11px; color: #aaa; }
.card-body { min-width: 0; flex: 1; }
.card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 12.5px; color: var(--ink-2); }
.card-title { font-size: 16.5px; line-height: 1.45; margin: 5px 0 4px; color: var(--link); }
.card-sum { margin: 0 0 6px; font-size: 13.5px; color: #3a414a; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.card-foot { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 12.5px; }
.foot-chg { margin-left: auto; color: var(--ink-2); }
.foot-cm { color: var(--ink-2); }
@media (max-width: 560px) {
  .card-link { flex-direction: column; gap: 8px; }
  .card-thumb { flex-basis: auto; width: 100%; height: 64px; }
  .foot-chg { margin-left: 0; }
}

/* 銘柄ページ */
.stock-head { background: var(--paper); border: 1px solid var(--line); border-top: 3px solid var(--navy); padding: 14px 18px; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; align-items: flex-end; }
.stock-head h1 { margin: 6px 0 0; font-size: 24px; line-height: 1.3; }
.sh-tags { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.sh-price { text-align: right; }
.px { font-size: 30px; font-weight: 800; font-variant-numeric: tabular-nums; line-height: 1.1; }
.px small { font-size: 14px; font-weight: 400; margin-left: 2px; }
.px-sub { font-size: 13px; color: var(--ink-2); }
.info { width: 100%; border-collapse: collapse; background: var(--paper); margin-top: 12px; font-size: 14px; }
.info th, .info td { border: 1px solid var(--line); padding: 8px 12px; text-align: left; vertical-align: top; }
.info th { width: 130px; background: #f5f7fa; font-weight: 600; white-space: nowrap; }
@media (max-width: 560px) { .info th { width: 96px; white-space: normal; } }
.panel { background: var(--paper); border: 1px solid var(--line); padding: 2px 16px 14px; margin-top: 16px; }
.panel .sec-h { margin-top: 14px; }
.source { font-size: 12px; color: var(--ink-2); margin: 6px 0 0; }
.timeline { list-style: none; padding: 0 0 0 4px; margin: 0; }
.timeline li { position: relative; padding: 0 0 14px 22px; border-left: 2px solid var(--line); }
.timeline li:last-child { border-left-color: transparent; }
.timeline li::before { content: ""; position: absolute; left: -7px; top: 5px; width: 12px; height: 12px; border-radius: 50%; background: #999; border: 2px solid #fff; box-shadow: 0 0 0 1px #ccc; }
.timeline li.t-pick::before { background: var(--pick); } .timeline li.t-update::before { background: var(--update); } .timeline li.t-summary::before { background: var(--summary); }
.tl-date { font-size: 12px; color: var(--ink-2); }
.tl-body a { font-weight: 700; }
.tl-body p { margin: 2px 0 0; font-size: 13.5px; color: #3a414a; }

/* チャート */
.chart svg { width: 100%; height: auto; display: block; }
.chart .grid { stroke: #e8ebef; stroke-width: 1; }
.chart .axis { font-size: 11px; fill: #7a828c; font-variant-numeric: tabular-nums; }
.chart .cd line { stroke-width: 1.2; }
.chart .cd.up line { stroke: var(--up); } .chart .cd.up rect { fill: var(--up); }
.chart .cd.down line { stroke: var(--down); } .chart .cd.down rect { fill: var(--down); }
.chart .cd rect.vol { opacity: .35; }
.chart .cd rect.hit { fill: transparent !important; }
.chart .cd:hover rect.hit { fill: rgba(27, 47, 75, .06) !important; }
.chart .mk-line { stroke-width: 1.2; stroke-dasharray: 3 3; opacity: .8; }
.chart .mk-line.t-pick { stroke: var(--pick); } .chart .mk-line.t-update { stroke: var(--update); } .chart .mk-line.t-summary { stroke: var(--summary); }
.chart .mk circle { stroke: #fff; stroke-width: 2; }
.chart .mk.t-pick circle { fill: var(--pick); } .chart .mk.t-update circle { fill: var(--update); } .chart .mk.t-summary circle { fill: var(--summary); }
.chart .mk text { font-size: 10px; font-weight: 800; fill: #fff; pointer-events: none; }
.chart .mk:hover circle { stroke: var(--ink); }
.chart-legend { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 12px; color: var(--ink-2); margin-top: 4px; align-items: center; }
.chart-legend span { display: inline-flex; align-items: center; gap: 4px; }
.lg { display: inline-block; width: 10px; height: 10px; border-radius: 2px; }
.lg.up { background: var(--up); } .lg.down { background: var(--down); }
.lg-mk { display: inline-block; width: 16px; height: 16px; line-height: 16px; border-radius: 50%; color: #fff; font-style: normal; font-size: 9px; font-weight: 800; text-align: center; }
.lg-mk.t-pick { background: var(--pick); } .lg-mk.t-update { background: var(--update); } .lg-mk.t-summary { background: var(--summary); }
.chart-legend .hint { margin-left: auto; font-size: 11px; }
@media (max-width: 560px) { .chart-legend .hint { display: none; } }
.nochart { padding: 30px 10px; text-align: center; color: var(--ink-2); background: #f7f8fa; border: 1px dashed var(--line); font-size: 13px; }

/* 記事ページ */
.post { background: var(--paper); border: 1px solid var(--line); border-top: 3px solid var(--navy); padding: 16px 20px 20px; }
.post-meta { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 13px; color: var(--ink-2); }
.post-title { font-size: 22px; line-height: 1.45; margin: 8px 0 14px; }
.post p { margin: 0 0 10px; }
.result { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; background: #f6f8fb; border: 1px solid var(--line); padding: 10px 16px; margin-bottom: 12px; }
.result > div { display: flex; flex-direction: column; }
.result .r-label { font-size: 11.5px; color: var(--ink-2); }
.result .r-val { font-size: 18px; font-weight: 800; font-variant-numeric: tabular-nums; }
.result.big .r-val { font-size: 22px; }
.result .arrow { font-size: 20px; color: #9aa3ad; }
.triggers { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.tr-label { font-size: 12px; font-weight: 700; color: var(--ink-2); margin-right: 2px; }
.reasons { margin: 0; padding-left: 1.5em; }
.reasons li { margin-bottom: 6px; }
.note { font-size: 12px; color: var(--ink-2); background: #f7f8fa; padding: 6px 10px; border-radius: 3px; margin-top: 8px !important; }
.news { list-style: none; margin: 0; padding: 0; }
.news li { display: flex; gap: 12px; padding: 8px 0; border-bottom: 1px dotted var(--line); }
.news time { flex: 0 0 64px; font-size: 12.5px; color: var(--ink-2); padding-top: 1px; }
.news .src { display: block; font-size: 11.5px; color: var(--ink-2); }
.mini-info dl { display: grid; grid-template-columns: 90px 1fr; margin: 0; font-size: 14px; }
.mini-info dt { color: var(--ink-2); padding: 4px 0; }
.mini-info dd { margin: 0; padding: 4px 0; }
.pager { display: flex; justify-content: space-between; gap: 12px; margin-top: 22px; padding-top: 12px; border-top: 1px solid var(--line); font-size: 13.5px; }
.pager .next { text-align: right; margin-left: auto; }

/* コメント */
.comments { background: var(--paper); border: 1px solid var(--line); padding: 2px 16px 16px; margin-top: 16px; }
.comments .sec-h { margin-top: 14px; }
.cm { padding: 8px 0 10px; border-bottom: 1px dotted var(--line); }
.cm-head { font-size: 13px; color: var(--ink-2); }
.cm-no { font-weight: 700; color: var(--ink); }
.cm-name { color: #1d7a48; font-weight: 700; margin-right: 8px; }
.cm-text { margin: 4px 0 0 1em; font-size: 14.5px; }
.cm-form { margin-top: 12px; display: grid; gap: 8px; }
.cm-form input, .cm-form textarea { width: 100%; font: inherit; font-size: 14px; padding: 7px 9px; border: 1px solid #c4cad2; border-radius: 3px; background: #fff; color: var(--ink); }
.cm-form input { max-width: 240px; }
.cm-row.right { text-align: right; }
.cm-form button { font: inherit; font-weight: 700; background: var(--navy); color: #fff; border: 0; padding: 7px 22px; border-radius: 3px; cursor: pointer; }
.cm-form button:hover { background: var(--navy-2); }
.cm-form button:disabled { opacity: .5; }
.cm-err { color: #b3261e; font-size: 13px; margin: 0; }

/* サイドバー */
.widget { background: var(--paper); border: 1px solid var(--line); margin-bottom: 16px; }
.w-h { margin: 0; font-size: 14px; color: #fff; background: var(--navy); padding: 7px 12px; }
.w-h::before { content: "■ "; color: var(--accent); }
.w-h small { font-weight: 400; opacity: .75; margin-left: 6px; font-size: 11px; }
.side-list { display: flex; flex-direction: column; }
.side-item { display: block; padding: 8px 12px; border-bottom: 1px solid #eef0f3; color: inherit; }
.side-item:hover { background: #f5f8fc; text-decoration: none; }
.side-item.active { background: #fff5ef; box-shadow: inset 3px 0 0 var(--accent); }
.si-top { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; }
.si-name { font-weight: 700; font-size: 14px; color: var(--link); }
.si-sub { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 11.5px; color: var(--ink-2); margin-top: 2px; }
.si-sub .code { font-size: 10.5px; margin-right: 0; }
.new { display: inline-block; font-size: 9.5px; font-weight: 800; color: #fff; background: var(--accent); padding: 0 4px; border-radius: 2px; margin-right: 5px; vertical-align: .15em; }
.w-note { font-size: 11px; color: var(--ink-2); margin: 0; padding: 6px 12px; }
.cat { list-style: none; margin: 0; padding: 4px 0; }
.cat a { display: flex; justify-content: space-between; padding: 5px 12px; font-size: 14px; }
.cat a.active { background: #fff5ef; font-weight: 700; }
.cat span { color: var(--ink-2); font-size: 12px; }
.w-text { font-size: 12.5px; color: #3a414a; margin: 0; padding: 10px 12px; }

/* フッター */
.site-footer { background: #2a2f36; color: #c9ced6; font-size: 12px; padding: 18px 0 24px; }
.site-footer p { margin: 0 0 8px; }
.site-footer strong { color: #fff; }
@media (max-width: 640px) {
  .chart { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .chart svg { min-width: 600px; }
  .chart .axis { font-size: 13px; }
}

/* ===== 左サイドバー ===== */
.w-h a { color: #fff; }
.tabs { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--line); }
.tab { font: inherit; font-size: 13px; font-weight: 700; padding: 7px 0; background: #f3f5f8; border: 0; color: var(--ink-2); cursor: pointer; }
.tab.on[data-tab="up"] { background: #fff; color: var(--up); box-shadow: inset 0 -3px 0 var(--up); }
.tab.on[data-tab="down"] { background: #fff; color: var(--down); box-shadow: inset 0 -3px 0 var(--down); }
.rank-list { list-style: none; margin: 0; padding: 0; }
.rank-list li a { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-bottom: 1px solid #eef0f3; color: inherit; }
.rank-list li a:hover { background: #f5f8fc; text-decoration: none; }
.rank-list li a:hover .rk-name { text-decoration: underline; color: var(--accent); }
.rank-list .empty { padding: 10px; font-size: 13px; }
.rk { flex: 0 0 22px; height: 22px; line-height: 22px; text-align: center; border-radius: 50%; font-size: 12px; font-weight: 800; background: #e4e7ec; color: #555; }
.rk1 { background: #e6b422; color: #fff; } .rk2 { background: #a7adb5; color: #fff; } .rk3 { background: #c07a45; color: #fff; }
.rk-name { flex: 1; min-width: 0; font-weight: 700; font-size: 13.5px; color: var(--link); line-height: 1.35; }
.rk-name small { display: block; font-weight: 400; font-size: 11px; color: var(--ink-2); }
.rank-list .chg { font-size: 14px; }

.cal { padding: 8px 10px 10px; }
.cal-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.cal-head a { font-weight: 800; color: var(--ink); }
.cal-nav { font: inherit; font-size: 18px; line-height: 1; width: 28px; height: 28px; border: 1px solid var(--line); background: #fff; border-radius: 4px; cursor: pointer; color: var(--ink-2); }
.cal-nav:hover { background: #f3f5f8; }
.cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; text-align: center; font-size: 12px; }
.cal-w { font-size: 10.5px; color: var(--ink-2); padding-bottom: 2px; }
.cal-w.we, .cal-d.we { color: #b0b6be; }
.cal-d { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; height: 30px; padding-top: 3px; border-radius: 4px; color: var(--ink); font-variant-numeric: tabular-nums; }
.cal-d.today { outline: 1.5px solid var(--navy); }
a.cal-d.has { background: #fff1ea; font-weight: 800; color: #a8390f; }
a.cal-d.has:hover { background: var(--accent); color: #fff; text-decoration: none; }
.dots { display: flex; gap: 2px; margin-top: 1px; }
.dots i { width: 5px; height: 5px; border-radius: 50%; }
.dots i.t-pick { background: var(--pick); } .dots i.t-update { background: var(--update); } .dots i.t-summary { background: var(--summary); }
a.cal-d.has:hover .dots i { background: #fff; }
.cal-more { display: block; margin-top: 8px; font-size: 12.5px; font-weight: 700; text-align: right; }

.arch details { border-bottom: 1px solid #eef0f3; }
.arch summary { cursor: pointer; padding: 7px 12px; font-weight: 700; font-size: 14px; display: flex; justify-content: space-between; list-style: none; }
.arch summary::-webkit-details-marker { display: none; }
.arch summary::before { content: "▶"; font-size: 9px; color: var(--accent); margin-right: 6px; align-self: center; transition: transform .15s; }
.arch details[open] summary::before { transform: rotate(90deg); }
.arch summary span { margin-left: auto; font-weight: 400; font-size: 12px; color: var(--ink-2); }
.arch ul { list-style: none; margin: 0; padding: 0 0 6px; }
.arch li a { display: flex; justify-content: space-between; padding: 4px 12px 4px 26px; font-size: 13.5px; }
.arch li a span { color: var(--ink-2); font-size: 12px; }
.arch li a.active, .idx a.active { background: #fff5ef; font-weight: 700; }
.arch .arch-all { font-weight: 700; color: var(--accent); }

.idx { list-style: none; margin: 0; padding: 4px 0; }
.idx a { display: block; padding: 4px 12px; font-size: 13.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.idx .code { font-size: 10.5px; margin-right: 6px; }
.w-more { display: block; padding: 6px 12px 10px; font-size: 12.5px; font-weight: 700; text-align: right; }
.tagcloud { display: flex; flex-wrap: wrap; gap: 6px; padding: 10px 12px; }
.tagcloud .chip { font-size: 12.5px; padding: 2px 9px; }
.tagcloud .chip b { font-weight: 400; color: #c07a5a; margin-left: 4px; font-size: 11px; }
.tagcloud .chip:hover, .tagcloud .chip.on { background: var(--accent); color: #fff; border-color: var(--accent); text-decoration: none; }
.tagcloud .chip:hover b, .tagcloud .chip.on b { color: #fff; }
a.chip:hover { text-decoration: none; filter: brightness(.96); }

/* 週・月まとめ、一覧表 */
.week-h a { color: var(--ink); }
.week-h small a { color: var(--link); font-weight: 700; margin-left: 6px; }
.pnav { display: flex; justify-content: space-between; margin: 10px 0; font-size: 13.5px; font-weight: 700; }
.tbl-wrap { overflow-x: auto; background: var(--paper); border: 1px solid var(--line); margin-bottom: 8px; }
.rtable { width: 100%; border-collapse: collapse; font-size: 13.5px; min-width: 620px; }
.rtable th { background: #f3f5f8; text-align: left; font-size: 12px; color: var(--ink-2); padding: 7px 10px; border-bottom: 1px solid var(--line); white-space: nowrap; }
.rtable th a { color: var(--ink-2); } .rtable th a.on { color: var(--accent); }
.rtable td { padding: 8px 10px; border-bottom: 1px solid #eef0f3; vertical-align: middle; }
.rtable tr:hover td { background: #fafbfd; }
.rtable td small { display: block; font-size: 11px; color: var(--ink-2); }
.rtable td a { font-weight: 700; }
.rtable .code { font-size: 10.5px; }
.rtable .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rtable .big .chg { font-size: 15px; }
.rtable .tg { max-width: 220px; } .rtable .tg .chip { margin: 1px 2px; font-size: 11px; }

/* 広告枠 */
.ad { position: relative; margin: 0 0 16px; text-align: center; }
.ad-label { position: absolute; top: 0; left: 0; font-size: 10px; font-weight: 700; background: #8a929c; color: #fff; padding: 0 5px; border-radius: 0 0 3px 0; z-index: 1; }
.ad-body { display: flex; justify-content: center; }
.ad.placeholder .ad-ph { border: 1.5px dashed #b9c0c9; background: repeating-linear-gradient(45deg, #f7f8fa, #f7f8fa 8px, #f0f2f5 8px, #f0f2f5 16px); color: #8a929c; font-size: 12px; display: flex; align-items: center; justify-content: center; }
.ad-header .ad-ph { height: 90px; }
.ad-inFeed .ad-ph { height: 100px; }
.ad-inArticle .ad-ph, .ad-articleBottom .ad-ph { height: 250px; max-width: 336px; margin: 0 auto; }
.ad-inArticle { margin: 22px 0 6px; }
.ad-articleBottom { margin-top: 16px; }
.ad-sidebarRight .ad-ph { height: 250px; }
.ad-sidebarLeft .ad-ph { height: 200px; }
.aff-notice:empty { display: none; }
@media (max-width: 640px) {
  .rtable { min-width: 0; font-size: 13px; }
  .rtable th:nth-child(2), .rtable td:nth-child(2) { display: none; }
  .rtable td, .rtable th { padding: 7px 6px; }
}

/* チャートの線 */
:root { --ma5: #e89a1e; --ma25: #8a4fc9; --close: #2b3440; }
.chart .grid.v { stroke: #f1f3f6; }
.chart .ln { fill: none; stroke-linejoin: round; stroke-linecap: round; }
.chart .ln-close { stroke: var(--close); stroke-width: 1.6; opacity: .75; }
.chart .ln-dot { fill: #fff; stroke: var(--close); stroke-width: 1.2; opacity: .85; pointer-events: none; }
.chart .ln-ma5 { stroke: var(--ma5); stroke-width: 2; }
.chart .ln-ma25 { stroke: var(--ma25); stroke-width: 2; }
.chart .ln, .chart .ln-closeg { pointer-events: none; }
.chart .ln-base line { stroke: var(--pick); stroke-width: 1.2; stroke-dasharray: 6 4; }
.chart .ln-base rect { fill: #fff; stroke: var(--pick); }
.chart .ln-base text { font-size: 11px; font-weight: 700; fill: var(--pick); }
.chart .lastpx rect { fill: var(--navy); }
.chart .lastpx text { font-size: 11px; font-weight: 700; fill: #fff; }
.chart.off-close .ln-closeg, .chart.off-ma5 .ln-ma5, .chart.off-ma25 .ln-ma25, .chart.off-base .ln-base { display: none; }
.chart-legend .lg-group { display: inline-flex; flex-wrap: wrap; gap: 4px 12px; }
.lt { display: inline-flex; align-items: center; gap: 5px; cursor: pointer; user-select: none; padding: 1px 6px 1px 2px; border-radius: 3px; }
.lt:hover { background: #f1f3f6; }
.lt input { margin: 0; accent-color: var(--navy); }
.lt i { display: inline-block; width: 16px; height: 0; border-top: 2.5px solid; }
.lt-close i { border-color: var(--close); } .lt-ma5 i { border-color: var(--ma5); } .lt-ma25 i { border-color: var(--ma25); }
.lt-base i { border-top: 2px dashed var(--pick); }
.chart .pick-band { fill: #fff1ea; }
.chart .after-band { fill: #f4f6f9; }
.chart .after-label { font-size: 11px; fill: #8a929c; font-weight: 700; }
.chart .ln-area path { stroke: none; pointer-events: none; }
.chart .area-up { fill: rgba(212, 42, 58, .10); }
.chart .area-down { fill: rgba(31, 111, 209, .12); }
.chart.off-base .ln-area { display: none; }
.chart .cd line.flat { stroke-width: 2.5; }
.chart .chg-badge { font-size: 13px; font-weight: 800; }
.chart .chg-badge.up { fill: var(--up); } .chart .chg-badge.down { fill: var(--down); }
.chart.off-base .chg-badge { display: none; }
.chart-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; font-size: 13px; color: var(--ink-2); margin-bottom: 2px; }
.chart-head b { color: var(--ink); font-size: 15px; font-variant-numeric: tabular-nums; }
.chart-head .arrow { color: #9aa3ad; }
.chart-head .chg { font-size: 17px; }

/* 本文中の媒体名リンク */
.post a.src-link, .timeline a.src-link { color: var(--link); text-decoration: underline; text-decoration-color: #9db8e6; text-underline-offset: 2px; }
.post a.src-link::after, .timeline a.src-link::after { content: "↗"; font-size: .75em; margin-left: 1px; vertical-align: .25em; color: #7a8ea8; }
.post a.src-link:hover { text-decoration-color: currentColor; }

/* トップの見出し */
.intro.hero { text-align: center; padding: 22px 18px 20px; }
.hero-kicker { display: inline-block; margin: 0 0 6px !important; font-size: 15px !important; font-weight: 700; color: var(--navy) !important; letter-spacing: .06em; padding: 0 12px; position: relative; }
.hero-kicker::before, .hero-kicker::after { content: ""; position: absolute; top: 50%; width: 22px; border-top: 2px solid var(--accent); }
.hero-kicker::before { right: 100%; } .hero-kicker::after { left: 100%; }
.hero-title { font-size: 34px !important; line-height: 1.25; margin: 0 0 10px !important; letter-spacing: .04em; color: var(--ink); }
.hero-title em { font-style: normal; color: var(--accent); }
.hero-lead { font-size: 13.5px !important; line-height: 1.8; }
@media (max-width: 560px) {
  .hero-kicker { font-size: 13px !important; }
  .hero-title { font-size: 26px !important; }
  .hero-lead br { display: none; }
}
.hero-bang { letter-spacing: -.32em; margin-left: .04em; }
.hero-lead { text-wrap: balance; }
.hero-bang { margin-left: -.28em; }
.hero-lead span { display: inline-block; }
.hero-lead { text-wrap: wrap; }

/* 公開版：コメント・固定ページ・フッター */
.cm-foot { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.cm-rule { font-size: 12px; color: var(--ink-2); }
.cm-act { font: inherit; font-size: 11px; margin-left: 8px; padding: 0 6px; border: 1px solid var(--line); background: #fff; color: var(--ink-2); border-radius: 3px; cursor: pointer; }
.cm-act:hover { background: #f3f5f8; }
.cm-act.danger { color: #b3261e; border-color: #f2b8b8; }
.cm.deleted .cm-head { color: #9aa3ad; font-style: italic; }
.static-page h2.sec-h { margin-top: 22px; }
.static-page ul.rules { padding-left: 1.3em; }
.static-page ul.rules li { margin-bottom: 4px; }
.contact-box { font-size: 16px; font-weight: 700; background: #f6f8fb; border: 1px solid var(--line); padding: 12px 16px; }
.admin-form input { font: inherit; padding: 6px 8px; border: 1px solid #c4cad2; border-radius: 3px; }
.admin-form button { font: inherit; padding: 6px 14px; }
.footer-nav { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 12px 0 6px; }
.footer-nav a { color: #e3e7ed; }
.site-footer .copy { opacity: .7; }
.cm-form .hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }

/* グローバルナビ */
.gnav { background: var(--navy-2); border-top: 1px solid rgba(255,255,255,.08); }
.gnav .wrap { display: flex; gap: 2px; overflow-x: auto; padding-top: 0; padding-bottom: 0; scrollbar-width: none; }
.gnav a { color: #dfe6f0; font-size: 13.5px; font-weight: 700; padding: 8px 14px; white-space: nowrap; }
.gnav a:hover { background: rgba(255,255,255,.08); text-decoration: none; color: #fff; }
.gnav a.on { color: #fff; box-shadow: inset 0 -3px 0 var(--accent); }

/* 種類タブ */
.type-tabs { display: flex; gap: 6px; margin: 4px 0 6px; flex-wrap: wrap; }
.type-tabs .tt { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border: 1px solid var(--line); background: var(--paper); border-radius: 999px; font-size: 14px; font-weight: 700; color: var(--ink); }
.type-tabs .tt span { font-size: 11.5px; font-weight: 700; background: #eef0f3; color: var(--ink-2); border-radius: 999px; padding: 0 7px; }
.type-tabs .tt:hover { text-decoration: none; border-color: #b9c0c9; }
.type-tabs .tt.on { background: var(--navy); border-color: var(--navy); color: #fff; }
.type-tabs .tt.on span { background: rgba(255,255,255,.2); color: #fff; }
.type-tabs .tt.t-pick::before, .type-tabs .tt.t-update::before, .type-tabs .tt.t-summary::before { content: ""; width: 8px; height: 8px; border-radius: 50%; }
.type-tabs .tt.t-pick::before { background: var(--pick); } .type-tabs .tt.t-update::before { background: var(--update); } .type-tabs .tt.t-summary::before { background: var(--summary); }

/* 一覧表 */
.list-intro h1 { display: flex; align-items: center; gap: 8px; }
.list-intro h1 .badge { font-size: 13px; }
.list-table tr.grp th { background: #f7f8fa; color: var(--ink); font-size: 13px; padding: 7px 10px; border-top: 2px solid var(--navy); }
.list-table tr.grp th a { color: var(--ink); font-weight: 800; }
.list-table tr.grp th span { font-weight: 400; color: var(--ink-2); margin-left: 8px; font-size: 12px; }
.list-table .nowrap { white-space: nowrap; }
.list-table td.go { white-space: nowrap; text-align: right; }
.list-table td.go a { font-weight: 700; margin-right: 6px; }
.list-table td.ttl a { font-weight: 700; color: var(--link); line-height: 1.45; }
.list-table .num small { display: block; }
.list-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 4px 0 12px; }
.list-stats > div { background: var(--paper); border: 1px solid var(--line); padding: 10px 12px; text-align: center; }
.list-stats b { display: block; font-size: 24px; line-height: 1.2; font-variant-numeric: tabular-nums; }
.list-stats span { font-size: 12px; color: var(--ink-2); }
.list-stats .up b { color: var(--up); } .list-stats .down b { color: var(--down); }
@media (max-width: 640px) {
  .pick-table th:nth-child(2), .pick-table td:nth-child(2) { display: table-cell; }
  .pick-table th:nth-child(3), .pick-table td:nth-child(3) { display: none; }
  .list-table td.go .status { display: none; }
  .type-tabs .tt { padding: 6px 11px; font-size: 13px; }
}
.site-header .gnav .wrap { flex-wrap: nowrap; align-items: stretch; }
@media (max-width: 640px) {
  .list-table td.go, .pick-table th:last-child { display: none; }
  .gnav a { padding: 8px 11px; font-size: 13px; }
}
.w-text.w-ask { padding-top: 0; font-weight: 700; color: var(--accent); }
/* ランキング：時点と更新ボタン */
.rank-meta { display: flex; justify-content: space-between; align-items: center; gap: 6px; padding: 6px 10px; font-size: 12px; color: var(--ink-2); background: #f7f8fa; border-bottom: 1px solid #eef0f3; }
.rank-update { font: inherit; font-size: 11.5px; font-weight: 700; padding: 2px 9px; border: 1px solid #c4cad2; background: #fff; border-radius: 999px; cursor: pointer; color: var(--navy); white-space: nowrap; }
.rank-update:hover { background: #eef2f8; }
.rank-update:disabled { opacity: .6; cursor: default; }
.rank-list .rk-name small { white-space: normal; }
.rank-list .rk-name small.rk-px { white-space: nowrap; font-variant-numeric: tabular-nums; }

/* 今日の更新 */
.daily-banner { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; background: #fff8e6; border: 1px solid #f1d48a; border-left: 5px solid var(--accent); padding: 10px 14px; margin: 0 0 12px; color: var(--ink); }
.daily-banner:hover { text-decoration: none; background: #fff3d4; }
.daily-banner .db-date { font-weight: 800; font-size: 15px; }
.daily-banner .db-count { font-size: 13px; color: var(--ink-2); display: inline-flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.daily-banner .db-count b { font-size: 18px; color: var(--accent); }
.daily-banner .db-count .badge { margin-left: 4px; }
.daily-banner .db-go { margin-left: auto; font-weight: 700; color: var(--link); font-size: 13.5px; }
.daily-table td.ttl div + div { margin-top: 4px; }
.daily-table td.ttl a { font-size: 13px; }
.daily-table tr.no-art td { background: #fafbfc; }
@media (max-width: 640px) {
  .daily-banner .db-go { margin-left: 0; }
  .daily-table th:nth-child(2), .daily-table td:nth-child(2) { display: table-cell; }
  .daily-table th:nth-child(2) { min-width: 0; }
  .daily-table td.ttl a { font-size: 12px; }
  .daily-table th:nth-child(5), .daily-table td:nth-child(5) { display: none; }
}


/* ===== インフルエンサーの発言・質問箱（2026/10 追加） ===== */
.badge.t-say { background: var(--say); } .badge.t-qa { background: var(--qa); }
.chip.say { background: var(--say-bg); color: var(--say); border-color: var(--say-line); }
.dots i.t-say { background: var(--say); }
.lg-mk.t-say { background: var(--say); }
.chart .mk-say circle { fill: var(--say); stroke: #fff; stroke-width: 2; }
.chart .mk-say text { font-size: 10px; font-weight: 800; fill: #fff; pointer-events: none; }
.chart .mk-say:hover circle { fill: #5b2b99; }

.kind { display: inline-block; font-size: 11.5px; font-weight: 700; color: #fff; padding: 0 7px; border-radius: 3px; margin-right: 6px; vertical-align: .08em; white-space: nowrap; }
.k-say { background: var(--say); } .k-news { background: var(--news); } .k-ir { background: var(--ir); } .k-qa { background: var(--qa); }
.timeline li.t-say::before { background: var(--say); } .timeline li.t-news::before { background: var(--news); } .timeline li.t-ir::before { background: var(--ir); } .timeline li.t-qa::before { background: var(--qa); }
.timeline .src { font-size: 12px; color: var(--ink-2); margin-left: 8px; }
.timeline li[hidden] { display: none; }
.dayfact { font-size: 12px; color: var(--ink-2); margin-left: 8px; font-variant-numeric: tabular-nums; }
.dayfact .chg { font-size: 12px; }
.cont { display: inline-block; font-size: 10.5px; font-weight: 700; color: var(--say); border: 1px solid var(--say-line); background: var(--say-bg); border-radius: 3px; padding: 0 5px; margin-left: 6px; vertical-align: .1em; white-space: nowrap; }
.cont-s { color: var(--say) !important; font-weight: 700; }

.saycard { border: 1px solid var(--line); border-left: 3px solid var(--say); background: var(--say-bg); padding: 8px 12px; margin-top: 5px; font-size: 13.5px; min-width: 0; }
.say-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; }
.saycard .who { font-weight: 700; }
.saycard .h { color: var(--ink-2); font-size: 12px; }
.say-stock { font-weight: 700; margin-left: auto; font-size: 13px; }
.say-stock .code { font-size: 10.5px; }
.saycard q { display: block; margin: 5px 0 4px; color: #2e3540; quotes: "「" "」"; overflow-wrap: anywhere; }
.saycard .say-note { margin: 2px 0 4px; font-size: 13px; color: #3a414a; }
.saycard .sm { font-size: 12px; color: var(--ink-2); }
.saycard .sm .src-link { margin-left: 4px; }
.tl-body .saycard { font-weight: 400; }
.tl-body .saycard a.who, .tl-body .saycard .say-stock { font-weight: 700; }

.tl-filter { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 14px; }
.tl-filter button { font: inherit; font-size: 12.5px; font-weight: 700; padding: 3px 12px; border-radius: 999px; border: 1px solid var(--line); background: #fff; color: var(--ink-2); cursor: pointer; }
.tl-filter button span { font-weight: 400; margin-left: 4px; opacity: .8; }
.tl-filter button.on { background: var(--navy); border-color: var(--navy); color: #fff; }

.people { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px; margin-bottom: 4px; }
.person { display: flex; gap: 10px; align-items: center; border: 1px solid var(--line); padding: 8px 10px; background: #fff; color: inherit; min-width: 0; }
.person:hover { text-decoration: none; border-color: var(--say-line); background: var(--say-bg); }
.person b { display: block; font-size: 13.5px; color: var(--link); }
.person small { font-size: 11.5px; color: var(--ink-2); }
.av { flex: 0 0 36px; width: 36px; height: 36px; border-radius: 50%; background: #e6e1f2; color: var(--say); font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }
.av.big { flex-basis: 64px; width: 64px; height: 64px; font-size: 26px; }

.inf-list { display: grid; gap: 8px; }
.inf-card { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; gap: 12px; align-items: center; background: var(--paper); border: 1px solid var(--line); padding: 10px 14px; color: inherit; }
.inf-card:hover { text-decoration: none; border-color: var(--say-line); background: var(--say-bg); }
.inf-main b { font-size: 15px; color: var(--link); } .inf-main small { margin-left: 8px; font-size: 12px; color: var(--ink-2); }
.inf-tags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 3px; }
.inf-num { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 2px 12px; font-size: 12px; color: var(--ink-2); text-align: right; }
.inf-num b { font-size: 16px; color: var(--ink); margin-right: 2px; font-variant-numeric: tabular-nums; }
.inf-num small { flex-basis: 100%; }
@media (max-width: 560px) { .inf-card { grid-template-columns: 36px minmax(0, 1fr); } .inf-num { grid-column: 1 / -1; justify-content: flex-start; text-align: left; } }

.prof { background: var(--paper); border: 1px solid var(--line); border-top: 3px solid var(--say); padding: 16px 18px; display: flex; gap: 16px; align-items: flex-start; }
.prof .pmain { flex: 1; min-width: 0; }
.prof h1 { margin: 0; font-size: 22px; line-height: 1.35; }
.prof .meta { font-size: 13px; color: var(--ink-2); margin: 2px 0 6px; }
.prof-text { margin: 8px 0 0; font-size: 14px; }
.facts { display: flex; gap: 8px 24px; flex-wrap: wrap; margin-top: 10px; }
.facts div { display: flex; flex-direction: column; }
.facts small { font-size: 11.5px; color: var(--ink-2); }
.facts b { font-size: 19px; font-variant-numeric: tabular-nums; }
@media (max-width: 560px) { .prof { flex-direction: column; } }
.policy { font-size: 12.5px; color: var(--ink-2); background: #f6f8fb; border: 1px solid var(--line); padding: 8px 12px; margin: 16px 0 0; }

.home-h { margin-top: 18px; }
.say-feed { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.say-feed .saycard { margin: 0; background: #fff; }
.empty-box { background: var(--paper); border: 1px dashed #c5ccd5; padding: 12px 16px; font-size: 14px; color: var(--ink-2); }
.empty-box p { margin: 0; }
.more-link { text-align: right; font-size: 13px; margin: 6px 0 0; }
.ask-teaser { display: grid; gap: 8px; background: #fffaf0; border: 1px solid #efd9a8; border-left: 5px solid var(--qa); padding: 12px 16px; margin: 16px 0 6px; font-size: 14px; }
.ask-teaser b { font-size: 15px; margin-right: 10px; color: #7a4d00; }
.ask-teaser ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; }
.ask-teaser li { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; font-size: 13.5px; }
.ask-teaser li > span:not(.st) { font-size: 12px; color: var(--ink-2); }
.ask-go { font-weight: 700; justify-self: start; }

.qform { display: grid; gap: 12px; margin-top: 8px; }
.qform .row { display: grid; gap: 4px; }
.qform label { font-size: 13px; font-weight: 700; }
.qform .opt { font-weight: 400; color: var(--ink-2); margin-left: 4px; }
.qform input:not(.hp), .qform textarea { font: inherit; font-size: 14px; padding: 7px 10px; border: 1px solid #c5ccd5; border-radius: 4px; background: #fff; width: 100%; }
.qform textarea { min-height: 96px; resize: vertical; }
.qform .hp { position: absolute; left: -9999px; width: 1px; height: 1px; }
.qform .rules { font-size: 12.5px; margin: 0; color: #4a525c; }
.q-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.q-foot button { font: inherit; font-weight: 700; background: var(--accent); color: #fff; border: 0; border-radius: 4px; padding: 8px 22px; cursor: pointer; }
.q-foot button:disabled { opacity: .6; cursor: default; }
.q-msg { font-size: 13.5px; font-weight: 700; color: #1e6b45; }
.small { font-size: 12px; }
.ptabs { display: flex; border-bottom: 2px solid var(--navy); margin-top: 6px; }
.ptabs button { font: inherit; font-size: 13.5px; font-weight: 700; padding: 7px 16px; color: var(--ink-2); background: #f3f5f8; margin-right: 2px; border: 0; cursor: pointer; }
.ptabs button.on { background: var(--navy); color: #fff; }
.qlist { list-style: none; margin: 0; padding: 0; }
.qlist li { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 4px 12px; align-items: center; padding: 10px 4px; border-bottom: 1px solid #eef0f3; }
.qn { text-align: center; font-weight: 800; font-size: 18px; color: var(--qa); font-variant-numeric: tabular-nums; line-height: 1.1; }
.qn small { display: block; font-size: 10px; font-weight: 700; color: var(--ink-2); }
.qt { font-weight: 700; font-size: 14px; } .qt small { display: block; font-weight: 400; font-size: 12px; color: var(--ink-2); }
.q-empty { padding: 12px 4px; }
.st { font-size: 11.5px; font-weight: 700; padding: 1px 9px; border-radius: 999px; white-space: nowrap; }
.st-done { background: #e3f4ea; color: #1e7a49; } .st-doing { background: #fff1d6; color: #9a6100; } .st-new { background: #eef0f3; color: #57606a; }
.result .rel { flex: 1 1 200px; } .result .rel span:last-child { font-size: 14px; }

.vtabs { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--line); }
.vtabs button { font: inherit; font-size: 12.5px; font-weight: 700; text-align: center; padding: 6px 0; background: #f3f5f8; color: var(--ink-2); border: 0; cursor: pointer; }
.vtabs button.on { background: #fff; color: var(--navy); box-shadow: inset 0 -3px 0 var(--accent); }
.views { font-size: 11px; color: var(--ink-2); font-variant-numeric: tabular-nums; white-space: nowrap; }
.w-h a { color: #fff; }
.prof .meta .sep { margin: 0 6px; color: #b0b6be; }

/* ピック（別企画）をインフルエンサーの記録と分けて見せる */
.pick-note { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; background: #f2f4f7; border: 1px solid #cfd5dd; border-left: 5px solid #7d8794; padding: 8px 14px; margin: 0 0 12px; font-size: 13px; color: #3f4650; }
.pick-note b { font-size: 13.5px; color: #2d333a; white-space: nowrap; }
.pick-panel { background: #fafbfc; }
.pick-panel .sec-h { border-left-color: #7d8794; }
.pick-lead { font-size: 13px; color: var(--ink-2); margin: 0 0 8px; }
.pick-arts { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 6px; font-size: 13.5px; }
.pick-arts time { display: inline-block; min-width: 64px; color: var(--ink-2); font-size: 12.5px; }
.pick-w .w-text { font-size: 12.5px; }
.gnav a.gnav-pick { margin-left: auto; color: #b9c4d2; font-weight: 600; }
.gnav a.gnav-pick.on { color: #fff; }
.cal-ym { font-weight: 800; }
p.cal-more { margin: 6px 0 0; color: var(--ink-2); }
.idx small.muted { font-size: 11px; }

/* 注目銘柄のまとめ（トップ） */
.watch-lead { font-size: 12.5px; color: var(--ink-2); margin: -4px 0 10px; }
.watch-card { background: var(--paper); border: 1px solid var(--line); border-top: 3px solid var(--say); padding: 12px 16px 10px; margin-bottom: 14px; }
.wc-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; font-size: 13px; }
.wc-stock { font-weight: 800; font-size: 14px; color: var(--ink); }
.wc-stock .code { font-size: 10.5px; }
.wc-meta { color: var(--ink-2); font-size: 12px; }
.wc-head time { margin-left: auto; color: var(--ink-2); font-size: 12px; }
.wc-title { font-size: 18px; line-height: 1.45; margin: 6px 0 8px; text-wrap: balance; }
.wc-title a { color: var(--ink); }
.wc-title a:hover { color: var(--link); }
.wc-body { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 14px; align-items: start; }
@media (max-width: 720px) { .wc-body { grid-template-columns: minmax(0, 1fr); } }
.wc-sum { margin: 0 0 8px; font-size: 14px; line-height: 1.75; }
.wc-quotes { list-style: none; margin: 0 0 8px; padding: 0; display: grid; gap: 4px; font-size: 13px; }
.wc-quotes li { border-left: 3px solid var(--say-line); background: var(--say-bg); padding: 3px 8px; overflow-wrap: anywhere; }
.wc-quotes .who { font-weight: 700; margin-right: 6px; }
.wc-quotes q { quotes: "「" "」"; color: #2e3540; }
.wc-quotes .src-link { font-size: 11.5px; margin-left: 6px; }
.wc-people { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; font-size: 12px; color: var(--ink-2); }
.wc-people .av { flex-basis: 26px; width: 26px; height: 26px; font-size: 12px; }
.wc-people span { margin-left: 4px; }
.wc-chart { border: 1px solid var(--line); background: #fbfcfd; padding: 6px 8px; }
.wc-ch-h { font-size: 11.5px; font-weight: 700; color: var(--ink-2); }
.minichart { width: 100%; height: auto; display: block; }
.minichart .mc-line { fill: none; stroke: var(--navy); stroke-width: 1.8; }
.minichart .mc-base { stroke: var(--say); stroke-width: 1; stroke-dasharray: 3 3; opacity: .7; }
.minichart .mc-after { fill: var(--say-bg); }
.minichart .mc-say { fill: var(--say); stroke: #fff; stroke-width: 1.4; }
.minichart .mc-last { fill: var(--navy); }
.minichart .mc-lbl { font-size: 10.5px; font-weight: 700; fill: var(--navy); font-variant-numeric: tabular-nums; }
.minichart .mc-lbl.base { fill: var(--say); font-weight: 400; }
.minichart .mc-ax { font-size: 9.5px; fill: #7a828c; }
.mc-empty { font-size: 12px; color: var(--ink-2); padding: 30px 0; text-align: center; }
.wc-move { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 6px; font-size: 11.5px; color: var(--ink-2); margin-top: 2px; }
.wc-move b { color: var(--ink); font-variant-numeric: tabular-nums; }
.wc-move .arrow { color: #9aa3ad; }
.wc-move .chg { font-size: 12.5px; }
.wc-more { display: inline-block; margin-top: 6px; font-size: 13px; font-weight: 700; }
.watch-sum { background: var(--say-bg); border: 1px solid var(--say-line); border-left: 5px solid var(--say); padding: 10px 16px; margin-top: 12px; }
.watch-sum h2 { margin: 0 0 4px; font-size: 16px; }
.watch-sum p { margin: 0; font-size: 14px; }
.watch-sum small { color: var(--ink-2); font-size: 11.5px; }
.wc-ctx { margin: 0 0 8px; font-size: 13px; color: #3a414a; line-height: 1.7; }
.ctx-tag { display: inline-block; font-size: 11px; font-weight: 700; color: #6b4fa0; border: 1px dashed #b9a3dd; border-radius: 3px; padding: 0 5px; margin-right: 6px; vertical-align: .08em; }
.watch-sum h3 { font-size: 14px; margin: 12px 0 4px; color: #4a3a72; }
.watch-sum p + p { margin-top: 6px; }
.watch-sum .news { margin: 0; }
.ctx-note { font-size: 11.5px !important; color: var(--ink-2); margin-top: 6px !important; }
.qform select { font: inherit; font-size: 14px; padding: 7px 10px; border: 1px solid #c5ccd5; border-radius: 4px; background: #fff; max-width: 100%; }
.wc-ch-h small { font-weight: 400; margin-left: 6px; }

/* X の埋め込み（押したときだけ読み込む） */
.saycard .x-embed { margin-top: 6px; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.saycard .x-embed-btn { font: inherit; font-size: 12px; padding: 3px 10px; border: 1px solid var(--line); background: #fff; border-radius: 999px; cursor: pointer; color: var(--ink); }
.saycard .x-embed-btn:hover { border-color: var(--say); }
.saycard .x-embed-btn:disabled { cursor: wait; opacity: .7; }
.saycard .x-embed-hint { font-size: 11px; color: var(--ink-2); }
.saycard .x-embed > div { width: 100%; max-width: 550px; }
.saycard .x-embed-msg { margin: 6px 0 0; font-size: 12px; color: var(--ink-2); }

/* グラフの軸ラベル */
.chart .axis-title { font-size: 11px; fill: #57606a; font-weight: 700; }
.minichart .mc-grid { stroke: #e3e7ec; stroke-width: 1; }
.minichart .mc-title { font-weight: 700; fill: #57606a; }
.minichart .mc-say-ax { fill: var(--say); }
.mc-legend { display: flex; flex-wrap: wrap; gap: 2px 12px; font-size: 11px; color: var(--ink-2); margin-top: 2px; }
.mc-legend span { display: inline-flex; align-items: center; gap: 4px; }
.mc-legend i { display: inline-block; }
.mc-legend .mcl-line { width: 14px; height: 2px; background: var(--navy); }
.mc-legend .mcl-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--say); }
.mc-legend .mcl-band { width: 12px; height: 10px; background: var(--say-bg); border: 1px solid #ddd6ee; }
