.pt-book{background:var(--pt-paper);z-index:2;scroll-behavior:smooth;position:absolute;inset:0}.pt-book-in{flex-direction:column;gap:32px;max-width:1280px;margin:0 auto;padding:44px 56px 120px;display:flex}.pt-book-head{border-bottom:1px solid var(--pt-hair);color:var(--pt-ink);grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:56px;padding-bottom:28px;display:grid}.pt-book-title{min-width:0}.pt-book-head h1{font-family:var(--pt-display);letter-spacing:-.03em;text-wrap:balance;font-feature-settings:"cv11", "ss01";margin:0;font-size:48px;font-weight:500;line-height:1.02}.pt-book-head p{font-family:var(--pt-text);color:var(--pt-ink-2);max-width:62ch;margin:16px 0 0;font-size:17px;line-height:1.55}.pt-book-meta{font-family:var(--pt-text);font-variant-numeric:tabular-nums;margin:0}.pt-book-meta>div{border-bottom:1px solid var(--pt-hair-soft);justify-content:space-between;align-items:baseline;gap:16px;padding:8px 0 9px;display:flex}.pt-book-meta>div:first-child{padding-top:2px}.pt-book-meta dt{color:var(--pt-titanium);white-space:nowrap;font-size:12.5px;line-height:1.4}.pt-book-meta dd{letter-spacing:-.01em;color:var(--pt-ink);text-align:right;white-space:nowrap;font-feature-settings:"cv11", "ss01";margin:0;font-size:14px;font-weight:500;line-height:1.3}.pt-book-toc{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 28px;display:grid}.pt-book-toc a{border-bottom:1px solid var(--pt-hair-soft);color:inherit;font-family:var(--pt-display);font-feature-settings:"cv11", "ss01";letter-spacing:-.01em;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:10px;padding:9px 0;font-size:14px;font-weight:500;text-decoration:none;display:grid}.pt-book-toc a span{min-width:0;line-height:1.3}.pt-book-toc a:hover span{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.pt-book-toc a:focus-visible{outline:1px solid var(--pt-ink);outline-offset:2px}.pt-book-toc small{font-family:var(--pt-text);color:var(--pt-titanium);font-variant-numeric:tabular-nums;font-size:12px}.pt-book-sec{border-top:1px solid var(--pt-hair);grid-template-columns:128px minmax(0,1fr);align-items:end;gap:28px;margin-top:16px;padding-top:30px;display:grid}.pt-book-sec small{color:var(--pt-titanium);font-variant-numeric:tabular-nums;font-size:12.5px;line-height:1.5}.pt-book-sec small span{display:block}.pt-book-sec h2{font-family:var(--pt-display);letter-spacing:-.025em;text-wrap:balance;font-feature-settings:"cv11", "ss01";margin:0;font-size:32px;font-weight:500;line-height:1.05}.pt-page{content-visibility:auto;contain-intrinsic-size:auto 570px;grid-template-columns:128px minmax(0,1fr);align-items:start;gap:28px;margin:-3px -3px -3px 0;padding:3px 3px 3px 0;scroll-margin-top:20px;display:grid}.pt-pn{color:var(--pt-titanium);padding-top:2px;font-size:12.5px;line-height:1.45}.pt-pn b{font-family:var(--pt-display);font-feature-settings:"cv11", "ss01";letter-spacing:-.02em;color:var(--pt-ink);font-variant-numeric:tabular-nums;margin-bottom:8px;font-size:24px;font-weight:500;line-height:1;display:block}.pt-pn span{display:block}.pt-page.is-active .pt-pn{color:var(--pt-ink-2)}.pt-page-frame{aspect-ratio:16/9;border:1px solid var(--pt-edge);background:var(--pt-paper);width:100%;position:relative;overflow:hidden}.pt-page-frame.is-link{cursor:pointer}.pt-page:hover .pt-page-frame{border-color:var(--pt-ink)}.pt-page.is-active .pt-page-frame{border-color:var(--pt-ink);outline:1px solid var(--pt-ink);outline-offset:2px}.pt-page-body{min-width:0}@media (prefers-reduced-motion:reduce){.pt-book{scroll-behavior:auto}}@media (max-width:900px){.pt-book-in{gap:24px;padding:24px 16px 80px}.pt-book-head{grid-template-columns:1fr;gap:20px;padding-bottom:20px}.pt-book-head h1{letter-spacing:-.025em;font-size:32px}.pt-book-head p{margin-top:12px;font-size:15.5px}.pt-book-meta{max-width:320px}.pt-book-meta>div:first-child{border-top:1px solid var(--pt-hair-soft);padding-top:8px}.pt-book-toc{grid-template-columns:1fr 1fr}.pt-book-sec,.pt-page{grid-template-columns:1fr;gap:10px}.pt-pn{align-items:baseline;gap:10px;display:flex}.pt-pn b{margin:0;font-size:16px}}
