
:root{--bg:#eef3f1;--surf:#fff;--ink:#16302f;--soft:#4b6362;--line:#cfdcd8;--acc:#0e6b66;--say:#0e4f4b;--sayink:#f3fbf9;--gold:#f2c14e;--note:#fff6dc;--noteink:#4a3a0a;--hd:rgba(238,243,241,.94);color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0f1a19;--surf:#172524;--ink:#e6f1ee;--soft:#9db5b1;--line:#2a3f3d;--acc:#6fd1c8;--say:#0b3b38;--sayink:#effbf8;--gold:#e0b441;--note:#2e2711;--noteink:#f3e3a6;--hd:rgba(15,26,25,.94);color-scheme:dark}}
:root[data-theme="dark"]{--bg:#0f1a19;--surf:#172524;--ink:#e6f1ee;--soft:#9db5b1;--line:#2a3f3d;--acc:#6fd1c8;--say:#0b3b38;--sayink:#effbf8;--gold:#e0b441;--note:#2e2711;--noteink:#f3e3a6;--hd:rgba(15,26,25,.94);color-scheme:dark}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 120px)}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:18px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-text-size-adjust:100%}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--hd);z-index:10}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:9;background:var(--hd);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.wrap{max-width:720px;margin:0 auto;padding:0 18px}
.top{display:flex;align-items:center;gap:10px;min-height:48px;padding-top:6px}
.top b{font:700 15px/1.2 Georgia,serif;flex:1}
button,a.btn{font:inherit;cursor:pointer}
.back{border:1px solid var(--acc);background:transparent;color:var(--acc);border-radius:999px;padding:6px 14px;font-size:15px;font-weight:600;min-height:40px}
.back[hidden]{display:none}
.tools button{border:1px solid var(--line);background:var(--surf);color:var(--ink);border-radius:8px;width:40px;height:40px;font-size:15px;font-weight:700}
nav.tabs{display:flex;gap:6px;padding:4px 0 10px}
nav.tabs button{flex:1;border:1px solid var(--line);background:var(--surf);color:var(--ink);border-radius:10px;padding:10px 4px;font-size:16px;font-weight:600;min-height:44px}
nav.tabs button[aria-current="page"]{background:var(--acc);border-color:var(--acc);color:var(--bg)}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
main{padding:22px 0 80px}
h1{font:700 clamp(28px,7vw,40px)/1.15 Georgia,serif;margin:0 0 10px}
h2{font:700 25px/1.25 Georgia,serif;margin:0 0 10px}
h3{font:700 19px/1.3 Georgia,serif;margin:20px 0 6px}
p{margin:0 0 14px}
.lead{font-size:19px;color:var(--soft)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 8px}
.chips button{border:1px solid var(--line);background:var(--surf);color:var(--ink);border-radius:999px;padding:8px 14px;font-size:15px;min-height:40px}
section.s{background:var(--surf);border:1px solid var(--line);border-radius:14px;padding:20px 20px 8px;margin:18px 0}
.d p{margin:0 0 10px;padding-left:12px;border-left:4px solid var(--line)}
.d p.c{border-color:var(--gold)}
.d p.m{border-color:var(--acc)}
.warn{background:var(--note);color:var(--noteink);border-radius:10px;padding:12px 14px;margin:0 0 14px;font-size:16.5px}
ul,ol{padding-left:22px;margin:0 0 14px}li{margin-bottom:6px}
blockquote{margin:0 0 14px;padding:10px 14px;background:var(--bg);border-radius:10px;font-style:italic}
.link{background:none;border:0;color:var(--acc);font-weight:700;text-decoration:underline;padding:0;font-size:inherit}
.cardlist{display:grid;gap:12px;margin-top:16px}
.cardbtn{text-align:left;border:1px solid var(--line);background:var(--surf);color:var(--ink);border-radius:14px;padding:16px 18px;display:flex;gap:14px;align-items:center;min-height:68px}
.cardbtn i{font:700 22px Georgia,serif;font-style:normal;color:var(--bg);background:var(--acc);width:42px;height:42px;border-radius:50%;display:grid;place-items:center;flex:none}
.cardbtn span{font:700 18px/1.3 Georgia,serif}
.say{background:var(--say);color:var(--sayink);border-radius:18px;padding:22px 22px 12px;margin:18px 0}
.say small,.blk small{display:block;font-weight:700;font-size:15px;margin-bottom:6px;color:var(--gold)}
.say p{font:clamp(20px,5vw,24px)/1.5 Georgia,serif}
.blk{background:var(--surf);border:1px solid var(--line);border-radius:14px;padding:16px 18px 4px;margin:12px 0}
.blk small{color:var(--acc)}
.blk p{font-size:19px}
.pn{background:var(--note);color:var(--noteink);border-radius:14px;padding:14px 18px 2px;margin:12px 0;font-size:16.5px}
.pager{display:flex;gap:10px;margin-top:22px}
.pager button{flex:1;border:1px solid var(--acc);background:transparent;color:var(--acc);border-radius:12px;padding:12px;font-weight:700;min-height:48px}
.pager button[disabled]{opacity:.35}
.ck{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line);cursor:pointer}
.ck input{width:26px;height:26px;margin-top:2px;flex:none;accent-color:var(--acc)}
textarea{width:100%;min-height:80px;font:inherit;padding:10px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--ink)}
.row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.row button{border:1px solid var(--line);background:var(--surf);color:var(--ink);border-radius:10px;padding:10px 16px;font-weight:600;min-height:44px}
.fine{font-size:14.5px;color:var(--soft)}
h1:focus{outline:none}
.tag{display:inline-block;font-size:13px;font-weight:700;border-radius:999px;padding:1px 9px;margin-right:6px;background:var(--bg);border:1px solid var(--line);color:var(--soft);line-height:1.5}.tag.s{border-color:var(--gold);color:var(--noteink);background:var(--note)}
.src{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:0 0 12px;font-size:16px}.src p{margin:0 0 6px}
details.dt{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:0 0 12px}details.dt summary{font-weight:700;cursor:pointer;min-height:32px}
.row .fb{display:inline-flex;align-items:center;border:1px solid var(--acc);background:transparent;color:var(--acc);border-radius:10px;padding:10px 16px;font-weight:600;min-height:44px;text-decoration:none}
@media print{header,.row,.pager,body::before{display:none}body{background:#fff;color:#000}}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

.preview-notice{padding-top:18px;font-size:14px;color:var(--soft)}.preview-notice p{margin:6px 0}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:13px;font-weight:700;color:var(--acc)}.primary{background:var(--say);color:var(--sayink);border-color:var(--say);padding:24px 20px}.skip{position:absolute;left:12px;top:-100px;z-index:20;background:var(--surf);padding:12px}.skip:focus{top:4px}nav.tabs{flex-wrap:wrap}nav.tabs button{min-width:68px}.cardbtn{width:100%}textarea{max-width:100%}.s a{overflow-wrap:anywhere}
@media print{.preview-notice,.skip,button,.chips,.fb{display:none!important}.s{break-inside:avoid;border:0;padding:8px 0;margin:10px 0}body{font-size:11pt;line-height:1.5}.wrap{max-width:none}details{display:block}a{color:#000}}
.feedback-label{display:block;font-weight:700;margin:24px 0 8px}.feedback-label small{font-weight:400}input[type=text],select,form textarea{width:100%;font:inherit;color:var(--ink);background:var(--surf);border:1px solid var(--line);border-radius:8px;padding:12px}select:focus-visible{outline:3px solid var(--gold)}
#feedback-privacy-details{margin-bottom:20px}summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px}

a{color:var(--acc);overflow-wrap:anywhere}nav.tabs a{flex:1;text-align:center;padding:10px;border:1px solid var(--line);border-radius:10px;font-weight:600}nav.tabs a[aria-current]{background:var(--acc);color:var(--bg)}section[id],h2[id]{scroll-margin-top:150px}.review{margin:16px 0}.cards-grid{display:grid;gap:18px}@media print{.review,footer,nav{display:none!important}.say{break-inside:avoid}}/* Reuse the approved preview's cards and rounded chapter chips for real links. */
nav.tabs a{text-decoration:none;min-height:44px;display:flex;align-items:center;justify-content:center}
.draft-status{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding-top:18px;padding-bottom:16px;font-size:16px;color:var(--soft)}
.status-badge{background:var(--note);color:var(--noteink);border-radius:999px;padding:3px 12px;font-weight:700}
main.wrap{padding-top:10px}main>h1{margin-bottom:16px}.eyebrow{margin-bottom:12px}.preview-caption{font-size:17px;color:var(--soft);margin:14px 0 24px}
a.cardbtn{display:block;text-decoration:none;min-height:68px}a.primary{background:var(--say);color:var(--sayink);border-color:var(--say)}a.cardbtn small{display:block;font:400 17px/1.5 system-ui,sans-serif;margin-top:8px}
a.cardbtn:hover,.topic-card.available:hover{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc)}
.chips a{display:inline-flex;align-items:center;border:1px solid var(--line);background:var(--surf);color:var(--ink);border-radius:999px;padding:8px 14px;font-size:16px;min-height:44px;text-decoration:none;font-weight:600}
.chips a:hover{border-color:var(--acc)}
.topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}
.topic-card{display:block;background:var(--surf);border:1px solid var(--line);border-radius:18px;padding:20px;color:var(--ink);text-decoration:none;min-width:0}
.topic-card h3{margin:12px 0 8px}.topic-card p{font-size:17px;margin:0}.topic-card.available{border:2px solid var(--acc)}.topic-action{display:block;margin-top:14px;font-size:17px;font-weight:700;color:var(--acc)}
.fine{font-size:16px}.fine p{line-height:1.6}footer{padding-bottom:24px!important}section.s{margin:26px 0}section.s h2{margin-bottom:14px}
@media(max-width:520px){.topic-grid{grid-template-columns:1fr}.draft-status{font-size:15px}h1{font-size:clamp(30px,8vw,40px)}}
@media print{.draft-status{display:none}.topic-grid{display:block}.topic-card{margin:10px 0;break-inside:avoid}}
nav.tabs a{flex-basis:calc(25% - 6px);min-width:110px;font-size:16px;line-height:1.35}
.chapter-notice{font-size:17px;line-height:1.6;color:var(--soft);margin:20px 0}
.sources-toggle{background:var(--surf);border:1px solid var(--line);border-radius:14px;margin:28px 0;padding:16px 20px;scroll-margin-top:180px}
.sources-toggle>summary{cursor:pointer;min-height:44px;color:var(--ink);padding:6px 0}
.sources-toggle>summary h2{display:inline;font-size:24px}.sources-toggle>summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px;border-radius:4px}
.sources-body{padding-top:18px;font-size:17px}.sources-body .fine{font-size:16px}.provenance{margin-top:24px;padding-top:12px;border-top:1px solid var(--line)}
@media print{
 details,details>*{display:block!important}details::details-content{display:block!important;content-visibility:visible!important}
 .sources-toggle{border:0;padding:0;break-inside:auto}.sources-toggle>summary{list-style:none}.sources-body{display:block!important}
}
