:root{--ink:#0f141a;--panel:#161d25;--panel-deep:#121921;--rule:#263040;--tick:#1f2833;--ghost:#1c2430;--dim:#4a5664;--index:#7d8a97;--text:#e6ebef;--body:#c5ced6;--muted:#93a1ae;--mint:#4aec8e;--warn:#f2a65a;--bar-scrolled:#0f141af0;--serif:"Newsreader", Georgia, serif;--sans:"Geist", ui-sans-serif, system-ui, sans-serif;--mono:"Geist Mono", ui-monospace, "SFMono-Regular", monospace;--ease:cubic-bezier(.4, 0, .2, 1);--page-max:1440px;--gutter:64px;--margin-col:200px;--inset:48px;--rail:340px;--bar-top:112px;--bar-compact:72px;--bar-stage:112px;--stack:8px 8px 0 -1px var(--panel-deep), 8px 8px 0 0 var(--rule)}@media (height<=799px){:root{--bar-stage:72px}}@media (width<=899px){:root{--gutter:20px;--bar-top:72px;--bar-stage:72px}}*,:before,:after{box-sizing:border-box}html{background:var(--ink);color-scheme:dark;scroll-padding-top:calc(var(--bar-compact) + 16px);-webkit-text-size-adjust:100%}body{background:var(--ink);min-height:100vh;color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:17px;line-height:28px}h1,h2,h3,p,figure,blockquote,dl,dd,ol,ul{margin:0}ol,ul{padding:0;list-style:none}a{color:var(--text);text-underline-offset:5px;text-decoration-thickness:1px}a:hover{color:#fff}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--mint);outline-offset:3px}em{font-style:italic}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--mint);color:var(--ink);border-radius:4px;padding:8px 16px;font-weight:600;position:fixed;top:8px;left:8px;transform:translateY(-200%)}.skip-link:focus{transform:none}@media (width<=899px){.d-only{display:none!important}}@media (width>=900px){.m-only{display:none!important}}.label{font-family:var(--mono);letter-spacing:.06em;color:var(--muted);font-size:12px;line-height:16px}.label--mint{color:var(--mint)}.h2{font-family:var(--serif);letter-spacing:-.015em;font-size:46px;font-weight:400;line-height:48px}.h2 em{color:var(--mint)}@media (width<=899px){.h2{font-size:32px;line-height:36px}}.btn{height:48px;transition:background-color .3s var(--ease), color .3s var(--ease);border-radius:4px;justify-content:center;align-items:center;gap:8px;padding:0 24px;font-size:16px;font-weight:600;line-height:24px;text-decoration:none;display:inline-flex}.btn--primary{background:var(--mint);color:var(--ink)}.btn--primary:hover{color:var(--ink);background:#6ff2a5}.btn--outline{border:1px solid var(--mint);color:var(--mint)}.btn--outline:hover{color:var(--mint);background:#4aec8e14}.btn__arrow{flex-shrink:0}.arrow-link{height:48px;color:var(--mint);align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.arrow-link>span{transition:background-size .3s var(--ease);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;padding-bottom:2px}.arrow-link:hover{color:var(--mint)}.arrow-link:hover>span{background-size:100% 1px}.corners{position:relative}.corners:before,.corners:after,.corners>.corners__b:before,.corners>.corners__b:after{content:"";pointer-events:none;width:16px;height:16px;position:absolute}.corners:before{border-left:1px solid var(--mint);border-top:1px solid var(--mint);top:-1px;left:-1px}.corners:after{border-right:1px solid var(--dim);border-top:1px solid var(--dim);top:-1px;right:-1px}.corners>.corners__b:before{border-left:1px solid var(--dim);border-bottom:1px solid var(--dim);bottom:-1px;left:-1px}.corners>.corners__b:after{border-right:1px solid var(--dim);border-bottom:1px solid var(--dim);bottom:-1px;right:-1px}.sheet{border:1px solid var(--rule);border-top-color:var(--mint);background:var(--panel);box-shadow:var(--stack)}.fields{font-family:var(--mono);grid-template-columns:72px minmax(0,1fr);gap:8px 16px;font-size:12px;line-height:18px;display:grid}.fields dt{color:var(--muted)}.fields dd{overflow-wrap:anywhere}@media (width<=899px){.fields{grid-template-columns:64px minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}html{scroll-behavior:auto}}.stripes{z-index:0;pointer-events:none;height:100vh;position:fixed;inset:0 0 auto;-webkit-mask-image:linear-gradient(90deg,#0000 30%,#000 92%);mask-image:linear-gradient(90deg,#0000 30%,#000 92%)}.stripes__fade{position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(#000 0% 45%,#0000 100%);mask-image:linear-gradient(#000 0% 45%,#0000 100%)}.stripes__move{background-image:repeating-linear-gradient(120deg,#ffffff08 0 96px,#0000 96px 176px,#ffffff08 176px 208px,#0000 208px 320px,#ffffff08 320px 464px,#0000 464px 520px,#ffffff08 520px 536px,#0000 536px 600px,#ffffff08 600px 656px,#0000 656px 720px);width:calc(100% + 832px);animation:53.2s linear infinite stripes-drift;position:absolute;top:0;bottom:0;left:-832px}@keyframes stripes-drift{to{transform:translate(831.38px)}}@media (width<=899px){.stripes{-webkit-mask-image:linear-gradient(90deg,#0000 20%,#000 95%);mask-image:linear-gradient(90deg,#0000 20%,#000 95%)}.stripes__fade{-webkit-mask-image:linear-gradient(#000 0% 40%,#0000 100%);mask-image:linear-gradient(#000 0% 40%,#0000 100%)}.stripes__move{background-image:repeating-linear-gradient(120deg,#ffffff08 0 64px,#0000 64px 120px,#ffffff08 120px 144px,#0000 144px 216px,#ffffff08 216px 312px,#0000 312px 352px,#ffffff08 352px 364px,#0000 364px 408px,#ffffff08 408px 448px,#0000 448px 480px);width:calc(100% + 555px);animation:35.5s linear infinite stripes-drift-m;left:-555px}@keyframes stripes-drift-m{to{transform:translate(554.26px)}}}html.tab-hidden .stripes__move{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.stripes__move{animation:none}}.bar{z-index:10;height:var(--bar-top);transition:height .3s var(--ease), background-color .3s var(--ease);position:fixed;inset:0 0 auto}.bar.is-scrolled{background:var(--bar-scrolled)}.bar-spacer{height:var(--bar-top)}.bar__inner{height:100%;max-width:var(--page-max);align-items:center;gap:16px;margin:0 auto;padding:0 64px 0 67px;display:flex;position:relative}.bar__drip{background:var(--mint);width:1px;transition:top .3s var(--ease);position:absolute;top:61px;bottom:0;left:69px}.bar__home{color:var(--text);align-items:center;gap:16px;text-decoration:none;display:flex}.bar__mark{width:40px;height:34px;color:var(--mint);transition:width .3s var(--ease), height .3s var(--ease);display:block}.bar__name{font-family:var(--serif);letter-spacing:-.01em;white-space:nowrap;font-size:24px;font-weight:500;line-height:32px}.bar__crumb{white-space:nowrap}.bar__nav{align-items:center;gap:40px;margin-left:auto;font-size:15px;line-height:24px;display:flex}.bar__nav a{color:var(--muted);text-decoration:none}.bar__nav a:hover,.bar__nav a[aria-current=page]{color:var(--text)}.bar__book{background:var(--mint);height:40px;color:var(--ink);transition:background-color .3s var(--ease);border-radius:4px;flex-shrink:0;align-items:center;margin-left:40px;padding:0 20px;font-size:15px;font-weight:600;line-height:24px;text-decoration:none;display:inline-flex}.bar__book:hover{color:var(--ink);background:#6ff2a5}.bar__section,.bar__menu{display:none}.bar__rule{background:var(--rule);height:1px;position:absolute;bottom:0;left:94px;right:64px}.bar__progress{background:var(--mint);transform-origin:0;transform:scaleX(var(--progress,0));position:absolute;inset:0}.bar__tick{background:var(--dim);opacity:0;width:1px;height:5px;transition:opacity .3s var(--ease);position:absolute;top:-2px}.bar__tick.is-reached{background:var(--mint)}.bar.is-compact{height:var(--bar-compact)}.bar.is-compact .bar__drip{top:42px}.bar.is-compact .bar__mark{width:32px;height:27.13px}.bar.is-compact .bar__name,.bar.is-compact .bar__crumb,.bar.is-compact .bar__nav{display:none}.bar.is-compact .bar__section{height:44px;color:var(--text);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:inline-flex}.bar__caret:before{content:"▾";color:var(--muted)}.bar__section[aria-expanded=true] .bar__caret:before{content:"▴";color:var(--mint)}.bar.is-compact .bar__book{margin-left:auto}.bar.is-compact .bar__tick{opacity:1}@media (width>=900px) and (height>=640px),(width<=899px) and (height>=600px){html.js .bar--stage.is-scrolled{background:0 0}}@media (width>=900px) and (height<=799px){.bar--stage{height:var(--bar-stage)}.bar--stage .bar__drip{top:40px}.bar--stage .bar__mark{width:32px;height:27.13px}}.contents{width:320px;padding:24px;position:absolute;top:calc(100% + 16px);left:107px}.contents[hidden]{display:none}.contents__list{flex-direction:column;gap:4px;padding-left:24px;display:flex;position:relative}.contents__list:before,.contents__list:after{content:"";width:1px;position:absolute;top:12px;left:5px}.contents__list:before{background:var(--rule);bottom:12px}.contents__list:after{height:var(--menu-fill,0px);background:var(--mint)}.contents__list a{font-family:var(--mono);letter-spacing:.04em;color:var(--muted);padding:4px 0;font-size:12px;line-height:16px;text-decoration:none;display:block;position:relative}.contents__list a:hover,.contents__list a[aria-current=location]{color:var(--text)}.contents__list a[aria-current=location]:after{content:" ←"}.contents__node{border:1px solid var(--dim);background:var(--panel);width:11px;height:11px;position:absolute;top:6px;left:-24px}.contents__list a.is-reached .contents__node{border-color:var(--mint);background:var(--mint)}.contents__main{display:none}@media (width<=899px){.bar,.bar.is-compact{height:72px}.bar__inner{gap:12px;padding:0 20px 0 19.6px}.bar__drip,.bar.is-compact .bar__drip{top:40px;left:21px}.bar__home{gap:12px;min-height:44px}.bar__mark,.bar.is-compact .bar__mark{width:32px;height:27.13px}.bar__name,.bar.is-compact .bar__name{font-size:20px;line-height:28px;display:inline}.bar__crumb,.bar__nav,.bar__book,.bar.is-compact .bar__section{display:none}.bar__menu{border:1px solid var(--rule);width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;margin-left:auto;padding:0;display:flex}.bar__menu[aria-expanded=true]{border-color:var(--mint)}.bar__rule{left:46px;right:20px}.bar__tick,.bar.is-compact .bar__tick{opacity:0}.contents{width:auto;top:calc(100% + 8px);left:20px;right:20px}.contents__main{border-top:1px solid var(--rule);flex-direction:column;margin-top:16px;padding-top:8px;display:flex}.contents__main a{align-items:center;height:44px;font-size:16px;text-decoration:none;display:flex}.contents__main a.contents__book{color:var(--mint);font-weight:600}.bar--stage .bar__book{height:40px;margin-left:auto;padding:0 12px;font-size:14px;display:inline-flex}.bar--stage .bar__menu{margin-left:8px}}@media (width<=379px){.bar--stage .bar__name{font-size:18px}}.signoff{--sig-delay:0s;flex:none;height:320px;position:relative}.signoff__svg{display:block;position:absolute;top:0;left:0;overflow:visible}.signoff__svg--m{display:none}.signoff__out{background:var(--rule);height:1px;position:absolute;top:159.5px;left:397.8px;right:6px}.signoff__outfill{background:var(--mint);transform-origin:0;position:absolute;inset:0}.signoff__end{background:var(--mint);width:6px;height:6px;position:absolute;top:157px;right:0}.signoff__text{position:absolute;top:110px;left:432px;right:0}.signoff__tag{font-family:var(--serif);letter-spacing:-.01em;font-size:32px;font-style:italic;line-height:40px}.signoff__meta{flex-wrap:wrap;justify-content:space-between;column-gap:32px;margin-top:26px;display:flex}.signoff__links{flex-wrap:wrap;justify-content:flex-end;column-gap:24px;margin-top:8px;font-size:14px;display:flex}.signoff__links a{height:40px;color:var(--mint);text-underline-offset:4px;align-items:center;display:flex}.sig-path{stroke-dasharray:1;stroke-dashoffset:0}.sig-ghost{opacity:0}html.motion .signoff:not(.is-signed) .sig-path{stroke-dashoffset:1px}html.motion .signoff:not(.is-signed) .sig-ghost{opacity:1}html.motion .signoff:not(.is-signed) .signoff__outfill{transform:scaleX(0)}html.motion .signoff:not(.is-signed) .signoff__end{background:var(--rule)}@keyframes sig-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes sig-out{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.signoff.is-signing .sig-in{animation:sig-draw .7s var(--ease) var(--sig-delay) both}.signoff.is-signing .sig-pen{animation:sig-draw 1s var(--ease) calc(.7s + var(--sig-delay)) both}.signoff.is-signing .sig-hook{animation:sig-draw .45s var(--ease) calc(1.5s + var(--sig-delay)) both}.signoff.is-signing .sig-bar{animation:sig-draw .3s var(--ease) calc(1.65s + var(--sig-delay)) both}.signoff.is-signing .signoff__outfill{animation:sig-out .8s var(--ease) calc(1.7s + var(--sig-delay)) both}.signoff.is-signing .signoff__end{transition:background-color .3s var(--ease) calc(2.3s + var(--sig-delay))}.signoff.is-signing .sig-ghost{transition:opacity .3s var(--ease) calc(2.4s + var(--sig-delay))}.signoff--stage{z-index:2;pointer-events:none;opacity:0;height:auto;min-height:0;transition:opacity .4s var(--ease);--sig-delay:.4s;--sig-line:92px;--sig-mark:96px;--sig-words:128px;padding:0;display:none;position:absolute;inset:0}.signoff--stage .signoff__in{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.signoff--stage .signoff__mark{left:var(--content-x);bottom:calc(var(--sig-line) - var(--sig-mark) * .2862);width:var(--sig-mark);height:auto;display:block;position:absolute}.signoff--stage .signoff__out{left:calc(var(--content-x) + var(--sig-mark) * .9927);right:calc(var(--right) + 6px);top:auto;bottom:calc(var(--sig-line) - .5px)}.signoff--stage .signoff__end{right:var(--right);top:auto;bottom:calc(var(--sig-line) - 3px)}.signoff--stage .signoff__tag,.signoff--stage .signoff__name{left:calc(var(--content-x) + var(--sig-words));position:absolute}.signoff--stage .signoff__tag{bottom:calc(var(--sig-line) + 12px);font-size:24px;line-height:32px}.signoff--stage .signoff__name{bottom:calc(var(--sig-line) - 28px);font-size:11px}@media (width<=899px){.signoff--stage{--sig-line:108px;--sig-mark:64px;--sig-words:80px}.signoff--stage .signoff__tag{right:var(--right);bottom:calc(var(--sig-line) + 8px);font-size:18px;line-height:24px}.signoff--stage .signoff__name{bottom:calc(var(--sig-line) - 24px)}}@media (width<=1199px){.signoff__meta{flex-direction:column;row-gap:8px}.signoff__links{justify-content:flex-start}.signoff{height:auto;min-height:320px;padding-bottom:64px}.signoff__text{margin:110px 0 0 432px;position:relative;top:auto;left:auto}}@media (width<=899px){.signoff{min-height:392px;padding:0 20px 64px 48px}.signoff__svg--d{display:none}.signoff__svg--m{display:block}.signoff__out{top:95.5px;left:143.6px;right:26px}.signoff__end{top:93px;right:20px}.signoff__text{margin:144px 0 0}.signoff__tag{font-size:24px;line-height:32px}.signoff__meta{row-gap:4px;margin-top:16px;font-size:11px}.signoff__links{margin-top:8px}.signoff__links a{height:44px}}.page{z-index:1;max-width:var(--page-max);min-height:calc(100vh - var(--bar-top));padding:0 var(--gutter);flex-direction:column;margin:0 auto;display:flex;position:relative}@media (width<=899px){.page{padding:0}}
