/* Approved palette B: oat / terracotta. Same component role, same color. */
:root{--paper:#F8F3ED;--ink:#382C27;--muted:#635047;--line:#D8BFAE;--purple:#82432F;--lav:#F0E3D8;--white:#FCFAF7;--body:17px;--small:14px;--title:clamp(28px,3vw,38px);--display:clamp(42px,4.5vw,64px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:var(--body)/1.75 -apple-system,BlinkMacSystemFont,'PingFang SC','Helvetica Neue',sans-serif}a{color:inherit;text-decoration:none}a:hover{color:#82432F}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #82432F;outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:600;line-height:1.35;letter-spacing:-.035em}p{margin-bottom:16px}p:last-child{margin-bottom:0}img{max-width:100%;height:auto}.wrap{max-width:1200px;margin:auto;padding:0 40px}.preview{background:#F0E3D8;color:#82432F;text-align:center;font-size:12px;padding:7px 18px;letter-spacing:.02em}.header{position:sticky;top:0;z-index:20;background:rgba(245,242,236,.97);border-bottom:1px solid var(--line)}.bar{display:flex;align-items:center;justify-content:space-between;height:80px}.brand{font-size:22px;letter-spacing:-.045em;font-weight:700}.brand:after{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:#82432F;margin-left:5px}.nav{display:flex;align-items:center;gap:34px;font-size:15px}.nav a[aria-current=page]{border-bottom:1px solid var(--purple);padding:7px 0}.nav .contact{border:1px solid var(--line);border-radius:30px;padding:8px 20px}.menu{display:none;background:none;border:0}.hero{display:grid;grid-template-columns:1.5fr 1fr;gap:85px;align-items:center;padding:86px 0 80px}.eyebrow{font-size:var(--small);letter-spacing:.08em;color:var(--muted);margin-bottom:22px}.hero h1{font-size:var(--display);line-height:1.3;margin-bottom:27px}.hero h1 span{color:#82432F}.lead{font-size:18px;color:var(--muted);max-width:590px}.actions{display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;gap:26px;align-items:center;padding:12px 24px;border-radius:30px;background:var(--purple);color:white;border:1px solid var(--purple);font-size:15px}.button:hover{background:#693523;color:white}.under{font-size:15px;border-bottom:1px solid var(--line);padding-bottom:4px}.portrait img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:50%;display:block;filter:saturate(.65)}.portrait figcaption{font-size:13px;color:var(--muted);text-align:center;margin-top:18px}.section{padding:70px 0;border-top:1px solid var(--line)}.section-top{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:34px}.section-top h2{font-size:var(--title)}.section-top a{font-size:14px}.meta{font-size:13px;color:var(--muted);margin-bottom:14px;display:flex;gap:12px;align-items:center}.dot{width:3px;height:3px;background:currentColor;border-radius:50%}.feature-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:32px}.feature-main{background:var(--purple);color:var(--white);padding:38px;min-height:355px;border-radius:3px;display:flex;flex-direction:column;justify-content:space-between}.feature-main:hover{color:white;background:#693523}.feature-main .meta,.feature-main p{color:#F3E9DC}.feature-main h3{font-size:34px;max-width:450px;margin-bottom:22px}.feature-main .foot{display:flex;justify-content:space-between;font-size:13px;margin-top:32px}.feature-side{display:flex;flex-direction:column}.mini{padding:22px 0;display:block;border-bottom:1px solid var(--line)}.mini:first-child{padding-top:4px}.mini:last-child{border:0;padding-bottom:0}.mini h3{font-size:25px;margin-bottom:12px}.mini p{color:var(--muted);font-size:15px}.topics{display:grid;grid-template-columns:1fr 1fr;column-gap:64px}.topic{padding:30px 0 32px;border-top:1px solid var(--line)}.topic-head{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin-bottom:10px}.topic h3{font-size:24px}.topic .desc{font-size:15px;color:var(--muted);margin-bottom:20px}.topic ul{list-style:none;padding:0;margin:0}.topic li a{display:flex;justify-content:space-between;gap:18px;padding:7px 0;font-size:15px}.topic li a span:last-child{color:#635047}.topic:nth-child(5){grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:64px}.article-row{display:grid;grid-template-columns:160px 1fr 40px;gap:26px;padding:27px 0;border-top:1px solid var(--line);align-items:center}.article-row .meta{margin:0;display:block}.article-row h3{font-size:22px;margin-bottom:8px}.article-row p{font-size:15px;color:var(--muted)}.arrow{text-align:right}.contact-block{background:var(--lav);margin:30px 0 70px;padding:48px 50px;display:grid;grid-template-columns:1fr 1fr;gap:65px;border-radius:3px}.contact-block h2{font-size:var(--title)}.contact-block p{color:#635047}.contact-block .actions{margin-top:22px}.footer{border-top:1px solid var(--line);padding:32px 0;font-size:13px;color:var(--muted)}.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer-right{display:flex;gap:25px;flex-wrap:wrap}.page-head{padding:72px 0 45px;max-width:780px}.page-head h1{font-size:var(--display);margin-bottom:22px}.page-head p{font-size:18px;color:var(--muted)}.library-tools{padding-bottom:30px;border-bottom:1px solid var(--line)}.search-wrap{position:relative;max-width:640px;margin-bottom:26px}.search-wrap label{display:block;font-size:14px;margin-bottom:8px}.search-wrap input{width:100%;padding:15px 18px;border:1px solid var(--line);border-radius:3px;background:var(--white);color:var(--ink)}.filters{display:flex;gap:9px;flex-wrap:wrap}.filters button{background:transparent;border:1px solid var(--line);color:var(--muted);padding:8px 15px;border-radius:25px;font-size:14px}.filters button[aria-pressed=true]{background:var(--purple);color:white;border-color:var(--purple)}.results-meta{display:flex;justify-content:space-between;align-items:center;margin:25px 0 0;font-size:13px;color:var(--muted)}.reset{border:0;border-bottom:1px solid var(--line);background:none;color:inherit;font-size:13px;padding:0}.library-list{padding-bottom:75px}.empty{padding:70px 0;color:var(--muted)}[hidden]{display:none!important}.about-hero{padding:75px 0 65px;max-width:880px}.about-hero h1{font-size:var(--display);margin-bottom:28px}.about-hero .lead{max-width:700px}.identity{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:48px 0 70px;border-top:1px solid var(--line)}.identity h2{font-size:30px;margin-bottom:25px}.identity p{color:var(--muted)}.about-line{display:grid;grid-template-columns:280px 1fr;gap:65px;padding:48px 0;border-top:1px solid var(--line)}.about-line h2{font-size:28px}.about-line h3{font-size:20px;margin-bottom:10px}.about-line p{color:var(--muted)}.about-line .unit+.unit{margin-top:28px}.read-layout{display:grid;grid-template-columns:205px minmax(0,740px);gap:65px;padding:60px 0 70px;justify-content:center}.toc{align-self:start;position:sticky;top:115px;font-size:14px;color:var(--muted)}.toc summary{font-weight:600;color:var(--ink);margin-bottom:15px;list-style:none}.toc a{display:block;padding:7px 0;border-left:1px solid var(--line);padding-left:14px}.toc a.active{border-color:var(--purple);color:var(--purple);font-weight:600}.back{font-size:13px;color:var(--muted);display:block;margin-bottom:30px}.article-title{font-size:clamp(33px,3.5vw,49px);line-height:1.4;margin-bottom:23px}.deck{color:var(--muted);font-size:20px}.author{font-size:13px;color:var(--muted);margin:26px 0 32px}.notice{border-left:3px solid #A5674E;background:#F0E3D8;padding:18px 22px;font-size:14px;color:#635047;margin:26px 0}.prose section{margin-top:48px;scroll-margin-top:105px}.prose h2{font-size:28px;margin-bottom:23px}.prose p{line-height:1.85}.prose blockquote{margin:28px 0;padding:14px 0 14px 26px;border-left:2px solid #A5674E;font-size:23px;line-height:1.6}.diagram{padding:30px;background:#F0E3D8;margin:28px 0}.diagram-flow{display:flex;align-items:center;gap:14px}.diagram-node{border:1px solid #A5674E;padding:20px 10px;background:var(--paper);flex:1;text-align:center;font-size:15px}.diagram figcaption{font-size:13px;color:var(--muted);margin-top:20px}.prose .table-scroll{overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:15px;min-width:440px}.prose th,.prose td{padding:16px 13px;border-bottom:1px solid var(--line);text-align:left}.prose th{background:#F0E3D8}.prose details{border-block:1px solid var(--line);padding:20px 0;margin:25px 0}.prose summary{cursor:pointer;font-weight:600}.prose details p{margin-top:17px}.article-end{margin-top:48px;border-top:1px solid var(--line);padding-top:27px}.up{position:fixed;bottom:25px;right:25px;border:1px solid var(--line);background:var(--paper);padding:10px 16px;border-radius:25px;font-size:13px;z-index:10}
@media(min-width:1500px){.hero{gap:110px}}@media(max-width:1050px){.hero{grid-template-columns:1.4fr 1fr;gap:40px}.hero h1{font-size:46px}.read-layout{grid-template-columns:1fr;max-width:760px;margin:auto;gap:30px}.toc{position:static}.toc summary{cursor:pointer}.topic:nth-child(5){gap:35px}.contact-block{gap:35px}.about-line{grid-template-columns:220px 1fr;gap:35px}}@media(max-width:760px){.wrap{padding:0 22px}.bar{height:66px}.brand{font-size:20px}.menu{display:block;font-size:14px}.nav{display:none;position:absolute;top:66px;left:0;right:0;background:var(--paper);padding:24px;flex-direction:column;align-items:stretch;gap:22px;border-bottom:1px solid var(--line)}.nav.open{display:flex}.nav .contact{align-self:flex-start}.hero{grid-template-columns:1fr;padding:48px 0;gap:35px}.hero h1{font-size:43px}.hero .lead{font-size:16px}.portrait{display:none}.section{padding:46px 0}.section-top{margin-bottom:26px}.section-top h2{font-size:29px}.feature-grid,.topics,.contact-block,.identity,.about-line{grid-template-columns:1fr;gap:26px}.feature-main{padding:28px;min-height:310px}.feature-main h3{font-size:30px}.mini h3{font-size:23px}.topic:nth-child(5){grid-column:auto;display:block}.topic h3{font-size:23px}.topics{gap:0}.article-row{grid-template-columns:1fr 20px;gap:8px 14px;padding:23px 0}.article-row .meta{grid-column:1 / -1;font-size:12px}.article-row h3{font-size:21px}.contact-block{padding:30px 25px;margin:15px 0 45px}.contact-block h2{font-size:30px}.footer-inner,.footer-right{gap:12px}.page-head{padding:45px 0 30px}.page-head h1,.about-hero h1{font-size:42px}.page-head p{font-size:16px}.filters button{font-size:13px;padding:7px 12px}.about-hero{padding:46px 0}.identity{padding:35px 0 45px}.about-line{padding:35px 0}.read-layout{padding:35px 0}.article-title{font-size:33px}.deck{font-size:18px}.prose h2{font-size:26px}.prose p{font-size:17px}.diagram{padding:20px}.diagram-flow{gap:7px}.diagram-node{font-size:13px;padding:16px 5px}.up{bottom:14px;right:14px}.preview{font-size:11px}.eyebrow{margin-bottom:16px}.actions{gap:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.article-row .meta>span{display:block}.article-row .meta .dot{display:none}.article-row .meta>span:last-child{font-size:12px;margin-top:5px}

.prose{min-width:0}.read-layout>*,.hero>*,.feature-grid>*{min-width:0}@media(max-width:1050px){.read-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:1050px){.toc summary:after{content:' +';float:right}.toc[open] summary:after{content:' −'}}
@media(max-width:760px){.portrait{display:block;grid-row:1;width:96px}.portrait figcaption{display:none}.hero{gap:26px}.article-row .meta>span{display:inline}.article-row .meta>span:last-child{margin-left:12px}}
.article-opening{margin:28px 0 35px}.version-note,.why{background:#F0E3D8;padding:23px 27px;margin:28px 0;border-left:3px solid #A5674E}.version-note p,.why p{margin-top:10px;font-size:16px}.prose .source-note{font-size:13px;color:var(--muted);margin-top:24px}.prose p a,.prose figcaption a{border-bottom:1px solid #A5674E;color:#82432F}.prose code{font:.86em/1.65 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere;background:#F0E3D8;padding:2px 5px;border-radius:3px}.prose pre{background:#382C27;color:#F3E9DC;overflow-x:auto;padding:26px;margin:0 0 25px;font:14px/1.75 ui-monospace,SFMono-Regular,Menlo,monospace}.prose pre code{background:none;color:inherit;padding:0;overflow-wrap:normal}.code-caption{background:#E8CFC0;padding:10px 16px;font-size:13px;margin-top:26px}.article-figure{margin:30px 0}.figure-open{display:block;border:1px solid var(--line);padding:0;background:#F0E3D8;cursor:zoom-in;width:100%}.figure-open img{display:block;width:100%;height:auto}.article-figure figcaption{font-size:13px;line-height:1.7;color:var(--muted);margin-top:12px}.explain-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:30px 0}.explain-grid>div{padding:24px;background:#F0E3D8;min-width:0}.explain-grid h3{font-size:21px;margin-bottom:16px}.explain-grid p{font-size:16px}.toc{max-height:calc(100vh - 135px);overflow-y:auto;padding-right:8px}.figure-dialog{width:min(96vw,1500px);max-width:96vw;max-height:94vh;padding:0;border:1px solid #A5674E;background:var(--paper);color:var(--ink)}.figure-dialog::backdrop{background:rgba(29,21,34,.75)}.figure-toolbar{display:flex;gap:16px;justify-content:flex-end;padding:12px;position:sticky;top:0;background:var(--paper)}.figure-toolbar button{background:var(--paper);border:1px solid var(--line);padding:8px 14px;border-radius:20px;font-size:14px}.figure-scroll{overflow:auto;max-height:calc(94vh - 70px);padding:16px}.figure-scroll img{display:block;width:100%;height:auto;max-width:100%;margin:auto}.figure-scroll img.original-size{width:auto;max-width:none;min-width:100%}.prose section h2{line-height:1.5}.prose section{margin-top:56px}.prose .article-end{font-size:15px}
@media(max-width:1050px){.toc{max-height:none;overflow:visible}.explain-grid{gap:18px}}@media(max-width:760px){.explain-grid{grid-template-columns:1fr}.version-note,.why{padding:20px}.prose pre{padding:19px;font-size:13px}.prose h2{font-size:25px}.figure-scroll{padding:8px}.article-figure{margin:26px 0}}

/* Article refinement: compact editorial reading layout, 2026-09-09. */
.header{background:var(--paper)}
main.wrap:has(.read-layout){max-width:1400px;padding-inline:36px}
.read-layout{grid-template-columns:210px minmax(0,900px);gap:36px;justify-content:start;padding:36px 0 54px}
.toc{top:100px;max-height:calc(100vh - 116px);font-size:14px;padding-right:12px}
.toc summary{margin-bottom:12px;font-size:15px}
.toc a{padding:8px 12px;line-height:1.55;border-left:2px solid var(--line);margin:0}
.toc a.active{background:#F0E3D8;border-left-color:#82432F;color:#382C27;border-radius:0 5px 5px 0}
.prose p{line-height:1.75;margin-bottom:12px}
.prose section{margin-top:34px;scroll-margin-top:102px}
.prose h2{font-size:26px;line-height:1.45;margin-bottom:16px}
.prose h3{font-size:20px;line-height:1.5;margin-bottom:10px}
.article-title{font-size:clamp(32px,3vw,44px);line-height:1.35}
.prose .deck{font-size:19px;line-height:1.65}
.prose .author{margin:18px 0 24px}
.article-opening{margin:22px 0 26px}
.prose blockquote{margin:20px 0;padding:14px 20px}
.prose table{font-size:16px;line-height:1.65;margin:0}
.prose th,.prose td{padding:10px 12px;vertical-align:top}
.prose .table-scroll{margin:18px 0}
.why,.version-note{padding:16px 20px;margin:20px 0}
.why p:last-child,.explain-grid p:last-child{margin-bottom:0}
.explain-grid{gap:16px;margin:18px 0}
.explain-grid>div{padding:18px 20px}
.article-figure{margin:22px 0 18px}
.article-figure button{border-radius:8px;overflow:hidden;background:#F0E3D8}
.article-figure figcaption{margin-top:8px;font-size:13px;line-height:1.6;color:#635047}
.prose pre{padding:20px;font-size:14px;line-height:1.65;margin:14px 0}
.prose details{margin:18px 0;padding:14px 0}


@media(max-width:1050px){main.wrap:has(.read-layout){max-width:920px;padding-inline:28px}.read-layout{grid-template-columns:minmax(0,1fr);max-width:none;gap:22px}.toc{position:static;max-height:none;padding:12px 16px;background:#F0E3D8;border-radius:6px}.toc summary{margin-bottom:0}.toc[open] summary{margin-bottom:10px}}
@media(max-width:600px){main.wrap:has(.read-layout){padding-inline:20px}.read-layout{padding-top:24px;gap:20px}.prose h2{font-size:23px}.prose section{margin-top:28px;scroll-margin-top:86px}.prose p{font-size:17px;line-height:1.75}.prose table{font-size:15px}.prose th,.prose td{padding:9px 10px}.explain-grid{grid-template-columns:1fr;gap:12px}.explain-grid>div,.why{padding:15px 16px}.toc a{padding-block:11px}.article-title{font-size:32px}.article-figure{margin-block:18px}.prose pre{padding:16px}}

.prose section{scroll-margin-top:0}

/* Center the complete reading unit, including its navigation. */
.read-layout{justify-content:center}

/* Compact type baseline shared by article prose, tables and explanations. */
.prose{font-size:16px;line-height:1.65}
.prose p,.prose li{font-size:16px;line-height:1.65}
.prose p{margin-bottom:10px}
.prose h2{font-size:24px;line-height:1.4;margin-bottom:13px}
.prose h3{font-size:18px;margin-bottom:8px}
.prose section{margin-top:28px}
.prose .deck{font-size:17px;line-height:1.65}
.article-title{font-size:clamp(29px,2.7vw,39px)}
.prose blockquote{font-size:18px;line-height:1.65;padding:12px 18px;margin:16px 0}
.prose table{font-size:15px;line-height:1.6}
.prose th,.prose td{padding:9px 11px}
.why,.version-note{padding:14px 18px;margin:16px 0}
.explain-grid{gap:14px;margin:16px 0}.explain-grid>div{padding:15px 18px}
.article-figure{margin:18px 0 14px}
.prose details{padding:12px 0;margin:15px 0}
@media(max-width:600px){.prose p,.prose li{font-size:16px;line-height:1.65}.prose h2{font-size:22px}.article-title{font-size:29px}.prose section{margin-top:25px}}

/* Three sizes throughout the reading area: 32 / 22 / 16. */
.read-layout{--article-title-size:32px;--article-section-size:22px;--article-text-size:16px}
.read-layout .prose,.read-layout .prose *,.read-layout .toc,.read-layout .toc *{font-size:var(--article-text-size)}
.read-layout .prose .article-title{font-size:var(--article-title-size);line-height:1.35}
.read-layout .prose h2{font-size:var(--article-section-size);line-height:1.4}
.read-layout .prose h3,.read-layout .prose summary{font-weight:650}
.read-layout .prose blockquote{font-size:var(--article-text-size);line-height:1.65;font-weight:600;color:#82432F;border-left:3px solid #A5674E}
.read-layout .prose p,.read-layout .prose td,.read-layout .prose th,.read-layout .prose figcaption,.read-layout .prose .author{line-height:1.65}
.read-layout .prose .author,.read-layout .prose figcaption,.read-layout .prose .code-caption{color:#635047}
.read-layout .prose pre,.read-layout .prose code{font-size:var(--article-text-size);line-height:1.65}
.read-layout .toc a{line-height:1.5}
.article-figure button{background:#F0E3D8}

/* List rhythm: one source of truth. Do not add vertical padding to list items.
   Text lines: 1.65; between items: 6px; surrounding paragraphs: 10px. */
.read-layout{--article-line-height:1.65;--article-paragraph-gap:10px;--article-list-gap:6px}
.read-layout .prose .steps{margin:var(--article-paragraph-gap) 0;padding:0 0 0 24px;line-height:var(--article-line-height)}
.read-layout .prose .steps>li{padding:0 0 0 4px;margin:0;line-height:var(--article-line-height)}
.read-layout .prose .steps>li+li{margin-top:var(--article-list-gap)}

/* Diagram surfaces and actionable article lists. */
.article-figure button{background:#F0E3D8;border:1px solid #D8BFAE;box-shadow:0 2px 8px #28263008}
.read-layout .prose .article-list{margin:10px 0;padding-left:24px;line-height:1.65}
.read-layout .prose .article-list li{padding:0;margin:0}
.read-layout .prose .article-list li+li{margin-top:6px}
.read-layout .prose .article-list li::marker{color:#82432F}
.read-layout .prose h3{margin:22px 0 10px;color:#82432F;border-left:3px solid #A5674E;padding-left:10px}
.workflow-map{background:#F0E3D8;border:1px solid #D8BFAE;border-radius:8px;padding:14px 18px;margin:18px 0}
.workflow-map p:last-child,.workflow-map ul:last-child{margin-bottom:0}

.read-layout .prose pre{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px}

/* Compact inline diagrams; full vector remains available in the image dialog. */
.read-layout .prose .article-figure{max-width:none;width:100%;margin:16px 0 14px}
.read-layout .prose .article-figure button{display:flex;justify-content:center;align-items:center;width:100%;padding:0;background:#E8E2D8;border:1px solid #D8BFAE;border-radius:9px}
.read-layout .prose .article-figure img{display:block;width:min(100%,758px);max-width:758px;flex:0 1 758px;height:auto}

/* User-approved code-only exception to the three-size prose scale. */
.read-layout .prose pre,.read-layout .prose pre code{font-size:14px;line-height:1.65;color:#000;background:#fff}

/* Batch article lists inherit the approved compact rhythm, including plain HTML lists. */
.read-layout .prose ul,.read-layout .prose ol{margin:10px 0;padding-left:24px}
.read-layout .prose li{padding:0;margin:0}
.read-layout .prose li+li{margin-top:6px}
.read-layout .prose li::marker{color:#82432F}
.reading-relations{border-top:1px solid #D8BFAE;margin-top:28px;padding-top:16px}
.knowledge-map{background:#E8E2D8;border:1px solid #D8BFAE;border-radius:9px;padding:16px 20px;margin:0 0 24px;font-size:16px;line-height:1.65;scroll-margin-top:120px}
.knowledge-map summary{cursor:pointer;font-weight:650}.knowledge-map p{margin:8px 0}
.knowledge-map h3{font-size:16px;margin:0;font-weight:650}
.map-routes,.map-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0}
.map-groups section{background:#fff9;border:1px solid #D8BFAE;border-radius:6px;padding:14px}
.map-groups ul{margin:10px 0 0;padding-left:18px}.map-groups li+li{margin-top:6px}
.knowledge-map a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.map-routes,.map-groups{grid-template-columns:1fr}}

/* Approved C: grouped editorial cards; subtle paper surfaces and topic accents. */
.library-groups{margin-top:26px}.article-group{margin-bottom:40px;scroll-margin-top:110px}
.group-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding-top:24px;border-top:1px solid var(--line)}
.group-heading-main{display:flex;align-items:center;gap:16px;min-width:0}
.group-mark{width:42px;height:42px;flex:0 0 42px;border:1px solid color-mix(in srgb,var(--topic-accent) 24%,transparent);border-radius:12px;background:var(--topic-soft);color:var(--topic-accent);display:grid;place-items:center;font-size:14px;font-weight:650;font-variant-numeric:tabular-nums;box-shadow:inset 0 1px 0 #fff9}
.group-heading h2{font-size:22px;line-height:1.4;letter-spacing:-.02em;margin:0 0 4px}.group-heading p{font-size:14px;line-height:1.6;color:#635047;margin:0}.group-count{font-size:14px;color:#635047;white-space:nowrap}
.article-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.knowledge-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:20px 22px 16px;border:1px solid #D8BFAE;border-radius:14px;background:linear-gradient(145deg,#FCFAF7 0%,#FCFAF7 72%,#F8F3ED 100%);box-shadow:inset 0 1px 0 #fff,0 2px 3px #382c1f03,0 7px 20px #382c1f05;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;color:#382C27}
.knowledge-card:before{content:"";display:block;width:30px;height:3px;background:var(--topic-accent);border-radius:4px;margin-bottom:12px;opacity:.8}
.card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.card-keywords{font-size:13px;color:var(--topic-accent);line-height:1.5}.card-index{font-size:13px;color:#635047;font-variant-numeric:tabular-nums}
.knowledge-card h3{font-size:18px;line-height:1.5;letter-spacing:-.025em;font-weight:650;margin:0 0 12px;overflow-wrap:anywhere}.knowledge-card p{font-size:14px;line-height:1.65;color:#635047;margin:0 0 20px}
.card-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:13px;border-top:1px solid #F0E3D8;font-size:13px;color:#635047}.card-arrow{display:grid;place-items:center;width:30px;height:30px;border:1px solid #D8BFAE;border-radius:50%;background:#FCFAF7;color:var(--topic-accent);font-size:18px;transition:background .18s,border-color .18s}
.knowledge-card:hover,.knowledge-card:focus-visible{color:#382C27;border-color:var(--topic-accent);transform:translateY(-3px);box-shadow:inset 0 1px 0 #fff,0 4px 8px #382c1f06,0 14px 28px #382c1f0c}
.knowledge-card:hover .card-arrow{background:var(--topic-soft);border-color:var(--topic-accent)}
@media(max-width:1050px){.article-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-width:640px){.article-card-grid{grid-template-columns:1fr;gap:14px}.group-heading{align-items:flex-start;gap:12px}.group-heading-main{gap:12px}.group-count{padding-top:5px}.group-mark{width:34px;height:34px;flex-basis:34px;border-radius:9px}.group-heading h2{font-size:22px}.group-heading p{font-size:14px}.knowledge-card{padding:20px 22px 17px}.knowledge-card:before{margin-bottom:14px}.knowledge-card p{margin-bottom:16px}.article-group{margin-bottom:28px}}
@media(prefers-reduced-motion:reduce){.knowledge-card,.card-arrow{transition:none}.knowledge-card:hover,.knowledge-card:focus-visible{transform:none}}

/* A compact introduction gives the grouped cards room in the first viewport. */
.library-card-page .page-head{padding:40px 0 26px}.library-card-page .page-head h1{font-size:40px;margin-bottom:12px}.library-card-page .page-head .eyebrow{margin-bottom:10px}.library-card-page .page-head p{font-size:16px;line-height:1.65}
.library-card-page .knowledge-map{margin-bottom:22px;padding:12px 18px}
.library-card-page .library-tools{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:20px;align-items:end;margin-bottom:24px}.library-card-page .filters{order:1;margin:0;gap:6px}.library-card-page .search-wrap{order:2;max-width:none;width:100%;margin:0}.library-card-page .search-wrap label{font-size:14px}.library-card-page .search-wrap input{font-size:14px;padding:10px 12px;border-radius:8px}.library-card-page .filters button{font-size:14px;padding:8px 11px;min-height:42px}.library-card-page .results-meta{margin-bottom:0;padding-bottom:0;border:0}
@media(max-width:1050px){.library-card-page .library-tools{grid-template-columns:1fr}.library-card-page .search-wrap{order:1}.library-card-page .filters{order:2}}
@media(max-width:640px){.library-card-page .page-head{padding:28px 0 22px}.library-card-page .page-head h1{font-size:32px}.library-card-page .library-tools{gap:14px}.library-card-page .filters button{padding:8px 10px}}

/* Color roles: one shared palette per component, never per article. */
.library-card-page{--card-tint:#F0E3D8;--card-border:#D8BFAE;--card-accent:#82432F;--map-tint:#F0E3D8;--map-border:#D8BFAE;--map-ink:#82432F;--section-tint:#F0E3D8;--section-border:#D8BFAE;--section-ink:#82432F}
.library-card-page .knowledge-card{background:linear-gradient(135deg,#ffffff99,transparent 65%),var(--card-tint);border-color:var(--card-border);box-shadow:inset 0 1px 0 #fffc,0 2px 4px #382c1f03,0 8px 18px #382c1f05}
.library-card-page .knowledge-card:before{background:var(--card-accent)}
.library-card-page .card-keywords{color:var(--card-accent)}
.library-card-page .card-bottom{border-color:var(--card-border)}
.library-card-page .card-arrow{color:var(--card-accent);border-color:var(--card-border);background:#ffffff80;width:28px;height:28px;font-size:16px}
.library-card-page .knowledge-card:hover,.library-card-page .knowledge-card:focus-visible{border-color:var(--card-accent);box-shadow:inset 0 1px 0 #fff,0 5px 10px #382c1f07,0 14px 26px #382c1f0c}
.library-card-page .knowledge-card:hover .card-arrow{background:#fff;border-color:var(--card-accent)}
.library-card-page .page-head h1{color:#82432F}.library-card-page .page-head .eyebrow{color:#82432F}
.library-card-page .knowledge-map{background:var(--map-tint);border-color:var(--map-border)}
.library-card-page .knowledge-map summary{color:var(--map-ink)}
.library-card-page .group-mark{background:var(--section-tint);border-color:var(--section-border);color:var(--section-ink)}
.library-card-page .filters button[aria-pressed=true]{background:var(--card-accent);border-color:var(--card-accent);color:#fff}
@media(max-width:640px){.library-card-page .knowledge-card{padding:18px 20px 15px}.library-card-page .knowledge-card:before{margin-bottom:10px}.library-card-page .knowledge-card p{margin-bottom:14px}}

/* Article navigation: same readable size as prose, short editorial labels. */
.read-layout .toc{font-size:var(--article-text-size);scrollbar-width:thin}
.read-layout .toc summary{font-size:var(--article-text-size);font-weight:650;margin-bottom:12px;color:var(--ink)}
.read-layout .toc a{display:block;font-size:var(--article-text-size);line-height:1.65;padding:7px 10px;margin:2px 0;white-space:nowrap;border-left:2px solid transparent;color:#635047;border-radius:0 6px 6px 0;transition:background .15s,color .15s}
.read-layout .toc a:hover{background:#F0E3D8;color:#382C27}
.read-layout .toc a.active{background:#F0E3D8;border-left-color:#82432F;color:#382C27;font-weight:600}
@media(max-width:1050px){.read-layout .toc a{white-space:normal}.read-layout .toc:not([open]) summary{margin-bottom:0}}

/* Quiet navigation panel and single-column essay collection. */
.read-layout .toc{background:#F0E3D8;border:1px solid #D8BFAE;border-radius:10px;padding:14px 10px;box-shadow:0 3px 12px rgba(55,43,37,.025)}
.read-layout .toc summary{font-size:15px;color:#82432F;padding:0 8px 10px;margin-bottom:7px;border-bottom:1px solid #D8BFAE;letter-spacing:.02em}
.read-layout .toc a{font-size:15px;color:#635047;padding:7px 8px;line-height:1.6;border-radius:5px;margin:2px 0}
.read-layout .toc a.active{background:#E8CFC0;color:#82432F;border-left-color:#82432F;font-weight:600}
.read-layout .toc a:hover{background:#E8CFC0;color:#82432F}
.essay-heading{padding:42px 0 30px}.essay-heading .eyebrow{margin-bottom:12px}.essay-heading h1{font-size:32px;margin-bottom:12px}.essay-heading>p:last-child{font-size:16px;color:var(--muted)}
.essay-collection{padding:22px 0 40px;border-top:1px solid var(--line)}.essay-collection .section-top{margin-bottom:16px}.essay-collection h2{font-size:20px}
.essay-list{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.essay-row{display:grid;grid-template-columns:36px minmax(0,1fr) 32px;gap:18px;align-items:center;padding:19px 22px;background:#F0E3D8;border:1px solid #D8BFAE;border-radius:9px;box-shadow:0 2px 5px rgba(37,33,43,.025);transition:background .15s,border-color .15s}
.essay-row:hover{background:#E8CFC0;border-color:#A5674E;color:var(--ink)}.essay-number{font-size:14px;color:#635047;font-variant-numeric:tabular-nums;border-right:1px solid #D8BFAE;align-self:stretch;display:flex;align-items:center}
.essay-row h3{font-size:18px;line-height:1.5;letter-spacing:0;margin:0 0 5px;color:#382C27}.essay-row p{font-size:14px;line-height:1.6;color:#635047;margin:0}.essay-row-arrow{color:#82432F;font-size:20px;text-align:center}
@media(max-width:600px){.essay-heading{padding:28px 0 22px}.essay-heading h1{font-size:26px}.essay-row{padding:15px 13px;gap:11px;grid-template-columns:27px minmax(0,1fr) 20px}.essay-row h3{font-size:17px}.essay-row p{font-size:14px}}
