:root{color-scheme:light;--paper:#f4f1ea;--ink:#242a27;--muted:#536359;--forest:#2f6b52;--sage:#e5eee8;--rule:#d7d3ca;--rail:#181c1a;--rail-text:#e4e9e5;--rail-muted:#b4c3b8;--current:#294c3b;--link:#286348;--focus:#b66b11}
*{box-sizing:border-box}
html{scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Segoe UI",ui-sans-serif,sans-serif;font-size:17px;line-height:1.65}
a{color:var(--link);text-underline-offset:3px}
button,input{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
[hidden]{display:none!important}
.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:28px;padding:0 28px;height:72px;background:var(--rail);color:var(--rail-text);border-bottom:1px solid #354139}
.brand{width:220px;flex-shrink:0;color:#b1d9bd;font-size:19px;font-weight:650;text-decoration:none;letter-spacing:-.015em}
.header-title{font-size:16px;flex:1}
.topbar button{min-height:38px;padding:4px 13px;border:1px solid #536159;background:transparent;color:var(--rail-text);border-radius:4px;font-size:14px}
.topbar button:hover{background:#2b3930}
#nav-toggle{display:none}
.skip{position:fixed;top:-100px;left:20px;z-index:10;background:var(--paper);padding:10px 20px}
.skip:focus{top:12px}
.layout{display:grid;grid-template-columns:276px minmax(0,1fr);max-width:1760px;margin:0 auto;min-height:calc(100vh - 72px)}
#sidebar{background:var(--rail);color:var(--rail-text);padding:25px 22px 35px;position:sticky;top:72px;height:calc(100vh - 72px);overflow-y:auto;scrollbar-width:thin}
.draft{color:var(--rail-muted);font-size:12px;margin:0 0 26px}
#sidebar label{font-size:13px;display:block;margin-bottom:7px}
#search{width:100%;min-height:42px;background:#232c26;color:#fff;border:1px solid #64746a;border-radius:4px;padding:8px 10px;font-size:14px}
#search::placeholder{color:#b4c3b8}
#chapters{margin-top:25px}
#chapters details{border-top:1px solid #344039;padding:11px 0}
#chapters summary{cursor:pointer;font-size:14px;font-weight:600;min-height:32px;line-height:32px}
.chapter-links{padding:3px 0 0 12px}
.chapter-links a{display:block;text-decoration:none;color:var(--rail-muted);font-size:14px;line-height:1.4;padding:9px 10px;margin:2px 0;border-radius:4px}
.chapter-links a:hover{background:#25332a;color:#fff}
.chapter-links a[aria-current="page"]{background:var(--current);color:#f0fff3;font-weight:600}
.rail-note{color:var(--rail-muted);font-size:13px;line-height:1.6;margin-top:32px}
#search-results{list-style:none;padding:0;margin:18px 0}
#search-results a{display:block;padding:10px 2px;color:var(--rail-text);font-size:14px}
#search-status{color:var(--rail-muted);font-size:13px;margin:12px 0}
.reading{display:grid;grid-template-columns:minmax(0,790px) 170px;justify-content:center;gap:46px;padding:46px 50px 30px;align-items:start}
main{grid-column:1;grid-row:1;min-width:0}
h1{font-size:42px;font-weight:350;line-height:1.14;letter-spacing:-.025em;margin:0 0 26px;max-width:23ch;text-wrap:balance}
h2{color:var(--forest);font-size:25px;font-weight:600;letter-spacing:-.015em;line-height:1.3;margin:42px 0 14px;text-wrap:balance}
h3{font-size:20px;margin:30px 0 12px}
p{margin:0 0 20px;max-width:72ch}
article>h1+p{font-size:20px;line-height:1.55;color:var(--muted);margin-bottom:32px;max-width:62ch}
ul,ol{padding-left:26px;margin:0 0 24px}
li{padding-left:5px;margin:0 0 12px}
li::marker{color:var(--forest);font-weight:600}
figure{margin:28px 0 32px}
figure img{display:block;width:100%;height:auto;border-radius:4px;border:1px solid var(--rule)}
figure a{display:block}
figure.phone-image{max-width:290px;margin-left:auto;margin-right:auto}
figcaption{font-size:13px;line-height:1.5;color:var(--muted);margin-top:10px}
#toc{grid-column:2;position:sticky;top:112px;font-size:13px;line-height:1.45;border-left:1px solid var(--rule);padding-left:18px;margin-top:0}
#toc p{font-weight:600;margin-bottom:10px;color:var(--ink)}
#toc a{display:block;color:var(--muted);text-decoration:none;padding:5px 0}
#toc a:hover{text-decoration:underline;color:var(--link)}
#page-navigation{display:flex;justify-content:space-between;gap:22px;border-top:1px solid var(--rule);margin-top:45px;padding-top:24px}
#page-navigation a{font-size:16px;max-width:48%;font-weight:600}
#page-navigation small{display:block;font-weight:400;font-size:12px;color:var(--muted);margin-bottom:4px;text-decoration:none}
#page-navigation a:last-child{text-align:right;margin-left:auto}
footer{font-size:12px;color:var(--muted);border-top:1px solid var(--rule);margin-top:36px;padding-top:18px;line-height:1.65}
.no-script{margin:50px auto;padding:20px;background:var(--sage)}
html[data-theme="dark"]{color-scheme:dark;--paper:#171c19;--ink:#e3ebe5;--muted:#b4c6b9;--forest:#a3d8b7;--sage:#253d2c;--rule:#46534a;--link:#b0dfc1;--focus:#e7b86c}
@media(min-width:1760px){body{background:var(--rail)}}
@media(max-width:1250px){.reading{grid-template-columns:minmax(0,760px);padding:36px 42px}.reading #toc{position:static;grid-column:1;grid-row:1;margin:0 0 18px;border-left:0;padding:0}#toc p{margin-bottom:6px}#toc a{display:inline-block;margin-right:16px}main{grid-row:2}h1{font-size:38px}}
@media(max-width:780px){.topbar{padding:0 18px;gap:14px;height:64px}.brand{width:auto;font-size:17px}.header-title{display:none}#nav-toggle{display:block;margin-left:auto}.topbar button{font-size:13px;padding:5px 10px}.layout{display:block;min-height:calc(100vh - 64px)}#sidebar{display:none;position:static;height:auto;max-height:65vh;padding:22px;overflow-y:auto}body.nav-open #sidebar{display:block}.draft{margin-bottom:18px}.rail-note{display:none}.reading{display:block;padding:27px 22px}#toc{display:none}h1{font-size:34px;line-height:1.16}h2{font-size:24px;margin-top:34px}body{font-size:16px}article>h1+p{font-size:19px}figure.phone-image{max-width:260px}#page-navigation a{font-size:14px}}
@media(prefers-reduced-motion:no-preference){.chapter-links a{transition:background-color 140ms ease-out}}
@media print{.topbar,#sidebar,#toc,#page-navigation,footer,.skip{display:none!important}.layout,.reading{display:block;padding:0;margin:0}body,html[data-theme="dark"]{background:white;color:#222;font-size:11pt}main{max-width:none}h1{font-size:28pt}h2{font-size:17pt;color:#234e39;break-after:avoid}p,li{orphans:3;widows:3}figure{break-inside:avoid;max-width:500px}figure.phone-image{max-width:180px}a{color:inherit}img{max-height:550px;object-fit:contain}}
