:root{color-scheme:light;--paper:#fff;--ink:#000;--soft:#333;--mute:#6b6b6b;--hair:#000;--thin:#c9c9c9;--wash:#f4f3ef;--hot:#d93a06;--hot-rgb:217 58 6;--note:#fff0b8;--note-ink:#4d3c00;--night:#000;--gutter:20px;--measure:39rem;--serif:"CM", "Latin Modern Roman", "Times New Roman", serif;--mono:"CMT", ui-monospace, "SF Mono", Menlo, monospace}:root[data-theme=dark]{color-scheme:dark;--paper:#0b0b0d;--ink:#f5f2ea;--soft:#d5d2c9;--mute:#96938b;--hair:#f5f2ea;--thin:#3a3a3e;--wash:#17171a;--hot:#ff7a3c;--hot-rgb:255 122 60;--note:#3a2f06;--note-ink:#ffe9a3}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--paper:#0b0b0d;--ink:#f5f2ea;--soft:#d5d2c9;--mute:#96938b;--hair:#f5f2ea;--thin:#3a3a3e;--wash:#17171a;--hot:#ff7a3c;--hot-rgb:255 122 60;--note:#3a2f06;--note-ink:#ffe9a3}}@font-face{font-family:CM;src:url(/fonts/cm-roman.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:CM;src:url(/fonts/cm-italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:CM;src:url(/fonts/cm-bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:CM;src:url(/fonts/cm-bolditalic.woff2)format("woff2");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:CMT;src:url(/fonts/cm-mono.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}*,:before,:after{box-sizing:border-box}html{background:var(--paper);-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{background:var(--paper);color:var(--ink);font:400 19.5px/1.42 var(--serif);font-kerning:normal;font-synthesis:none;-webkit-font-smoothing:antialiased;margin:0}html:not(.no-hole){-webkit-touch-callout:none}body.holding{-webkit-user-select:none;user-select:none}#sheet{background:var(--paper);flex-direction:column;min-height:100svh;display:flex;overflow-x:clip}main{flex:1 0 auto}#sheet>*{min-width:0}img{max-width:100%;height:auto;display:block}a{color:inherit}p{margin:0}h1,h2,h3{margin:0;font-weight:700}ul,ol{margin:0;padding:0;list-style:none}.sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{background:var(--ink);color:var(--paper);z-index:90;padding:8px 12px;position:absolute;top:8px;left:-200vw}.skip:focus{left:8px}:focus-visible{outline:2px solid var(--hot);outline-offset:2px}#lens{z-index:70;pointer-events:none;visibility:hidden;display:block;position:fixed;top:0;left:0}#lens.on{visibility:visible}#limbo{opacity:0;pointer-events:none;z-index:-1;contain:strict;width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}#gauge{z-index:72;min-height:46px;padding:5px var(--gutter) 6px;padding-top:calc(5px + env(safe-area-inset-top));background:var(--paper);border-bottom:1px solid var(--hair);font:400 12.5px/1.15 var(--mono);color:var(--ink);white-space:nowrap;pointer-events:none;flex-direction:column;justify-content:center;gap:3px;display:none;position:fixed;top:0;left:0;right:0}#gauge.on{display:flex}#gauge .g-to{text-overflow:ellipsis;color:var(--hot);overflow:hidden}#gauge .g-to:empty{display:none}.head{padding:0 var(--gutter) 0;padding-top:env(safe-area-inset-top);border-bottom:1px solid var(--hair);align-items:center;gap:2px;min-height:46px;display:flex}.brand{letter-spacing:-.01em;margin-right:auto;padding:8px 8px 8px 0;font-size:21px;font-weight:700;text-decoration:none}.head-link{padding:10px 7px;font-size:17px;text-decoration:none}.head-icon{width:38px;height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.head-icon svg{width:20px;height:20px}.head-go{background:var(--ink);color:var(--paper);margin-left:4px;padding:5px 10px 6px;font-size:16px;text-decoration:none}@media (hover:hover){.head-link:hover,.brand:hover{color:var(--hot)}}.title-page{min-height:calc(100svh - 47px);padding:14px var(--gutter) 12px;flex-direction:column;display:flex}.title{letter-spacing:-.028em;margin-left:-.03em;font-size:min(26.4vw,196px);line-height:.93}.stop{background:currentColor;border-radius:50%;width:.158em;height:.158em;margin-left:.055em;display:inline-block}.tag{letter-spacing:-.006em;margin-top:16px;font-size:24px;line-height:1.16}.byline{justify-content:space-between;align-items:baseline;gap:12px;margin-top:12px;font-size:17.5px;display:flex}.byline a{text-decoration:none}.lead-fig{flex-direction:column;flex:200px;min-height:180px;margin:10px 0 0;display:flex}.lead-art{flex:1 1 0;min-height:0;display:block;position:relative}.lead-art img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.lead-fig figcaption{text-align:center;padding-top:4px;font-size:16.5px}.lead-fig figcaption a{text-decoration:none}.fn-rule{border:0;border-top:1px solid var(--hair);width:34%;height:0;margin:10px 0 6px}.foot-note{color:var(--soft);font-size:15.5px}.foot-note sup,.fn-mark{font-size:.7em;line-height:0}.abstract{padding:26px var(--gutter) 6px}.abstract>p:first-child,.para,.prose p,.block-body p{text-align:justify;-webkit-hyphens:auto;hyphens:auto}.actions{flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:18px;display:flex}.go{background:var(--ink);color:var(--paper);padding:9px 16px 11px;font-size:19px;font-weight:700;text-decoration:none;display:inline-block}.more{text-underline-offset:3px;text-decoration-skip-ink:none;text-decoration:underline 1px}.block{padding:30px var(--gutter) 0;max-width:calc(var(--measure) + 2 * var(--gutter))}.block--wide{max-width:none}.block>h2,.prose h2{letter-spacing:-.01em;margin-bottom:12px;font-size:25px;line-height:1.16}.block>h2 .n{min-width:1.5em;display:inline-block}.prose h3,.block h3{margin:20px 0 8px;font-size:20.5px}.para+.para,.prose p+p,.block-body p+p{text-indent:1.4em}.prose h2{margin-top:30px}.prose ul{margin:12px 0}.prose ul li{text-align:left;margin-top:8px;padding-left:1.2em;position:relative}.prose ul li>span.bullet{position:absolute;left:0}.prose a,.para a,.block-body a,.method a,.fine a{text-underline-offset:3px;text-decoration-skip-ink:none;text-decoration:underline 1px}code{font:400 .88em var(--mono)}.toc,.toc li{display:block}.toc-row{align-items:baseline;gap:6px;padding:7px 0;font-size:19.5px;line-height:1.2;text-decoration:none;display:flex}.toc-n{flex:none;min-width:1.6em;font-weight:700}.toc-name{flex:none;max-width:70%;font-weight:700}.leader{white-space:nowrap;letter-spacing:.42em;min-width:0;color:var(--ink);direction:rtl;flex:1 1 0;font-size:16px;overflow:hidden}.toc-p{text-align:right;font-variant-numeric:tabular-nums;flex:none;min-width:1.8em}.lof .toc-row{padding:5px 0;font-size:17.5px}.lof .toc-name{font-weight:400}.lof .toc-n{min-width:3.3em;color:var(--soft);font-weight:400}.figs{grid-template-columns:repeat(2,1fr);gap:22px 16px;display:grid}.fig{min-width:0}.fig-art{aspect-ratio:1;display:block}.fig-art img{object-fit:contain;width:100%;height:100%}.fig.night .fig-art{background:var(--night)}.fig-cap{margin-top:6px;font-size:16.5px;line-height:1.22}.fig-cap a{text-decoration:none}.fig-what{color:var(--soft)}.methods{margin-top:10px}.methods li{text-align:justify;-webkit-hyphens:auto;hyphens:auto;margin-top:12px}.methods a{text-decoration:none}.page-head{padding:22px var(--gutter) 0}.mark{font-size:17.5px}.mark a{text-decoration:none}.page-head h1{letter-spacing:-.02em;font-size:46px;line-height:1.02}.lead{margin-top:10px;font-size:21px;line-height:1.25}.page-body{padding:18px var(--gutter) 0;max-width:calc(var(--measure) + 2 * var(--gutter))}.page-body--wide{max-width:none}.plate{background:var(--paper);aspect-ratio:1;width:100%;max-height:64svh;margin:0;position:relative}.plate.night{background:var(--night)}.plate img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.plate-tag{position:absolute}.sp-head{padding:12px var(--gutter) 0}.sp-no{font-size:17.5px}.sp-no a{text-decoration:none}.sp-head h1{letter-spacing:-.022em;margin-top:2px;font-size:50px;line-height:1}.sp-what{margin-top:10px;font-size:21px;line-height:1.26}.sp-go{flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:16px;display:flex}.table{border-collapse:collapse;border-top:2px solid var(--hair);border-bottom:2px solid var(--hair);width:100%;margin-top:4px;font-size:16.5px;line-height:1.22}.table th,.table td{text-align:left;vertical-align:top;padding:6px 12px 6px 0;font-weight:400}.table thead th{border-bottom:1px solid var(--hair);font-weight:700}.table tbody th{font-weight:400}.table td:last-child,.table th:last-child{padding-right:0}.table-cap{margin-bottom:6px;font-size:16.5px}.table-wrap{overflow-x:auto}.kv{border-top:2px solid var(--hair);border-bottom:2px solid var(--hair);margin:0;font-size:16.5px;line-height:1.24;display:block}.kv>div{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:12px;padding:5px 0;display:grid}.kv dt,.kv dd{margin:0}.kv dt{color:var(--soft)}.code-box{border:1px solid var(--hair);background:var(--wash);margin-top:12px;position:relative}.code-box pre{font:400 13.5px/1.42 var(--mono);white-space:pre-wrap;word-break:break-all;margin:0;padding:10px 44px 11px 11px;overflow-x:auto}.code-box code{font:inherit}.copy{background:var(--wash);min-width:36px;height:36px;color:var(--ink);font:400 12.5px var(--mono);cursor:pointer;border:0;justify-content:center;align-items:center;gap:4px;padding:0 5px;display:flex;position:absolute;top:3px;right:3px}.copy svg{flex:none;width:18px;height:18px}.copy.did{color:var(--hot)}.needs-words{background:var(--note);color:var(--note-ink);border:1px solid;margin:14px 0;padding:7px 10px 8px;font-size:16.5px;line-height:1.25}.foot{padding:0 var(--gutter) calc(18px + env(safe-area-inset-bottom));margin-top:44px}.turn{border-top:1px solid var(--hair);grid-template-columns:1fr 1fr;gap:16px;padding-top:12px;display:grid}.turn a{min-width:0;text-decoration:none}.turn-next{text-align:right}.turn-dir{font:400 12.5px/1.4 var(--mono);color:var(--mute);display:block}.turn-name{font-size:18px;font-weight:700;line-height:1.16;display:block}.folio{text-align:center;margin-top:14px;font-size:18px}.folio-of{color:var(--mute)}.foot-grid{border-top:1px solid var(--thin);grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;padding-top:12px;display:grid}.foot-grid nav{flex-direction:column;display:flex}.foot-grid a{padding:4px 0;font-size:18px;text-decoration:none}.foot-switches{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.switch{min-height:40px;color:inherit;border:1px solid var(--hair);font:400 13px var(--mono);cursor:pointer;background:0 0;padding:4px 12px}.fine{color:var(--soft);margin-top:14px;font-size:15px;line-height:1.25}.site-credit{--credit-ink:var(--ink);--credit-muted:var(--soft);--credit-line:var(--hair);--credit-accent:var(--hot);--credit-heart:var(--hot);border-top:1px solid var(--thin);flex-wrap:wrap;align-items:center;gap:10px 20px;margin-top:14px;padding-top:12px;display:flex}.site-credit-made{color:var(--credit-ink);margin:0;font-size:18px;font-weight:700}.site-credit-made a{color:inherit;text-decoration:underline;text-decoration-color:var(--credit-accent);text-underline-offset:.2em;text-decoration-skip-ink:none;text-decoration-thickness:2px}.site-credit-social{flex-wrap:wrap;gap:2px;margin:0;padding:0;list-style:none;display:flex}.site-credit-social a{width:40px;height:40px;color:var(--credit-muted);place-items:center;display:grid}.site-credit-social svg{width:19px;height:19px}.site-credit-sponsor{border:1px solid var(--credit-line);min-height:40px;color:var(--credit-ink);align-items:center;gap:8px;margin-left:auto;padding:0 14px;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.site-credit-sponsor svg{width:17px;height:17px;color:var(--credit-heart)}@media (hover:hover){.site-credit-social a:hover,.site-credit-sponsor:hover,.toc-row:hover .toc-name,.fig-cap a:hover,.turn a:hover .turn-name,.foot-grid a:hover{color:var(--hot)}}@media (width<=720px){.site-credit-sponsor{margin-left:0}}.search-form{gap:8px;display:flex}.search-form input{min-width:0;height:46px;font:400 19px var(--serif);color:var(--ink);background:var(--paper);border:1px solid var(--hair);-webkit-appearance:none;border-radius:0;flex:1;padding:0 10px}.search-form button{background:var(--ink);height:46px;color:var(--paper);font:700 18px var(--serif);cursor:pointer;border:0;padding:0 14px}.search-status{color:var(--soft);min-height:1.4em;margin-top:12px}.search-results li{border-top:1px solid var(--thin);grid-template-columns:56px minmax(0,1fr);gap:12px;padding:12px 0;display:grid}.search-results p{overflow-wrap:anywhere}.search-results h2{font-size:20.5px}.search-results h2 a{text-decoration:none}.search-results .kind{color:var(--soft);font-size:15.5px}.search-results mark{color:var(--hot);background:0 0}.drop{margin-top:12px}.drop[hidden]{display:none}.drop-box{border:1px solid var(--hair);cursor:pointer;padding:12px;display:block}.drop.is-over .drop-box{background:var(--wash)}.drop-title{font-weight:700;display:block}.drop-routes{color:var(--soft);margin-top:2px;font-size:17px;display:block}.drop-box .button{background:var(--ink);color:var(--paper);margin-top:10px;padding:7px 12px 8px;font-size:17.5px;font-weight:700;display:inline-block}.drop-input{opacity:0;width:1px;height:1px;position:absolute}.drop-promise,.drop-say{color:var(--soft);margin-top:6px;font-size:16.5px}details{border-top:1px solid var(--hair)}details:last-of-type{border-bottom:1px solid var(--hair)}summary{cursor:pointer;padding:10px 0;font-weight:700;list-style:none}summary::-webkit-details-marker{display:none}.credit-body{padding-bottom:14px;font-size:16.5px;line-height:1.28;overflow-x:auto}.credit-body h3{font-size:18px}.on-this-page{margin-bottom:14px}.on-this-page a{padding:3px 0;display:block}@media (width>=720px){:root{--gutter:40px}body{font-size:20px}.head{min-height:52px}.figs{grid-template-columns:repeat(4,1fr)}.tag{max-width:26em;font-size:30px}.toc-columns{columns:2;column-gap:56px}}@media (width>=960px){.title-page{grid-template-rows:auto auto auto 1fr auto;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);column-gap:40px;display:grid}.title{grid-column:1;font-size:min(15.4vw,28svh)}.tag,.byline{grid-column:1}.lead-fig{grid-area:1/2/6;margin:0}.foot-note{grid-column:1}.fn-rule{grid-column:1;align-self:end}.sp-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.plate{max-height:none}.figs{grid-template-columns:repeat(5,1fr)}.figs--big{grid-template-columns:repeat(6,1fr)}}.eq{align-items:center;gap:10px;margin:16px 0;display:flex}.eq-math{flex:1;justify-content:center;min-width:0;display:flex}.eq-math svg{max-width:100%;height:auto;overflow:visible}.eq-n{flex:none;font-size:18px}.prose h2 .n{min-width:2.1em;display:inline-block}.lof-head{margin:22px 0 4px;font-size:21px}.lof-head a{text-decoration:none}.lof section:first-child .lof-head{margin-top:4px}.contact-host{color:var(--soft);flex:none}.claims li{margin-top:12px}.claim-how{color:var(--soft);margin-top:4px;font-size:17px}.refs{margin-top:14px;font-size:16.5px;line-height:1.26}.refs li{grid-template-columns:2.4em 1fr;margin-top:6px;display:grid}.cite-n{margin-left:2px;font-size:.72em;line-height:0}.cite-n a{color:var(--hot);text-decoration:none}.changes{color:var(--soft);margin-top:2px;font-size:15px;display:block}.tool-group{margin-top:26px}.tool-group h2{margin-bottom:6px;font-size:23px}.tool-group h2 .n{min-width:2.4em;display:inline-block}.tools li{text-align:justify;-webkit-hyphens:auto;hyphens:auto;margin-top:12px}.tools .tool-name{text-decoration:none}.shots{grid-template-columns:1fr 1fr;gap:10px;margin:16px 0;display:grid}.shots>div{flex-direction:column;gap:4px;font-size:15.5px;display:flex}.shots figcaption{color:var(--soft);grid-column:1/-1;font-size:15.5px}.prose ol{counter-reset:none;margin:12px 0}.prose ol li{text-align:justify;-webkit-hyphens:auto;hyphens:auto;margin-top:8px}:root[data-theme=dark] .plate.night,:root[data-theme=dark] .fig.night .fig-art{outline:1px solid var(--thin);outline-offset:-1px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .plate.night,:root:not([data-theme=light]) .fig.night .fig-art{outline:1px solid var(--thin);outline-offset:-1px}}.plate a{display:block;position:absolute;inset:0}
