
:root{color-scheme:light dark;--bg:#f8f5ee;--ink:#252922;--muted:#616459;--accent:#773b43;--line:#c9c3b7;--wash:#efeadf;--body-size:21px;--bar:rgba(248,245,238,.97)}

*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Georgia,'Times New Roman',serif;-webkit-text-size-adjust:100%;font-size:var(--body-size);line-height:1.72}a{color:var(--accent);text-underline-offset:.18em}a:hover{text-decoration-thickness:2px}a,button,label,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible,input:focus-visible+label{outline:3px solid var(--accent);outline-offset:5px;border-radius:2px}.skip{position:fixed;top:-120px;left:16px;z-index:20;padding:12px;background:var(--bg)}.skip:focus{top:8px}.controls{position:sticky;top:0;z-index:10;background:var(--bar);border-bottom:1px solid var(--line);padding:8px max(18px,env(safe-area-inset-left));font:14px/1.3 system-ui,sans-serif;display:flex;gap:12px;align-items:center;justify-content:space-between;min-height:60px}.controls .review{font-weight:650;color:var(--muted)}.controls nav{display:flex;gap:8px;align-items:center}.controls a,.controls label{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;color:var(--ink);cursor:pointer;white-space:nowrap}.controls a{text-decoration:none}.controls label{border:1px solid var(--line);border-radius:30px}.toggle{position:absolute;opacity:0;width:1px;height:1px;overflow:hidden}#theme:checked+label,#text-size:checked+label{background:var(--wash);border-color:var(--accent)}:root:has(#text-size:checked){--body-size:24px}.progress{position:fixed;top:0;left:0;right:0;height:3px;background:var(--accent);z-index:12;transform-origin:left;transform:scaleX(0)}@supports(animation-timeline:scroll()){.progress{animation:reading linear;animation-timeline:scroll(root block)}}@keyframes reading{to{transform:scaleX(1)}}main{max-width:1040px;margin:auto;padding:0 26px}header.hero{padding:58px 0 0}.eyebrow,.byline,.chapter-number{font-family:system-ui,sans-serif}.eyebrow{color:var(--accent);font-size:12px;font-weight:650;letter-spacing:.12em;text-transform:uppercase;line-height:1.6}h1{max-width:830px;font-size:clamp(38px,6.3vw,70px);font-weight:400;line-height:1.08;letter-spacing:-.035em;margin:24px 0}h1 span{display:block;color:var(--accent);margin-top:.12em}.subtitle{font-size:clamp(20px,2.8vw,27px);line-height:1.5;max-width:640px;color:var(--muted);margin:22px 0}.byline{font-size:13px;margin:20px 0 28px;color:var(--muted)}figure{margin:0}.hero img{width:100%;height:auto;display:block;border-radius:3px}.hero figcaption{font:12px/1.6 system-ui,sans-serif;color:var(--muted);margin:12px 0 0}.reading{max-width:690px;margin:auto}.contents{margin:44px auto 0;max-width:690px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:16px/1.55 system-ui,sans-serif}.contents summary{cursor:pointer;font-weight:600;min-height:44px;display:list-item;padding:10px 0}.contents ol{padding-left:25px;margin:12px 0}.contents li{padding:6px 0}.contents a{display:inline-block;padding:4px 0}.chapter{padding-top:62px;scroll-margin-top:10px}.chapter-number{font-size:12px;letter-spacing:.14em;color:var(--muted);margin:0 0 18px}.chapter h2{font-size:clamp(29px,4vw,40px);font-weight:400;letter-spacing:-.018em;line-height:1.2;color:var(--accent);margin:0 0 28px}.chapter p{margin:0 0 1.18em}.chapter .emphasis{font-size:1.13em;line-height:1.58;border-left:3px solid var(--accent);padding-left:22px;margin:1.5em 0}.citations{font:12px/1.3 system-ui,sans-serif;white-space:nowrap;vertical-align:super}.citations a{padding:4px 1px}.section-nav{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:12px;margin-top:35px;font:13px/1.6 system-ui,sans-serif}.section-nav a{padding:10px 0}.teaching{margin:44px -28px 24px;padding:26px 28px;background:var(--wash);border-block:1px solid var(--line)}.teaching .eyebrow{font-size:11px;margin:0 0 12px}.teaching figcaption{font-size:26px;line-height:1.25;margin-bottom:24px}.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 24px;gap:20px}.three div{border-left:1px solid var(--line);padding-left:18px}.three div:first-child{border:0;padding-left:0}.three dt{font:11px/1.6 system-ui,sans-serif;color:var(--accent);font-weight:650;text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}.three dd{margin:0;font:17px/1.5 system-ui,sans-serif}.three small{display:block;color:var(--muted);font-size:14px;line-height:1.55;margin-top:10px}.teaching .figure-note{font:13px/1.6 system-ui,sans-serif;color:var(--muted);margin:14px 0 0}.backmatter{border-top:1px solid var(--line);margin-top:55px;padding-top:24px;font:15px/1.7 system-ui,sans-serif;overflow-wrap:anywhere}.backmatter h2{font-size:22px;font-weight:550;margin:0 0 20px}.backmatter p{margin:0 0 20px}.backmatter code{font-size:12px}.offline-note{margin:0;font:12px/1.6 system-ui,sans-serif;color:var(--muted)}
@media(max-width:600px){:root{--body-size:20px}:root:has(#text-size:checked){--body-size:23px}main{padding:0 22px}.controls{gap:0;padding:6px 10px;min-height:58px}.controls .review{font-size:12px}.controls nav{gap:3px}.controls a,.controls label{padding:6px 9px;font-size:12px}.hero{padding-top:32px!important}h1{font-size:40px;line-height:1.1;margin:18px 0}h1 span{margin-top:.18em}.subtitle{font-size:21px;margin-top:20px}.byline{font-size:12px}.hero figure{margin-inline:-22px}.hero img{border-radius:0}.hero figcaption{margin-inline:22px;font-size:12px}.contents{margin-top:30px}.chapter{padding-top:44px}.chapter h2{font-size:31px}.chapter .emphasis{padding-left:15px}.teaching{margin:34px -10px 24px;padding:24px 18px}.teaching figcaption{font-size:26px}.three{grid-template-columns:1fr;gap:0}.three div,.three div:first-child{border:0;border-top:1px solid var(--line);padding:18px 0}.three dt{font-size:12px;margin-bottom:7px}.three dd{font-size:20px}.three small{font-size:16px}.teaching .figure-note{font-size:14px}.backmatter{font-size:16px}.backmatter h2{font-size:24px}}
@media(max-width:359px){h1{font-size:35px}main{padding-inline:18px}.controls .review{max-width:48px}.hero figure{margin-inline:-18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.progress{display:none}}
@media print{.controls,.progress,.contents,.section-nav,.skip{display:none}body{background:white;color:#222;font-size:12pt}main{max-width:none;padding:0}.chapter{padding-top:25px}.hero{padding-top:0!important}h1{font-size:32pt}.hero img{max-height:240px;object-fit:contain}.teaching{break-inside:avoid;margin-inline:0}.three{grid-template-columns:repeat(3,1fr)}a{color:inherit}}
.v5-header,.v5-footer{--paper:#f6f5f0;--paper-2:#eeede7;--ink:#171714;--muted:#66665f;--rule:#d8d6ce;--accent:#dc4b2e;--accent-dark:#b83a23;--surface:#fbfaf6;--wide:1540px;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:normal;text-align:left}
:root[data-effective-theme="dark"] .v5-header,:root[data-effective-theme="dark"] .v5-footer{--paper:#11120f;--paper-2:#191a16;--ink:#f2f0e7;--muted:#aaa99f;--rule:#36372f;--surface:#171814}
.v5-header a,.v5-footer a{color:inherit;text-decoration:none}.v5-header a:hover,.v5-footer a:hover{color:var(--accent)}
.v5-header button{font:inherit}.v5-nav,.v5-utility__inner{overscroll-behavior-x:contain}.v5-footer *{min-width:0}.v5-footer{overflow-wrap:anywhere}
.v5-header :focus-visible,.v5-footer :focus-visible{outline:2px solid var(--accent);outline-offset:3px}
/* R3: one non-wrapping V5 masthead row. Nav yields before tools do. */
.v5-header{background:color-mix(in srgb,var(--paper),transparent 2%);border-bottom:1px solid var(--rule)}
.v5-header__main{width:min(calc(100% - 22px),var(--wide));min-height:78px;margin:0 auto;display:flex;align-items:center;gap:14px;flex-wrap:nowrap}
.v5-brand{display:flex;align-items:center;gap:9px;flex:0 0 auto;min-width:max-content}.v5-brand__home{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.v5-mark{width:28px;height:31px;color:var(--accent)}.v5-mark svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}
.v5-brand-name{font-size:1.18rem;font-weight:790;letter-spacing:-.035em;line-height:1}
.v5-brand-by{display:grid;margin-left:1px;color:var(--muted);font-size:.46rem;line-height:1;letter-spacing:.01em;align-self:center}.v5-brand-by a{font-size:.62rem;font-weight:620;color:var(--muted);margin-top:2px;line-height:1.05}.v5-brand-by a:hover{color:var(--accent)}
.v5-nav{min-width:0;flex:1 1 auto;display:flex;justify-content:flex-end;align-items:center;gap:16px;white-space:nowrap;overflow-x:auto;scrollbar-width:none}
.v5-nav::-webkit-scrollbar{display:none}.v5-nav a{font-size:.82rem;color:#34342f;flex:0 0 auto}:root[data-effective-theme="dark"] .v5-nav a{color:#ccc9c0}
.v5-tools{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.v5-icon-control{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--rule);border-radius:999px;background:var(--surface);color:var(--ink);cursor:pointer;flex:0 0 auto}
.v5-icon-control svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.v5-icon-control:hover{border-color:color-mix(in srgb,var(--accent),var(--rule) 55%);color:var(--accent)}
.v5-theme .moon-icon{display:none}:root[data-effective-theme="dark"] .v5-theme .sun-icon{display:none}:root[data-effective-theme="dark"] .v5-theme .moon-icon{display:block}
@media(max-width:1180px){.v5-header__main{gap:10px}.v5-nav{gap:11px}.v5-nav a{font-size:.76rem}.v5-brand-by{display:none}}
@media(max-width:880px){.v5-nav{gap:9px}.v5-nav a{font-size:.72rem}.v5-brand-name{font-size:1.08rem}.v5-icon-control{width:34px;height:34px}}
@media(max-width:620px){.v5-brand-name{font-size:1rem}.v5-nav{justify-content:flex-start}}

.v5-utility{border-top:1px solid color-mix(in srgb,var(--rule),transparent 20%);background:color-mix(in srgb,var(--paper),var(--surface) 20%)}
.v5-utility__inner{width:min(calc(100% - 22px),var(--wide));min-height:43px;margin:0 auto;display:flex;align-items:center;gap:18px;overflow-x:auto;white-space:nowrap}
.v5-series{font-size:.76rem;color:var(--muted)}.v5-uat{display:inline-flex;align-items:center;border:1px solid color-mix(in srgb,var(--accent),var(--rule) 55%);border-radius:999px;padding:.23rem .5rem;color:var(--accent-dark);font-size:.62rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.v5-utilities{margin-left:auto;display:flex;align-items:center;gap:24px}.v5-utilities a,.v5-utilities button{border:0;background:none;padding:0;color:#30302b;font-size:.76rem;cursor:pointer}:root[data-effective-theme="dark"] .v5-utilities a,:root[data-effective-theme="dark"] .v5-utilities button{color:#d8d5cc}.v5-utilities a:hover,.v5-utilities button:hover{color:var(--accent)}

.v5-footer{border-top:1px solid var(--rule);background:var(--paper);padding:58px 0 32px}.v5-footer__inner{width:min(calc(100% - 40px),var(--wide));margin:0 auto}
.v5-footer .footer-top{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:start;padding-bottom:32px;border-bottom:1px solid var(--rule)}.v5-footer .footer-brand{font-size:1.05rem;font-weight:790;letter-spacing:-.025em}.v5-footer .footer-brand span{color:var(--muted);font-size:.76rem;font-weight:500;margin-left:.35rem}.v5-footer .footer-brand a{font-weight:760;color:var(--ink)}.v5-footer .footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:18px;font-size:.77rem}
.v5-footer .footer-middle{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:26px 0;border-bottom:1px solid var(--rule)}.v5-footer .footer-middle p{margin:0;color:var(--muted);font-size:.76rem;line-height:1.55}.v5-footer .footer-middle a{text-decoration:underline;text-underline-offset:.18em}.v5-footer .footer-bottom{display:flex;align-items:center;gap:18px;padding-top:20px;color:var(--muted);font-size:.7rem}.v5-footer .footer-bottom .footer-status{margin-left:auto;color:var(--accent-dark);font-weight:760}


@media(max-width:760px){.v5-footer .footer-top,.v5-footer .footer-middle{grid-template-columns:1fr}.v5-footer .footer-links{justify-content:flex-start}}
@media(max-width:560px){.v5-series{display:none}.v5-utilities{gap:14px}.v5-footer .footer-bottom{flex-wrap:wrap;gap:12px}.v5-footer .footer-status{margin-left:0}}

:root{color-scheme:light;--bg:#f8f5ee;--ink:#252922;--muted:#616459;--accent:#773b43;--line:#c9c3b7;--wash:#efeadf;--bar:rgba(248,245,238,.97)}
:root[data-effective-theme="dark"]{color-scheme:dark;--bg:#1d211e;--ink:#eeeae1;--muted:#bdbdaf;--accent:#e2a1a6;--line:#4a5048;--wash:#262c27;--bar:rgba(29,33,30,.97)}
@media(prefers-color-scheme:dark){:root:not([data-effective-theme]){color-scheme:dark;--bg:#1d211e;--ink:#eeeae1;--muted:#bdbdaf;--accent:#e2a1a6;--line:#4a5048;--wash:#262c27;--bar:rgba(29,33,30,.97)}:root:not([data-effective-theme]) .v5-header,:root:not([data-effective-theme]) .v5-footer{--paper:#11120f;--ink:#f2f0e7;--muted:#aaa99f;--rule:#36372f;--surface:#171814}:root:not([data-effective-theme]) .v5-nav a,:root:not([data-effective-theme]) .v5-utilities a{color:#d8d5cc}}
button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.v5-header__main,.v5-utility__inner,.v5-footer__inner{max-width:1120px}
.v5-icon-control{width:44px;height:44px}.v5-nav a,.v5-utilities a{min-height:44px;display:inline-flex;align-items:center}.v5-nav{justify-content:safe flex-end}
.v5-nav a{font-size:13px}.v5-utilities a{font-size:13px}.v5-utility__inner{min-height:46px}
.controls{position:static;background:transparent;border:0;padding:0;min-height:52px;margin:18px 0 0}.controls nav{gap:6px}.controls .review{font-size:12px;letter-spacing:.03em}.controls a,.controls label{font-size:13px}.controls label{border-radius:3px}
header.hero{padding-top:24px}.hero .eyebrow{margin-top:18px}html{scroll-padding-top:24px}
.contents{margin-top:36px}.trust,.thinking,.portability,.release-review{font:16px/1.65 system-ui,sans-serif;border-top:1px solid var(--line);padding:34px 0;margin:42px auto 0;max-width:690px}
.trust h2,.thinking h2,.portability h2,.release-review h2{font:normal 30px/1.2 Georgia,serif;letter-spacing:-.02em;margin:0 0 18px}
.trust h3,.portability h3,.release-review h3{font-size:17px;margin:24px 0 10px}.trust p,.thinking p,.portability p,.release-review p{margin:12px 0}
.trust summary,.release-review summary,.portability summary{cursor:pointer;min-height:48px;padding:12px 0;font-weight:600}.trust details,.release-review details,.portability details{border-top:1px solid var(--line);margin-top:16px}
.author-note{padding-left:18px;border-left:3px solid var(--accent)}.author-links{display:flex;flex-wrap:wrap;gap:18px}.author-links a{padding:10px 0}.fine{font-size:13px;color:var(--muted)}
.facts{margin:16px 0}.facts div{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}.facts dt{font-size:13px;color:var(--muted)}.facts dd{margin:0;overflow-wrap:anywhere}.facts code{font-size:12px}
.relationship{padding:18px 0;border-top:1px solid var(--line)}.relationship p{margin:6px 0}.relationship .predicate{color:var(--accent);font-size:12px;letter-spacing:.04em;text-transform:uppercase}.relationship strong{font-weight:600}
.thinking{max-width:none;padding:40px 0 48px}.thinking__inner{max-width:690px;margin:auto}.thinking-card{display:block;padding:24px 0;border-block:1px solid var(--line);color:var(--ink)}.thinking-card h3{font:normal 29px/1.2 Georgia,serif;margin:12px 0}.thinking-card a{display:inline-block;min-height:44px;padding:10px 0}.thinking-label{font:12px/1.4 system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.thinking__foot{font-size:13px;color:var(--muted)}
.download-links{display:flex;gap:16px;flex-wrap:wrap}.download-links a{padding:10px 0;min-height:44px}.review-status{color:var(--accent);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.release-review{background:var(--wash);padding:24px;margin-bottom:48px}.release-review li{padding:6px 0}.v5-footer{margin-top:20px;max-width:none}.v5-footer p{line-height:1.8}.v5-footer a{display:inline-block;padding-block:8px}.v5-footer .footer-status{color:var(--accent-dark)}:root[data-effective-theme="dark"] .v5-footer .footer-status{color:#ef967d}
@media(max-width:600px){.v5-header__main{gap:8px;min-height:68px}.v5-brand__home{gap:6px}.v5-mark{width:23px;height:28px}.v5-brand-name{font-size:16px}.v5-tools{gap:2px}.v5-nav{justify-content:flex-start;gap:12px}.v5-icon-control{width:44px;height:44px}.v5-utilities{margin-left:0;gap:18px}.v5-utility__inner{width:calc(100% - 32px)}.hero{padding-top:18px!important}.controls{margin-top:12px;padding:0}.controls .review{max-width:none;font-size:11px}.controls nav{gap:0}.controls a,.controls label{font-size:12px;padding-inline:8px}.trust h2,.thinking h2,.portability h2,.release-review h2{font-size:28px}.facts div{grid-template-columns:1fr;gap:5px}.release-review{margin-inline:-6px;padding:20px}.v5-footer .footer-brand span{display:block;margin:6px 0 0}.v5-footer .footer-links{gap:8px 18px}.v5-footer .footer-bottom .footer-status{margin-left:0}.v5-footer{padding-top:32px}}
@media print{.v5-header,.v5-footer,.controls,.portability,.release-review{display:none}.trust,.thinking{break-inside:avoid}.trust details{display:block}.thinking a{color:inherit}}

:root[data-shareplane-effective-theme="light"]{color-scheme:light dark;--bg:#f8f5ee;--ink:#252922;--muted:#616459;--accent:#773b43;--line:#c9c3b7;--wash:#efeadf;--body-size:21px;--bar:rgba(248,245,238,.97)}
:root[data-shareplane-effective-theme="dark"]{color-scheme:dark;--bg:#1d211e;--ink:#eeeae1;--muted:#bdbdaf;--accent:#e2a1a6;--line:#4a5048;--wash:#262c27;--bar:rgba(29,33,30,.97)}
