/* Edition 40 (Claude): styles for the rebuilt last act. Three registers reused from the page:
 * dark results (why, share, occupations), paper people/policy, dark teal finale. */
#e40-copy{display:none!important}
:root{--e40-ink:#e9efe9;--e40-muted:#a7bbb5;--e40-mint:#a8e6cf;--e40-amber:#e3a96b;--e40-line:#ffffff24;
  --e40-paper:#ecebdf;--e40-pink:#15313a;--e40-pmuted:#52615f;--e40-green:#276954;--e40-rust:#a3402c;--e40-serif:Newsreader,Georgia,serif}

/* ---------- shared evidence chip ---------- */
.e40-evidence{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin:10px 0 0!important;font-size:14px;line-height:1.55;color:var(--e40-muted)}
.e40-tag{flex:none;font-size:11px;letter-spacing:.04em;padding:2px 8px;border-radius:999px;border:1px solid currentColor;white-space:nowrap}
.e40-evidence-set .e40-tag{color:var(--e40-amber)}
.e40-evidence-model .e40-tag{color:var(--e40-mint)}
.e40-evidence-text{color:var(--e40-ink);font-variant-numeric:tabular-nums}

/* ---------- 1. why chain (dark) ---------- */
.e40-why,.e40-share{max-width:1100px;margin:0 auto;padding:88px 24px 40px;color:var(--e40-ink)}
.e40-kicker{font-size:14px;letter-spacing:.06em;color:var(--e40-amber);margin:0 0 10px}
.e40-why-head h2,.e40-share h2{font-size:clamp(28px,3.6vw,44px);line-height:1.25;margin:0 0 18px;color:var(--e40-ink);max-width:22em}
.e40-why-head p[data-copy-slot]{font-size:18px;line-height:1.75;color:var(--e40-ink);max-width:44em;margin:0}
.e40-chain{list-style:none;margin:40px 0 0;padding:0;counter-reset:none;display:grid;gap:0}
.e40-link{display:grid;grid-template-columns:44px 1fr;gap:18px;padding:22px 0;border-top:1px solid var(--e40-line);position:relative}
.e40-link:not(:last-child):after{content:"";position:absolute;left:21px;top:62px;bottom:-22px;width:1px;background:var(--e40-line)}
.e40-step{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font:500 20px/1 var(--e40-serif);border:1px solid var(--e40-mint);color:var(--e40-mint);background:#0f2427}
.e40-link h3{font-size:21px;line-height:1.35;margin:6px 0 6px;color:var(--e40-ink)}
.e40-link p[data-copy-slot]{font-size:16px;line-height:1.75;margin:0;color:#cfdcd7;max-width:46em}
.e40-why-result{margin:18px 0 0 62px;padding:18px 20px;border-left:3px solid var(--e40-mint);background:#ffffff08}
.e40-why-result p[data-copy-slot]{font-size:18px;line-height:1.7;margin:0;color:var(--e40-ink)}

/* ---------- 2. restored 100-baht strips (dark) ---------- */
.e40-share{padding-top:48px}
.e40-share p[data-copy-slot="e40:share-lead"]{font-size:18px;line-height:1.75;max-width:44em;margin:0 0 26px}
.e40-share>figure{margin:0 0 18px}
.e40-share p[data-copy-slot="e40:share-scope"]{font-size:14px;line-height:1.6;color:var(--e40-muted);max-width:52em;margin:0 0 10px}
.e40-ranges{font-size:14px;color:var(--e40-muted)}.e40-ranges summary{cursor:pointer}.e40-ranges ul{margin:8px 0 0;padding-left:20px;line-height:1.7}
#labor-share>p[data-copy-slot="e40:k-callback"]{max-width:1100px;margin:18px auto 0;padding:0 24px 56px;font-size:18px;line-height:1.7;color:var(--e40-mint)}

/* ---------- 3. occupations: one sorted chart (dark) ---------- */
.e40-occ-ready>.o80-lessons{display:none!important}
.e40-occ{margin:28px 0 12px;color:var(--e40-ink)}
.e40-occ-switch{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px}
.e40-occ-button{font:inherit;font-size:15px;color:var(--e40-ink);background:transparent;border:1px solid var(--e40-line);border-radius:999px;padding:6px 14px;cursor:pointer}
.e40-occ-button[aria-pressed="true"]{background:var(--e40-ink);color:#0f2427;border-color:var(--e40-ink)}
.e40-occ-button strong{font-family:var(--e40-serif)}
.e40-occ-sub{font-size:13px;line-height:1.55;color:var(--e40-muted);margin:0 0 14px}
.e40-occ-rows{display:grid;gap:14px}
.e40-occ-row{display:grid;grid-template-columns:minmax(150px,230px) 1fr;gap:6px 18px;align-items:center}
.e40-occ-name{display:flex;flex-direction:column;gap:2px;grid-row:span 2}
.e40-occ-name strong{font-size:16px;line-height:1.35}.e40-occ-name span{font-size:12px;color:var(--e40-muted)}
.e40-occ-tag{font-style:normal;font-size:12px;color:#0f2427;background:var(--e40-amber);border-radius:4px;padding:1px 7px;align-self:flex-start;margin-top:3px}
.e40-occ-row.is-clerical .e40-occ-track{outline:2px solid var(--e40-amber);outline-offset:3px}
.e40-occ-track{position:relative;display:flex;height:18px;border-radius:3px;overflow:visible;background:#ffffff10}
.e40-seg{display:block;height:100%}.e40-seg-formal{background:#a0f3db}.e40-seg-own{background:#ffc178}
.e40-seg-neither{background:repeating-linear-gradient(135deg,#b2c2d0 0,#b2c2d0 3px,#80929f 3px,#80929f 5px)}
.e40-ref{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 0 1px #0f2427}
.e40-occ-nums{margin:0;font-size:13px;color:#cfdcd7;font-variant-numeric:tabular-nums}
.e40-occ-notes{margin:18px 0 0;display:grid;gap:8px}
.e40-note{margin:0;padding:10px 14px;border-left:3px solid var(--e40-amber);background:#ffffff08;font-size:15px;line-height:1.65;color:var(--e40-ink)}
.e40-occ p[data-copy-slot="e40:occ-why"]{margin:16px 0 0;font-size:15px;line-height:1.7;color:#cfdcd7;max-width:52em}
.e40-occ-table{margin:18px 0 8px;color:var(--e40-ink)}.e40-occ-table>summary{cursor:pointer;font-size:15px;padding:10px 0;border-top:1px solid var(--e40-line)}

/* ---------- 4. two lives (paper) ---------- */
.e40-lives{max-width:1100px;margin:0 auto;padding:80px 24px 24px;color:var(--e40-pink)}
.e40-lives p[data-copy-slot="e40:lab-switch"]{display:inline-block;font-size:14px;line-height:1.55;margin:0 0 22px;padding:8px 14px;border:1px dashed #15313a55;border-radius:6px;color:var(--e40-pmuted)}
.e40-lives h2{font-size:clamp(30px,4vw,48px);line-height:1.2;margin:0 0 14px}
.e40-lives p[data-copy-slot="e40:lives-lead"]{font-size:17px;line-height:1.75;max-width:46em;margin:0 0 30px}
.e40-life-pair{display:grid;grid-template-columns:1fr 1.25fr;gap:28px;align-items:start}
.e40-life{background:#f7f3e8;padding:22px 22px 18px;box-shadow:0 10px 28px #0000001c;border-top:3px solid #c69c61;background-image:repeating-linear-gradient(0deg,transparent 0 31px,#9076501a 31px 32px)}
.e40-life-name{margin:0 0 14px;font-size:20px;line-height:1.35}.e40-life-name span{font-size:15px;font-weight:400;color:var(--e40-pmuted)}
.e40-receipt{list-style:none;margin:0 0 14px;padding:0;font-variant-numeric:tabular-nums}
.e40-receipt-line{display:grid;grid-template-columns:78px 1fr;gap:10px;padding:7px 0;border-bottom:1px dotted #15313a40;font-size:15px;line-height:1.5}
.e40-receipt-line time{color:var(--e40-pmuted);font-size:13px}
.e40-receipt-line.is-alert span{color:var(--e40-rust);font-weight:600}
.e40-receipt-line.is-total span{font-weight:600;color:var(--e40-green)}
.e40-life p[data-copy-slot]{font-size:15px;line-height:1.7;margin:0 0 10px;color:var(--e40-pink)}
.e40-life .c39-calendar{margin-top:10px}.e40-life .c39-paper{box-shadow:none;padding:16px 12px 10px}
.e40-lives p[data-copy-slot="e40:lives-close"]{font-size:19px;line-height:1.75;max-width:44em;margin:30px 0 0;padding:18px 0 0;border-top:2px solid var(--e40-pink)}

/* ---------- 5. policy: ranked levers (paper) ---------- */
.e40-policy{margin:8px 0 34px;color:var(--e40-pink)}
.e40-policy h3{font-size:clamp(24px,2.8vw,34px);line-height:1.3;margin:0 0 12px}
.e40-policy p[data-copy-slot]{font-size:17px;line-height:1.75;max-width:46em;margin:0 0 20px}
.e40-lever-figure{margin:0;padding:20px 22px;background:#f7f3e8;border:1px solid #15313a22}
.e40-lever-figure figcaption{font-size:14px;color:var(--e40-pmuted);margin:0 0 14px}
.e40-levers{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.e40-lever{display:grid;grid-template-columns:minmax(150px,210px) 1fr minmax(120px,200px);gap:14px;align-items:center}
.e40-lever-name{font:inherit;font-size:16px;text-align:left;background:none;border:0;padding:0;color:var(--e40-pink);cursor:pointer;display:flex;gap:8px;align-items:baseline}
.e40-lever-name:hover{text-decoration:underline}.e40-lever-no{font:500 14px/1 var(--e40-serif);color:var(--e40-pmuted)}
.e40-lever-track{position:relative;height:20px;background:#15313a0d}
.e40-lever-zero{position:absolute;top:-5px;bottom:-5px;width:1.5px;background:#15313a}
.e40-lever-bar,.e40-lever-band{position:absolute;top:4px;height:12px}
.e40-lever-band{top:2px;height:16px;opacity:.45;background:repeating-linear-gradient(135deg,currentColor 0 2px,transparent 2px 4px)}
.e40-lever.is-helps{color:var(--e40-green)}.e40-lever.is-hurts{color:var(--e40-rust)}.e40-lever.is-noise{color:#7a8a88}
.e40-lever-bar{background:currentColor}
.e40-lever-num{margin:0;font:500 18px/1.3 var(--e40-serif);font-variant-numeric:tabular-nums}
.e40-lever.is-noise .e40-lever-num{font-size:15px}
.e40-lever-note{margin:16px 0 0;font-size:13px;line-height:1.65;color:var(--e40-pmuted)}
.e40-lever-note a{color:inherit}
.e40-lever-more>summary{cursor:pointer;font-size:15px;color:var(--e40-green);padding:6px 0}
.e40-lever-panel{padding-bottom:14px!important}

/* ---------- 6. finale screens (dark teal, like the ending) ---------- */
.e40-screen{background:#0c2326;color:var(--e40-ink);padding:96px max(24px,calc((100vw - 1100px)/2)) 72px}
.e40-learn-screen p[data-copy-slot="e40:learn-eyebrow"],.e40-today-screen p[data-copy-slot="e40:today-eyebrow"]{font-size:14px;letter-spacing:.06em;color:var(--e40-amber);margin:0 0 10px}
.e40-learn-screen h2{font-size:clamp(30px,4vw,50px);line-height:1.2;margin:0 0 28px}
.e40-recall{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:820px}
.e40-recall-item p{margin:0 0 8px;font-size:15px;color:var(--e40-muted)}
.e40-recall-item svg{width:100%;height:auto;display:block}
.e40-recall-item strong{display:block;margin-top:8px;font:500 clamp(40px,6vw,64px)/1 var(--e40-serif);color:var(--e40-mint)}
.e40-recall-item strong small{font-size:18px;color:var(--e40-muted)}
.e40-recall-scope{font-size:13px;color:var(--e40-muted);margin:14px 0 40px}
.e40-lesson-list{list-style:none;margin:0;padding:0;display:grid;gap:0;max-width:880px}
.e40-lesson-row{padding:18px 0;border-top:1px solid var(--e40-line)}
.e40-lesson-row ul{list-style:none;margin:0;padding:0}
.e40-lesson-row li{font-size:20px;line-height:1.55;color:var(--e40-ink)}
.e40-lesson-evidence{margin:6px 0 0;font-size:14px;color:var(--e40-mint);font-variant-numeric:tabular-nums}
.e40-today-screen>h2{font-size:clamp(30px,4vw,50px);line-height:1.2;margin:0 0 16px}
.e40-today-screen>h2 em{font-style:normal;color:var(--e40-mint)}
.e40-today-screen>p[data-copy-slot="ending41:final-prose"]{font-size:19px;line-height:1.75;max-width:44em;margin:0 0 14px}
.e40-today-screen>p[data-copy-slot="e40:who-pays"]{font-size:19px;line-height:1.75;max-width:44em;margin:0 0 40px;color:var(--e40-mint)}
.e40-actors{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.e40-actor{border-top:2px solid var(--e40-amber);padding:18px 0 0;display:flex;flex-direction:column;gap:12px}
.e40-who{margin:0;font-size:13px;letter-spacing:.06em;color:var(--e40-amber)}
.e40-actor h3{margin:0;font-size:22px;line-height:1.35;color:var(--e40-mint)}
.e40-warrant{margin:0;font-size:14px;line-height:1.6;color:var(--e40-ink);padding:10px 12px;background:#ffffff0a;border-left:2px solid var(--e40-mint);font-variant-numeric:tabular-nums}
.e40-now{padding:4px 0 0}.e40-when{margin:0 0 4px;font-size:12px;letter-spacing:.05em;color:var(--e40-amber)}
.e40-now h4,.e40-more h4{margin:0 0 4px;font-size:17px;line-height:1.4}
.e40-now p:not(.e40-when),.e40-more p{margin:0;font-size:15px;line-height:1.7;color:#cfdcd7}
.e40-more summary{cursor:pointer;font-size:14px;color:var(--e40-muted)}.e40-more ol{margin:10px 0 0;padding-left:20px;display:grid;gap:10px}
.e40-consequence{margin:0;font-size:13px;line-height:1.6;color:var(--e40-muted)}
.e40-door{margin-top:6px;padding:14px;border:1px solid var(--e40-line);border-radius:6px;background:#ffffff06}
.e40-door-label{margin:0 0 8px;font-size:12px;letter-spacing:.05em;color:var(--e40-amber)}
.e40-door .p132-fund{color:var(--e40-ink);margin:0;padding:0;background:none;border:0}
.e40-door .p132-fund h4{font-size:17px;color:var(--e40-mint);margin:0 0 6px}
.e40-door .p132-fund p{font-size:14px;line-height:1.65;color:#cfdcd7}
.e40-door .p132-fund a{color:var(--e40-mint)}
.e40-door .p132-fund strong{color:var(--e40-ink)}

/* ---------- screen 3: the original dawn ending, kicker alone ---------- */
.e40-ending .ending-copy p[data-copy-slot="e40:return-aside"]{margin:28px 0 6px;font-size:15px;letter-spacing:.04em;color:var(--e40-amber)}
.e40-ending .ending-copy .e40-kicker-line{margin:0 0 28px;font-size:clamp(30px,4.2vw,54px);line-height:1.25;font-weight:600;color:#fff;max-width:18em}

@media (max-width:820px){
  .e40-why,.e40-share,.e40-lives{padding-left:16px;padding-right:16px}
  .e40-screen{padding:72px 16px 56px}
  .e40-life-pair,.e40-actors,.e40-recall{grid-template-columns:1fr}
  .e40-occ-row{grid-template-columns:1fr}.e40-occ-name{grid-row:auto;flex-direction:row;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
  .e40-lever{grid-template-columns:1fr;gap:6px}
  .e40-why-result{margin-left:0}
  .e40-link{grid-template-columns:34px 1fr;gap:12px}.e40-step{width:32px;height:32px;font-size:16px}.e40-link:not(:last-child):after{left:16px;top:52px}
  .e40-receipt-line{grid-template-columns:64px 1fr}
}
@media print{.e40-screen{padding:24px 0}}

/* ---------- edition40 visual pass (after first screenshot review) ---------- */
/* 2. strips recoloured for the dark results register; one row on desktop */
.e40-share svg.r39-money rect[fill="#296a57"],.e40-recall svg.r39-money rect[fill="#296a57"]{fill:#7fd6b5}
.e40-share svg.r39-money rect[fill="#cbd6cd"],.e40-recall svg.r39-money rect[fill="#cbd6cd"]{fill:#ffffff1f}
.e40-share .results39-money-pair{grid-template-columns:repeat(4,1fr);gap:22px}
.e40-share .results39-money-pair p{color:var(--e40-muted);min-height:0}
.e40-share .results39-money-pair strong{color:var(--e40-mint);margin-top:10px}
.e40-share>figure>figcaption{color:var(--e40-ink);font-size:16px;margin:0 0 14px}
.e40-share>figure>p{color:var(--e40-muted);font-size:14px}
/* 3. occupation chart sits in the section's inset column */
.e40-occ,.e40-occ-table{max-width:1070px;margin-left:auto;margin-right:auto;padding-left:60px;padding-right:60px;box-sizing:border-box}
.e40-occ p[data-copy-slot="e40:occ-why"] strong{color:var(--e40-amber);font-weight:600}
/* 4. the strip's caption is legible on paper */
.e40-life .c39-calendar figcaption,.e40-life .c39-calendar [class*="caption"]{color:var(--e40-pmuted)!important}
/* 5. policy block aligns with the section column; collapsed boxes are compact */
.e40-policy{max-width:898px;margin-left:auto;margin-right:auto}
.e40-lever-panel{padding-top:18px!important}
.e40-lever-panel>header{margin-bottom:4px}
/* 6. fund door: headline and eligibility stay visible, example folds */
.e40-door-more summary{cursor:pointer;font-size:13px;color:var(--e40-mint);margin-top:6px}
/* 7. the kicker stands alone at headline size */
#ending.e40-ending .ending-copy .e40-kicker-line{font-size:clamp(30px,4.2vw,54px)!important;line-height:1.25!important;font-weight:600!important;max-width:none!important;margin:0 0 32px!important;color:#fff!important}
#ending.e40-ending .ending-copy p[data-copy-slot="e40:return-aside"]{font-size:15px!important;color:var(--e40-amber)!important}
.e40-today-screen>p{text-wrap:pretty}
@media (max-width:820px){
  .e40-share .results39-money-pair{grid-template-columns:1fr 1fr}
  .e40-occ,.e40-occ-table{padding-left:16px;padding-right:16px}
  .e40-policy{padding:0}
}

/* ---------- edition40 review pass ---------- */
.e40-life-note{font-size:13px!important;line-height:1.6!important;color:var(--e40-pmuted)!important;margin:-4px 0 12px!important;padding-left:10px;border-left:2px solid var(--e40-rust)}
.e40-today-screen>p[data-copy-slot="e40:today-note"]{font-size:13px;line-height:1.6;color:var(--e40-muted);margin:-4px 0 18px;max-width:52em}
.e40-occ-name .e40-occ-tag+.e40-occ-tag{margin-left:0}
.e40-door-label{line-height:1.55}

/* mobile rhythm: tighter section padding keeps the last act inside its length budget */
@media (max-width:820px){
  .e40-why{padding-top:56px}.e40-share{padding-top:32px}
  .e40-lives{padding-top:52px}.e40-screen{padding-top:52px;padding-bottom:40px}
  .e40-chain{margin-top:26px}.e40-link{padding:16px 0}
  .e40-lesson-row{padding:12px 0}.e40-recall-scope{margin-bottom:24px}
}

/* ---------- 3b. B range: note after the pictogram, ledger line, caption tag (กติกาหลัก vs กติกาแรงงานแบบไทย) ---------- */
#climax-field .e40-brange{padding:46px 0 54px;color:var(--e40-ink)}
#climax-field .e40-brange .e40-kicker{color:var(--f40-formal,var(--e40-mint))}
#climax-field .e40-brange h3{font-size:clamp(24px,2.8vw,34px);line-height:1.3;font-weight:500;margin:0 0 6px;max-width:24em;color:var(--e40-ink)}
#climax-field .e40-brange-rows{margin:12px 0 20px;max-width:760px}
#climax-field .e40-brange-row{border-top:1px solid var(--e40-line);padding:10px 0}
#climax-field .e40-brange-row b{display:block;font-size:17px;font-weight:500}
#climax-field .e40-brange-row span{display:block;font-size:14px;line-height:1.55;color:var(--e40-muted);margin-top:2px}
#climax-field .e40-brange-row .e40-brange-num{font-size:17px;color:var(--e40-ink);font-variant-numeric:tabular-nums;margin-top:4px}
#climax-field .e40-brange>p[data-copy-slot]{font-size:17px;line-height:1.8;max-width:46em;margin:0 0 12px;color:var(--e40-ink)}
#climax-field .e40-brange-caveat{display:flex;gap:10px;align-items:baseline;max-width:48em;margin:0 0 12px}
#climax-field .e40-brange-caveat>p[data-copy-slot]{font-size:15px;line-height:1.7;color:var(--e40-muted);margin:0}
#climax-field .e40-brange .e40-evidence{max-width:980px}
#climax-field .e40-brange-more{max-width:980px;margin-top:16px}
#climax-field .e40-brange-source{font-size:12px;line-height:1.6;color:var(--e40-muted);margin:12px 0 0}
#climax-field .e40-brange-source a{color:inherit;text-decoration:underline}
#climax-field .e40-brange-failed{display:none}
body.ws39-editing #climax-field .e40-brange-failed{display:block}
#climax-field .f40-total span.e40-bthai-ledger{visibility:hidden;color:var(--f40-formal,var(--e40-mint));font-size:13px;line-height:1.4;margin-top:6px}
#climax-field .f40-total span.e40-bthai-ledger>span{display:block;font-size:inherit;line-height:inherit;color:inherit;margin:0}
#climax-field[data-world="fast-broad-inst"][data-month="51"] .f40-total span.e40-bthai-ledger{visibility:visible}
@media(max-width:700px){#climax-field .e40-brange{padding:34px 0 40px}#climax-field .e40-brange-row b,#climax-field .e40-brange-row .e40-brange-num{font-size:15px}#climax-field .e40-brange-row span{font-size:13px}#climax-field .e40-brange>p[data-copy-slot]{font-size:16px}#climax-field .f40-total span.e40-bthai-ledger{font-size:11px;line-height:1.35;margin-top:4px}}
