.book{--g-blue:#5877a8;--g-green:#5e8f5f;--g-red:#b85c50;--g-purple:#8a6aa8;--g-amber:#b8913a;--g-teal:#4f8f8f;--g-ink:#4a4530}.book .units{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1rem;display:grid}.book .unit-card{border:1px solid var(--color-border-light);background:var(--color-surface-light);border-radius:.9rem;flex-direction:column;gap:.35rem;height:100%;padding:1.1rem 1.2rem;display:flex}.book a.unit-card:hover{border-color:var(--color-text-light)}.book .unit-card.soon{opacity:.55}.book .unit-n{letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted-light);font-size:.8rem;font-weight:700}.book .unit-title{font-size:1.15rem;font-weight:700;line-height:1.25}.book .unit-hook{color:var(--g-ink);flex:1;font-size:.92rem;line-height:1.5}.book .unit-foot{justify-content:space-between;gap:.75rem;font-size:.8rem;display:flex}.book .unit-area{color:var(--color-muted-light)}.book .unit-read{color:var(--g-green);white-space:nowrap;font-weight:600}.book h2.strand{margin:2.25rem 0 .25rem;font-size:1.5rem;font-weight:800}.book h2.strand:first-of-type{margin-top:.5rem}.book h3.area{margin:1.25rem 0 .75rem;font-size:1.05rem;font-weight:700}.book .area-covered{color:var(--color-muted-light);margin:-.4rem 0 .9rem;font-size:.9rem}.book .area-covered summary{cursor:pointer;width:fit-content}.book .area-covered ul{gap:.15rem;margin:.4rem 0 0;padding-left:1.1rem;list-style:outside;display:grid}.book .area-covered a{color:var(--color-text-light);text-decoration:underline;-webkit-text-decoration-color:var(--color-border-light);text-decoration-color:var(--color-border-light);text-underline-offset:.2em}.book .area-ngss{color:var(--color-muted-light);letter-spacing:.03em;margin-left:.5rem;font-size:.78rem;font-weight:600}.book .unit-subject{letter-spacing:0;text-transform:none;color:#766b32;margin-top:.15rem;font-size:.85rem;font-weight:500;display:block}.book .builds-on{color:var(--color-muted-light);margin:-.75rem 0 1.75rem;font-size:.92rem}.book .builds-on summary{cursor:pointer;width:fit-content}.book .builds-on ul{gap:.15rem;margin:.4rem 0 0;padding-left:1.1rem;list-style:outside;display:grid}.book .builds-on a{color:var(--color-text-light);text-decoration:underline;-webkit-text-decoration-color:var(--color-border-light);text-decoration-color:var(--color-border-light);text-underline-offset:.2em}.book .builds-on a:hover{text-decoration-color:currentColor}.book .book-tools{align-items:center;gap:.75rem 2rem;margin-bottom:1.75rem;display:grid}@media (width>=768px){.book .book-tools{grid-template-columns:minmax(0,28rem) minmax(0,1fr)}}.book .continue{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.95rem;overflow:hidden}.book .continue a:hover b{text-decoration:underline}.book .practice-link{color:var(--g-ink);font-size:.92rem}.book .practice-link a:hover{color:var(--color-text-light);text-decoration:underline}.book .book-tools+.practice-link{margin:-1rem 0 1.75rem}.book .book-tools+.practice-link:has(+.practice-link){margin-bottom:.35rem}.book .practice-link+.practice-link{margin:0 0 1.75rem}.book .unit-section>.practice-link{border-top:1px solid var(--color-border-light);margin-top:1.5rem;padding-top:.85rem}.book .unit-section>.worksheet-link+.practice-link{border-top:0;margin-top:.75rem;padding-top:0}.book .bsearch{position:relative}.book .bsearch input{border:1px solid var(--color-border-light);background:var(--color-bg-light);border-radius:999px;width:100%;padding:.55rem .9rem;font-size:1rem}.book .bsearch input:focus{outline:2px solid var(--color-text-light);outline-offset:1px}.book .bsearch-results{z-index:20;border:1px solid var(--color-border-light);background:var(--color-bg-light);border-radius:.8rem;max-height:26rem;padding:.35rem;position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow-y:auto;box-shadow:0 10px 30px #1c1a0d29}@media (width>=768px){.book .bsearch-results{width:min(36rem,90vw);right:auto}}.book .bsearch-results a{border-radius:.5rem;gap:.1rem;padding:.45rem .65rem;display:grid}.book .bsearch-results a.on{background:var(--color-surface-light)}.book .bsearch-t{font-weight:600;line-height:1.3}.book .bsearch-m{color:var(--g-ink);font-size:.8rem}.book .bsearch-none{color:var(--g-ink);padding:.5rem .65rem;font-size:.92rem}.book .how{max-width:46rem;margin-top:3rem;line-height:1.65}.book .how h2{margin-bottom:.5rem;font-size:1.25rem;font-weight:700}.book .how ul{margin-top:.5rem;padding-left:1.25rem;list-style:outside}.book .how li+li{margin-top:.3rem}.book .how .caveat{color:var(--color-muted-light);margin-top:1rem;font-size:.92rem}.book .how .caveat a{text-underline-offset:2px;text-decoration:underline}.book .layout{gap:1.5rem;display:grid}.book .toc{display:none}.book .toc-back{color:var(--color-text-light);margin-bottom:1rem;font-size:.9rem;font-weight:600;display:block}.book .toc-back:hover{text-decoration:underline}.book .units>li{scroll-margin-top:6rem}.book .units>li:target .unit-card{outline:2px solid var(--color-text-light);outline-offset:2px}@media (prefers-reduced-motion:no-preference){.book .units>li:target .unit-card{animation:2.5s ease-out forwards unit-back}}@keyframes unit-back{0%,60%{outline-color:var(--color-text-light)}to{outline-color:#0000}}.book .toc-head,.book .toc-phone summary{letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted-light);font-size:.8rem;font-weight:700}.book .toc ol,.book .toc-phone ol,.book .sbar-panel ol{border-left:2px solid var(--color-border-light);gap:.1rem;display:grid}.book .toc ol,.book .toc-phone ol{margin-top:.6rem}.book .toc a,.book .toc-phone a,.book .sbar-panel a{color:var(--g-ink);border-left:2px solid #0000;margin-left:-2px;padding:.3rem 0 .3rem .35rem;font-size:.9rem;line-height:1.35;display:flex}.book .toc a:hover,.book .toc-phone a:hover,.book .sbar-panel a:hover{color:var(--color-text-light)}.book .toc a.current,.book .sbar-panel a.current{border-left-color:var(--color-text-light);color:var(--color-text-light);font-weight:600}.book .tick{width:1.15rem;color:var(--g-green);flex:none;font-weight:700}.book .toc-phone summary{cursor:pointer;border:1px solid var(--color-border-light);border-radius:.6rem;padding:.55rem .8rem}.book .toc-phone[open] summary{border-bottom-right-radius:0;border-bottom-left-radius:0}.book .toc-phone .toc-count{text-transform:none;letter-spacing:0;margin-left:.4rem;font-weight:500}@media (width>=960px){.book .layout{grid-template-columns:14rem minmax(0,46rem);gap:3rem}.book .toc{align-self:start;max-height:calc(100vh - 7rem);display:block;position:sticky;top:5.5rem;overflow-y:auto}.book .toc-phone{display:none}}.book .sbar{z-index:30;background:color-mix(in srgb, var(--color-bg-light) 94%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--color-border-light);opacity:0;visibility:hidden;pointer-events:none;height:44px;display:flex;position:fixed;left:0;right:0}.book .sbar.shown{opacity:1;visibility:visible;pointer-events:auto}@media (prefers-reduced-motion:no-preference){.book .sbar{transition:opacity .2s,visibility .2s}}@media (width>=960px){.book .sbar,.book .sbar-panel,.book .sbar-backdrop{display:none}}.book .sbar-back{border-right:1px solid var(--color-border-light);width:44px;height:100%;color:var(--color-text-light);flex:none;place-items:center;display:grid}.book .sbar-back svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:1.2rem;height:1.2rem}.book .sbar-back:focus-visible{outline:2px solid var(--color-text-light);outline-offset:-3px}.book .sbar-btn{text-align:left;cursor:pointer;flex:1;align-items:center;gap:.6rem;width:100%;min-width:0;height:100%;padding:0 1rem;display:flex}.book .sbar-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.95rem;font-weight:600;overflow:hidden}.book .sbar-count{text-align:right;color:var(--color-muted-light);font-variant-numeric:tabular-nums;flex:none;font-size:.8rem}.book .sbar-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;flex:none;width:1.2rem;height:1.2rem}.book .sbar-btn:focus-visible{outline:2px solid var(--color-text-light);outline-offset:-3px}.book .sbar-backdrop{z-index:44;background:#1c1a0d40;position:fixed;inset:0}.book .sbar-panel{z-index:45;border:1px solid var(--color-border-light);background:var(--color-bg-light);border-radius:.8rem;max-height:calc(100dvh - 8rem);padding:.9rem 1rem;position:fixed;left:.5rem;right:.5rem;overflow-y:auto;box-shadow:0 10px 30px #1c1a0d2e}.book .sbar-unit{letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted-light);margin-bottom:.5rem;font-size:.8rem;font-weight:700}.book .sbar-units{border-top:1px solid var(--color-border-light);justify-content:space-between;gap:1rem;margin-top:.8rem;padding-top:.7rem;font-size:.9rem;font-weight:600;display:flex}.book .text{min-width:0;font-size:1.05rem;line-height:1.7}.book .unit-section{margin-top:3rem}.book .unit-section>:last-child{margin-bottom:0}@supports (content-visibility:auto) and selector(:has(a)){.book .unit-section{content-visibility:auto;contain-intrinsic-block-size:auto 5000px;overflow-clip-margin:.75rem}.book .unit-section:has(.widget.big){content-visibility:visible}.book .unit-section:has(~.unit-section :target,~.unit-section:target){content-visibility:visible}}@media print{.book .unit-section{content-visibility:visible}}.book .unit-section h2{letter-spacing:-.01em;margin-bottom:.75rem;font-size:1.6rem;font-weight:800;line-height:1.25}.book .unit-section h2,.book .btext h3,.book .btext h4{scroll-margin-top:8.5rem}@media (width>=960px){.book .unit-section h2,.book .btext h3,.book .btext h4{scroll-margin-top:5.5rem}}.book .btext>*+*{margin-top:.85rem}.book .btext+.btext,.book .btext+.box,.book .box+.btext,.book .btext+.fig,.book .fig+.btext,.book .text>*+*,.book .unit-section>*+*{margin-top:1rem}.book .btext h3{margin-top:1.75rem;font-size:1.2rem;font-weight:700}.book .btext h4{margin-top:1.25rem;font-size:1.05rem;font-weight:700}.book .btext ul{padding-left:1.4rem;list-style:outside}.book .btext ol{padding-left:1.4rem;list-style:decimal}.book .btext li+li,.book .btext li>ul,.book .btext li>ol{margin-top:.3rem}.book .btext a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);text-underline-offset:2px}.book .btext a:hover{text-decoration-color:currentColor}.book .btext strong{font-weight:700}.book .btext code{font-size:.92em}.book .btext blockquote{border-left:3px solid var(--color-border-light);color:var(--g-ink);padding-left:1rem}.book .btext table{border-collapse:collapse;max-width:100%;font-size:.95rem;line-height:1.45;display:block;overflow-x:auto}.book .btext th,.book .btext td{border:1px solid var(--color-border-light);text-align:left;vertical-align:top;padding:.4rem .65rem}.book .btext th{background:var(--color-surface-light);font-weight:700}.book .btext .katex-display{margin:.6rem 0;padding:2px 0;overflow:auto hidden}.book .btext .katex{font-size:1.05em}.book .box{--c:var(--g-ink);border-left:4px solid var(--c);background:color-mix(in srgb, var(--c) 7%, var(--color-bg-light));border-radius:0 .75rem .75rem 0;padding:1rem 1.15rem}.book .box>*+*{margin-top:.75rem}.book .box-label{letter-spacing:.05em;text-transform:uppercase;color:color-mix(in srgb, var(--c) 62%, #1c1a0d);font-size:.78rem;font-weight:700}.book .box-label+.box-title{margin-top:.15rem;font-size:1.08rem;font-weight:700;line-height:1.35}.book .box.example{--c:var(--g-blue)}.book .box.try{--c:#8c7a1c;background:color-mix(in srgb, var(--color-primary) 12%, var(--color-bg-light))}.book .box.think{--c:var(--g-purple)}.book .box.activity{--c:var(--g-green)}.book .box.fact{--c:var(--g-amber)}.book .box.careful{--c:var(--g-red)}.book .box.story{--c:var(--g-teal)}.book .box.summary{--c:var(--g-ink)}.book .box.project{--c:var(--g-green)}.book .box.grades{--c:var(--g-blue);background:0 0;border-left-width:2px;padding:.6rem .9rem;font-size:.95rem}.book .reveal{border-top:1px dashed color-mix(in srgb, var(--color-text-light) 25%, transparent);margin-top:.75rem;padding-top:.6rem}.book .reveal summary{cursor:pointer;border:1px solid var(--color-border-light);background:var(--color-bg-light);border-radius:999px;align-items:center;gap:.45rem;padding:.15rem .75rem .15rem .55rem;font-size:.95rem;font-weight:600;list-style:none;display:inline-flex}.book .reveal summary::-webkit-details-marker{display:none}.book .reveal summary:hover{border-color:var(--color-text-light)}.book .reveal summary:focus-visible{outline:2px solid var(--color-text-light);outline-offset:2px}.book .reveal .chev{border-bottom:2px solid;border-right:2px solid;width:.5rem;height:.5rem;transform:rotate(-45deg)}.book .reveal[open] .chev{transform:rotate(45deg)translate(-2px,-2px)}.book .reveal-body{margin-top:.75rem}.book .reveal .rl{display:inline-grid}.book .reveal .rl>*{grid-area:1/1}.book .reveal .rl-w{visibility:hidden}.book .reveal-body>*+*{margin-top:.75rem}.book .lm{font:1.05em/1.2 KaTeX_Main,Times New Roman,serif}.book .lm i{padding-right:.03em;font-family:KaTeX_Math,Times New Roman,serif;font-style:italic}.book .mth{font-family:KaTeX_Main,Times New Roman,serif;font-style:normal;font-weight:400}.book .mth-i{font-family:KaTeX_Math,Times New Roman,serif;font-style:italic;font-weight:400}.book .ovl{border-top:max(1.5px,.08em) solid;padding:.12em .04em 0;line-height:1;display:inline-block}.book .step-list{margin:0;padding:0;list-style:none}.book .step{border-left:2px solid var(--color-border-light);padding:.15rem 0 .15rem .85rem}.book .step+.step{margin-top:.35rem}.book .step>*+*{margin-top:.5rem}.book .step-btns{flex-wrap:wrap;gap:.5rem;display:flex}.book .step-btns .btn{min-height:2.25rem}.book .step-count{font-variant-numeric:tabular-nums;opacity:.75;margin-left:.2rem;font-weight:400}.book .q{border-top:1px solid var(--color-border-light);grid-template-columns:2.25rem minmax(0,1fr);gap:0 .25rem;padding:.85rem 0;display:grid}.book .q:not(:has(.q-label)){grid-template-columns:minmax(0,1fr)}.book .q-label{color:var(--color-muted-light);font-variant-numeric:tabular-nums;font-weight:400}.book .q-body>*+*,.book .q-text>*+*{margin-top:.6rem}@media (width>=36rem){.book .q-body:has(>.reveal){--pill:1.9rem;--pill-step:2.3rem;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:1.25rem;display:grid;position:relative}.book .q-body:has(>.reveal)>*{grid-column:1/-1}.book .q-body:has(>.reveal)>.q-text{grid-area:1/1}.book .q-body[data-rail]:has(>.reveal):after{content:attr(data-rail);visibility:hidden;white-space:nowrap;border:1px solid #0000;grid-area:1/2;height:0;padding:0 1rem 0 1.95rem;font-size:.95rem;font-weight:600;overflow:hidden}.book .q-body:has(>.reveal:nth-of-type(2))>.q-text{min-height:calc(var(--pill) + var(--pill-step))}.book .q-body:has(>.reveal:nth-of-type(3))>.q-text{min-height:calc(var(--pill) + 2 * var(--pill-step))}.book .q-body>.reveal>summary{box-sizing:border-box;height:var(--pill);white-space:nowrap}.book .q-body>.reveal:not([open]){border-top:0;grid-area:1/2;justify-self:end;margin-top:0;padding-top:0}.book .q-body>.reveal:nth-of-type(2):not([open]){margin-top:var(--pill-step)}.book .q-body>.reveal:nth-of-type(3):not([open]){margin-top:calc(2 * var(--pill-step))}.book .q-body>.reveal[open]{margin-top:.75rem}.book .q-body>.reveal[open]>summary{z-index:1;position:absolute;top:0;right:0}.book .q-body>.reveal:nth-of-type(2)[open]>summary{top:var(--pill-step)}.book .q-body>.reveal:nth-of-type(3)[open]>summary{top:calc(2 * var(--pill-step))}.book .q-body>.reveal[open]>.reveal-body{margin-top:0}}.book .q+.q{margin-top:0}.book .choose{border:1px solid var(--color-border-light);border-radius:.75rem;padding:1rem 1.15rem;container-type:inline-size}.book .choose .options{gap:.4rem;margin-top:.75rem;font-size:.95em;display:grid}.book .choose .options.two{grid-template-columns:repeat(2,minmax(0,1fr))}@container (width>=30rem){.book .choose .options.two-wide{grid-template-columns:repeat(2,minmax(0,1fr))}}.book .choose .option{text-align:left;border:1px solid var(--color-border-light);background:var(--color-bg-light);cursor:pointer;border-radius:.6rem;align-items:baseline;gap:.6rem;width:100%;height:100%;padding:.45rem .8rem;line-height:1.45;display:flex}.book .choose .option:hover:not(:disabled){border-color:var(--color-text-light)}.book .choose .option:disabled{cursor:default;color:inherit}.book .choose .option:focus-visible{outline:2px solid var(--color-text-light);outline-offset:2px}.book .choose .letter{color:var(--color-muted-light);font-weight:700}.book .choose .otext{flex:1}.book .choose .mark{text-align:center;flex:none;width:1.2rem;font-weight:700}.book .choose .option.right{border-color:var(--g-green);background:color-mix(in srgb, var(--g-green) 10%, var(--color-bg-light))}.book .choose .option.right .mark{color:var(--g-green)}.book .choose .option.wrong{border-color:var(--g-red)}.book .choose .option.wrong .otext{opacity:.7}.book .choose .option.wrong .mark{color:var(--g-red)}.book .choose .after{border-top:1px dashed var(--color-border-light);margin-top:.75rem;padding-top:.75rem;display:grid}.book .choose .after>*{grid-area:1/1}.book .choose .gone{visibility:hidden}.book .choose .prompt{color:var(--g-ink);font-size:.92rem;font-style:italic}.book .fig{margin-top:1.5rem;margin-bottom:.5rem}.book .fig-art{border:1px solid var(--color-border-light);background:var(--color-surface-light);border-radius:.9rem;overflow:hidden}.book .fig-art svg{width:100%;height:auto;display:block}.book .fig figcaption{color:var(--g-ink);margin-top:.5rem;font-size:.92rem;line-height:1.5}.book .fig figcaption b{color:var(--color-text-light);margin-right:.25rem}.book .photo img{object-fit:contain;background:var(--color-surface-light);border-radius:.9rem;width:100%;height:auto;max-height:30rem;margin:0 auto;display:block}.book .photo .credit{color:var(--color-muted-light);margin-top:.15rem;font-size:.78rem;display:block}.book .photo .credit a{text-underline-offset:2px;text-decoration:underline}.book .widget{border:1px solid var(--color-border-light);background:var(--color-surface-light);border-radius:.9rem;margin-top:1.5rem;padding:1rem 1.15rem 1.15rem}.book .widget>*+*{margin-top:.75rem}.book .widget-title{font-size:1.05rem;font-weight:700}.book .pager{border-top:1px solid var(--color-border-light);justify-content:space-between;gap:1rem;margin-top:4rem;padding-top:1.5rem;font-size:.95rem;line-height:1.35;display:flex}.book .pager a{flex-direction:column;gap:.15rem;max-width:48%;font-weight:600;display:flex}.book .pager a span{color:var(--color-muted-light);font-size:.8rem;font-weight:500}.book .pager a.next{text-align:right;margin-left:auto}.book .pager a:hover{text-decoration:underline}.book .dg{font-family:Space Grotesk,Noto Sans Devanagari,Space Grotesk Fallback Arial,Space Grotesk Fallback Roboto,Noto Sans Devanagari Fallback Nirmala,Noto Sans Devanagari Fallback Noto,sans-serif}.book .dg .lbl{fill:var(--g-ink);font-size:15px;font-weight:600}.book .dg .lbl.small{font-size:12.5px;font-weight:500}.book .dg .lbl.big{font-size:18px}.book .dg .lbl.mid{text-anchor:middle}.book .dg .lbl.end{text-anchor:end}.book .dg .lbl.halo{paint-order:stroke;stroke:var(--color-surface-light);stroke-width:4px;stroke-linejoin:round}.book .dg .lbl.halo .mth-s{stroke:none}.book .dg .lead{stroke:var(--g-ink);stroke-width:1px;fill:none}.book .dg .line{stroke:var(--g-ink);stroke-width:2px;fill:none;stroke-linejoin:round;stroke-linecap:round}.book .dg .thin{stroke-width:1.2px}.book .dg .dashed{stroke-dasharray:6 5}.book .dg .fill-1{fill:var(--g-blue)}.book .dg .fill-2{fill:var(--g-green)}.book .dg .fill-3{fill:var(--g-red)}.book .dg .fill-4{fill:var(--g-purple)}.book .dg .fill-5{fill:var(--g-amber)}.book .dg .fill-6{fill:var(--g-teal)}.book .dg .stroke-1{stroke:var(--g-blue)}.book .dg .stroke-2{stroke:var(--g-green)}.book .dg .stroke-3{stroke:var(--g-red)}.book .dg .stroke-4{stroke:var(--g-purple)}.book .dg .stroke-5{stroke:var(--g-amber)}.book .dg .stroke-6{stroke:var(--g-teal)}.book .dg .soft{fill-opacity:.35}.book .dg .grid{stroke:#e2ddc6;stroke-width:1px}.book .dg .grab{cursor:var(--cursor-grab);outline:none}.book .dg .grab.dragging{cursor:var(--cursor-grabbing)}.book .dg .handle{fill:var(--color-primary);stroke:var(--color-text-light);stroke-width:2px}.book .dg .grab:focus-visible .handle{stroke-width:4px}.book .controls{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem 2rem;font-size:.95rem;display:grid}.book .control{gap:.2rem;display:grid}.book .control input[type=range]{accent-color:var(--color-primary);width:100%}.book .value{font-variant-numeric:tabular-nums;min-width:4.5em;font-weight:700;display:inline-block}.book .btns{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.book .btn{border:1px solid var(--color-border-light);background:var(--color-bg-light);cursor:pointer;border-radius:999px;padding:.35rem .95rem;font-size:.95rem;font-weight:600}.book .btn:hover:not(:disabled){border-color:var(--color-text-light)}.book .btn:disabled{opacity:.45;cursor:default}.book .btn.go{background:var(--color-primary);border-color:var(--color-primary)}.book .btn.go:hover:not(:disabled){background:var(--color-primary-hover)}.book .btn[aria-pressed=true]{border-color:var(--color-text-light);background:var(--color-surface-light)}.book .btn:focus-visible{outline:2px solid var(--color-text-light);outline-offset:2px}.book .readout{grid-template-columns:repeat(var(--cols,3), minmax(0, 1fr));font-variant-numeric:tabular-nums;gap:.5rem 1.5rem;margin:0;display:grid}.book .readout div{flex-direction:column;min-width:0;display:flex}.book .readout dt{color:#6b612c;font-size:.85rem}.book .readout dd{white-space:nowrap;margin:0;font-weight:700}@media (width<=640px){.book .readout{grid-template-columns:1fr;gap:.3rem}.book .readout div{flex-flow:wrap;align-items:baseline;column-gap:.5rem}}.book .said{display:grid}.book .said>p{visibility:hidden;grid-area:1/1;margin:0}.book .said>p.shown{visibility:visible}.book .btext ul.marked,.book .reveal-body ul.marked{padding-left:0;list-style:none}.book ul.marked li{padding-left:2.1em;position:relative}.book ul.marked li+li,.book p.lead+ul,.book p.lead+ol{margin-top:.3rem}.book ul.marked .mk,.book ul.marked .mk strong{font-weight:400;position:absolute;top:0;left:0}.book ul.marked .mk strong{position:static}.book ul.marked .mk,.book .cmk>.mk{text-align:right;width:1.7em}.book p.hl{text-indent:-1.5em;margin-block:0;padding-left:1.5em}.book .tb-term:after,.book .gref:after{text-indent:0}.book p.hl+p.hl{margin-top:.3rem}.book p.hl+p:not(.hl),.book p:not(.hl)+p.hl{margin-top:.6rem}.book ol>li>ul.marked{margin:.35rem 0 .6rem}.book .talk{grid-template-columns:max-content 1fr;gap:.35rem .75em;margin:.5rem 0;display:grid}.book .talk>p{display:contents}.book .talk .who{font-weight:600}.book .cmk{padding-left:2.1em;display:block;position:relative}.book .cmk>.mk{position:absolute;top:0;left:0}.book .cmk>.mk strong{font-weight:400}.book .gref{border:1px solid var(--color-border-light);white-space:nowrap;color:var(--g-ink);vertical-align:.05em;border-radius:.4rem;align-items:center;gap:.25rem;padding:0 .4rem;font-size:.82em;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex;position:relative}.book .gref svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linejoin:round;width:.95em;height:.95em}.book .gref:hover,.book .gref:focus-visible{border-color:var(--color-text-light);color:var(--color-text-light)}.book .gref:after{content:attr(data-name);z-index:20;background:var(--color-text-light);width:max-content;max-width:16rem;color:var(--color-bg-light);white-space:normal;text-align:center;pointer-events:none;border-radius:.4rem;padding:.3rem .55rem;font-size:.8rem;font-weight:500;line-height:1.35;display:none;position:absolute;bottom:calc(100% + .35rem);left:50%;transform:translate(-50%)}@media (hover:hover){.book .gref:hover:after{display:block}}.book .gref:focus-visible:after{display:block}.book .btext a.gref,.book .btext a.gref:hover,.book a.gref{text-decoration:none}.book:lang(ne) .text,.book:lang(ne) .unit-hook,.book:lang(ne) .how{font-size:1.06rem;line-height:1.8}.book:lang(ne) .btext p,.book:lang(ne) .text li{line-height:1.8}.book .tb-term{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-color:color-mix(in srgb, currentColor 28%, transparent);text-decoration-color:color-mix(in srgb, currentColor 28%, transparent);text-underline-offset:.25em;cursor:help;position:relative}.book .tb-term:after{content:attr(data-en);z-index:20;background:var(--color-text-light);width:max-content;max-width:14rem;color:var(--color-bg-light);white-space:normal;pointer-events:none;border-radius:.4rem;padding:.2rem .5rem;font-size:.8rem;font-style:normal;font-weight:500;line-height:1.35;display:none;position:absolute;bottom:calc(100% + .3rem);left:50%;transform:translate(-50%)}@media (hover:hover){.book .tb-term:hover:after{display:block}}.book .tb-term:focus:after,.book .tb-term:focus-visible:after{display:block}.book .tb-term:focus{outline:none}.book .other-lang{margin:-.75rem 0 1.25rem;font-size:.92rem}.book .toc a.toc-lang,.book .sbar-panel a.sbar-lang{border:0;border-top:1px solid var(--color-border-light);color:var(--color-text-light);margin:.9rem 0 0;padding:.7rem 0 0;font-size:.9rem;font-weight:600;display:block}.book .toc a.toc-lang:hover,.book .sbar-panel a.sbar-lang:hover{text-decoration:underline}a[data-note]:after{content:" · " attr(data-note);color:var(--color-muted-light);font-weight:400}.book .other-lang a{color:var(--color-text-light);text-decoration:underline;-webkit-text-decoration-color:var(--color-border-light);text-decoration-color:var(--color-border-light);text-underline-offset:.2em;font-weight:600}.book .practice-link a.ws-btn:hover,.book a.ws-btn:hover{text-decoration:none}.book .code{--mono:ui-monospace, "Cascadia Mono", Consolas, "DejaVu Sans Mono", "Liberation Mono", monospace}.book .code pre{font-family:var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;tab-size:4;border-radius:.25rem;margin:0;padding:.7rem .9rem;font-size:.86rem;line-height:1.55}.book .code code{font-family:inherit;font-size:inherit}.book .code .cl{padding-left:calc(var(--i,0) * 1ch + 2ch);text-indent:calc(-2ch - var(--i,0) * 1ch);min-height:1.55em;display:block;position:relative}.book .code.py pre,.book .code.plain pre{border:1px solid color-mix(in srgb, var(--color-text-light) 22%, transparent);background:var(--color-surface-light);color:#2b2817}.book .code.numbered pre{counter-reset:line;padding-left:calc(.9rem + 3.2ch)}.book .code.numbered .cl{counter-increment:line}.book .code.numbered .cl:before{content:counter(line);text-indent:0;text-align:right;color:#6f6a55;-webkit-user-select:none;user-select:none;width:2.6ch;position:absolute;left:-3.4ch}.book .code .cl.mark{background:color-mix(in srgb, var(--color-primary) 30%, transparent);padding-right:.9rem;padding-left:calc(.9rem + var(--i,0) * 1ch + 2ch);margin:0 -.9rem}.book .code.numbered .cl.mark{padding-left:calc(.9rem + 3.2ch + var(--i,0) * 1ch + 2ch);margin-left:calc(-.9rem - 3.2ch)}.book .code.numbered .cl.mark:before{left:calc(.9rem - .2ch)}.book .code.out pre,.book .code.err pre{color:#f1eedf;background:#26241b}.book .code.err pre{color:#ffc2b8}.book .code.err b{color:#ff9d8f;font-weight:700}.book .code-label{letter-spacing:.05em;text-transform:uppercase;color:var(--color-muted-light);margin:0 0 .25rem;font-size:.75rem;font-weight:700}.book .code.py+.code.out,.book .code.py+.code.err{margin-top:.4rem}@media (width<=480px){.book .widget .code pre{font-size:.8rem}}.book .code-run{flex-wrap:wrap;gap:.4rem;margin-top:.35rem;display:flex}.book .code-run .btn{min-height:2rem;padding:.15rem .85rem;font-size:.85rem}.book .code-run .btn:after{content:attr(aria-label)}.book .code-run .btn[hidden]{display:none}.book .code-note{color:var(--color-muted-light);margin:.35rem 0 0;font-size:.85rem}.book .code.editing pre{position:relative}.book .code.editing pre:focus-within{outline:2px solid var(--color-text-light);outline-offset:1px}.book .code.editing .cl{text-indent:0;padding-left:0}.book .code-edit{box-sizing:border-box;width:100%;height:100%;padding:inherit;color:#0000;caret-color:#2b2817;font:inherit;line-height:inherit;letter-spacing:inherit;white-space:pre-wrap;overflow-wrap:anywhere;tab-size:4;resize:none;background:0 0;border:0;outline:none;margin:0;position:absolute;inset:0;overflow:hidden}.book .code-edit::selection{background:color-mix(in srgb, var(--g-blue) 30%, transparent);color:#0000}@media (pointer:coarse){.book .code.editing pre{font-size:16px}}.book .run-out{margin-top:.6rem}.book .run-con{color:#f1eedf;font-family:var(--mono);background:#26241b;border-radius:.25rem;padding:.7rem .9rem;font-size:.86rem;line-height:1.55}.book .code .run-con pre{color:inherit;font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;background:0 0;border:0;border-radius:0;margin:0;padding:0}.book .code .run-con pre:empty{display:none}.book .run-typed{color:#fff;font-weight:700}.book .run-err,.book .code .run-con .run-tb{color:#ffc2b8}.book .run-con .run-note,.book .run-con .run-friendly{font-family:var(--font-sans);color:#d6d0b8;margin:0}.book .run-con .run-friendly{color:#ffe1b0}.book .run-con pre+p,.book .run-con p+pre{margin-top:.4rem}.book .run-ask{vertical-align:middle;align-items:center;gap:.4rem;display:inline-flex}.book .run-ask input{color:#fff;width:11rem;max-width:55vw;font:inherit;background:#3a372b;border:1px solid #8f8a72;border-radius:.2rem;padding:.05rem .4rem}.book .run-ask input:focus{outline:2px solid var(--color-primary);outline-offset:1px}@media (pointer:coarse){.book .run-ask input{font-size:16px}}.book .run-ask .btn{font-size:.8rem;font-family:var(--font-sans);color:var(--color-text-light);padding:0 .7rem}.book .run-extras{justify-items:start;gap:.6rem;margin-top:.6rem;display:grid}.book .run-turtle svg{border:1px solid color-mix(in srgb, var(--color-text-light) 22%, transparent);border-radius:.25rem;height:auto;display:block}.book .run-pic{background:#fff;border-radius:.25rem;max-width:100%;height:auto;display:block}.book .run-file{width:100%}@media print{.book .code-run,.book .code-note,.book .run-out{display:none}}.book .code .tk{color:#7b3f8c;font-weight:600}.book .code .tk2,.book .code .tn{color:#8f5300}.book .code .ts{color:#3f6e2f}.book .code .tc{color:#6a6550;font-style:italic}.book .code .tb{color:#2f5f9a}.book .code .tf{color:#2f5f9a;font-weight:700}.book .code .tp{color:#8f5300;-webkit-user-select:none;user-select:none;font-weight:700}.book .code .to{color:#4a4530}
