header.hero{padding:28px 0 30px}h1.title{font-family:var(--serif);font-weight:500;font-size:clamp(46px,8vw,104px);line-height:.95;letter-spacing:-.02em;margin:26px 0 0}h1.title em{font-style:italic;color:var(--accent)}.lede{font-family:var(--serif);font-size:clamp(18px,2.3vw,23px);font-style:italic;color:var(--ink-soft);max-width:620px;margin:26px 0 0;line-height:1.4}.meta-row{display:flex;flex-wrap:wrap;gap:30px 48px;align-items:flex-end;justify-content:space-between;margin-top:46px;padding-bottom:22px;border-bottom:1.5px solid var(--ink)}.toc-label{font-family:var(--mono);font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}.legend{display:flex;flex-wrap:wrap;gap:18px}.legend .item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-soft);font-weight:500}.grid{display:grid;grid-template-columns:var(--rail-w) 1fr;gap:64px;padding:54px 0 96px;align-items:start}nav.rail{position:sticky;top:calc(var(--bar-h) + 16px)}.rail h2{font-family:var(--mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:16px;font-weight:600}.rail a{display:flex;gap:12px;align-items:baseline;text-decoration:none;color:var(--ink-soft);padding:7px 0;font-size:14px;font-weight:500;border-top:1px solid var(--line-soft);transition:color .2s,padding .2s}.rail a .rn{font-family:var(--mono);font-size:11px;color:var(--ink-mute);min-width:30px;transition:color .2s}.rail a:hover{color:var(--ink)}.rail a:hover .rn,.rail a.active,.rail a.active .rn{color:var(--accent)}main{min-width:0}.part{margin-bottom:58px}@media(prefers-reduced-motion:no-preference){.part{opacity:0;transform:translateY(18px);animation:rise .7s cubic-bezier(.2,.7,.2,1) forwards}@keyframes rise{to{opacity:1;transform:none}}.part:nth-of-type(1){animation-delay:.02s}.part:nth-of-type(2){animation-delay:.06s}.part:nth-of-type(3){animation-delay:.1s}.part:nth-of-type(4){animation-delay:.14s}.part:nth-of-type(5){animation-delay:.18s}.part:nth-of-type(6){animation-delay:.22s}.part:nth-of-type(7){animation-delay:.26s}.part:nth-of-type(8){animation-delay:.3s}.part:nth-of-type(9){animation-delay:.34s}}.part-head{display:flex;align-items:baseline;gap:18px;margin-bottom:6px}.part-num{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--accent);letter-spacing:.1em}.part-name{font-family:var(--serif);font-size:clamp(24px,3.4vw,34px);font-weight:500;letter-spacing:-.01em;line-height:1.05}.part-note{font-family:var(--serif);font-style:italic;color:var(--ink-mute);font-size:15px;margin:6px 0 18px;max-width:640px;line-height:1.45}.rule{height:1.5px;background:var(--ink);margin-bottom:4px}.page{display:grid;grid-template-columns:46px 1fr auto;gap:18px;align-items:start;padding:15px 12px 15px 0;border-bottom:1px solid var(--line-soft);position:relative;transition:background .2s;text-decoration:none;color:inherit}.page:before{content:"";position:absolute;left:-12px;top:0;bottom:0;width:2px;background:var(--accent);transform:scaleY(0);transform-origin:top;transition:transform .25s ease}.page:hover{background:var(--paper-2)}.page:hover:before{transform:scaleY(1)}.pg-num{font-family:var(--mono);font-size:13px;color:var(--ink-mute);padding-top:3px;font-weight:500}.pg-body{min-width:0}.pg-title{font-size:17px;font-weight:600;letter-spacing:-.01em;color:var(--ink);display:inline}.pg-title .opt{font-weight:400;font-style:italic;color:var(--ink-mute);font-size:14px}.pg-sub{font-family:var(--mono);font-size:12px;color:var(--ink-mute);line-height:1.7;margin-top:5px;letter-spacing:.01em}.tags{display:flex;gap:5px;padding-top:6px;flex:none}.simple .page{grid-template-columns:46px 1fr auto}.simple .pg-num{font-size:12px}footer{padding:30px 0 70px;border-top:1.5px solid var(--ink);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center}footer .mono{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute)}footer .pillars{font-family:var(--mono);font-size:12px;color:var(--ink-soft);letter-spacing:.05em}footer .pillars b{color:var(--accent);font-weight:600}@media(max-width:860px){.grid{grid-template-columns:1fr;gap:30px;padding-top:36px}nav.rail{position:static;border-bottom:1px solid var(--line);padding-bottom:18px}.rail .links{display:flex;flex-wrap:wrap;gap:0 18px}.rail a{border-top:none;padding:5px 0}header.hero{padding-top:48px}.page{grid-template-columns:34px 1fr}.tags{grid-column:2;padding-top:8px}}
