@font-face{font-family:PlexThai;src:url('../vendor/fonts/ibm-plex-sans-thai-thai-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:PlexThai;src:url('../vendor/fonts/ibm-plex-sans-thai-thai-600-normal.woff2') format('woff2');font-weight:600 900;font-display:swap}
:root{--ink:#161616;--blue:#1643c5;--red:#bd251b;--yellow:#ffdf00;--rule:2px solid var(--ink)}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#fff;font:16px/1.65 PlexThai,Arial,sans-serif}a{color:var(--blue);text-underline-offset:3px}button,input{font:inherit}button{cursor:pointer;border:var(--rule);background:white;padding:6px 12px;color:var(--ink)}button:hover,a:hover{background:#fff5b4}button[aria-pressed=true]{background:var(--ink);color:white}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--red);outline-offset:3px}.skip{position:absolute;left:12px;top:-100px;z-index:5;background:white}.skip:focus{top:8px}header{display:flex;align-items:center;gap:18px;padding:10px 24px;border-bottom:var(--rule);background:var(--yellow)}header>a{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:600;text-decoration:none}header img{width:42px;height:42px;object-fit:contain}header strong{font-size:20px}.language{display:flex;gap:4px;margin-left:auto}main{display:grid;grid-template-columns:280px minmax(0,1fr) 260px;max-width:1600px;margin:auto}.index,.evidence{padding:22px 18px}.index{border-right:var(--rule)}.evidence{border-left:var(--rule)}.index>h1{font-size:28px;line-height:1.2;margin:0 0 12px}.index>p{font-size:14px;margin:0 0 18px}label{display:block;font-size:14px;font-weight:600}.search-row{display:flex;gap:4px}input{width:100%;min-width:0;border:var(--rule);padding:8px;background:white;font-size:14px}.search-row button{padding:4px 8px}#filters{display:flex;flex-wrap:wrap;gap:5px;margin:12px 0}#filters button{font-size:12px;padding:3px 7px}#count{font-size:12px;margin:10px 0}#results{display:grid;gap:0}#results a{display:block;text-decoration:none;border-top:1px solid #b0b0b0;padding:11px 8px;color:var(--ink)}#results a[aria-current]{border-left:5px solid var(--red);background:#fff2c0}#results small{display:block;color:#575757;font-size:11px}#results b{display:block;font-size:15px;line-height:1.45}#results span{display:block;font-size:12px;line-height:1.55;margin-top:4px}.reading{min-width:0;padding:28px 32px}article{scroll-margin-top:18px}article:focus{outline:none}.chapter-meta{font-size:12px;font-weight:600;color:var(--red);text-transform:uppercase}article h1{font-size:clamp(28px,3vw,42px);line-height:1.25;margin:10px 0 12px}article .deck{font-size:18px;margin:0 0 24px;color:#444}h2{font-size:18px;line-height:1.4}.prose p{margin:20px 0;max-width:76ch}.flow{margin:0 0 26px;border:var(--rule)}.flow figcaption{padding:6px 12px;background:var(--blue);color:white;font-size:13px}.flow ol{list-style:none;margin:0;padding:14px;display:grid;grid-template-columns:1fr;gap:20px;counter-reset:step}.flow li{position:relative;display:flex;gap:10px;align-items:flex-start;border:var(--rule);padding:12px;font-size:14px;line-height:1.5;min-width:0}.flow li:not(:last-child):after{content:'↓';position:absolute;bottom:-26px;left:50%;font-weight:600}.flow li:last-child{background:var(--yellow)}.step{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;background:var(--ink);color:white;font-size:12px}.branches ol{grid-template-columns:1fr;gap:8px}.branches li:after{display:none}.branches li{border-left:6px solid var(--blue)}.example{border:var(--rule);padding:18px;background:#fff9d7}.example h2{margin-top:0}.example p{font-size:13px}.example code{display:block;white-space:normal;overflow-wrap:anywhere;font:600 16px/1.8 PlexThai,Arial,sans-serif}.related{border-top:var(--rule);margin-top:30px;padding-top:8px}.related a{display:block;padding:6px 0}.source{display:block;padding:13px 0;border-bottom:1px solid #bbb;text-decoration:none;overflow-wrap:anywhere}.source b{font-size:14px;line-height:1.5;display:block}.source span{font-size:12px;color:#444;line-height:1.6;display:block;margin-top:6px}.evidence h2{margin:0;font-size:16px}.reader-tools{display:grid;gap:7px;margin-top:22px}.reader-tools button{text-align:left;font-size:13px}.reader-tools a{font-size:13px;padding:4px 0}#receipt,#shareStatus{font-size:12px;overflow-wrap:anywhere}#chapterNav{display:flex;justify-content:space-between;border-top:var(--rule);margin-top:24px;padding-top:12px;font-size:14px}footer{border-top:var(--rule);padding:15px 24px;font-size:12px;background:#f3f3f3}.empty{font-size:14px}
@media(min-width:1000px){.index{height:calc(100vh - 65px);position:sticky;top:0;overflow:auto}.evidence{height:max-content;position:sticky;top:0;max-height:100vh;overflow:auto}}
@media(max-width:1100px){main{grid-template-columns:250px minmax(0,1fr)}.evidence{grid-column:2;border-left:0;border-top:var(--rule)}.reading{padding:24px}.evidence #sources{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0 18px}}
@media(max-width:700px){header{padding:8px 12px;gap:10px}header strong{font-size:15px}header img{width:30px;height:30px}header a span{font-size:12px}.language button{padding:4px 7px}main{display:block}.index{border-right:0;border-bottom:var(--rule);padding:18px 16px}.index>h1{font-size:24px}.index>p{margin-bottom:10px}#results{max-height:210px;overflow:auto;border-bottom:1px solid #aaa}.reading{padding:22px 16px}.evidence{padding:20px 16px}.evidence #sources{display:block}article h1{font-size:29px}.flow ol{grid-template-columns:1fr;gap:20px}.flow li:nth-child(odd):after{content:'↓';left:50%;right:auto;bottom:-26px}.prose p{font-size:16px}article .deck{font-size:16px}}
@media print{header,.index,.reader-tools,#chapterNav,.related,#shareStatus{display:none}main{display:block}.reading,.evidence{padding:0;border:0;position:static;max-height:none}.source{break-inside:avoid}a{color:black}.source:after{content:attr(href);font-size:10px;overflow-wrap:anywhere}.flow,.example{break-inside:avoid}body{font-size:11pt}footer{background:white}article h1{font-size:24pt}}

.illustration{margin:0 0 20px;border:var(--rule);padding:8px 12px}.figure-stack{display:grid;gap:18px;margin:0 0 22px}.figure-stack .illustration{margin:0;min-width:0}.illustration svg{display:block;width:100%;height:auto;font-family:PlexThai,Arial,sans-serif}.illustration figcaption{font-size:12px;border-top:1px solid #aaa;padding-top:7px}.initiator{display:flex;gap:14px;align-items:center;border:var(--rule);padding:14px;margin:24px 0}.initiator img{width:80px;height:80px;object-fit:cover}.initiator p{font-size:13px;margin:5px 0}.initiator a{font-size:13px}
/* Evidence figures use the same flat, numbered visual grammar as the reader. */
.audit-diagram{margin:22px 0;border:2px solid var(--ink)}.audit-diagram figcaption{padding:8px 12px;background:var(--blue);color:white;font-weight:600}.audit-diagram ol{margin:0;padding:14px 14px 14px 36px;display:grid;gap:10px}.audit-diagram li{padding:8px;border:1px solid var(--ink)}.audit-diagram li:last-child{background:var(--yellow)}.prose h3{font-size:20px;line-height:1.5;margin-top:32px}.prose table{border-collapse:collapse;width:100%;font-size:14px;table-layout:fixed}.prose th,.prose td{border:1px solid #777;padding:9px;vertical-align:top;overflow-wrap:anywhere}.prose th{background:#ffdf00;text-align:left}.table-scroll{max-width:100%;overflow-x:auto}.prose>table{margin:18px 0}.prose a{overflow-wrap:anywhere}.audit-results{border-top:4px solid var(--red);margin-top:24px}.audit-results .fine-print{font-size:12px}
@media(max-width:600px){.prose table{font-size:12px}.prose th,.prose td{padding:6px}.prose h3{font-size:18px}}
/* Detailed reading stays flat; headings and evidence carry the hierarchy. */
#readingPaths{display:grid;gap:3px;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:10px 0;margin:14px 0;font-size:13px}#readingPaths a{padding:4px 0}.chapter-toc nav{display:grid;border-left:4px solid var(--blue);padding:8px 14px;background:#f5f5f5;margin:20px 0;font-size:14px}.chapter-toc a{padding:4px 0}.design-illustration figcaption{display:grid;gap:5px}.artifact-gallery{border-top:4px solid var(--ink);margin-top:30px}.artifact-gallery figure{margin:22px 0;border:2px solid var(--ink)}.artifact-gallery img{display:block;width:100%;height:auto;background:white}.artifact-gallery figcaption{padding:12px 16px;border-top:1px solid var(--ink);font-size:14px}.artifact-gallery h3{margin:0 0 8px;font-size:18px}.artifact-gallery p{margin:7px 0}.artifact-credit{font-size:12px;color:#444}.prose h2{font-size:24px;margin-top:32px;border-top:1px solid #aaa;padding-top:14px}.prose li{margin:8px 0}.prose code{overflow-wrap:anywhere}.prose strong{font-weight:600}
@media print{#readingPaths,.chapter-toc{display:none}.artifact-gallery figure{break-inside:avoid}.artifact-gallery img{max-height:14cm;object-fit:contain}.artifact-gallery a:after{content:' (' attr(href) ')';font-size:9pt}}
.mobile-diagram{display:none}
@media(max-width:700px){.design-illustration>svg{display:none}.mobile-diagram{display:block;padding:12px 0;font-size:15px}.mobile-diagram ol{padding:0;list-style:none;display:grid;gap:22px}.mobile-diagram li{border:2px solid var(--ink);padding:12px;position:relative}.mobile-diagram li:first-child{background:var(--yellow)}.mobile-diagram li:last-child{background:var(--blue);color:white}.mobile-diagram li:not(:last-child):after{content:'↓';position:absolute;bottom:-25px;left:50%;color:var(--ink)}.mobile-boundary{border:2px solid var(--ink);background:#fff9d7;padding:12px}.mobile-boundary>div{border:2px solid var(--blue);background:white;margin-top:12px;padding:12px}.mobile-branches>b{display:block;text-align:center;padding:8px;background:var(--yellow)}.mobile-branches>div{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.mobile-branches span,.mobile-pairs span{border:2px solid var(--ink);padding:10px}.mobile-pairs{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:14px}.mobile-bars>div{margin:12px 0}.mobile-bars b{display:block;font-size:14px}.mobile-bars span{display:block;height:24px;border:1px solid var(--ink);background:var(--yellow);margin-top:5px}.mobile-bars .bar-1{background:var(--blue)}}
@media print{.mobile-diagram{display:none}.design-illustration>svg{display:block}}
.prose .table-scroll{border:1px solid var(--ink);margin:20px 0}.prose .table-scroll table{min-width:620px;margin:0;table-layout:auto}.table-scroll:focus-visible{outline:3px solid var(--red);outline-offset:3px}
@media print{.prose .table-scroll{overflow:visible;border:0}.prose .table-scroll table{min-width:0;table-layout:fixed}}

/* Deep-linked chapters open at their answer; the index remains one click away. */
header{position:sticky;top:0;z-index:20;flex-wrap:wrap}#indexJump{font-size:14px;min-height:44px;display:flex;align-items:center;padding:6px}article,#reader-index,.prose h2,.prose h3{scroll-margin-top:110px}
@media(max-width:700px){header{gap:6px}header strong{display:none}header>a{min-height:44px}.language button{min-width:44px;min-height:44px}.index{scroll-margin-top:100px}}

/* Keep prose readable on wide monitors; diagrams and scrollable tables retain their columns. */
.prose,.reading .deck{max-width:65ch}

/* A sticky rail starts below the sticky header, never underneath it. */
article,#reader-index,.prose h2,.prose h3{scroll-margin-top:calc(var(--reader-header,66px) + 16px)}
@media(min-width:1000px){.index{top:var(--reader-header,66px);height:calc(100dvh - var(--reader-header,66px))}.evidence{top:var(--reader-header,66px);max-height:calc(100dvh - var(--reader-header,66px))}}
@media print{.evidence{position:static;max-height:none}}

/* The Bible header is three controls — back, index, language — and the labels differ by
   language. The English one is the widest, so the band is derived from it: below 400px the
   index button says what it does ("Contents") and the panel it opens holds the search
   field. Above 400px both words fit on one row. The break is a decision, not the width
   running out. */
@media(max-width:400px){
 header{gap:4px}
 #indexJump .indexJump-wide{display:none}
}
