/* หน้า thesis หุ้นไทยทุกเล่มใช้ไฟล์นี้ — ADVANC · BDMS · BH · CPALL · CPN
   อ่านเล่มหนึ่งแล้วเปิดอีกเล่ม หาของเจอที่เดิม · สีทุกตัวมาจาก theme.css

   แยกออกจาก <style> ในหน้าตอนเล่มที่สาม — ห้าหน้าที่ก๊อป CSS ร้อยบรรทัดชุดเดียวกัน
   คือห้าที่ที่ต้องแก้ทุกครั้ง และหน้าที่ลืมแก้จะค่อยๆ หน้าตาไม่เหมือนเพื่อนโดยไม่มีใครเห็น */

.nw { white-space: nowrap; }
code { font-family: 'JetBrains Mono', 'Anuphan', monospace; font-size: 0.9em; padding: 1px 6px;
  border-radius: 5px; background: rgba(var(--ink-rgb),0.06); color: var(--fg-2); }
article ol:not([class]) { margin: 0; padding-left: 22px; display: grid; gap: 9px; }
article ol:not([class]) li::marker { color: var(--purple); font-weight: 600; }

/* รหัสขั้นของกรอบวิเคราะห์ — สีเดียวกับหน้ากรอบ ของชิ้นเดียวกันหน้าตาเดียวกัน */
.st { display: inline-block; margin-right: 10px; padding: 1px 8px; border-radius: 6px;
  font-family: 'JetBrains Mono', monospace; font-size: 14px; font-weight: 500; line-height: 1.6;
  vertical-align: 4px; background: rgba(var(--purple-rgb),0.12); color: var(--purple);
  border: 1px solid rgba(var(--purple-rgb),0.3); }

/* สถานะของผลตรวจ — สีบอกความหมาย (พบ / ไม่พบ / ยังไม่ได้ตรวจ / ต้องระวัง) ไม่ใช่สีประจำหน้า
   ต้นฉบับใช้ ⚠️ 🔴 🟢 ปนในหัวข้อ · บนเว็บแยกเป็นป้าย อ่านสถานะออกโดยไม่ต้องอ่านทั้งย่อหน้า */
.flag { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: 12.5px;
  font-weight: 600; line-height: 1.5; white-space: nowrap; vertical-align: 3px; }
.flag-warn { background: rgba(var(--gold-rgb),0.13); color: var(--gold); border: 1px solid rgba(var(--gold-rgb),0.3); }
.flag-bad { background: rgba(var(--red-rgb),0.12); color: var(--red); border: 1px solid rgba(var(--red-rgb),0.3); }
.flag-ok { background: rgba(var(--green-rgb),0.12); color: var(--green); border: 1px solid rgba(var(--green-rgb),0.25); }
.flag-todo { background: rgba(var(--slate-rgb),0.12); color: var(--slate); border: 1px solid rgba(var(--slate-rgb),0.25); }
/* จุดที่แก้หลังขึ้นเว็บ — ป้าย "แก้ 13 ก.ย." อยู่ติดตัวเลขที่เปลี่ยน คนที่อ่านฉบับแรกไปแล้วเทียบได้ */
.flag.edit { margin-right: 6px; vertical-align: 1px; }
.sub { display: block; margin-top: 4px; font-size: 13.5px; line-height: 1.6; color: var(--fg-mute); }

.toc { display: flex; flex-wrap: wrap; gap: 6px; }
.toc a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 11px; border-radius: 9px;
  font-family: 'JetBrains Mono', 'Anuphan', monospace; font-size: 13px; color: var(--fg-nav);
  background: rgba(var(--ink-rgb),0.04); border: 1px solid rgba(var(--ink-rgb),0.1); }
.toc a:hover { color: var(--fg-strong); border-color: rgba(var(--purple-rgb),0.45); }

table.fit { min-width: 0; }
td { font-variant-numeric: tabular-nums; }
table.facts td:first-child { width: 1%; white-space: nowrap; color: var(--fg-mute); }
table.scen th, table.scen td { text-align: right; white-space: nowrap; }
table.scen th:first-child, table.scen td:first-child { text-align: left; }
table.scen td.why { white-space: normal; font-size: 13.5px; color: var(--fg-mute); }
table.scen tr.total td { font-weight: 600; color: var(--fg-strong); }
table.vs { min-width: 560px; }
table.vs td:last-child { font-weight: 600; color: var(--fg-strong); }
/* ที่ 375px ตาราง scenario และตารางเทียบต้องปัดข้าง — ป้ายแถวค้างไว้ทางซ้าย
   ปัดไปดู Bull แล้วยังรู้ว่าเลขนั้นคือแถวไหน */
table.scen td:first-child, table.vs td:first-child { position: sticky; left: 0; z-index: 1; background: var(--bg); }
table.scen th:first-child, table.vs th:first-child { position: sticky; left: 0; z-index: 1;
  background: linear-gradient(rgba(var(--ink-rgb),0.03), rgba(var(--ink-rgb),0.03)), var(--bg); }

.eq { padding: 14px 16px; border-radius: 12px; text-align: center; font-size: 16.5px;
  font-weight: 600; color: var(--fg-strong); font-variant-numeric: tabular-nums;
  background: rgba(var(--purple-rgb),0.07); border: 1px solid rgba(var(--purple-rgb),0.24); }
.eq + .eq { margin-top: 8px; }

/* บัญชีตัวเลขสั้นๆ แทน code block ในต้นฉบับ — เลขชิดขวาตรงหลักกัน
   สีของแถวสรุปต้องเลือกเอง (good / bad) ไม่ใช่เขียวเสมอ: "ส่วนต่างเหนือ bond" ดี "เกิน FCF" ไม่ดี */
.ledger { display: grid; gap: 7px; padding: 16px 18px; border-radius: 14px;
  background: rgba(var(--purple-rgb),0.05); border: 1px solid rgba(var(--purple-rgb),0.2); }
.ledger div { display: flex; justify-content: space-between; gap: 16px; font-size: 15.5px; color: var(--fg-3); }
.ledger b { font-family: 'JetBrains Mono', 'Anuphan', monospace; font-weight: 500; color: var(--fg-strong);
  font-variant-numeric: tabular-nums; white-space: nowrap; text-align: right; }
.ledger .sum { padding-top: 8px; border-top: 1px solid rgba(var(--ink-rgb),0.12); }
.ledger .good b { color: var(--green); }
.ledger .bad b { color: var(--red); }

.split { display: grid; gap: 12px; }
@media (min-width: 640px) { .split { grid-template-columns: 1fr 1fr; } }
.split ul { margin: 0; }
.split li { font-size: 15px; line-height: 1.7; }

.blocks { display: grid; gap: 10px; }
.block { padding: 16px 18px; border-radius: 14px; display: flex; flex-direction: column; gap: 8px;
  background: rgba(var(--ink-rgb),0.028); border: 1px solid rgba(var(--ink-rgb),0.08); }
.block h3 { margin: 0; font-size: 16.5px; line-height: 1.45; display: flex; flex-wrap: wrap;
  align-items: center; gap: 6px 10px; }
.block h3 .flag { vertical-align: 0; }
.block p { font-size: 15.5px; line-height: 1.75; }
.block ul { margin: 0; }

.signoff { margin-top: 34px; font-size: 13.5px; color: var(--fg-dim); }

@media print {
  .toc { display: none !important; }
  .st, .flag { background: #fff !important; color: #000 !important; border: 0.6pt solid #999 !important; }
  .eq, .ledger, .block { background: #fff !important; border: 0.6pt solid #bbb !important; break-inside: avoid; }
  .eq, .ledger b, .ledger .good b, .ledger .bad b, table.scen tr.total td, table.vs td:last-child { color: #000 !important; }
  .ledger div, .block p, table.scen td.why, .sub { color: #1a1a1a !important; }
  code { background: #fff !important; color: #000 !important; }
  table.scen td:first-child, table.vs td:first-child { position: static; background: #fff !important; }
  table.scen th:first-child, table.vs th:first-child { position: static; background: #f0f0f0 !important; }
  h2, h3 { break-after: avoid; }
}
