:root{color-scheme:dark;--bg:#0b0d12;--surface:#12151c;--line:#262b36;--text:#c5c9d2;--muted:#808899;--cyanometer:#62a4da;--accent:var(--cyanometer);--measure:46rem;--text-meta:.875rem;--text-small:.75rem;--wide:1140px;--border:1px solid var(--line);--radius:6px;--radius-small:4px;--font-mono:"Roboto Mono", ui-monospace, monospace;--line-dots:.1 4;--line-dashes:3 3;--line-long-dashes:4 8;--sun-stroke:1.7px;--sun-dots:.1 5.2}*{box-sizing:border-box}html{overflow-anchor:none;background:var(--bg);overflow:clip scroll}body{background:var(--bg);color:var(--text);margin:0;font-family:Roboto,system-ui,sans-serif;font-size:1.0625rem;font-weight:350;line-height:1.7;overflow-x:clip}p,li,figcaption,.term-tip{text-wrap:pretty}@media (width<=40rem){p,li,figcaption{hyphens:auto;hyphenate-limit-chars:7 3 3}code,.mono{hyphens:manual}}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code,pre,.mono{font-family:var(--font-mono)}strong{color:var(--accent);font-weight:700}h2{margin-top:2rem;font-size:1.5rem}h2:before{content:"";border-top:var(--border);margin-bottom:2rem;display:block}h1 .scope{color:var(--muted);font-weight:300}h1,h2,h3{font-weight:400;line-height:1.3}h1,h2{font-weight:700}.site-header,.site-footer{max-width:var(--wide);flex-wrap:wrap;align-items:baseline;gap:1.5rem;margin:0 auto;padding:1rem 1.5rem;display:flex}.site-header{border-bottom:var(--border)}.site-header .brand{font-family:var(--font-mono);color:var(--text)}.beta{font-family:var(--font-mono);font-size:var(--text-small);color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-small);padding:0 .35rem;line-height:1.4;display:inline-block}.site-header .beta{margin-right:auto}.site-header nav{gap:1.25rem;display:flex}.nav-toggle{width:2.2rem;height:2rem;color:var(--muted);place-items:center;padding:0;display:none}.nav-toggle:hover{color:var(--accent)}.nav-toggle svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;width:16px;height:16px}@media (width<=50rem){.nav-toggle{display:grid}.site-header nav{flex-direction:column;flex-basis:100%;gap:.75rem;padding-top:.5rem;display:none}.site-header nav[data-open]{display:flex}}.site-header nav a[aria-current=page]{color:var(--text)}.site-footer{text-align:center;color:var(--muted);font-size:var(--text-small);flex-direction:column;align-items:center;gap:.35rem;margin-top:4rem;padding-bottom:4rem}main{counter-reset:figure table;max-width:var(--measure);margin:0 auto;padding:2rem 1.5rem}.lead{font-size:1.125rem}.chapter-list{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1rem;margin:2.5rem 0 3rem;padding:0;list-style:none;display:grid}.chapter-list a{background:var(--surface);border:var(--border);border-radius:var(--radius);height:100%;color:var(--text);padding:1rem 1.25rem;display:block}.chapter-list a.planned{background:0 0;border-style:dashed}.chapter-list a:hover{border-color:var(--accent);text-decoration:none}.chapter-list .mono{color:var(--accent)}.chapter-list .planned-tag{color:var(--muted);margin-left:.6rem}.chapter-list .literal{color:var(--muted);font-size:var(--text-meta);font-style:italic;display:block}.chapter-list p{color:var(--muted);margin:.5rem 0 0}.about{border-left:2px solid var(--accent);color:var(--muted);font-size:var(--text-meta);margin:2rem 0 2rem -.9rem;padding-left:.9rem}.about p:first-child{margin-top:0}.about p:last-child{margin-bottom:0}.footnote{font-size:var(--text-small)}code,pre{font-size:var(--text-meta);border:var(--border);border-radius:var(--radius-small);background:#10141a;padding:.1rem .35rem}pre{font-size:var(--text-small);margin:1rem 0 1.75rem;padding:.6rem .8rem;overflow-x:auto}pre code{font-size:inherit;counter-reset:line;background:0 0;border:0;padding:0}pre code .line:before{counter-increment:line;content:counter(line);text-align:right;width:2ch;color:var(--muted);opacity:.5;user-select:none;margin-right:1.5ch;display:inline-block}@media (width<=48rem){pre{white-space:pre-wrap;overflow-wrap:break-word}}input,button,select{font-family:var(--font-mono);font-size:var(--text-meta);background:var(--surface);height:1.65rem;color:var(--text);border:var(--border);border-radius:var(--radius-small);padding:.15rem .4rem;line-height:1.4}input[type=checkbox]{height:auto;accent-color:var(--accent)}button{cursor:pointer}input:disabled,button:disabled{opacity:.45;cursor:default}button:hover,select:hover{border-color:var(--accent)}input:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input[type=number]{appearance:textfield;width:12ch}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}:root{--cursor-wheel:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><g fill='white' stroke='black' stroke-width='1.2' stroke-linejoin='round'><path d='M12 1.5 17 7.5H7Z'/><path d='M12 22.5 17 16.5H7Z'/><circle cx='12' cy='12' r='2.6'/></g></svg>") 12 12, ns-resize}input[type=range]:not(:disabled),label:has(>input[type=range]:not(:disabled)){cursor:var(--cursor-wheel)}input[type=range]{--range-thumb:18px;--range-gap:var(--bg);--range-left:calc(var(--range-fill,.5) * (100% - var(--range-thumb)) + var(--range-thumb) / 2);appearance:none;height:var(--range-thumb);background:0 0;border:0;border-radius:0;padding:0}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(var(--accent), var(--accent)) left center / var(--range-left) 3px no-repeat, linear-gradient(var(--line), var(--line)) right center / 100% 1px no-repeat;border-radius:1.5px;height:3px}input[type=range]::-moz-range-track{background:linear-gradient(var(--accent), var(--accent)) left center / var(--range-left) 3px no-repeat, linear-gradient(var(--line), var(--line)) right center / 100% 1px no-repeat;border-radius:1.5px;height:3px}input[type=range]::-webkit-slider-thumb{appearance:none;width:var(--range-thumb);height:var(--range-thumb);margin-top:calc((3px - var(--range-thumb)) / 2);border:3px solid var(--range-gap);background:var(--accent);border-radius:50%}input[type=range]::-moz-range-thumb{width:var(--range-thumb);height:var(--range-thumb);border:3px solid var(--range-gap);background:var(--accent);border-radius:50%}input[type=range]:focus-visible{outline:none}input[type=range]:not(:disabled)::-webkit-slider-container,input[type=range]:not(:disabled)::-webkit-slider-runnable-track{cursor:var(--cursor-wheel)}input[type=range]:not(:disabled)::-moz-range-track{cursor:var(--cursor-wheel)}input[type=range]:not(:disabled)::-webkit-slider-thumb{cursor:grab}input[type=range]:not(:disabled)::-moz-range-thumb{cursor:grab}input[type=range]:not(:disabled):active::-webkit-slider-thumb{cursor:grabbing}input[type=range]:not(:disabled):active::-moz-range-thumb{cursor:grabbing}input[type=range]:focus-visible::-webkit-slider-thumb{border-color:color-mix(in srgb, var(--accent) 40%, var(--range-gap))}input[type=range]:focus-visible::-moz-range-thumb{border-color:color-mix(in srgb, var(--accent) 40%, var(--range-gap))}.wide{--wide-width:min(var(--wide), 100vw - 3rem);width:var(--wide-width);margin-left:calc(50% - var(--wide-width) / 2)}.term{cursor:help;color:inherit;text-decoration:underline dotted var(--accent);text-underline-offset:3px;position:relative}.term:hover{color:var(--accent);text-decoration:underline dotted var(--accent)}.term-tip{visibility:hidden;opacity:0;left:var(--tip-shift,0px);z-index:20;background:var(--surface);border:var(--border);border-radius:var(--radius);width:max-content;max-width:min(26rem,80vw);color:var(--text);font-size:var(--text-meta);text-align:left;white-space:normal;pointer-events:none;padding:.6rem .8rem;font-family:Roboto,system-ui,sans-serif;font-style:normal;font-weight:350;line-height:1.5;transition:opacity .15s;position:absolute;top:calc(100% + .4rem);box-shadow:0 8px 24px #00000080}.site-footer .term-tip{text-align:left;top:auto;bottom:calc(100% + .4rem)}.tip-note{color:var(--muted);margin-top:.35rem;display:block}.term:hover .term-tip,.term:focus-visible .term-tip,.term[data-tip-open] .term-tip,.cite:hover .term-tip,.cite:focus-visible .term-tip{visibility:visible;opacity:1}svg text{font-size:calc(var(--text-small) * var(--units-per-px,1))}.zdog path{vector-effect:non-scaling-stroke}.line-dotted,.line-long-dashed{stroke-linecap:round}.line-dotted{stroke-dasharray:var(--line-dots)}.line-dashed{stroke-dasharray:var(--line-dashes)}.line-long-dashed{stroke-dasharray:var(--line-long-dashes)}.line-behind{opacity:.35}.figure-caption{font-size:var(--text-meta);color:var(--muted)}.figure-caption:before{counter-increment:figure;content:"Figure " counter(figure) ". ";color:var(--accent)}.fold{border-left:2px solid var(--accent);margin-left:-.9rem;padding-left:.9rem}.fold>summary{cursor:pointer;list-style:none}.fold>summary::-webkit-details-marker{display:none}.fold>summary:before{content:"+";width:1.2em;color:var(--muted);display:inline-block}.fold[open]>summary:before{content:"−"}.fold[open]>summary{margin-bottom:.5rem}.fold-title{color:var(--accent)}.toc{margin-top:2rem;margin-bottom:1.5rem}.toc ol{margin:0;padding:0 0 0 1.2em;list-style:none}h2,figure[id],#about{scroll-margin-top:1rem}.etymology{color:var(--muted);font-size:var(--text-meta);margin-top:-.5rem;font-style:italic}.page-meta{color:var(--muted);font-size:var(--text-meta);margin-top:-.9rem}.cite{font-size:var(--text-small);vertical-align:super;line-height:0;position:relative}.cite-tip{vertical-align:baseline;line-height:1.5;font-size:var(--text-small)}.references{font-size:var(--text-meta);margin-top:3rem}.references ol{padding-left:2.2rem}.references li{margin-bottom:.5rem;scroll-margin-top:1rem;position:relative}.references li:target:before{content:"";border-left:2px solid var(--accent);position:absolute;top:0;bottom:0;left:-2.2rem}.reference-note{color:var(--muted)}.code-block{margin:1rem 0 1.75rem;position:relative}.code-block>pre{margin:0}.code-copy{width:1.65rem;color:var(--muted);background:var(--surface);opacity:0;place-items:center;padding:.2rem 0;transition:opacity .15s;display:grid;position:absolute;top:6px;right:6px}.code-copy:hover,.code-copy[data-copied]{color:var(--accent)}.code-block:hover>.code-copy,.code-copy:focus-visible,.code-copy[data-copied]{opacity:1}@media (hover:none){.code-copy{opacity:1}}.code-copy svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.cyanometer-trigger .term{cursor:pointer}dialog.cyanometer{background:var(--surface);width:min(22rem,100vw - 2rem);color:var(--text);border:var(--border);border-radius:var(--radius);font-size:var(--text-meta);text-align:left;padding:1.25rem;box-shadow:0 8px 24px #00000080}dialog.cyanometer::backdrop{background:#0009}.cyanometer svg{width:100%;display:block}.cyanometer path{stroke:var(--surface);stroke-width:1px}.cyanometer path[data-step]{cursor:pointer;outline:none}.cyanometer .cyanometer-mark{fill:none;stroke:var(--text);stroke-width:3px;stroke-linecap:round;pointer-events:none}.cyanometer .cyanometer-mark[data-mark=hover]{stroke:var(--muted)}.cyanometer text{fill:var(--muted);text-anchor:middle;dominant-baseline:middle}.cyanometer .cyanometer-number{fill:var(--accent);font-family:var(--font-mono);font-size:2.5rem}.cyanometer p{color:var(--muted)}.cyanometer-actions{justify-content:flex-end;gap:.5rem;display:flex}
