/* ============================================================
   Management the Buddhist Way — shared styles
   Self-contained, offline, no external dependencies / no CDN.
   Fonts are named first with robust system fallbacks so the
   site renders warmly even with no font files installed.
   Palette: warm pastel (sage, dusty rose, soft teal, lavender)
   on warm off-white, Deep Clay #B65C46 for links/CTAs.
   Never a dark background.
   ============================================================ */

:root{
  /* surfaces */
  --bg:#FBF7F1;            /* warm off-white page */
  --surface:#FFFFFF;       /* cards */
  --band:#F3ECE1;          /* soft warm band */
  --line:#E9DFD1;          /* hairline */
  /* text */
  --ink:#332F2A;           /* warm near-black headings/strong */
  --body:#544E46;          /* body text */
  --muted:#8C847A;         /* meta / captions */
  /* accents */
  --clay:#B65C46;          /* Deep Clay — links, CTAs, key emphasis */
  --clay-deep:#98452F;     /* hover */
  --clay-tint:rgba(182,92,70,0.10);
  --sage:#7C9B7E;          --sage-tint:rgba(124,155,126,0.14);
  --rose:#C08497;          --rose-tint:rgba(192,132,151,0.14);
  --teal:#5F9A92;          --teal-tint:rgba(95,154,146,0.13);
  --lav:#9C8FC0;           --lav-tint:rgba(156,143,192,0.15);
  /* type */
  --serif:'Fraunces','Georgia','Times New Roman',serif;
  --sans:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --radius:14px; --radius-sm:9px;
  --shadow-sm:0 1px 3px rgba(60,45,35,.05);
  --shadow-md:0 6px 22px rgba(60,45,35,.08);
  --measure:68ch;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--sans);
  background:var(--bg);
  color:var(--body);
  font-size:17px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{font-family:var(--serif);color:var(--ink);line-height:1.2;font-weight:600;}
a{color:var(--clay);text-decoration:none;transition:color .2s ease;}
a:hover{color:var(--clay-deep);text-decoration:underline;text-underline-offset:3px;}
strong{color:var(--ink);font-weight:600;}
em{font-style:italic;}
img{max-width:100%;display:block;}

.skip{position:absolute;left:-9999px;}
.skip:focus{left:12px;top:10px;background:var(--surface);padding:8px 14px;border-radius:8px;z-index:200;box-shadow:var(--shadow-md);}

/* ── Layout ── */
.wrap{max-width:760px;margin:0 auto;padding:0 22px;}
.prose{max-width:var(--measure);}

/* ── Top bar (persistent back-to-index) ── */
.topbar{position:sticky;top:0;z-index:100;background:rgba(251,247,241,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
.topbar-inner{max-width:1080px;margin:0 auto;padding:0 22px;height:60px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:1.08rem;font-weight:600;color:var(--ink);}
.brand:hover{text-decoration:none;color:var(--ink);}
.brand .lotus{flex:0 0 auto;}
.topbar .home{font-size:.82rem;font-weight:600;letter-spacing:.02em;color:var(--clay);white-space:nowrap;}
.topbar .home:hover{color:var(--clay-deep);}

/* ── Lotus motif ── */
.lotus{width:26px;height:26px;display:inline-block;}
.divider{display:flex;align-items:center;justify-content:center;gap:12px;margin:40px 0;color:var(--sage);}
.divider::before,.divider::after{content:"";height:1px;width:64px;background:linear-gradient(90deg,transparent,var(--line));}
.divider::after{background:linear-gradient(90deg,var(--line),transparent);}
.divider .lotus{width:20px;height:20px;opacity:.75;}

/* ── Chapter header ── */
.chapter-head{padding:44px 0 8px;}
.eyebrow{display:inline-block;font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--clay);margin-bottom:14px;}
.chapter-head h1{font-size:2.3rem;line-height:1.13;margin-bottom:6px;letter-spacing:-.01em;}
.chapter-head .sub{color:var(--muted);font-size:1.02rem;font-weight:500;}

/* ── Prose ── */
.prose p{margin-bottom:20px;}
.prose h2{font-size:1.55rem;margin:38px 0 14px;}
.prose h3{font-size:1.22rem;margin:30px 0 10px;color:var(--clay-deep);}
.prose ul,.prose ol{margin:0 0 20px 26px;}
.prose li{margin-bottom:9px;}
.prose .pali{font-style:italic;}
.first-note{color:var(--muted);font-size:.9rem;}

/* ── Interview Q&A (translated dialogue — the teacher's exchange) ── */
.qa{margin:26px 0;border-left:3px solid var(--line);padding-left:0;}
.turn{padding:16px 20px;border-radius:var(--radius-sm);margin-bottom:12px;}
.turn .who{display:block;font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;}
.turn.q{background:var(--band);}
.turn.q .who{color:var(--teal);}
.turn.a{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);}
.turn.a .who{color:var(--clay);}
.turn p:last-child{margin-bottom:0;}
.turn p{margin-bottom:12px;}

/* ── Pull-quote (the book's own stylized quote pages — teacher's words) ── */
.pull{border-left:4px solid var(--clay);background:var(--surface);padding:22px 26px;margin:32px 0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;box-shadow:var(--shadow-sm);}
.pull p{font-family:var(--serif);font-size:1.24rem;line-height:1.5;color:var(--ink);font-style:italic;margin:0;}
.pull .attr{display:block;font-family:var(--sans);font-style:normal;font-size:.8rem;color:var(--muted);margin-top:12px;}

/* =========================================================
   EDITORIAL SCAFFOLDING — the adapter's voice.
   Deliberately distinct from translated content: tinted
   cards, a coloured left rule, and an uppercase micro-label.
   ========================================================= */
.ed{position:relative;border-radius:var(--radius);padding:20px 22px 20px 24px;margin:26px 0;border:1px solid var(--line);border-left-width:4px;font-size:.98rem;line-height:1.7;}
.ed .ed-label{display:flex;align-items:center;gap:7px;font-family:var(--sans);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:9px;}
.ed p{margin-bottom:12px;color:var(--body);}
.ed p:last-child{margin-bottom:0;}
.ed .ed-label::before{content:"";width:9px;height:9px;border-radius:50%;display:inline-block;}

/* chapter intro — lavender */
.ed.intro{background:var(--lav-tint);border-left-color:var(--lav);border-color:transparent;font-family:var(--sans);}
.ed.intro .ed-label{color:#6f5fa0;}
.ed.intro .ed-label::before{background:var(--lav);}
.ed.intro p{color:var(--ink);}

/* key takeaways — sage */
.ed.takeaways{background:var(--sage-tint);border-left-color:var(--sage);border-color:transparent;}
.ed.takeaways .ed-label{color:#4f7a52;}
.ed.takeaways .ed-label::before{background:var(--sage);}
.ed.takeaways ul{list-style:none;margin:6px 0 0;padding:0;}
.ed.takeaways li{position:relative;padding-left:26px;margin-bottom:9px;color:var(--ink);}
.ed.takeaways li::before{content:"❋";position:absolute;left:2px;top:0;color:var(--sage);font-size:.9rem;}

/* analytical lens — teal */
.ed.lens{background:var(--teal-tint);border-left-color:var(--teal);border-color:transparent;}
.ed.lens .ed-label{color:#3d7a72;}
.ed.lens .ed-label::before{background:var(--teal);}
.ed.lens strong{color:var(--clay-deep);}

/* pragmatic / belief-optional gloss — clay outline, warm */
.ed.gloss{background:var(--clay-tint);border-left-color:var(--clay);border-color:transparent;}
.ed.gloss .ed-label{color:var(--clay-deep);}
.ed.gloss .ed-label::before{background:var(--clay);}

/* uncertain flag inline */
.unc{background:var(--rose-tint);border-bottom:1px dashed var(--rose);padding:0 2px;font-style:italic;}

/* ── Prev / next nav ── */
.pager{display:flex;gap:12px;margin:44px 0 8px;}
.pager a,.pager span{flex:1;display:flex;flex-direction:column;gap:3px;padding:14px 18px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);transition:border-color .2s,box-shadow .2s,transform .2s;}
.pager a:hover{border-color:var(--clay);box-shadow:var(--shadow-md);text-decoration:none;transform:translateY(-2px);}
.pager .dir{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.pager .ttl{font-family:var(--serif);font-size:1rem;color:var(--ink);}
.pager .next{text-align:right;}
.pager .disabled{opacity:.4;}
.pager .disabled .ttl{color:var(--muted);}

/* ── Footer ── */
.foot{margin-top:52px;border-top:1px solid var(--line);background:var(--band);}
.foot-inner{max-width:760px;margin:0 auto;padding:30px 22px 40px;color:var(--muted);font-size:.86rem;line-height:1.7;}
.foot-inner a{font-weight:600;}
.foot .back{display:inline-flex;align-items:center;gap:6px;margin-bottom:10px;font-weight:700;}

/* ============ INDEX PAGE ============ */
.cover{text-align:center;padding:56px 0 20px;background:linear-gradient(180deg,var(--bg),var(--band));border-bottom:1px solid var(--line);}
.cover .lotus-lg{width:52px;height:52px;margin:0 auto 20px;}
.cover h1{font-size:2.9rem;line-height:1.08;letter-spacing:-.015em;margin-bottom:14px;}
.cover .thai{font-family:var(--sans);font-size:1.05rem;color:var(--clay);font-weight:600;margin-bottom:16px;}
.cover .tagline{max-width:560px;margin:0 auto;color:var(--body);font-size:1.08rem;font-weight:300;}
.cover .credit{margin-top:22px;font-size:.9rem;color:var(--muted);}
.cover .credit strong{color:var(--ink);}

.toc{margin:36px 0;}
.toc h2{font-size:1.15rem;text-transform:uppercase;letter-spacing:.08em;font-family:var(--sans);font-weight:700;color:var(--muted);margin-bottom:16px;}
.toc ol{list-style:none;counter-reset:sec;margin:0;padding:0;}
.toc li{counter-increment:sec;}
.toc a.toc-row{display:flex;gap:16px;align-items:baseline;padding:15px 4px;border-top:1px solid var(--line);color:var(--ink);}
.toc li:first-child a.toc-row{border-top:0;}
.toc a.toc-row:hover{text-decoration:none;color:var(--clay);}
.toc a.toc-row .num{font-family:var(--serif);font-size:1.05rem;color:var(--clay);min-width:26px;}
.toc a.toc-row .tt{font-weight:600;}
.toc a.toc-row .tn{display:block;color:var(--muted);font-size:.88rem;font-weight:400;margin-top:1px;}

.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px;margin:24px 0;box-shadow:var(--shadow-sm);}
.card h2{font-size:1.3rem;margin-bottom:10px;}
.card h3{font-family:var(--sans);font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--clay);margin:16px 0 8px;}
.card p{margin-bottom:12px;}
.card p:last-child{margin-bottom:0;}

/* legend chips for "how to read this" */
.legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}
.chip{display:inline-flex;align-items:center;gap:7px;font-size:.8rem;font-weight:600;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:100px;padding:6px 13px;}
.chip .dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto;}
.chip.d-intro .dot{background:var(--lav);}
.chip.d-take .dot{background:var(--sage);}
.chip.d-lens .dot{background:var(--teal);}
.chip.d-gloss .dot{background:var(--clay);}
.chip.d-pull .dot{background:var(--ink);}

/* glossary */
.gloss-list{margin:8px 0 0;padding:0;list-style:none;}
.gloss-list li{padding:11px 0;border-top:1px solid var(--line);}
.gloss-list li:first-child{border-top:0;}
.gloss-list .term{font-weight:700;color:var(--ink);}
.gloss-list .term .thai{font-weight:400;color:var(--muted);font-size:.92em;}

/* source page */
.src dl{margin:6px 0;}
.src dt{font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--clay);margin-top:16px;}
.src dd{margin:3px 0 0;color:var(--ink);}

/* ── Responsive ── */
@media(max-width:640px){
  body{font-size:16px;}
  .cover h1{font-size:2.15rem;}
  .chapter-head h1{font-size:1.85rem;}
  .pager{flex-direction:column;}
  .pager .next{text-align:left;}
  .topbar .brand span.t{display:none;}
}
