:root{--paper:#fff;--paper-2:#f3f5f7;--line:#d5dbe1;--ink:#16222e;--ink-2:#3f4c59;--ink-3:#5b6875;--teal:#0b6e66;--teal-hover:#095a54;--teal-tint:#e3f3f1;--teal-text:#075e57;--diff:#b42318;--diff-tint:#fdecea;--teal-deep:#06433e;--ground:#0f171f;--ground-2:#182330;--ground-line:#2b3a49;--ground-text:#e8edf2;--ground-text-2:#aebbc8;--ground-teal:#5fd3c6;--ground-teal-hover:#8ae3d9;--ground-diff:#f28b82;--on-teal:#fff;--on-teal-wash:#ffffff1a;--on-teal-light:#0f171f;--diff-mark:red;--diff-faded:#c9ced3;--crop:#5fd3c6;--sheet-paper:#fff;--sheet-ink:#16222e;--sheet-muted:#5b6875;--sheet-line:#d5dbe1;--sheet-grid:#16222e0f;--font-sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--size-display:3rem;--size-h2:1.75rem;--size-h3:1.25rem;--size-body:1.0625rem;--size-small:.9375rem;--size-caption:.875rem;--size-label:.8125rem;--radius:6px;--control-height:44px;--focus-ring:3px solid var(--teal-hover);--focus-offset:2px;--measure:60ch}@media (prefers-color-scheme:dark){:root{--paper:#0f171f;--paper-2:#182330;--line:#2b3a49;--ink:#e8edf2;--ink-2:#aebbc8;--ink-3:#8a98a6;--teal:#5fd3c6;--teal-hover:#8ae3d9;--teal-tint:#12302e;--teal-text:#8ae3d9;--diff:#f28b82;--diff-tint:#3a1c1a;--ground:#060b10;--ground-2:#0f171f;--ground-line:#1e2b3a}}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-400-normal.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-500-normal.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-600-normal.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-400-normal.woff2)format("woff2")}:root{color-scheme:light dark;--wrap:1120px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);margin:0;font-size:1.0625rem;line-height:1.6}a{color:var(--teal);text-underline-offset:.15em}a:hover{color:var(--teal-hover)}:focus-visible{outline:3px solid var(--teal-hover);outline-offset:2px}.on-ground :focus-visible,.on-deep :focus-visible{outline-color:var(--ground-teal)}h1,h2,h3{letter-spacing:-.01em;text-wrap:balance;margin:0;font-weight:600;line-height:1.2}h1{letter-spacing:-.02em;font-size:clamp(2.125rem,1.4rem + 2.8vw,3.25rem);line-height:1.08}h2{font-size:clamp(1.5rem,1.2rem + 1.2vw,1.875rem)}h3{font-size:1.125rem;line-height:1.3}p,ul,ol,dl,dd,figure{margin:0}code,pre,kbd{font-family:var(--font-mono)}code{font-size:.9em}pre{border-radius:var(--radius);background:var(--paper-2);border:1px solid var(--line);tab-size:4;margin:0;padding:1.25rem 1.5rem;font-size:.875rem;line-height:1.65;overflow-x:auto}pre code{font-size:inherit}.k{color:var(--teal)}.s{color:var(--ink-2)}.c{color:var(--ink-3)}.terminal{background:var(--ground);color:var(--ground-text);border-color:var(--ground-line)}.terminal .k{color:var(--ground-teal)}.terminal .s,.terminal .c{color:var(--ground-text-2)}.terminal .pass{color:var(--ground-teal)}.terminal .fail{color:var(--ground-diff)}.terminal .badge-pass{background:var(--ground-teal);color:var(--on-teal-light);border-radius:3px;padding:0 .4em;font-weight:500}.terminal .badge-fail{background:var(--ground-diff);color:var(--on-teal-light);border-radius:3px;padding:0 .4em;font-weight:500}.terminal .dim{color:var(--ground-text-2)}.skip-link{background:var(--ground-teal);color:var(--on-teal-light);border-radius:var(--radius);z-index:10;padding:.75rem 1rem;font-weight:500;position:absolute;top:-100px;left:1rem}.skip-link:focus{top:1rem}.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:1rem}@media (width>=640px){.wrap{padding-inline:1.5rem}}.crop{position:relative}.crop:before{content:"";pointer-events:none;background:linear-gradient(var(--crop), var(--crop)) left top / 14px 1px no-repeat, linear-gradient(var(--crop), var(--crop)) left top / 1px 14px no-repeat, linear-gradient(var(--crop), var(--crop)) right top / 14px 1px no-repeat, linear-gradient(var(--crop), var(--crop)) right top / 1px 14px no-repeat, linear-gradient(var(--crop), var(--crop)) left bottom / 14px 1px no-repeat, linear-gradient(var(--crop), var(--crop)) left bottom / 1px 14px no-repeat, linear-gradient(var(--crop), var(--crop)) right bottom / 14px 1px no-repeat, linear-gradient(var(--crop), var(--crop)) right bottom / 1px 14px no-repeat;position:absolute;inset:-14px}.titled{align-items:center;gap:.75rem;display:flex}.titled:before{content:"";border-left:2px solid var(--teal);border-top:2px solid var(--teal);flex:none;width:12px;height:12px}.on-ground .titled:before,.on-deep .titled:before{border-color:var(--ground-teal)}.site-header{background:var(--ground);color:var(--ground-text)}.site-header .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-block:.75rem;display:flex}.brand{color:var(--ground-text);letter-spacing:-.01em;align-items:center;gap:.625rem;min-height:44px;font-size:1.125rem;font-weight:600;text-decoration:none;display:inline-flex}.brand:hover{color:var(--ground-text)}.brand svg{flex:none;width:28px;height:28px}.brand .page{stroke:var(--ground-text)}.brand .tick{stroke:var(--ground-teal)}.site-nav ul{flex-wrap:wrap;gap:.25rem;padding:0;list-style:none;display:flex}.site-nav a{min-height:44px;color:var(--ground-text-2);border-radius:var(--radius);align-items:center;padding:0 .75rem;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.site-nav a:hover{color:var(--ground-text);background:var(--ground-2)}.hero{background:var(--ground);color:var(--ground-text)}.hero .wrap{grid-template-columns:minmax(0,1fr);align-items:center;gap:3rem;padding-block:3.5rem 4.5rem;display:grid}@media (width>=900px){.hero .wrap{grid-template-columns:minmax(0,11fr) minmax(0,10fr);gap:4rem;padding-block:5rem 6rem}}.hero-copy{flex-direction:column;gap:1.25rem;display:flex}.eyebrow{font-family:var(--font-mono);color:var(--ground-teal);font-size:.8125rem}.lead{color:var(--ground-text-2);max-width:34em;font-size:1.1875rem}.hero .muted{color:var(--ground-text-2)}.muted{color:var(--ink-3);font-size:.875rem}.actions{flex-wrap:wrap;gap:.75rem;display:flex}.button{border-radius:var(--radius);border:1px solid #0000;justify-content:center;align-items:center;min-height:44px;padding:0 1.25rem;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.button-primary{background:var(--teal);color:var(--on-teal)}.button-primary:hover{background:var(--teal-hover);color:var(--on-teal)}.button-secondary{border-color:var(--ink);color:var(--ink)}.button-secondary:hover{background:var(--paper-2);color:var(--ink)}.on-ground .button-primary{background:var(--ground-teal);color:var(--on-teal-light)}.on-ground .button-primary:hover{background:var(--ground-teal-hover);color:var(--on-teal-light)}.on-ground .button-secondary{border-color:var(--ground-text);color:var(--ground-text)}.on-ground .button-secondary:hover{background:var(--ground-2);color:var(--ground-text)}.on-deep .button-secondary{border-color:var(--on-teal);color:var(--on-teal)}.on-deep .button-secondary:hover{background:var(--on-teal-wash);color:var(--on-teal)}@media (prefers-color-scheme:dark){.button-primary,.button-primary:hover{color:var(--on-teal-light)}}.snapshot{background:var(--ground-2);border:1px solid var(--ground-line);border-radius:var(--radius);flex-direction:column;gap:1rem;margin:14px;padding:1.5rem;display:flex}.snap-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:.875rem;display:grid}.snap{flex-direction:column;gap:.5rem;min-width:0;display:flex}.snap-label{font-family:var(--font-mono);color:var(--ground-text);overflow-wrap:anywhere;font-size:.75rem;line-height:1.35}.snap-label small{color:var(--ground-text-2);font-size:.6875rem;display:block}.snap-label.is-diff,.snap-label.is-diff small{color:var(--ground-diff)}.sheet{aspect-ratio:1/1.3;background:var(--sheet-paper);color:var(--sheet-ink);font-family:var(--font-sans);border-radius:2px;flex-direction:column;gap:5%;padding:11% 10%;font-size:clamp(6px,1.1vw,9px);line-height:1.2;display:flex;position:relative;overflow:hidden}.sheet-head{justify-content:space-between;align-items:baseline;font-weight:600;display:flex}.sheet-head span:last-child{color:var(--sheet-muted);font-weight:400}.bar{background:var(--sheet-line);border-radius:1px;height:.5em}.bar.w60{width:60%}.bar.w45{width:45%}.bar.w75{width:75%}.row{justify-content:space-between;gap:1em;display:flex}.row .bar{flex:1;margin-top:.3em}.row span{font-family:var(--font-mono)}.total{border-top:1px solid var(--sheet-ink);justify-content:space-between;margin-top:auto;padding-top:5%;font-weight:600;display:flex}.total span:last-child{font-family:var(--font-mono)}.total.is-missing span:last-child{visibility:hidden}.sheet.is-diff{color:var(--diff-faded);background-color:var(--sheet-paper);background-image:linear-gradient(var(--sheet-grid) 1px, transparent 1px), linear-gradient(90deg, var(--sheet-grid) 1px, transparent 1px);background-size:6px 6px}.sheet.is-diff .bar{background:var(--diff-faded)}.sheet.is-diff .sheet-head span:last-child{color:var(--diff-faded)}.sheet.is-diff .total{border-top-color:var(--diff-faded);color:var(--diff-faded)}.sheet.is-diff .total span:last-child{color:var(--diff-mark);position:relative}.sheet.is-diff .total span:last-child:after{content:"";background:var(--diff-mark);opacity:.25;position:absolute;inset:-.15em -.2em}.snap-msg{font-family:var(--font-mono);color:var(--ground-text);border-top:1px solid var(--ground-line);overflow-wrap:anywhere;padding-top:.75rem;font-size:.8125rem;line-height:1.5}.snap-msg .fail{color:var(--ground-diff)}.snap-msg .dim{color:var(--ground-text-2)}.moment{border-top:1px solid var(--line)}.moment .wrap{flex-direction:column;gap:.75rem;padding-block:3.5rem 0;display:flex}.moment .wrap p{color:var(--ink-2);max-width:60ch}.split{grid-template-columns:minmax(0,1fr);margin-top:2rem;display:grid}@media (width>=900px){.split{grid-template-columns:1fr 1fr}}.pane{padding:2.5rem 1rem}@media (width>=640px){.pane{padding:2.5rem 1.5rem}}.pane-code{background:var(--paper-2);border-top:1px solid var(--line)}.pane-term{background:var(--ground);color:var(--ground-text)}.pane-inner{flex-direction:column;gap:.75rem;display:flex}@media (width>=900px){.pane-inner{max-width:calc(var(--wrap) / 2 - 3rem)}.pane-code .pane-inner{margin-left:auto}.pane-term .pane-inner{margin-right:auto}}.pane-title{font-family:var(--font-mono);color:var(--ink-3);font-size:.8125rem}.pane-term .pane-title{color:var(--ground-text-2)}.pane pre{background:0 0;border:0;padding:0}.pane-term pre{color:var(--ground-text)}.checks-section .wrap{flex-direction:column;gap:1.5rem;padding-block:3.5rem;display:flex}.checks{border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:minmax(0,1fr);display:grid;overflow:hidden}@media (width>=800px){.checks{grid-template-columns:repeat(3,minmax(0,1fr))}}.check{border-top:1px solid var(--line);flex-direction:column;gap:.5rem;padding:1.5rem;display:flex}.check:first-child{border-top:0}@media (width>=800px){.check{border-top:0;border-left:1px solid var(--line)}.check:first-child{border-left:0}}.check dt{font-family:var(--font-mono);color:var(--teal);font-size:.875rem}.check dd{color:var(--ink-2);font-size:.9375rem}.check .fails{border-top:1px dashed var(--line);color:var(--ink-3);margin-top:auto;padding-top:.75rem;font-size:.8125rem}.check .fails code{color:var(--ink);overflow-wrap:anywhere;margin-top:.25rem;font-size:.8125rem;display:block}.install{background:var(--teal-deep);color:var(--on-teal)}.install .wrap{grid-template-columns:minmax(0,1fr);gap:2.5rem;padding-block:3.5rem 4rem;display:grid}@media (width>=900px){.install .wrap{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:4rem}}.install .col{flex-direction:column;gap:1rem;display:flex}.install p{color:var(--on-teal)}.install .muted{color:var(--ground-text-2)}.install a:not(.button){color:var(--ground-teal)}.install ul{flex-direction:column;gap:.375rem;padding-left:1.25rem;font-size:.9375rem;display:flex}.install .note{border:1px solid var(--ground-teal);color:var(--on-teal);background:0 0}.install .note strong{color:var(--ground-teal)}.demo .wrap{grid-template-columns:minmax(0,1fr);gap:2.5rem;padding-block:3.5rem;display:grid}@media (width>=900px){.demo .wrap{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:4rem}}.demo .col{flex-direction:column;gap:1rem;display:flex}.demo p{color:var(--ink-2)}.steps{counter-reset:step;flex-direction:column;padding:0;list-style:none;display:flex}.step{border-top:1px solid var(--line);grid-template-columns:3rem minmax(0,1fr);gap:.5rem 1rem;padding:1.25rem 0;display:grid}.step:last-child{border-bottom:1px solid var(--line)}.step-n{font-family:var(--font-mono);color:var(--teal);padding-top:.25rem;font-size:.8125rem}.step-body{flex-direction:column;gap:.5rem;min-width:0;display:flex}.step-body p{font-size:.9375rem}.step pre{padding:.875rem 1rem;font-size:.8125rem}.note{border-radius:var(--radius);max-width:40em;padding:.625rem .75rem;font-size:.875rem;line-height:1.5;display:inline-block}.note-pass{background:var(--teal-tint);color:var(--teal-text)}.note-fail{background:var(--diff-tint);color:var(--diff)}.limits-section{background:var(--paper-2);border-top:1px solid var(--line)}.limits-section .wrap{grid-template-columns:minmax(0,1fr);gap:2rem;padding-block:3.5rem;display:grid}@media (width>=900px){.limits-section .wrap{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:4rem}}.limits-section .intro{color:var(--ink-2);flex-direction:column;gap:1rem;display:flex}.limits{grid-template-columns:minmax(0,1fr);gap:0 2rem;padding:0;list-style:none;display:grid}@media (width>=640px){.limits{grid-template-columns:repeat(2,minmax(0,1fr))}}.limits li{border-top:1px solid var(--line);color:var(--ink-2);padding:1rem 0;font-size:.9375rem}.limits strong{color:var(--ink);display:block}.site-footer{background:var(--ground);color:var(--ground-text-2);font-size:.875rem}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem;padding-block:2rem;display:flex}.site-footer a{color:var(--ground-teal)}.site-footer a:hover{color:var(--ground-teal-hover)}
