:root{--paper:#fbfaf6;--paper-2:#f3f1ea;--ink:#1c1b18;--ink-soft:#46443e;--muted:#807c72;--accent:#1d3461;--accent-hover:#2c4f8f;--rule:#ddd9cf;--serif:"EB Garamond", "Iowan Old Style", Georgia, Cambria, "Times New Roman", serif;--sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--measure:42rem;--measure-wide:60rem}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--serif);font-optical-sizing:auto;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-feature-settings:"kern", "liga", "onum", "pnum";margin:0;font-size:1.25rem;line-height:1.72}img{max-width:100%;display:block}.shell{width:100%;max-width:var(--measure);margin-inline:auto;padding:2.5rem 1.5rem 5rem}.shell--wide{max-width:var(--measure-wide)}a{color:var(--accent);text-underline-offset:.18em;text-decoration:none;transition:color .15s,text-decoration-color .15s}.prose a,a.linkish{text-decoration:underline;text-decoration-color:color-mix(in oklab, var(--accent) 35%, transparent)}a:hover{color:var(--accent-hover);text-decoration-color:currentColor}.masthead{width:100%;max-width:var(--measure-wide);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem 1.5rem;margin-inline:auto;padding:2rem 1.5rem 0;display:flex}.masthead__name{letter-spacing:.16em;text-transform:uppercase;color:var(--ink);font-size:1.05rem;font-weight:600}.masthead__name a{color:inherit}.nav{font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;gap:1.5rem;font-size:.74rem;display:flex}.nav a{color:var(--ink-soft)}.nav a:hover,.nav a[aria-current=page]{color:var(--accent)}.prose{font-size:1.275rem;line-height:1.78}.prose p{hyphens:auto;margin:0 0 1.35rem}.prose--justified p{text-align:justify}.prose h1,.prose h2,.prose h3{margin:2.4rem 0 1rem;scroll-margin-top:1.5rem;font-weight:600;line-height:1.2}.prose h2{font-size:1.7rem}.prose h3{font-size:1.35rem}.prose blockquote{border-left:3px solid var(--accent);color:var(--ink-soft);margin:1.6rem 0;padding-left:1.1rem;font-style:italic}.prose hr{border:none;border-top:1px solid var(--rule);margin:2.5rem 0}.prose code{background:var(--paper-2);border-radius:4px;padding:.1em .35em;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.86em}.prose pre{background:var(--paper-2);border-radius:8px;padding:1rem 1.2rem;font-size:.95rem;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose img{border-radius:6px;margin:1.8rem 0}.prose .diagram{text-align:center;margin:2.2rem 0;overflow-x:auto}.prose .diagram svg{min-width:0;max-width:100%;height:auto}.prose .diagram foreignObject p,.prose .diagram foreignObject div,.prose .diagram foreignObject span{hyphens:none;margin:0;padding:0}.prose .diagram--wide svg{width:auto;min-width:100%;max-width:none}.prose .diagram--wide{border-inline-end:1px solid var(--rule)}.prose .diagram--source pre{text-align:left;border:1px dashed var(--rule)}.prose pre.poem{font-family:var(--serif);color:var(--ink);white-space:pre-wrap;text-wrap:pretty;background:0 0;border-radius:0;margin:2.2rem 0;padding:0;font-size:1.2rem;line-height:1.7;overflow-x:visible}.prose--dropcap>p:first-of-type:first-letter{float:left;color:var(--accent);padding:.08em .1em 0 0;font-size:3.4rem;font-weight:600;line-height:.8}.rule{border:none;border-top:1px solid var(--rule);margin:2rem 0}.meta{font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.78rem}.muted{color:var(--muted)}.center{text-align:center}.footer{width:100%;max-width:var(--measure-wide);border-top:1px solid var(--rule);color:var(--muted);font-family:var(--sans);letter-spacing:.04em;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;margin-inline:auto;padding:2rem 1.5rem 3rem;font-size:.8rem;display:flex}.footer a{color:var(--ink-soft)}.footer a:hover{color:var(--accent)}.footer__links{gap:1.25rem;display:flex}.badge{font-family:var(--sans);letter-spacing:.09em;text-transform:uppercase;border:1px solid var(--rule);color:var(--ink-soft);vertical-align:.12em;border-radius:999px;padding:.14rem .5rem;font-size:.62rem;font-weight:600;line-height:1;display:inline-block}.badge-current{color:#1f6f43;border-color:color-mix(in oklab, #1f6f43 35%, var(--rule));background:oklab(48.2162% -.0943371 .0443697/.08)}.badge-proposed{color:var(--accent);border-color:color-mix(in oklab, var(--accent) 35%, var(--rule));background:color-mix(in oklab, var(--accent) 7%, transparent)}.badge-deprecated{color:#8a5a00;border-color:color-mix(in oklab, #8a5a00 35%, var(--rule));background:oklab(50.7809% .0310388 .103442/.08)}.badge-superseded{color:var(--muted);background:var(--paper-2)}.badge-stable{color:#1f6f43;border-color:color-mix(in oklab, #1f6f43 35%, var(--rule));background:oklab(48.2162% -.0943371 .0443697/.08)}.badge-draft{color:var(--accent);border-color:color-mix(in oklab, var(--accent) 35%, var(--rule));background:color-mix(in oklab, var(--accent) 7%, transparent)}.badge-open{color:#7a3e9d;border-color:color-mix(in oklab, #7a3e9d 38%, var(--rule));background:oklab(48.277% .101536 -.116517/.09)}.fn-row--open{border-style:dashed;border-color:color-mix(in oklab, #7a3e9d 35%, var(--rule));background:color-mix(in oklab, #7a3e9d 4%, var(--paper))}.fn-row--open:hover{border-color:#7a3e9d}.badge-signal{color:#1f6a6a;border-color:color-mix(in oklab, #1f6a6a 38%, var(--rule));background:oklab(47.9956% -.0686975 -.0184642/.09)}.fn-row--signal{border-style:dashed;border-color:color-mix(in oklab, #1f6a6a 35%, var(--rule));background:color-mix(in oklab, #1f6a6a 4%, var(--paper))}.fn-row--signal:hover{border-color:#1f6a6a}.badge-conviction{color:#a3334d;border-color:color-mix(in oklab, #a3334d 42%, var(--rule));background:oklab(49.3421% .144982 .0270579/.09)}.fn-row--conviction{border-color:color-mix(in oklab, #a3334d 32%, var(--rule));background:color-mix(in oklab, #a3334d 4%, var(--paper));border-left:3px solid #a3334d}.fn-row--conviction:hover{border-color:#a3334d}.open-callout,.signal-callout,.conviction-callout{font-family:var(--sans);color:var(--ink-soft);border-radius:.6rem;margin:0 0 2rem;padding:.9rem 1.1rem;font-size:.9rem;line-height:1.5}.open-callout{border:1px dashed color-mix(in oklab, #7a3e9d 38%, var(--rule));background:oklab(48.277% .101536 -.116517/.06)}.open-callout strong{color:#7a3e9d}.signal-callout{border:1px dashed color-mix(in oklab, #1f6a6a 38%, var(--rule));background:oklab(47.9956% -.0686975 -.0184642/.06)}.signal-callout strong{color:#1f6a6a}.conviction-callout{border:1px solid color-mix(in oklab, #a3334d 42%, var(--rule));background:oklab(49.3421% .144982 .0270579/.06);border-left:3px solid #a3334d}.conviction-callout strong{color:#a3334d}.tag{font-family:var(--sans);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border:1px solid var(--rule);border-radius:999px;padding:.1rem .5rem;font-size:.64rem;font-weight:500;line-height:1.3;display:inline-block}.fn-cards{gap:.7rem;margin:1.75rem 0 4rem;padding:0;list-style:none;display:grid}.fn-row{color:inherit;background:var(--paper);border:1px solid var(--rule);border-radius:10px;padding:1.1rem 1.3rem;text-decoration:none;transition:border-color .15s,transform .15s;display:block;position:relative}.fn-row:hover{border-color:var(--accent);transform:translateY(-1px)}.fn-row__cover{z-index:1;border-radius:inherit;position:absolute;inset:0}.fn-row__meta{font-family:var(--mono);justify-content:space-between;align-items:baseline;gap:1rem;font-size:.72rem;display:flex}.fn-row__id{color:var(--accent);letter-spacing:.04em;align-items:center;gap:.5rem;font-weight:600;display:inline-flex}.fn-row__date{color:var(--muted);white-space:nowrap;letter-spacing:.04em}.fn-row__title{margin:.4rem 0 0;font-size:1.4rem;font-weight:600;line-height:1.25;transition:color .15s;display:block}.fn-row:hover .fn-row__title{color:var(--accent)}.fn-row__summary{color:var(--ink-soft);margin:.45rem 0 0;font-size:1.05rem;line-height:1.55;display:block}.fn-row__tags{z-index:2;flex-wrap:wrap;gap:.35rem;margin-top:.7rem;display:flex;position:relative}.tag--link{cursor:pointer;text-decoration:none;transition:border-color .15s,color .15s}.tag--link:hover{border-color:var(--accent);color:var(--accent)}mark{background:color-mix(in oklab, var(--accent) 18%, transparent);color:inherit;border-radius:2px;padding:0 .08em}.prose .fn-aside{border-left:3px solid var(--accent);background:var(--paper-2);color:var(--ink-soft);border-radius:0 .5rem .5rem 0;margin:1.9rem 0;padding:.9rem 1.2rem;font-style:normal}.fn-aside__label{font-family:var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0 0 .4rem;font-size:.64rem;font-weight:600}.prose .fn-aside p:last-child{margin-bottom:0}.ref{position:relative}.ref__link{text-decoration:underline dotted;text-decoration-color:color-mix(in oklab, var(--accent) 55%, transparent);text-underline-offset:.18em;cursor:help}.ref--missing{text-decoration:underline dotted var(--rule)}.ref__pop{z-index:30;background:var(--paper);border:1px solid var(--rule);width:max-content;max-width:min(24rem,86vw);font-family:var(--sans);color:var(--ink-soft);text-align:left;hyphens:none;cursor:auto;border-radius:.6rem;flex-direction:column;gap:.45rem;padding:.85rem .95rem;font-size:.84rem;line-height:1.5;display:none;position:absolute;bottom:calc(100% + .5rem);left:0;box-shadow:0 10px 32px #1c1b182e}.ref:hover .ref__pop,.ref:focus-within .ref__pop{display:flex}.ref__pop-title{color:var(--ink);font-size:.9rem;font-weight:600}.ref__pop-abstract{margin:0}.ref__pop-link{letter-spacing:.02em;color:var(--accent);align-self:flex-start;font-size:.76rem;font-weight:600;text-decoration:none}.ref__pop-link:hover{text-decoration:underline}.xref .ref__link{text-decoration-style:solid;text-decoration-color:color-mix(in oklab, var(--accent) 40%, transparent);white-space:nowrap}.xref__kind{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.66rem;font-weight:600}.xref__context{border-top:1px solid var(--rule);color:var(--ink-soft);padding-top:.45rem}.xref__context strong{color:var(--ink);font-weight:600}@media (width<=640px){.ref__pop{left:auto;right:0}}
