.book{--paper:#fdfdfc;--paper-edge:#e4e4e7;--desk:#f4f4f5;--pencil:#3f3f46;--pencil-soft:#71717a;--book-size:18px;--book-margin:clamp(24px,calc((100vw - 600px - 360px) / 2),240px);background:var(--desk);min-height:100vh}.book-page{width:min(100% - 32px,calc(600px + 2 * var(--book-margin)));padding:0 var(--book-margin) 5rem;background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .3 0 0 0 0 .3 0 0 0 0 .3 0 0 0 .04 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");border-radius:2px 4px 4px 2px;box-shadow:1px 1px 0 var(--paper-edge),2px 2px 0 var(--paper),3px 3px 0 var(--paper-edge),4px 4px 0 var(--paper),5px 5px 0 #d4d4d8,0 0 0 1px rgba(24,24,27,.05),0 2px 3px rgba(24,24,27,.05),0 24px 48px -20px rgba(24,24,27,.28)}.book-column,.book-page{position:relative;margin:0 auto}.book-column{max-width:600px}@media (min-width:768px) and (max-width:1179px){.book{--book-margin:40px}.book-page{margin-left:160px;margin-right:24px;width:auto}}@media (max-width:640px){.book{--book-margin:20px}.book-page{width:100%;border-radius:0;box-shadow:none}}.book-title-page{min-height:62vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-block:4rem 3rem}.book-author{font-family:FramaText,sans-serif;font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:1.25rem}.book-title{font-family:Frama,sans-serif;font-weight:400;font-size:clamp(2.25rem,6vw,3.25rem);line-height:1.05;letter-spacing:-.02em;color:var(--ink);text-wrap:balance;max-width:14ch}.book-ornament{font-family:Kyoto,serif;font-size:1.5rem;color:var(--faint);margin:2rem 0 1.5rem}.book-meta{font-family:FramaText,sans-serif;font-size:.75rem;color:var(--muted)}.book-contents{border-top:1px solid var(--paper-edge);border-bottom:1px solid var(--paper-edge);padding-block:2.5rem;margin-bottom:2rem}.book-contents-label{font-family:FramaText,sans-serif;font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);text-align:center;margin-bottom:1.5rem}.book-contents ol{list-style:none;max-width:22rem;margin:0 auto}.book-contents a{display:grid;grid-template-columns:2.25rem 1fr;align-items:baseline;padding:.4rem 0;font-family:Frama,sans-serif;font-size:1rem;color:var(--ink);text-decoration:none;border-radius:4px}.book-contents a:hover .book-contents-title{text-decoration:underline;text-decoration-color:var(--faint);text-underline-offset:3px}.book-contents-num{font-family:FramaText,sans-serif;font-size:.75rem;letter-spacing:.08em;color:var(--muted)}.book-head{--paper:#fdfdfc;--paper-edge:#e4e4e7;--book-margin:clamp(24px,calc((100vw - 600px - 360px) / 2),240px);position:fixed;top:0;left:0;right:0;z-index:90;opacity:0;pointer-events:none;transition:opacity .2s ease-out}.book-head.is-visible{opacity:1;pointer-events:auto}.book-head-inner{height:40px;width:min(100% - 32px,calc(600px + 2 * var(--book-margin)));margin:0 auto;padding-inline:var(--book-margin);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;background:var(--paper);box-shadow:-1px 0 0 rgba(24,24,27,.05),1px 0 0 rgba(24,24,27,.05);font-family:FramaText,sans-serif;font-size:.6875rem;color:var(--muted)}.book-head-inner:after{content:"";grid-column:1/-1;grid-row:1;align-self:end;height:1px;background:var(--paper-edge)}.book-head-title{font-family:Frama,sans-serif;font-size:.8125rem;color:var(--ink)}.book-head-chapter,.book-head-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.book-head-chapter{font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;max-width:22ch}.book-head-right{justify-self:end;display:flex;align-items:center;gap:12px}.book-folio{font-family:Frama,sans-serif;font-size:.8125rem;color:var(--ink)}.book-size{display:flex;align-items:baseline;gap:1px}.book-size button{all:unset;cursor:pointer;font-family:Frama,sans-serif;line-height:1;padding:5px;border-radius:5px;color:var(--muted)}.book-size button:hover{color:var(--ink)}.book-size button[aria-pressed=true]{color:var(--ink);background:rgba(0,0,0,.05)}.book-size button:focus-visible{outline:2px solid var(--ink);outline-offset:1px}@media (min-width:768px) and (max-width:1179px){.book-head{--book-margin:40px}.book-head-inner{margin-left:160px;margin-right:24px;width:auto}}@media (max-width:640px){.book-head{--book-margin:16px}.book-head-inner{width:100%;grid-template-columns:1fr auto}.book-head-title{display:none}.book-head-chapter{justify-self:start}}.prose.prose-book{counter-reset:chapter;font-size:var(--book-size)}.prose-book p{font-family:Kyoto,serif;font-size:1em;line-height:1.62;color:var(--ink);margin:0;text-align:justify;hyphens:auto;-webkit-hyphens:auto;hanging-punctuation:first}.prose-book p+p{text-indent:1.5em}.prose-book .chapter{font-family:Frama,sans-serif;font-weight:400;font-size:1.75em;line-height:1.15;text-align:center;color:var(--ink);margin:5em 0 1.75em;padding-top:3em;border-top:1px solid var(--paper-edge);text-wrap:balance;scroll-margin-top:64px;letter-spacing:-.01em}.prose-book .chapter:first-child{margin-top:2em;border-top:0;padding-top:1em}.prose-book .chapter.numbered{counter-increment:chapter}.prose-book .chapter.numbered:before{content:"Chapter " counter(chapter,upper-roman);display:block;font-family:FramaText,sans-serif;font-size:.75rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}.prose-book .chapter+p{text-indent:0}.prose-book .chapter+p:first-letter{float:left;font-family:Frama,sans-serif;font-weight:900;font-size:3.4em;line-height:.8;padding:.06em .1em 0 0;color:var(--ink)}.prose-book .chapter+p:first-line{font-variant-caps:small-caps;letter-spacing:.03em}.prose-book .book-subhead{font-family:Frama,sans-serif;font-weight:400;font-size:1.15em;text-align:center;color:var(--ink);margin:3em 0 1.25em;scroll-margin-top:64px}.prose-book .book-section+p,.prose-book .book-subhead+p,.prose-book pre+p{text-indent:0}.prose-book .book-section{font-family:Frama,sans-serif;font-size:1em;font-weight:400;text-align:center;color:var(--muted);letter-spacing:.08em;margin:2.25em 0 1em}.prose-book pre{border:0;margin:1.25em 2em;overflow:visible}.prose-book pre,.prose-book pre code{background:transparent;padding:0;white-space:normal}.prose-book pre code{font-family:Kyoto,serif;font-style:italic;font-size:.92em;line-height:1.6;color:var(--muted)}.prose-book em{font-style:italic}.prose-book a{color:inherit}.book-end{text-align:center;font-family:Kyoto,serif;font-size:1.5rem;color:var(--faint);margin-top:4rem}@media (max-width:520px){.prose-book p{text-align:left}.prose-book pre{margin-inline:1em}}.prose-book .annotation-highlight{background-color:transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='4'%3E%3Cpath d='M0 2.2 Q3.5 1.2 7 2.1 T14 2' fill='none' stroke='%233f3f46' stroke-opacity='.62' stroke-width='1.05' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:repeat-x;background-position:0 100%;background-size:14px 4px;padding:0 0 2px;border-radius:1px;-webkit-box-decoration-break:clone;box-decoration-break:clone;cursor:pointer;transition:background-color .15s ease-out}.prose-book .annotation-highlight.is-active,.prose-book .annotation-highlight:hover{background-color:rgba(255,237,74,.4)}.prose-book .annotation-highlight[data-note]:after{content:attr(data-note);font-family:FramaText,sans-serif;font-size:.55em;font-style:normal;font-variant:normal;letter-spacing:0;vertical-align:.8em;line-height:0;margin-left:.12em;color:var(--pencil-soft)}.prose-book .annotation-highlight.is-active[data-note]:after{color:var(--pencil)}.book-margins{position:absolute;inset:0;pointer-events:none}.book-note{all:unset;box-sizing:border-box;pointer-events:auto;position:absolute;width:calc(var(--book-margin) - 52px);display:block;cursor:pointer;font-family:Kyoto,serif;font-style:italic;font-size:13px;line-height:1.45;color:var(--pencil-soft);transition:color .15s ease-out;transform-origin:top left}.book-note.side-right{left:calc(100% + 32px)}.book-note.side-left{right:calc(100% + 32px);text-align:right;transform-origin:top right}.book-note.is-active,.book-note:hover{color:var(--pencil)}.book-note.is-error,.book-note.is-error:hover{color:#b42318}.book-note:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:2px}.book-note-n{font-family:FramaText,sans-serif;font-style:normal;font-size:10px;vertical-align:.45em;margin-right:4px}.book-note-text{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.book-note-q{font-size:11px}.book-note-more,.book-note-q{font-style:normal;font-family:FramaText,sans-serif}.book-note-more{display:block;margin-top:2px;font-size:10px;color:var(--pencil-soft)}.book-slip{z-index:60;background:#f4f4f5;border:0;border-radius:16px;box-shadow:0 0 0 4px hsla(0,0%,100%,.9),0 18px 40px -18px rgba(24,24,27,.3);padding:14px 16px 16px;font-size:13px}.book-slip.is-margin{position:absolute;width:320px;pointer-events:auto;max-height:70vh;overflow:auto}.book-slip.is-margin.side-right{left:calc(100% + 24px)}.book-slip.is-margin.side-left{right:calc(100% + 24px)}.book-slip.is-sheet{position:fixed;left:12px;right:12px;bottom:12px;max-height:60vh;overflow:auto}.book-slip-head{display:flex;align-items:center;justify-content:space-between;font-family:FramaText,sans-serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--pencil-soft);margin-bottom:6px}.book-slip-head button{all:unset;cursor:pointer;font-size:18px;line-height:1;padding:2px 6px;border-radius:4px;color:var(--pencil-soft)}.book-slip-head button:hover{color:var(--ink)}.book-slip-head button:focus-visible{outline:2px solid var(--ink)}.book-slip .rounded-lg{background:transparent!important;padding:0!important}@media (prefers-reduced-motion:reduce){.book-note,.book-slip{rotate:0deg!important}}.book-slip .leading-5{font-family:Kyoto,serif;font-size:14px;line-height:1.55;color:var(--ink)}.book-slip .italic.leading-5{font-style:italic;color:var(--pencil)}