:root{--paper:#f6f4ee;--card:#fffef9;--ink:#243c34;--green:#244d3b;--muted:#59685f;--line:#d9ddd2;--wash:#e8ede4;--serif:Georgia,"Songti SC",serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.8 -apple-system,"PingFang SC",sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input{font:inherit;color:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);background:transparent;padding:9px 16px;min-height:44px}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #967237;outline-offset:4px}[hidden]{display:none!important}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.4}h1{font-size:42px}h2{font-size:27px}h3{font-size:23px}p{margin:0 0 18px}h1,h2,h3{margin:0 0 18px}em{font-style:normal;color:#52705a}.shell{max-width:1380px;padding:0 52px;margin:auto}.review-banner{text-align:center;background:#e6e9dc;font-size:12px;padding:8px}.skip{position:fixed;top:-100px;background:var(--card);padding:12px;z-index:100}.skip:focus{top:8px}header{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:96px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px;font:22px var(--serif)}.seal{background:var(--green);color:var(--card);padding:8px 11px;font-size:24px}.brand small{display:block;font:10px/2.2 -apple-system,sans-serif;letter-spacing:3px;color:var(--muted)}nav{display:flex;gap:25px;font-size:14px}nav a{padding:10px 0;white-space:nowrap}nav a[aria-current]{border-bottom:2px solid var(--green)}.header-actions{display:flex;gap:8px}.search-trigger{border:1px solid var(--line);padding:8px 18px;min-height:44px}.menu{display:none}.eyebrow{font:11px/1.7 -apple-system,sans-serif;letter-spacing:2px;color:var(--muted)}.muted{color:var(--muted);font-size:14px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:65px 0 58px;align-items:center}.hero h1{font-size:53px;line-height:1.4;letter-spacing:1px;margin:20px 0}.hero h1 em{font-size:34px}.intro{max-width:440px;color:var(--muted);line-height:2}.author{margin-top:22px;font-size:12px}.actions{display:flex;gap:25px;align-items:center;margin-top:26px;flex-wrap:wrap}.button{display:inline-flex;background:var(--green);color:var(--card);padding:12px 24px;min-height:48px}.hero-map{background:#edf0e5;border:1px solid #d4dccd;padding:25px;min-width:0}.hero-map h2{font-size:25px;margin-top:14px}.constellation{height:300px;position:relative;background:linear-gradient(40deg,transparent 49.7%,#becaba 50%,transparent 50.3%),linear-gradient(140deg,transparent 49.7%,#becaba 50%,transparent 50.3%)}.constellation a{position:absolute;transform:translate(-50%,-50%);background:var(--card);border:1px solid #c1cdbb;padding:9px 14px;min-height:44px;font-size:13px;max-width:160px;text-align:center}.constellation .center-node{left:50%;top:48%;background:var(--green);color:var(--card);font:23px/1.5 var(--serif);padding:15px}.orbit-0{left:23%;top:14%}.orbit-1{left:76%;top:20%}.orbit-2{left:17%;top:73%}.orbit-3{left:82%;top:67%}.orbit-4{left:53%;top:92%}.plate-footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:18px;font-size:12px;color:var(--muted)}.section{border-top:1px solid var(--line);padding:35px 0 42px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px}.section-title a{font-size:13px}.paths{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.entry-card{display:flex;align-items:start;gap:17px;padding:24px 0;border-top:1px solid var(--line)}.entry-card div{flex:1;min-width:0}.entry-card h3{margin:4px 0 10px}.entry-card p{color:var(--muted);font-size:14px;margin-bottom:0}.entry-card small{color:var(--muted);font-size:11px}.number{font:15px/2 Georgia;color:#816433}.paths .entry-card{border-top:2px solid var(--green)}.practice-banner{background:var(--green);color:var(--card);padding:30px 35px;display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:45px}.practice-banner small{font-size:12px;color:#d2dccd}.practice-banner h2{margin:6px 0 0}footer{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding:24px 0 30px;font-size:12px;color:var(--muted)}.page-heading{padding:43px 0 25px}.page-heading h1{margin:12px 0}.page-heading>p:last-child{color:var(--muted);max-width:760px}.directory{max-width:1000px;margin-bottom:60px}.map-layout{display:grid;grid-template-columns:240px 1fr;gap:45px;margin-bottom:50px}.map-note{background:var(--wash);padding:25px;align-self:start;font-size:14px}.map-note h2{font-size:23px}.breadcrumb{padding:30px 0;font-size:12px;color:var(--muted)}.reader-layout{display:grid;grid-template-columns:180px minmax(0,700px) 180px;gap:35px;margin-bottom:55px}.reader-nav{border-top:1px solid var(--line);font-size:13px}.reader-nav a{display:block;padding:12px 10px;border-bottom:1px solid var(--line)}.reader-nav a[aria-current]{background:var(--wash)}.reading{min-width:0}.reading h1{font-size:40px}.reading .lead{font:21px/1.9 var(--serif);border-bottom:1px solid var(--line);padding-bottom:25px}.body{font-size:18px;line-height:1.9;overflow-wrap:anywhere}.body h2{font-size:27px;margin-top:30px}.body h3{font-size:23px;margin-top:26px}.body li{margin:9px 0}.body ul,.body ol{padding-left:25px}.body pre{font:13px/1.8 monospace;background:var(--wash);padding:20px;overflow:auto;white-space:pre-wrap}.body a{text-decoration:underline;text-underline-offset:4px}.related{border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.related h2{font:16px -apple-system,sans-serif;margin:20px 0}.related a{display:block;padding:15px 0;border-top:1px solid var(--line)}.related p{margin-top:25px}.source-details{margin-top:35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0}.source-details summary,details>summary{cursor:pointer;min-height:44px;padding:8px 0}.citation{display:grid;grid-template-columns:85px 1fr;gap:13px 22px;font-size:14px}.citation dt{color:var(--muted)}.citation dd{margin:0;overflow-wrap:anywhere}.source-open{margin-top:15px}.source-dialog{max-width:680px;width:calc(100% - 30px);max-height:85vh;overflow:auto;background:var(--card);color:var(--ink);border:1px solid var(--line);padding:28px}.source-dialog::backdrop{background:#17332488;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;gap:20px}.close-dialog{font-size:23px}.source-item{max-width:900px;border-top:1px solid var(--line);padding:25px 0}.source-item h2{font-size:24px}.sources-intro{max-width:900px}.exercise{background:var(--wash);padding:26px;margin-top:28px}.checks label{display:flex;align-items:start;gap:15px;padding:15px 0;border-top:1px solid #c9d3c2;cursor:pointer}.checks input{width:20px;height:20px;margin-top:5px;accent-color:var(--green);flex-shrink:0}.checks input:checked+span{text-decoration:line-through;color:var(--muted)}.progress{font-size:14px;margin-top:20px}.search-box{display:flex;max-width:860px;border-bottom:2px solid var(--green);gap:15px;padding:14px 0}#search-form label{font-size:13px}.search-box input{background:none;border:0;flex:1;min-width:0;font-size:23px;min-height:44px}#search-status{padding-top:23px;color:var(--muted)}#search-results{min-height:180px;max-width:1000px;margin-bottom:50px}.graph-controls{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.graph-controls [aria-pressed=true]{background:var(--green);color:var(--card)}.graph-layout{display:grid;grid-template-columns:1fr 280px;border:1px solid var(--line);background:#edf0e5;margin-bottom:35px}#graph-stage{height:480px;position:relative;min-width:0}#graph-stage svg{position:absolute;inset:0;width:100%;height:100%}#graph-stage line{stroke:#a8bba0;stroke-width:1.3}.graph-node{position:absolute;transform:translate(-50%,-50%);max-width:150px;background:var(--card);font-size:13px;padding:8px 12px}.graph-node[aria-pressed=true]{background:var(--green);color:var(--card)}#graph-inspector{background:var(--card);padding:25px;border-left:1px solid var(--line);font-size:14px}#graph-inspector h2{font-size:26px}.graph-item{border-top:1px solid var(--line);padding:20px 0}.graph-item a{font:23px var(--serif)}.graph-item p{color:var(--muted);font-size:14px}#graph-list{margin-bottom:30px}main>details{margin-bottom:40px}
@media(max-width:1100px){.shell{padding:0 30px}nav{gap:16px}.brand{font-size:19px}.hero{gap:30px}.hero h1{font-size:44px}.reader-layout{grid-template-columns:150px minmax(0,1fr)}.related{grid-column:2}.hero h1 em{font-size:28px}}
@media(max-width:760px){.shell{padding:0 22px}header{min-height:80px;flex-wrap:wrap;padding:12px 0;gap:12px}.brand{font-size:18px;gap:9px;max-width:calc(100% - 125px)}.brand small{font-size:9px;letter-spacing:1px}.seal{padding:7px 9px;font-size:22px}.menu{display:block}nav{order:3;width:100%;flex-wrap:wrap;padding:8px 0;gap:10px}nav a{padding:10px}.js nav:not(.open){display:none}.search-trigger{font-size:13px;padding:8px 10px}.menu{font-size:13px;padding:8px 10px}.hero{grid-template-columns:1fr;padding:35px 0;gap:32px}.hero h1{font-size:40px}.hero h1 em{font-size:27px}.intro{font-size:15px}.hero-map{padding:21px 16px}.hero-map h2{font-size:22px}.constellation{height:280px}.constellation a{font-size:11px;padding:8px;max-width:112px}.constellation .center-node{font-size:20px;max-width:125px}.orbit-2{left:20%}.orbit-3{left:79%}.paths{grid-template-columns:1fr;gap:8px}.section-title{align-items:start}.section-title h2{font-size:24px}.section-title a{font-size:12px;white-space:nowrap}.practice-banner{display:block;padding:25px}.practice-banner h2{font-size:24px;margin-bottom:18px}footer{display:block}footer a{display:inline-block;margin-top:15px;min-height:44px}.page-heading{padding-top:30px}.page-heading h1{font-size:32px}.map-layout{display:block}.map-note{margin-bottom:25px}.reader-layout{display:block}.reader-nav{display:none}.reading h1{font-size:34px}.body{font-size:18px}.body h2{font-size:25px}.body h3{font-size:22px}.related{margin-top:35px}.citation{grid-template-columns:65px 1fr;gap:12px;font-size:13px}.source-dialog{padding:22px}.exercise{padding:20px}.search-box input{font-size:19px}.graph-layout{display:block}#graph-stage{height:390px}#graph-inspector{border-left:0;border-top:1px solid var(--line)}.graph-node{max-width:108px;font-size:11px;padding:7px}.graph-controls{gap:6px}.graph-controls button{font-size:13px;padding:8px 12px}.entry-card{gap:12px}.entry-card h3{font-size:22px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
