.ebook{--eb-bg:var(--paper);--eb-ghost:#e4e0d7;--eb-exercise:#f1eee6;--eb-sheet:#fdfcfa;--eb-grid:#1a18150e;--eb-concept:#7f87f9;--eb-band:#1a1815;--eb-band-ink:#f3efe7;--eb-band-body:#b3ab9f;--eb-band-label:#a39b8f;--eb-band-rule:#ffffff1f;--eb-band-point:#5e68ff;--eb-parts:var(--eb-exercise)}:root[data-theme=dark] .ebook{--eb-ghost:#2c2925;--eb-exercise:#24211d;--eb-sheet:#1d1b18;--eb-grid:#edeae30f;--eb-concept:#7b83ff;--eb-band:#24211d;--eb-band-rule:#ffffff1a;--eb-parts:#1b1916}.ebook .eb-parts{--eb-bg:var(--eb-parts);--ink-faint:var(--ink-muted);background:var(--eb-parts)}:root[data-theme=dark] .ebook .bg-accent{background-color:#4f5aff}:root[data-theme=dark] .ebook .bg-accent:hover{background-color:#4450f5}.ebook :is(p,figcaption,dd,li){text-wrap-style:pretty}.ebook [id]{scroll-margin-top:6rem}.ebook .eb-mono,.ebook .eb-receipt,.ebook .eb-running-head{font-family:var(--font-mono);font-synthesis-weight:none}.ebook .eb-running-head{border-bottom:1px solid var(--hairline);letter-spacing:.14em;text-transform:uppercase;align-items:baseline;gap:1rem;margin-bottom:2rem;padding:1.25rem 0 .625rem;font-size:10.5px;line-height:1.3;display:flex}.ebook .eb-running-head .left{color:var(--ink-faint);display:none}.ebook .eb-running-head .right{color:var(--ink);align-items:baseline;gap:.625rem;display:inline-flex}.ebook .eb-running-head .right:before{content:"";background:var(--accent);flex-shrink:0;align-self:center;width:6px;height:6px}.ebook .eb-running-head .folio{color:var(--ink-muted);white-space:nowrap;margin-left:auto}@media (width>=1024px){.ebook .eb-running-head{margin-bottom:2.5rem}.ebook .eb-running-head .left{display:inline}.ebook .eb-running-head .left+*{margin-left:auto}.ebook .eb-running-head .right+.folio{margin-left:2rem}}.ebook .eb-band .eb-running-head{border-color:var(--eb-band-rule)}.ebook .eb-band .eb-running-head .left,.ebook .eb-band .eb-running-head .folio{color:var(--eb-band-label)}.ebook .eb-band .eb-running-head .right{color:var(--eb-band-ink)}.ebook .eb-band .eb-running-head .right:before{background:var(--eb-band-point)}.ebook .eb-band{border-block:1px solid var(--eb-band-rule)}.ebook .eb-band :focus-visible{outline-color:var(--eb-band-point)}.ebook .eb-receipt{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px;line-height:1.35}.ebook .eb-receipt thead th{border-bottom:2px solid var(--ink);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-muted);vertical-align:bottom;padding-block:0 .5rem;font-size:10.5px;font-weight:500}.ebook .eb-receipt.is-headless thead th{border-bottom:0;padding:0}.ebook .eb-receipt.is-headless tbody tr:first-child>*{border-top:2px solid var(--ink)}.ebook .eb-receipt tbody td,.ebook .eb-receipt tbody th{border-bottom:1px solid var(--hairline-strong);vertical-align:baseline;padding-block:.625rem}@media (width>=1024px){.ebook .eb-receipt:not(.is-dense) tbody td,.ebook .eb-receipt:not(.is-dense) tbody th{padding-block:.75rem}}.ebook .eb-receipt.is-dense tbody td,.ebook .eb-receipt.is-dense tbody th{padding-block:.5rem}.ebook .eb-receipt :is(td,th){padding-inline:0}.ebook .eb-receipt :is(td,th)+:is(td,th){padding-inline-start:1rem}.ebook .eb-receipt .eb-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);text-align:left;font-weight:400}@media (width<=639px){.ebook .eb-receipt{font-size:12px}.ebook .eb-receipt .eb-label{letter-spacing:.04em}}.ebook .eb-receipt .eb-value{color:var(--ink);text-align:right;white-space:nowrap;font-weight:500}.ebook .eb-receipt tfoot td,.ebook .eb-receipt tfoot th{padding-block:.75rem 0;font-weight:500}.ebook .eb-receipt tfoot tr.is-total>*{border-top:2px solid var(--ink)}.ebook .eb-receipt tr.is-linked{cursor:pointer}.ebook .eb-receipt tr.is-linked:hover{background:color-mix(in srgb, var(--hairline) 40%, transparent)}.ebook .eb-receipt tr.is-linked:hover .eb-row-link{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.ebook .eb-spec tbody th,.ebook .eb-spec tfoot th{white-space:normal;vertical-align:baseline;width:12.5rem;padding-right:1rem}.ebook .eb-spec :is(td,th)+:is(td,th){padding-inline-start:0}@media (width<=639px){.ebook .eb-spec :is(tbody,tfoot) :is(tr,th,td){width:auto;display:block}.ebook .eb-spec tbody th{border-bottom:0;padding-bottom:.125rem}.ebook .eb-spec tbody td{padding-top:0}.ebook .eb-spec tfoot tr.is-total{border-top:2px solid var(--ink);justify-content:space-between;align-items:baseline;display:flex}.ebook .eb-spec tfoot tr.is-total>*{border-top:0}}.ebook .eb-receipt .eb-t{font-family:var(--font-sans);letter-spacing:normal;text-transform:none;color:var(--ink);font-size:15px;font-weight:400;line-height:1.4}.ebook .eb-index li{border-bottom:1px solid var(--hairline);align-items:baseline;gap:.5rem;padding:.375rem 0;display:flex}.ebook .eb-index li:after{content:"";border-bottom:1px dotted var(--hairline-strong);flex:1;order:1;min-width:1rem;transform:translateY(-3px)}.ebook .eb-index li>span:last-child{color:var(--ink-muted);order:2}.ebook .eb-point{background:var(--accent);flex-shrink:0;width:6px;height:6px;display:inline-block}.ebook .eb-band .eb-point{background:var(--eb-band-point)}.ebook .eb-square-list>li{padding-left:1.25rem;position:relative}.ebook .eb-square-list>li:before{content:"";background:var(--ink);width:6px;height:6px;position:absolute;top:.62em;left:0}.ebook .eb-square-list.is-muted>li:before{background:var(--ink-muted)}.ebook .eb-h2{letter-spacing:-.035em;text-wrap:balance;color:var(--ink);font-size:clamp(2rem,4.2vw,3.25rem);font-weight:700;line-height:1.02}.ebook .eb-h2.is-display{letter-spacing:-.04em;font-size:clamp(2.6rem,5.6vw,4.75rem);line-height:.95}.ebook .eb-h2.is-stop{letter-spacing:-.045em;font-size:clamp(2.75rem,6.4vw,5.75rem);line-height:.92}.ebook .eb-h3{letter-spacing:-.015em;font-size:1.25rem;font-weight:600;line-height:1.25}@media (width>=1024px){.ebook .eb-h3{font-size:22px}}.ebook .eb-quote{letter-spacing:-.02em;text-wrap:pretty;color:var(--ink);font-size:clamp(1.5rem,3vw,2.25rem);font-weight:600;line-height:1.15}.ebook .cover-title{--t:clamp(2.9rem, min(15vw, calc((100svh - 27rem) / 2.7)), 6.5rem);color:var(--ink);margin:0}.ebook .cover-title--mini{--t:2rem}@media (width>=1024px){.ebook .cover-title--mini{--t:2.5rem}}.ebook .cover-title__main{font-size:var(--t);height:calc(3 * .9 * var(--t));letter-spacing:-.045em;word-spacing:.05em;margin-left:-.05em;font-weight:800;line-height:.9;display:block}.ebook .cover-title__main>span{white-space:nowrap;display:block}.ebook .cover-title__sub{font-size:max(1.125rem, calc(var(--t) * .26));letter-spacing:-.01em;color:var(--ink-muted);margin-top:1rem;font-weight:400;line-height:1.22;display:block}.ebook .cover-title--mini .cover-title__sub{margin-top:.625rem;font-size:.9375rem}.ebook .cover-title__sub>span{display:block}.ebook .cover-stop{background:var(--accent);width:.16em;height:.16em;margin-left:.06em;display:inline-block;position:relative;top:-.02em}.ebook .cover-grid{position:relative}.ebook .cover-grid:before{content:"";pointer-events:none;background-image:linear-gradient(to right, var(--eb-grid) 1px, transparent 1px);border-right:1px solid var(--eb-grid);background-size:25% 100%;position:absolute;inset:0}@media print{.ebook .cover-grid:before{display:none}}.ebook .fullstop{background:var(--accent);transform-origin:50% 100%;width:.16em;height:.16em;margin-left:.04em;display:inline-block}.ebook .fullstop-text{font-size:0}.ebook .fullstop.is-pending{opacity:0;transform:translateY(-2.2em)scale(.35)}.ebook .fullstop.is-landing{animation:.72s cubic-bezier(.2,.9,.25,1.15) both eb-land}@keyframes eb-land{0%{opacity:0;transform:translateY(-2.2em)scale(.35)}35%{opacity:1}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.ebook .fullstop.is-pending,.ebook .fullstop.is-landing{opacity:1;animation:none;transform:none}}.ebook .eb-info dt{color:var(--ink);font-weight:500;display:inline}.ebook .eb-info dd{display:inline}.ebook .eb-info dd:after{content:"";margin-bottom:.375rem;display:block}@media (width>=768px) and (width<=1023px){.ebook .eb-info{grid-template-columns:8rem 1fr;gap:.375rem .75rem;display:grid}.ebook .eb-info :is(dt,dd){display:block}.ebook .eb-info dd:after{display:none}}.ebook .eb-check{accent-color:var(--ink)}.ebook summary{list-style:none}.ebook summary::-webkit-details-marker{display:none}.ebook .eb-ghost:before{content:attr(data-n);color:var(--eb-ghost)}.ebook .eb-text{max-width:64ch;color:var(--ink);font-size:17px;line-height:1.7;position:relative}.ebook .eb-text :where(p,ul,ol,h3,h4){margin-top:1.1em}.ebook .eb-text>.contents:first-child>:first-child{margin-top:0}.ebook .eb-text h3{letter-spacing:-.02em;margin-top:2.6em;font-size:1.5rem;font-weight:700;line-height:1.2}.ebook .eb-text h4{letter-spacing:-.01em;margin-top:1.9em;font-size:1.125rem;font-weight:600;line-height:1.3}.ebook .eb-text h3+*,.ebook .eb-text h4+*{margin-top:.55em}.ebook .eb-text p.lead+ul,.ebook .eb-text p.lead+ol{margin-top:.6em}.ebook .eb-text ul>li,.ebook .eb-text ol>li{padding-left:1.6rem;position:relative}.ebook .eb-text li+li{margin-top:.35em}.ebook .eb-text ul>li:before{content:"";background:var(--ink);width:6px;height:6px;position:absolute;top:.68em;left:.15rem}.ebook .eb-text ol{counter-reset:eb-ol}.ebook .eb-text ol>li{counter-increment:eb-ol}.ebook .eb-text ol>li:before{content:counter(eb-ol, decimal-leading-zero);font-family:var(--font-mono);color:var(--ink-muted);font-size:12px;font-weight:500;line-height:1.5;position:absolute;top:.3em;left:0}.ebook .eb-text code{font-family:var(--font-mono);font-size:.86em}.ebook .eb-text strong{font-weight:600}.ebook .eb-text a.concept{color:inherit;text-decoration-line:underline;-webkit-text-decoration-color:var(--eb-concept);text-decoration-color:var(--eb-concept);text-underline-offset:3px;text-decoration-thickness:1.5px}.ebook .eb-text a.concept:hover{text-decoration-thickness:2px}@media (width>=1024px){.ebook .eb-text [data-page]:after{content:attr(data-marker);width:5rem;font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-faint);text-transform:none;pointer-events:none;margin-top:.45em;font-size:10.5px;font-weight:400;line-height:1.2;position:absolute;left:calc(100cqw + 1.5rem)}}.ebook .eb-text section.practice,.ebook .eb-practice{border-top:2px solid var(--ink);background:var(--eb-exercise);margin-top:2.5rem;padding:1.5rem 1.25rem}@media (width>=640px){.ebook .eb-text section.practice,.ebook .eb-practice{padding:1.75rem 2rem 2rem}}.ebook .eb-text section.practice>*+*{margin-top:1em}.ebook .eb-practice h3{margin-top:.75rem}.ebook .eb-text .eb-anchor{height:0;display:block}.ebook .eb-text section.practice h3{margin-top:.5rem}@media print{.ebook .eb-no-print{display:none!important}.ebook .eb-text [data-page]:after{display:none}}
