
:root{color-scheme:dark;--base:#0a0e12;--surface:#11161c;--ink:#e6edf3;--dim:#8b98a5;--line:#212a33;--green:#3fb950;--sans:Inter,ui-sans-serif,system-ui,sans-serif;--mono:'JetBrains Mono',ui-monospace,monospace}
*{box-sizing:border-box}body{margin:0;background:var(--base);color:var(--ink);font:15px/1.65 var(--sans);overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.35}button:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:5px}button{touch-action:manipulation}header.site{position:fixed;inset:0 32px auto;height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;z-index:6;background:var(--base)}.brand{font:600 16px var(--mono)}.brand span{font-weight:400;color:var(--dim);margin-left:22px}.study{font:10px var(--mono);color:var(--dim);letter-spacing:1px}.viewport{position:fixed;inset:79px 0 0;overflow:auto;overscroll-behavior:contain;scrollbar-color:#33413c var(--base);overflow-anchor:none}.timeline{position:relative;width:720px;margin:0 auto;transition:transform .6s cubic-bezier(.22,1,.36,1);padding-bottom:180px}.reading .timeline{transform:translateX(calc(-1 * min(23vw, 330px)))}.intro{position:absolute;left:48px;top:46px;right:30px}.eyebrow{font:10px var(--mono);letter-spacing:1.4px;color:var(--green);margin:0 0 17px}h1{font-size:40px;line-height:1.2;letter-spacing:-1.3px;font-weight:500;margin:0 0 14px}.intro p:not(.eyebrow){color:var(--dim);margin:0;font-size:14px}.intro .hint{margin-top:15px!important;font:11px var(--mono);color:var(--dim)}.axis-label{position:absolute;left:48px;font:10px var(--mono);color:var(--dim);transform:translateY(-50%);width:66px}.axis-label:after{content:'';position:absolute;left:65px;top:6px;width:14px;height:1px;background:var(--line)}.rail{position:absolute;width:1px;background:linear-gradient(transparent,#212a3388 15%,#212a3388 85%,transparent);pointer-events:none}.activity{position:absolute;width:25px;padding:0;border:0;background:none;z-index:2}.drift{display:block;height:100%;width:8px;margin:auto;border-radius:6px;background:var(--tone);opacity:.76;animation:float var(--period) ease-in-out infinite alternate;animation-delay:var(--delay);box-shadow:0 0 15px #3fb95004;transition:opacity .25s,box-shadow .25s,width .25s}.activity.engaged .drift,.activity:focus-visible .drift,.activity.selected .drift{animation-play-state:paused;opacity:1;width:10px;box-shadow:0 0 18px #3fb95020}.activity.selected .drift{background:var(--green)}@keyframes float{from{transform:translate(-2px,-2px)}to{transform:translate(2px,3px)}}.event{position:absolute;left:233px;width:440px;border:1px solid transparent;border-radius:10px;padding:15px 20px;text-align:left;background:transparent;transition:background .25s,border-color .25s;z-index:3;transform:translateY(-32px)}.event:hover,.event:focus-visible{background:#11161cbb}.event.selected{background:var(--surface);border-color:#3fb95024}.event.selected:before{content:'';position:absolute;left:-1px;top:16px;bottom:16px;width:2px;background:var(--green)}.event .date{display:block;font:10px var(--mono);color:var(--dim);margin-bottom:9px}.event.selected .date{color:var(--green)}.event strong{display:block;font-size:20px;font-weight:500;line-height:1.3}.event small{display:block;font-size:12px;color:var(--dim);margin-top:9px}.event .read{display:block;font-size:11px;color:var(--green);margin-top:12px}.event-node{position:absolute;width:9px;height:9px;border-radius:50%;left:211px;background:var(--green);transform:translateY(-4px);pointer-events:none}.event-node:after{content:'';position:absolute;height:1px;width:16px;left:9px;top:4px;background:#3fb95060}.event-node:not(.selected){opacity:.3}.chapter-detail{display:block;font:11px var(--mono);color:var(--dim);margin-top:12px}.dock{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);width:620px;max-width:calc(100vw - 32px);padding:13px 18px;background:#11161cf5;border:1px solid var(--line);border-radius:12px;z-index:8;box-shadow:0 8px 35px #0005;transition:left .6s,transform .6s,width .6s;backdrop-filter:blur(16px)}.reading .dock{left:24px;transform:none;width:min(530px,43vw)}.dock-top{display:flex;align-items:center;gap:12px}.zoom-button{background:none;border:1px solid var(--line);border-radius:6px;width:34px;height:34px;font-size:20px;flex-shrink:0}.depths{display:flex;flex:1;justify-content:space-around;gap:6px}.depths button{font:11px var(--mono);background:none;border:0;padding:7px 8px;border-radius:5px;color:var(--dim)}.depths button[aria-pressed=true]{color:var(--green);background:#3fb9500b}.dock-hint{font:10px var(--mono);color:var(--dim);margin-top:9px;text-align:center}.reader{position:fixed;right:0;top:79px;bottom:0;width:min(780px,57vw);z-index:7;visibility:hidden;transform:translateX(105%);transition:transform .6s cubic-bezier(.22,1,.36,1),visibility .6s;background:var(--base)}.reader:before{content:'';position:absolute;top:0;bottom:0;width:200px;left:-200px;background:linear-gradient(90deg,transparent,#0a0e12d9 70%,var(--base));pointer-events:none;opacity:0;transition:opacity .5s}.reading .reader{visibility:visible;transform:translateX(0);transition:transform .6s cubic-bezier(.22,1,.36,1),visibility 0s}.reading .reader:before{opacity:1}.reader-scroll{height:100%;overflow:auto;overscroll-behavior:contain;padding:0 56px 90px 36px;scrollbar-color:#33413c var(--base)}.reader-toolbar{position:sticky;top:0;background:linear-gradient(var(--base) 85%,#0a0e1200);z-index:2;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:24px 0 28px;font:10px var(--mono);color:var(--dim)}.close{border:1px solid var(--line);background:var(--surface);border-radius:50%;width:36px;height:36px;font-size:20px;flex-shrink:0;line-height:1}:is(.reader,.passage-content) h2{font-size:48px;font-weight:500;letter-spacing:-1.8px;line-height:1.15;margin:20px 0}:is(.reader,.passage-content) .deck{font-size:20px;line-height:1.65;color:var(--dim);margin:0 0 37px}:is(.reader,.passage-content) h3{font-size:24px;font-weight:500;line-height:1.4;margin:33px 0 18px}:is(.reader,.passage-content) p{font-size:17px;line-height:1.85;margin:0 0 24px}.section-number{color:var(--green);font:11px var(--mono);margin-right:20px}:is(.reader,.passage-content) blockquote{margin:30px 0 18px;padding:2px 0 2px 22px;border-left:2px solid var(--green);font-size:23px;line-height:1.6}.source-button{border:1px solid var(--line);border-radius:6px;background:var(--surface);padding:10px 13px;font:11px var(--mono);color:var(--green)}.section-rule{height:1px;background:var(--line);margin:36px 0}:is(.reader,.passage-content) .process{font:11px/1.8 var(--mono);color:var(--dim);margin-top:42px}:is(.reader,.passage-content) .back{margin-top:20px;background:none;border:0;color:var(--green);padding:0;font-size:13px}dialog{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:30px;max-width:570px;width:calc(100vw - 32px);box-shadow:0 30px 100px #0008}dialog::backdrop{background:#0009;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px}dialog h2{font-size:26px;font-weight:500;line-height:1.3}dialog blockquote{margin:25px 0;padding:12px 20px;border-left:2px solid var(--green);font-size:19px}dialog .meta{font:11px/1.8 var(--mono);color:var(--dim)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){.reader{width:760px}.reading .timeline{transform:translateX(-330px)}}
@media(max-width:900px){.timeline{width:min(720px,100%)}.reading .timeline{transform:none}.reader{top:0;width:100%;transform:translateY(105%)}.reader:before{display:none}.reading .reader{transform:translateY(0)}.reader-scroll{padding:0 max(24px,calc((100vw - 650px)/2)) 70px}.reader-toolbar{padding-top:24px}.reading .dock{visibility:hidden}.reading header.site{visibility:hidden}:is(.reader,.passage-content) h2{font-size:43px}}
@media(max-width:600px){header.site{inset:0 18px auto;height:67px}.brand{font-size:13px}.brand span{margin-left:10px}.study{display:none}.viewport{top:68px}.intro{left:23px;right:18px;top:37px}h1{font-size:33px}.intro p:not(.eyebrow){font-size:12px}.intro .hint{font-size:10px}.axis-label{left:18px;font-size:9px;width:45px}.axis-label:after{left:45px;width:10px}.event{left:133px;width:calc(100% - 147px);padding:12px 13px}.event strong{font-size:18px}.event .date{font-size:9px;line-height:1.6}.event small{font-size:11px}.event .read{font-size:10px}.event-node{left:115px}.event-node:after{width:9px}.dock{bottom:14px;padding:11px 12px}.depths button{font-size:10px;padding:7px 4px}.dock-top{gap:6px}.dock-hint{font-size:9px}:is(.reader,.passage-content) h3{font-size:22px}:is(.reader,.passage-content) p{font-size:16px}:is(.reader,.passage-content) .deck{font-size:18px}:is(.reader,.passage-content) blockquote{font-size:20px}}
.event{width:min(440px,calc(100% - 253px))}
.activity.engaged .drift{animation-play-state:paused;opacity:1;width:10px;box-shadow:0 0 18px #3fb95020}
@media(min-width:901px) and (max-width:1199px){.reading .timeline{transform:none}.reader{top:0;width:100%;transform:translateY(105%)}.reader:before{display:none}.reading .reader{transform:translateY(0)}.reader-scroll{padding:0 max(24px,calc((100vw - 650px)/2)) 70px}.reading .dock,.reading header.site{visibility:hidden}}
@media(max-width:600px){.event{width:calc(100% - 147px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
