:root{color-scheme:light dark;--paper:#f5f4f0;--ink:#111;--graphite:#5c5c58;--rule:#dad8d2;--proof:#1e8a4c;--proof-text:#17703d;--proof-wash:#dcefe2;--defect:#a8382a;--defect-wash:#f4ddd7;--night:#1c2a44;--sheet:#fcfbf8;--defect-tint:color-mix(in srgb, var(--defect) 7%, var(--paper));--dimmed:color-mix(in srgb, var(--ink) 62%, var(--sheet));--card-fill:color-mix(in srgb, var(--paper) 90%, transparent);--step-12:.75rem;--step-14:.875rem;--step-16:1rem;--step-21:1.3125rem;--step-28:1.75rem;--step-44:2.75rem;--step-68:4.25rem;--track-44:-.02em;--track-68:-.03em;--grid-columns:12;--gutter:24px;--container:1200px;--ink-wash:color-mix(in srgb, var(--ink) 6%, transparent);--ink-lifted:color-mix(in srgb, var(--ink) 94%, var(--paper));--edge-hover:color-mix(in srgb, var(--graphite) 50%, var(--rule));--halo-proof:color-mix(in srgb, var(--proof) 6%, transparent);--halo-night:color-mix(in srgb, var(--night) 6%, transparent);--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-press:90ms;--dur-hover:.18s;--dur-move:.28s;--dur-reveal:.48s;--dur-image:.4s;--delay-tip:80ms;--dur-tip-in:.15s;--dur-tip-out:.1s;--glass-fill:#f5f4f0b8;--glass-edge:#11111114;--glass-blur:14px}@media (prefers-color-scheme:dark){:root{--paper:#121311;--ink:#edebe5;--graphite:#a3a19a;--rule:#3a3934;--proof:#3fb872;--proof-text:#5cc98a;--proof-wash:#173d27;--defect:#e58a78;--defect-wash:#42201a;--night:#a9bbdd;--sheet:#1b1c1a;--glass-fill:#121311b8;--glass-edge:#edebe51a}}@media (prefers-reduced-motion:reduce){:root{--dur-press:0s;--dur-hover:.12s;--dur-move:0s;--dur-reveal:0s;--dur-image:0s;--delay-tip:0s}}@media (prefers-reduced-transparency:reduce){:root{--glass-fill:var(--paper);--glass-blur:0px;--card-fill:var(--paper)}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--step-16);font-synthesis:none;margin:0;line-height:1.55}h1,h2,h3{text-wrap:balance;margin:0;font-weight:600;line-height:1.1}button,input,select,textarea{font:inherit}a{color:inherit;text-underline-offset:.2em;text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);transition:text-decoration-color var(--dur-hover) var(--ease-out)}a:hover{text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--proof);outline-offset:3px}.container{width:min(100% - 2 * var(--gutter), var(--container));margin-inline:auto}.section{padding-block:4rem 1rem}.rule-label{font-size:var(--step-12);color:var(--graphite);margin:0 0 .5rem}.section h2{font-size:var(--step-28);letter-spacing:-.01em;margin-bottom:1.5rem}.section h3{font-size:var(--step-21)}:is(p,li):has(>.figure){position:relative}.skip-link{left:var(--gutter);background:var(--ink);color:var(--paper);padding:.5rem .75rem;position:absolute;top:-100px}.skip-link:focus{top:var(--gutter)}.button{border:1px solid var(--rule);font-size:var(--step-16);color:var(--ink);transition:background-color var(--dur-hover) var(--ease-out), border-color var(--dur-hover) var(--ease-out), box-shadow var(--dur-hover) var(--ease-out), transform var(--dur-hover) var(--ease-out);background-color:#0000;border-radius:999px;padding:.6rem 1.1rem;line-height:1.4;text-decoration:none;display:inline-block}.button:hover{border-color:var(--ink);background-color:var(--ink-wash)}.button.primary{border-color:var(--ink);color:var(--paper);background-color:var(--ink)}.button.primary:hover{background-color:var(--ink-lifted);box-shadow:0 6px 16px -10px #1119}@media (prefers-reduced-motion:no-preference){.button:hover{transform:translateY(-1px)}.button:active{transition-duration:var(--dur-press);transform:scale(.97)}}.card{border:1px solid var(--rule);transition:border-color var(--dur-hover) var(--ease-out), transform var(--dur-hover) var(--ease-out);border-radius:14px;position:relative}.card-link:after{content:"";border-radius:inherit;position:absolute;inset:0}.card:hover{border-color:var(--edge-hover)}.card:has(.card-link:focus-visible){outline:2px solid var(--proof);outline-offset:3px}.card-link:focus-visible{outline:none}@media (prefers-reduced-motion:no-preference){.card:hover{transform:translateY(-2px)}.card:active{transition-duration:var(--dur-press);transform:translateY(0)}}.segmented{isolation:isolate;border:1px solid var(--rule);border-radius:999px;grid-template-columns:1fr 1fr;padding:.25rem;display:inline-grid;position:relative}.segmented:before{content:"";z-index:-1;background:var(--ink);width:calc(50% - .25rem);transition:transform var(--dur-move) var(--ease-in-out);border-radius:999px;position:absolute;top:.25rem;bottom:.25rem;left:.25rem}.segmented[data-at="1"]:before{transform:translate(100%)}.segmented>button{font-size:var(--step-14);color:var(--graphite);cursor:pointer;transition:color var(--dur-hover) var(--ease-out);background:0 0;border:0;border-radius:999px;padding:.4rem .9rem}.segmented>button:hover{color:var(--ink)}.segmented>button:is([aria-selected=true],[aria-pressed=true]){color:var(--paper)}@media (prefers-reduced-motion:no-preference){.segmented>button:active{transition:color var(--dur-hover) var(--ease-out), transform var(--dur-press) var(--ease-out);transform:scale(.97)}}.mono{font-family:var(--font-mono);font-weight:400}.serif{font-family:var(--font-serif)}.glass{background:var(--glass-fill);backdrop-filter:blur(var(--glass-blur))}:root[data-refraction] .glass{backdrop-filter:url(#glass-refraction) blur(var(--glass-blur))}@media (prefers-reduced-transparency:reduce){.glass,:root[data-refraction] .glass{backdrop-filter:none}}.tip{z-index:2;width:max-content;max-width:100%;font-size:var(--step-12);color:var(--ink);background:var(--paper);border:1px solid var(--rule);overflow-wrap:anywhere;opacity:0;transform-origin:0 0;transition:opacity var(--dur-tip-out) var(--ease-out), transform var(--dur-tip-out) var(--ease-out), display var(--dur-tip-out) allow-discrete;border-radius:4px;padding:.3rem .5rem;line-height:1.4;display:none;position:absolute;top:calc(100% + .35rem);left:0;transform:scale(.96)}.tip-host:is(:hover,:focus-visible):not([data-dismissed]) .tip{opacity:1;transition:opacity var(--dur-tip-in) var(--ease-out) var(--delay-tip), transform var(--dur-tip-in) var(--ease-out) var(--delay-tip), display 0s allow-discrete;display:block;transform:none}@starting-style{.tip-host:is(:hover,:focus-visible):not([data-dismissed]) .tip{opacity:0;transform:scale(.96)}}@media (prefers-reduced-motion:reduce){.tip,.tip-host:is(:hover,:focus-visible):not([data-dismissed]) .tip{transform:none}}.value[data-counting]{-webkit-text-fill-color:transparent;position:relative}.count-layer{white-space:pre;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0}:root[data-reveal] .reveal>*{transition:opacity var(--dur-reveal) var(--ease-out), transform var(--dur-reveal) var(--ease-out)}:root[data-reveal] .reveal:not([data-shown])>*{opacity:0;transform:translateY(12px)}:root[data-reveal] .reveal>:nth-child(2){transition-delay:60ms}:root[data-reveal] .reveal>:nth-child(3){transition-delay:.12s}:root[data-reveal] .reveal>:nth-child(n+4){transition-delay:.18s}.glass-filters[data-astro-cid-weda3fc5]{width:0;height:0;position:absolute;overflow:hidden}.langs[data-astro-cid-lemdd452]{font-size:var(--step-14);color:var(--graphite);gap:.4em;display:inline-flex}.current[data-astro-cid-lemdd452]{color:var(--ink)}
