/* ============================================================
   THE COMPLETE SUCCESS OS — East Meets West
   Shared styles. Self-contained, offline, no CDN.
   Palette + type mirror Chill & Shine's resource courses
   (warm pastel: sage, dusty rose, soft teal, lavender on warm
   off-white; Deep Clay #B65C46 for links/CTAs). Never dark.
   Adds: "Try this" practice box, West|East compare grid,
   and an equation display, as tasteful variations.
   ============================================================ */

: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);
  --indigo:#5B6BB0;        --indigo-tint:rgba(91,107,176,0.12); /* action / practice */
  /* type */
  --serif:'Fraunces','Georgia','Times New Roman',serif;
  --sans:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --mono:'JetBrains Mono','SFMono-Regular',ui-monospace,Menlo,Consolas,monospace;
  --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;}

/* ── Header banner image (module pages + index hero) ── */
.banner{margin:22px 0 10px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-md);background:var(--band);line-height:0;}
.banner img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;}
.banner figcaption{line-height:1.5;font-family:var(--sans);font-size:.78rem;color:var(--muted);padding:8px 14px;background:var(--surface);border-top:1px solid var(--line);}
.cover .banner{margin:26px auto 0;max-width:620px;}

/* ── 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;}
.prose code{font-family:var(--mono);font-size:.86em;background:var(--band);padding:1px 6px;border-radius:5px;color:var(--clay-deep);}
.first-note{color:var(--muted);font-size:.9rem;}

/* ── Pull-quote (a memorable line) ── */
.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 CALLOUTS — the belief-optional scaffolding.
   Tinted cards, coloured left rule, 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;}

/* module intro / the friction — 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 (the Western psychology / systems reading) */
.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 / no-belief-required gloss — clay */
.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);}

/* try this — practice / action box — indigo (cool, distinct from warm palette) */
.ed.practice{background:var(--indigo-tint);border-left-color:var(--indigo);border-color:transparent;}
.ed.practice .ed-label{color:#43509a;}
.ed.practice .ed-label::before{background:var(--indigo);border-radius:2px;}
.ed.practice ol{margin:6px 0 0 22px;}
.ed.practice li{margin-bottom:8px;color:var(--ink);}
.ed.practice p{color:var(--ink);}

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

/* =========================================================
   VARIATION ELEMENTS
   ========================================================= */
/* West | East compare grid */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:28px 0;}
.compare .col{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow-sm);}
.compare .col h4{font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;}
.compare .west h4{color:var(--teal);}
.compare .east h4{color:var(--clay);}
.compare .col p{margin:0;font-size:.96rem;color:var(--body);}
.compare .col p+p{margin-top:10px;}

/* equation display (inner state + engine = result) */
.equation{display:flex;align-items:stretch;justify-content:center;flex-wrap:wrap;gap:12px;margin:30px 0;text-align:center;}
.equation .term{flex:1 1 160px;min-width:150px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 14px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;justify-content:center;}
.equation .term .k{font-family:var(--sans);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;}
.equation .term .v{font-family:var(--serif);font-size:1.12rem;color:var(--ink);line-height:1.25;}
.equation .term.result{background:var(--clay-tint);border-color:transparent;}
.equation .term.result .v{color:var(--clay-deep);}
.equation .op{display:flex;align-items:center;font-family:var(--serif);font-size:1.6rem;color:var(--muted);}

/* ── 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 .kicker{font-family:var(--sans);font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--clay);margin-bottom:16px;}
.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:580px;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-practice .dot{background:var(--indigo);border-radius:2px;}

/* 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;}
  .compare{grid-template-columns:1fr;}
  .equation{flex-direction:column;}
  .equation .op{justify-content:center;}
  .pager{flex-direction:column;}
  .pager .next{text-align:left;}
  .topbar .brand span.t{display:none;}
}
