.book-home{--book-gutter: clamp(16px, 2.1vw, 32px);--book-page-gutter: clamp(20px, 5vw, 76px);--book-grid-max: var(--fresh-grid-max-width, 1440px);--book-edge: max( var(--book-page-gutter), calc((100vw - var(--book-grid-max)) / 2 + var(--book-page-gutter)) );overflow:clip;background:var(--lab-ink);color:var(--lab-paper)}.book-cover{border-bottom:1px solid var(--book-rule-strong)}.book-cover-title{position:relative;display:flex;min-height:clamp(300px,49vh,540px);align-items:center}.book-cover-composite{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;isolation:isolate}.book-cover-wordmark{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:clamp(8px,1.2vw,18px);margin:0;padding-inline:var(--book-edge);color:var(--lab-rind);font-family:var(--font-sans);filter:blur(1px);-webkit-mask-image:repeating-linear-gradient(to bottom,#000 0 2px,transparent 2px 5px);mask-image:repeating-linear-gradient(to bottom,#000 0 2px,transparent 2px 5px);-webkit-mask-size:100% 5px;mask-size:100% 5px;text-transform:uppercase;pointer-events:none}.book-cover-wordmark-small,.book-cover-wordmark-large{display:block;max-width:100%;white-space:nowrap}.book-cover-wordmark-small{font-size:clamp(42px,7.4vw,106px);font-variation-settings:"opsz" 60,"wght" 710;letter-spacing:-.055em;line-height:.78}.book-cover-wordmark-large{margin-left:-.055em;font-size:clamp(94px,19.2vw,276px);font-variation-settings:"opsz" 72,"wght" 760;letter-spacing:-.075em;line-height:.72}.book-cover-ascii{position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;overflow:hidden}.book-cover-ascii-field{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.92}.book-cover-ascii-field canvas{display:block;width:100%;height:100%}.book-folio,.book-margin-note,.book-part-overview--intro>small,.book-part-chapters>li>span,.book-part-chapters>li>em,.book-purchase-label,.book-purchase-terms,.book-purchase-status{font-family:var(--font-mono);font-size:11px;font-variation-settings:"wght" 570;letter-spacing:.09em;line-height:1.45;text-transform:uppercase}.book-folio{margin:0;color:var(--lab-rind)}.book-margin-note{grid-column:1 / 3;display:flex;flex-direction:column;gap:8px;color:var(--lab-muted)}.book-margin-note>span:first-child{color:var(--lab-rind);font-variation-settings:"wght" 640}.book-margin-author{display:flex;flex-direction:column;gap:14px}.book-margin-author img{width:56px;height:56px;border:1px solid var(--book-rule-strong);filter:grayscale(1);object-fit:cover}.book-intro,.book-parts,.book-faq,.book-early-access{padding-inline:var(--book-edge)}.book-intro{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--book-gutter);padding-top:clamp(88px,12vw,168px);padding-bottom:clamp(96px,13vw,184px);border-bottom:1px solid var(--book-rule-strong)}.book-intro-copy{grid-column:4 / 10;width:100%;max-width:730px}.book-intro-copy h2,.book-parts-heading h2,.book-faq-heading h2,.book-early-access h2{margin:0;color:var(--lab-paper);font-size:clamp(42px,5.8vw,80px);font-variation-settings:"opsz" 60,"wght" 690;letter-spacing:-.04em;line-height:.96;text-wrap:balance}.book-parts-heading .book-folio+h2,.book-faq-heading .book-folio+h2{margin-top:18px}.book-intro-copy>p:not(.book-folio),.book-part-prose>p,.book-early-access-copy>p:not(.book-folio),.book-parts-heading>p:not(.book-folio){color:var(--lab-muted);font-size:16px;font-variation-settings:"opsz" 20,"wght" 430;line-height:1.72;text-wrap:pretty}.book-parts-heading>p:not(.book-folio),.book-early-access-copy>p:not(.book-folio){text-wrap:balance}.book-intro-copy>p:not(.book-folio){max-width:68ch;margin:20px 0 0}.book-intro-copy>p.book-intro-lede{margin-top:38px;color:var(--lab-paper);font-size:clamp(20px,2.2vw,26px);font-variation-settings:"opsz" 30,"wght" 480;letter-spacing:-.015em;line-height:1.45;text-wrap:balance}.book-intro-cta{margin-top:40px}.book-intro-cta svg{transform:rotate(90deg)}.book-text-action{display:inline-flex;align-items:center;gap:12px;margin-top:40px;padding-bottom:7px;border-bottom:1px solid var(--lab-rind);color:var(--lab-paper);font-family:var(--font-mono);font-size:11px;font-variation-settings:"wght" 620;letter-spacing:.09em;text-decoration:none;text-transform:uppercase}.book-text-action svg{width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-linecap:square;stroke-width:1.5;transition:transform .24s cubic-bezier(.16,1,.3,1)}.book-text-action:hover{color:var(--lab-rind)}.book-text-action:hover svg{transform:translate(5px)}.book-parts{padding-top:clamp(96px,13vw,184px);padding-bottom:clamp(96px,13vw,184px);border-bottom:1px solid var(--book-rule-strong)}.book-parts-heading{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--book-gutter);padding-bottom:clamp(72px,9vw,120px)}.book-parts-heading>*{grid-column:4 / 10}.book-parts-heading h2{max-width:760px;font-size:clamp(38px,5vw,68px)}.book-parts-heading>p:not(.book-folio){max-width:62ch;margin:28px 0 0}.book-part-overview{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));min-height:clamp(420px,42vw,620px);align-content:center;column-gap:var(--book-gutter);padding:clamp(72px,8vw,112px) 0;overflow:clip;border-top:1px solid var(--book-rule-strong);scroll-margin-top:72px}.book-part-identity,.book-part-prose,.book-part-chapters{position:relative;z-index:1}.book-part-identity{grid-column:1 / 4;align-self:start}.book-part-identity>strong{font-family:var(--font-mono);font-size:11px;font-variation-settings:"wght" 570;letter-spacing:.09em;line-height:1.45;text-transform:uppercase}.book-part-identity>strong>span:first-child{color:var(--lab-muted)}.book-part-identity>strong>span:last-child{color:var(--lab-rind)}.book-part-identity>em{max-width:25ch;margin-top:12px;color:var(--lab-muted);font-size:13px;font-style:normal;font-variation-settings:"opsz" 16,"wght" 450;line-height:1.5;text-wrap:balance}.book-part-prose{grid-column:4 / 9;max-width:650px}.book-part-prose h3{margin:0 0 30px;color:var(--lab-paper);font-size:clamp(31px,3.6vw,48px);font-variation-settings:"opsz" 52,"wght" 650;letter-spacing:-.035em;line-height:1.02;text-wrap:balance}.book-part-prose>p{max-width:65ch;margin:0}.book-part-prose>p+p{margin-top:18px}.book-part-illustration{--book-part-illustration-opacity: .92;position:absolute;z-index:0;top:-14%;left:66.666%;right:-3%;bottom:-18%;display:grid;place-items:center;opacity:0;color:var(--lab-rind);pointer-events:none;transition:opacity .52s cubic-bezier(.25,1,.5,1)}.book-part-illustration[data-active]{opacity:var(--book-part-illustration-opacity)}.book-part-kinegram{width:min(155%,620px);aspect-ratio:1;overflow:hidden;opacity:0;pointer-events:auto}.book-part-kinegram[data-ready]{opacity:1}.book-part-illustration:not([data-active]) .book-part-kinegram{pointer-events:none}.book-part-kinegram canvas{display:block;width:100%;height:100%}.book-part-illustration--1 .book-part-kinegram{width:min(170%,680px);transform:translate(14%,4%)}.book-part-illustration--2 .book-part-kinegram{transform:translate(4%,26%)}.book-part-illustration--3 .book-part-kinegram{width:min(165%,660px);transform:translate(12%,22%)}.book-part-illustration--4 .book-part-kinegram{width:min(145%,580px);transform:translate(5%,16%)}.book-part-chapters{grid-column:9 / -1;align-self:start;margin:0;padding:0;border-top:1px solid var(--book-rule-strong);list-style:none}.book-part-chapters>li{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;min-height:48px;align-items:center;border-bottom:1px solid var(--book-rule)}.book-part-chapters>li>span,.book-part-chapters>li>em{color:var(--lab-muted);font-style:normal}.book-part-chapters>li>:is(a,strong){color:var(--lab-paper);font-size:14px;font-variation-settings:"opsz" 18,"wght" 540;line-height:1.3;text-decoration:none;text-wrap:pretty}.book-part-chapters>li>a:hover{color:var(--lab-rind)}.book-part-chapters>li:has(a)>em{color:var(--lab-rind)}.book-part-overview--intro{padding:32px 0}.book-part-overview--intro>small{grid-column:1 / 4;align-self:center;color:var(--lab-muted)}.book-part-overview--intro .book-part-chapters{grid-column:4 / -1;margin-top:0;border-top:0}.book-part-overview--intro .book-part-chapters>li:last-child{border-bottom:0}.book-faq{padding-top:clamp(96px,13vw,184px);padding-bottom:clamp(96px,13vw,184px);border-bottom:1px solid var(--book-rule-strong)}.book-faq-heading{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--book-gutter)}.book-faq-heading>*{grid-column:4 / 10}.book-faq-heading h2{font-size:clamp(38px,5vw,68px)}.book-faq-table{margin-top:clamp(56px,7vw,88px)}.book-faq-table table{width:100%;border-collapse:collapse;border-top:1px solid var(--book-rule-strong);table-layout:fixed}.book-faq-table caption{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.book-faq-table .fresh-faq-col-index{width:72px}.book-faq-table .fresh-faq-col-question{width:34%}.book-faq-table :is(th,td){padding:22px 18px;border-bottom:1px solid var(--book-rule);text-align:left;vertical-align:top}.book-faq-table thead th{color:var(--lab-muted);font-family:var(--font-mono);font-size:11px;font-variation-settings:"wght" 560;letter-spacing:.1em;text-transform:uppercase}.book-faq-table tbody>tr>td:first-child{color:var(--lab-rind)}.book-faq-table .fresh-faq-index{font-family:var(--font-mono);font-size:11px;font-variation-settings:"wght" 620;letter-spacing:.09em}.book-faq-table tbody th{color:var(--lab-paper);font-size:18px;font-variation-settings:"opsz" 28,"wght" 620;letter-spacing:-.015em;line-height:1.3;text-wrap:balance}.book-faq-table tbody td:last-child{max-width:70ch;color:var(--lab-muted);font-size:15px;font-variation-settings:"opsz" 20,"wght" 430;line-height:1.65;text-wrap:pretty}.book-early-access{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--book-gutter);padding-top:clamp(88px,11vw,152px);padding-bottom:clamp(88px,11vw,152px);background:var(--lab-rind);color:var(--lab-ink)}.book-early-access .book-margin-note{color:color-mix(in oklch,var(--lab-ink) 65%,transparent)}.book-early-access .book-margin-note>span:first-child,.book-early-access .book-folio{color:var(--lab-ink)}.book-early-access-copy{grid-column:4 / 9}.book-early-access h2{max-width:700px;color:var(--lab-ink);font-size:clamp(38px,5vw,68px)}.book-early-access-copy>p:not(.book-folio){max-width:58ch;margin:26px 0 0;color:color-mix(in oklch,var(--lab-ink) 78%,transparent)}.book-updates{scroll-margin-top:72px}.book-updates .fresh-newsletter-form{--foreground: var(--lab-ink);--footer-accent: var(--lab-ink);--footer-action-foreground: var(--lab-paper);max-width:560px;margin-top:44px}.book-early-access-copy ul{display:grid;gap:10px;margin:30px 0 0;padding:0;color:var(--lab-ink);font-size:14px;font-variation-settings:"opsz" 18,"wght" 520;line-height:1.5;list-style:none}.book-early-access-copy li:before{content:"→";display:inline-block;width:26px;font-family:var(--font-mono)}.book-early-access-copy li{text-wrap:pretty}.book-purchase{grid-column:9 / -1;align-self:start;display:flex;flex-direction:column;padding:24px;border:1px solid var(--lab-ink)}.book-purchase-label,.book-purchase-terms,.book-purchase-status{color:color-mix(in oklch,var(--lab-ink) 72%,transparent)}.book-purchase-price{display:flex;gap:16px;align-items:baseline;margin-top:28px}.book-purchase-price s{color:color-mix(in oklch,var(--lab-ink) 56%,transparent);font-size:24px;font-variation-settings:"opsz" 34,"wght" 520;text-decoration-thickness:1px}.book-purchase-price strong{color:var(--lab-ink);font-size:clamp(58px,7vw,92px);font-variation-settings:"opsz" 72,"wght" 700;letter-spacing:-.045em;line-height:.9}.book-purchase-terms{margin-top:12px}.book-purchase-action{--fresh-primary-background: var(--lab-ink);--fresh-primary-foreground: var(--lab-paper);width:100%;margin-top:40px}.book-purchase-status{min-height:3em;margin:16px 0 0;text-transform:none;text-wrap:pretty}.book-colophon{display:grid;grid-template-columns:1fr auto auto;gap:32px;align-items:center;min-height:74px;padding:0 var(--book-edge);color:var(--lab-muted);font-family:var(--font-mono);font-size:11px;font-variation-settings:"wght" 560;letter-spacing:.08em;text-transform:uppercase}.book-colophon-mark,.book-colophon a:not(.book-colophon-mark){color:var(--lab-paper);text-decoration:none}.book-colophon-mark{font-variation-settings:"wght" 660;letter-spacing:.1em}.book-text-action:focus-visible,.book-part-chapters a:focus-visible,.book-colophon a:focus-visible{outline:2px solid currentColor;outline-offset:4px}@media(max-width:1080px){.book-intro-copy,.book-parts-heading>*,.book-faq-heading>*,.book-early-access-copy{grid-column:4 / -1}.book-part-prose{grid-column:4 / -1}.book-part-illustration{right:-10%}.book-part-chapters{grid-column:4 / -1;margin-top:40px}.book-early-access-copy{padding-right:24px}.book-purchase{grid-column:4 / -1;margin-top:48px}}@media(max-width:700px){.book-cover-title{min-height:300px}.book-intro,.book-parts-heading,.book-faq-heading,.book-part-overview,.book-early-access{grid-template-columns:1fr}.book-margin-note,.book-intro-copy,.book-parts-heading>*,.book-faq-heading>*,.book-part-identity,.book-part-prose,.book-part-chapters,.book-part-overview--intro>small,.book-part-overview--intro .book-part-chapters,.book-early-access-copy,.book-purchase{grid-column:1}.book-margin-note{flex-direction:row;justify-content:space-between;margin-bottom:48px}.book-intro-copy h2,.book-parts-heading h2,.book-faq-heading h2,.book-early-access h2{font-size:clamp(38px,12vw,54px)}.book-intro-copy>.book-intro-lede{font-size:20px}.book-parts-heading{padding-bottom:72px}.book-part-overview{min-height:560px;row-gap:48px}.book-part-illustration{--book-part-illustration-opacity: .42;top:16%;left:46%;right:-48%;bottom:-10%}.book-part-prose h3{font-size:clamp(30px,9vw,42px)}.book-part-chapters{margin-top:0}.book-part-chapters>li{grid-template-columns:34px minmax(0,1fr)}.book-part-chapters>li>em{display:none}.book-faq-table colgroup,.book-faq-table thead{display:none}.book-faq-table :is(table,tbody,tr,th,td){display:block;width:100%}.book-faq-table tbody tr{position:relative;padding:22px 0 22px 42px;border-bottom:1px solid var(--book-rule)}.book-faq-table :is(th,td){padding:0;border:0}.book-faq-table tbody>tr>td:first-child{position:absolute;top:24px;left:0;width:30px}.book-faq-table tbody th{font-size:17px}.book-faq-table tbody td:last-child{margin-top:12px;font-size:14px}.book-early-access-copy{padding-right:0}.book-purchase{margin-top:48px}.book-colophon{grid-template-columns:1fr;gap:10px;padding-top:24px;padding-bottom:24px}}@media(prefers-reduced-motion:reduce){.book-part-illustration{transition:none}.book-text-action svg{transition:none}}.book-app{--book-reader-field-ink: oklch(.145 .01 148);--book-reader-field-paper: oklch(.94 .008 96);--book-reader-field-muted: oklch(.69 .012 148);--book-reader-field-line: oklch(.31 .012 148);--book-rule: var(--fresh-line);--book-rule-strong: var(--fresh-line);--fresh-accent: var(--lab-rind);--fresh-body-font: var(--font-sans);min-height:100vh;background:var(--fresh-ink);color:var(--fresh-paper)}.book-app[data-mode=dark]{color-scheme:dark}.book-app[data-mode=light],.book-app[data-mode=light] .fresh-system{--lab-ink: oklch(.97 .006 96);--lab-ink-raised: oklch(.995 .003 96);--lab-ink-soft: oklch(.925 .008 96);--lab-paper: oklch(.205 .012 148);--lab-muted: oklch(.45 .014 148);--lab-line: oklch(.84 .01 148);--lab-rind: oklch(.49 .14 155);--lab-ui-paper: oklch(.205 .012 148);color-scheme:light}.book-shell{display:flex;flex-direction:column;min-height:100vh}.book-shell>main{flex:1}.book-shell>.footer{margin-top:clamp(64px,9vw,128px)}.book-site-header{--book-site-gutter: var(--fresh-grid-gutter);position:sticky;z-index:50;top:0;min-height:54px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;column-gap:var(--fresh-grid-gap);padding-inline:max(var(--book-site-gutter),calc((100vw - var(--fresh-grid-max-width, 1440px)) / 2 + var(--book-site-gutter)));border-bottom:1px solid var(--fresh-line);background:var(--fresh-ink);color:var(--fresh-muted);font-family:var(--font-mono);font-size:11px;font-variation-settings:"wght" 560;letter-spacing:.08em;text-transform:uppercase}.book-site-primary{min-width:0;grid-column:1 / 5;display:flex;align-items:center;gap:12px}.book-site-byline{grid-column:6 / 8}.book-site-mark{min-width:0;display:inline-flex;align-items:center;gap:8px;color:var(--fresh-paper);font:inherit;font-variation-settings:"wght" 660;letter-spacing:.1em;text-decoration:none}.book-site-mark svg{flex:none}.book-chapters-menu{position:static;flex:none}.book-chapters-trigger{min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border:0;border-left:1px solid var(--fresh-line);background:transparent;color:var(--fresh-muted);font:inherit;letter-spacing:.09em;text-transform:uppercase;cursor:pointer}.book-chapters-trigger svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.5;transition:transform .22s cubic-bezier(.25,1,.5,1)}.book-chapters-menu[data-open] .book-chapters-trigger{color:var(--fresh-paper)}.book-chapters-menu[data-open] .book-chapters-trigger svg{transform:rotate(180deg)}.book-chapters-panel{position:absolute;z-index:60;top:100%;left:max(var(--book-site-gutter),calc((100vw - var(--fresh-grid-max-width, 1440px)) / 2 + var(--book-site-gutter)));width:min(360px,calc(100vw - var(--book-site-gutter) * 2));max-height:calc(100dvh - var(--book-reader-topbar, 55px) - 16px);overflow:hidden;border:1px solid var(--fresh-line);border-top:0;background:var(--fresh-ink);color:var(--fresh-paper);clip-path:inset(0 0 100% 0);visibility:hidden;pointer-events:none;transition:clip-path .34s cubic-bezier(.25,1,.5,1),visibility .34s}.book-chapters-menu[data-open] .book-chapters-panel{clip-path:inset(0 0 0 0);visibility:visible;pointer-events:auto}.book-chapters-panel-meta{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-inline:14px;border-bottom:1px solid var(--fresh-line);color:var(--fresh-muted);font:inherit;letter-spacing:inherit}.book-chapters-panel-meta span{color:inherit;font:inherit;letter-spacing:inherit}.book-chapters-nav{max-height:calc(100dvh - var(--book-reader-topbar, 55px) - 61px);overflow-x:hidden;overflow-y:auto;border:0;letter-spacing:normal;text-transform:none}.book-chapters-nav>.fresh-article-nav-compact-bar{display:none}.book-chapters-nav>.fresh-article-nav-body{position:static;max-height:none;overflow:visible;border:0;background:transparent;clip-path:none;visibility:visible;transition:none}.book-chapters-nav .fresh-article-nav-groups{padding:22px 18px 28px}.book-site-early-access{--fresh-primary-background: var(--fresh-accent);--fresh-primary-foreground: var(--fresh-ink);grid-column:11 / -1;justify-self:end;min-height:34px;padding:0 12px}.book-site-early-access svg{transform:rotate(90deg)}.book-site-mark:hover,.book-chapters-trigger:hover{color:var(--fresh-accent)}.book-site-mark:focus-visible,.book-chapters-trigger:focus-visible,.book-site-early-access:focus-visible{outline:2px solid var(--fresh-accent);outline-offset:3px}.book-shell--reading{--book-reader-topbar: 55px}@media(max-width:1199px){.book-site-header{grid-template-columns:minmax(0,1fr) auto;column-gap:16px}.book-site-primary{grid-column:1}.book-site-header>span{display:none}.book-site-early-access{grid-column:2}}@media(max-width:640px){.book-site-header{min-height:48px;gap:12px}.book-site-mark span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-site-early-access{min-height:32px;padding-inline:9px;letter-spacing:.06em}.book-chapters-trigger{min-height:40px;padding-inline:10px}.book-chapters-panel{max-height:calc(100dvh - 61px)}.book-chapters-nav{max-height:calc(100dvh - 106px)}.book-shell--reading{--book-reader-topbar: 49px}}@media(prefers-reduced-motion:reduce){.book-chapters-panel,.book-chapters-trigger svg{transition-duration:0s}}.book-landing{display:block}.book-section{padding:clamp(64px,9vw,120px) var(--fresh-grid-content-edge) 0}.book-spring-field{display:block;width:100%;height:100%;cursor:pointer}.book-plate{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--fresh-grid-gap);align-items:start;margin-top:clamp(48px,6vw,80px)}.book-plate-aside{position:sticky;top:calc(var(--lab-nav-height, 72px) + 24px);padding-top:24px}.book-plate-kicker{color:var(--lab-muted);font-family:var(--font-mono);font-size:var(--lab-type-min-mono);font-variation-settings:"wght" 580;letter-spacing:.12em;text-transform:uppercase}.book-plate-kicker:before{content:"> ";color:var(--lab-rind)}.book-plate-title{margin:14px 0 0;color:var(--lab-paper);font-size:clamp(22px,2.4vw,30px);font-variation-settings:"opsz" 48,"wght" 680;letter-spacing:-.025em;line-height:1.08;text-wrap:balance}.book-plate-copy{max-width:46ch;margin:14px 0 0;color:var(--lab-muted);font-size:15px;line-height:1.6;text-wrap:pretty}.book-plate-link{display:inline-flex;align-items:center;gap:8px;color:var(--lab-rind);font-family:var(--font-mono);font-size:var(--lab-type-min-mono);font-variation-settings:"wght" 620;letter-spacing:.11em;text-transform:uppercase;text-decoration:none}.book-plate-link:hover{color:var(--lab-paper)}.book-plate-link svg{width:1em;height:1em}.book-plate-aside .book-plate-link{margin-top:18px}.book-plate .book-figure{margin:0}@media(max-width:960px){.book-plate{grid-template-columns:minmax(0,1fr)}.book-plate-aside{position:static;padding-top:0}}.book-toc{margin-top:clamp(40px,5vw,64px);border:1px solid var(--lab-line)}.book-toc-part-header{display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:20px;align-items:baseline;padding:18px 24px;background:var(--lab-ink-raised);border-top:1px solid var(--lab-line)}.book-toc>.book-toc-part-header:first-child{border-top:0}.book-toc-part-numeral{color:var(--lab-rind);font-family:var(--font-mono);font-size:var(--lab-type-min-mono);font-variation-settings:"wght" 640;letter-spacing:.13em;text-transform:uppercase}.book-toc-part-title{margin:0;color:var(--lab-paper);font-size:19px;font-variation-settings:"opsz" 30,"wght" 660;letter-spacing:-.015em}.book-toc-part-theme{color:var(--lab-muted);font-family:var(--font-mono);font-size:var(--lab-type-min-mono);font-variation-settings:"wght" 540;letter-spacing:.1em;text-transform:uppercase}.book-toc-row{position:relative;display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:20px;align-items:baseline;padding:13px 24px;border-top:1px solid color-mix(in srgb,var(--lab-line) 55%,transparent);text-decoration:none}.book-toc-row:hover{background:var(--lab-ink-raised)}.book-toc-num{color:var(--lab-muted);font-family:var(--font-mono);font-size:var(--lab-type-min-mono);font-variation-settings:"wght" 560;letter-spacing:.12em}.book-toc-title{color:var(--lab-paper);font-size:16px;font-variation-settings:"opsz" 30,"wght" 600;letter-spacing:-.01em}.book-toc-oneliner{display:block;margin-top:3px;color:var(--lab-muted);font-size:13px;font-variation-settings:"opsz" 14,"wght" 440;letter-spacing:0;line-height:1.45;text-wrap:pretty}.book-toc-status{color:var(--lab-muted);font-family:var(--font-mono);font-size:var(--lab-type-min-mono);font-variation-settings:"wght" 560;letter-spacing:.11em;text-transform:uppercase}.book-toc-row:hover .book-toc-status{color:var(--lab-rind)}@media(max-width:700px){.book-toc-part-header,.book-toc-row{grid-template-columns:56px minmax(0,1fr)}.book-toc-part-theme,.book-toc-status{display:none}}.book-skeleton{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;margin-top:clamp(40px,5vw,64px);border:1px solid var(--lab-line);background:var(--lab-line)}.book-skeleton-cell{display:flex;flex-direction:column;gap:10px;min-height:150px;padding:18px;background:var(--lab-ink)}.book-skeleton-step{color:var(--lab-rind);font-family:var(--font-mono);font-size:var(--lab-type-min-mono);font-variation-settings:"wght" 620;letter-spacing:.13em;text-transform:uppercase}.book-skeleton-title{margin:auto 0 0;color:var(--lab-paper);font-size:16px;font-variation-settings:"opsz" 30,"wght" 640;letter-spacing:-.01em}.book-skeleton-copy{margin:0;color:var(--lab-muted);font-size:12px;line-height:1.5;text-wrap:pretty}@media(max-width:1100px){.book-skeleton{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.book-skeleton{grid-template-columns:repeat(2,minmax(0,1fr))}}.book-rules{margin-top:clamp(40px,5vw,64px)}.book-author{display:flex;gap:clamp(24px,3vw,40px);align-items:center;margin-top:clamp(40px,5vw,64px);max-width:760px}.book-author img{width:108px;height:108px;object-fit:cover;border:1px solid var(--lab-line)}.book-author-name{margin:0;color:var(--lab-paper);font-size:20px;font-variation-settings:"opsz" 30,"wght" 660;letter-spacing:-.015em}.book-author-bio{max-width:56ch;margin:10px 0 0;color:var(--lab-muted);font-size:15px;line-height:1.6;text-wrap:pretty}@media(max-width:640px){.book-author{flex-direction:column;align-items:flex-start}}.book-ea-frame{--book-ea-stripe: color-mix(in srgb, var(--lab-paper) 10%, transparent);max-width:720px;margin-top:clamp(40px,5vw,64px);padding:10px;background-image:repeating-linear-gradient(var(--dossier-stripe-angle),var(--book-ea-stripe) 0,var(--book-ea-stripe) 1.5px,transparent 1.5px,transparent 8px)}.book-ea-inner{padding:32px 36px 36px;border:1px solid var(--lab-line);background:var(--lab-ink)}.book-ea-terms{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0 0 28px;border:1px solid var(--lab-line);background:var(--lab-line)}.book-ea-terms>div{display:flex;flex-direction:column;gap:8px;padding:14px 16px;background:var(--lab-ink)}.book-ea-terms span{color:var(--lab-muted);font-family:var(--font-mono);font-size:var(--lab-type-min-mono);font-variation-settings:"wght" 560;letter-spacing:.11em;text-transform:uppercase}.book-ea-terms strong{color:var(--lab-rind);font-family:var(--font-mono);font-size:15px;font-variation-settings:"wght" 640;font-weight:400;letter-spacing:.04em}@media(max-width:640px){.book-ea-terms{grid-template-columns:repeat(2,minmax(0,1fr))}.book-ea-inner{padding:20px}}.book-example-embed{margin:32px 0;border:1px solid var(--fresh-line);background:var(--fresh-ink)}.book-example-viewport{position:relative;min-height:clamp(280px,56vw,468px);overflow:hidden;border-bottom:1px solid var(--fresh-line);background:var(--fresh-raised)}.book-example-viewport iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;border:0;background:var(--fresh-raised)}.book-example-rail{min-height:72px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:stretch;color:var(--fresh-muted)}.book-example-meta{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:14px 18px 16px}.book-example-meta>span,.book-example-score>span,.book-example-open{font-family:var(--font-mono);font-size:var(--fresh-min-mono);font-variation-settings:"wght" 620;letter-spacing:.11em;text-transform:uppercase}.book-example-meta>span{color:var(--diagram-box-colour, var(--fresh-accent))}.book-example-meta>strong{overflow:hidden;color:var(--fresh-paper);font-size:16px;font-variation-settings:"opsz" 28,"wght" 640;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap}.book-example-score{min-width:132px;display:grid;grid-template-columns:auto 36px;align-items:center;gap:12px;padding:0 16px;border-left:1px solid var(--fresh-line)}.book-example-score-grade{color:var(--diagram-box-colour, var(--fresh-accent));font-family:var(--font-mono);font-size:28px;font-variation-settings:"wght" 730;line-height:1;text-align:right}.book-example-open{min-width:92px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding-inline:16px;border-left:1px solid var(--fresh-line);color:var(--fresh-paper);text-decoration:none}.book-example-open:hover{background:color-mix(in srgb,var(--diagram-box-colour, var(--fresh-accent)) 12%,transparent);color:var(--diagram-box-colour, var(--fresh-accent))}.book-example-open:focus-visible{outline:2px solid var(--diagram-box-colour, var(--fresh-accent));outline-offset:-3px}.book-example-open svg{width:1em;height:1em}@media(max-width:620px){.book-example-rail{grid-template-columns:minmax(0,1fr) auto}.book-example-meta{grid-column:1 / -1;min-height:64px;border-bottom:1px solid var(--fresh-line)}.book-example-score{min-height:52px;border-left:0}}
