@font-face{font-family:Archivo;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/archivo-latin-400.woff2) format("woff2")}@font-face{font-family:Archivo;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/archivo-latin-600.woff2) format("woff2")}:root{--bg: #fdfdfc;--surface: #ffffff;--recessed: #f4f4f3;--ink: #16161a;--ink-soft: #3f3f46;--muted: #6b6b73;--rule: #e4e4e8;--rule-strong: #c9c9d0;--page-max: 92rem;--page-pad: clamp(1.25rem, 4vw, 3rem);--t-xs: .6875rem;--t-sm: .8125rem;--t-base: .9375rem;--t-md: 1.125rem;--t-lg: clamp(1.375rem, 1.1rem + 1vw, 1.75rem);--t-xl: clamp(1.875rem, 1.3rem + 2.4vw, 2.75rem);--ease: cubic-bezier(.22, 1, .36, 1);--z-nav: 100}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--t-base) / 1.55 Archivo,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.page{max-width:var(--page-max);margin:0 auto;padding:0 var(--page-pad) 6rem}a{color:inherit}.skip{position:absolute;left:-9999px}.skip:focus{left:var(--page-pad);top:.5rem;z-index:calc(var(--z-nav) + 1);background:var(--ink);color:var(--bg);padding:.5rem .75rem}:where(a,button,summary):focus-visible{outline:2px solid var(--ink);outline-offset:3px}.masthead{padding:clamp(3rem,8vw,6rem) 0 clamp(2rem,4vw,3rem)}.masthead h1{margin:0;font-size:var(--t-xl);font-weight:600;letter-spacing:-.03em;line-height:1.02}.masthead__thesis{margin:1rem 0 0;max-width:46ch;font-size:var(--t-md);line-height:1.45;color:var(--ink-soft);text-wrap:pretty}.masthead__counts{margin:1.75rem 0 0;font-size:var(--t-sm);color:var(--muted)}.masthead__counts b{font-weight:600;color:var(--ink)}.masthead__method{margin:.875rem 0 0;font-size:var(--t-sm)}.masthead__method a{font-weight:600;text-decoration:none;border-bottom:2px solid var(--rule-strong);transition:border-color .18s var(--ease)}.masthead__method a:hover{border-bottom-color:var(--ink)}.key{display:flex;flex-wrap:wrap;gap:0 2rem;margin:2.5rem 0 0;padding:1.125rem 0 0;border-top:1px solid var(--rule);font-size:var(--t-sm)}.key div{max-width:34ch;padding:.375rem 0}.key dt{font-weight:600}.key dd{margin:.125rem 0 0;color:var(--muted)}.fnav{position:sticky;top:0;z-index:var(--z-nav);margin-bottom:1rem;background:var(--bg);border-bottom:1px solid var(--rule)}.fnav__inner{display:flex;gap:1.25rem;overflow-x:auto;scrollbar-width:thin}.fnav a{flex:none;padding:.75rem 0;font-size:var(--t-sm);color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;transition:color .18s var(--ease),border-color .18s var(--ease)}.fnav a:hover{color:var(--ink);border-bottom-color:var(--rule-strong)}.fnav a[data-populated=true]{color:var(--ink);font-weight:600}.fnav a[data-populated=true]:hover{border-bottom-color:var(--ink)}.family{padding:clamp(2.5rem,5vw,4.5rem) 0 0;scroll-margin-top:4rem}.family__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;padding-bottom:.75rem;border-bottom:2px solid var(--ink)}.family__head h2{margin:0;font-size:var(--t-lg);font-weight:600;letter-spacing:-.02em}.family__count{font-size:var(--t-sm);color:var(--muted);font-variant-numeric:tabular-nums}.family__blurb{margin:.875rem 0 0;max-width:62ch;font-size:var(--t-sm);color:var(--muted)}.row{padding:clamp(2rem,4vw,3.25rem) 0 0;scroll-margin-top:4rem}.row__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.375rem .875rem}.row__head h3{margin:0;font-size:var(--t-md);font-weight:600;letter-spacing:-.01em;text-wrap:balance}.row__fixture{font-size:var(--t-xs);color:var(--muted)}.row__fixture code{font:inherit;padding:.1rem .3rem;background:var(--recessed);border:1px solid var(--rule)}.row__tag{font-size:var(--t-xs);color:var(--muted);letter-spacing:.02em}.row__cells{display:grid;gap:1.5rem;margin-top:1.25rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:start}.swatch{margin:0;display:flex;flex-direction:column;max-width:41rem}.swatch__frame{display:block;padding:.625rem;background:var(--surface);border:1px solid var(--rule);text-decoration:none;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease)}.swatch__frame:hover{border-color:var(--rule-strong);box-shadow:0 6px 22px -14px #16161a80;transform:translateY(-2px)}.swatch__render{overflow-x:auto}.swatch__render svg{display:block;width:100%;height:auto}.swatch--default .swatch__frame{background:var(--recessed);border-style:dashed}.swatch figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem .75rem;margin-top:.75rem;font-size:var(--t-xs);color:var(--muted)}.swatch__id,.swatch__meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:.375rem .625rem}.swatch__arm{font-weight:600;font-size:var(--t-sm);color:var(--ink);letter-spacing:-.01em}.swatch--default .swatch__arm{color:var(--muted)}.swatch__method,.nulls__method{font:inherit;font-weight:600;color:var(--ink-soft);padding:.15rem .4rem;background:var(--recessed);border:1px solid var(--rule)}.swatch--default .swatch__method{font-weight:400}.swatch__runs{font-variant-numeric:tabular-nums}.swatch__link{color:var(--muted);text-decoration:none;white-space:nowrap}.swatch__frame:hover+figcaption .swatch__link,.swatch__link:hover{color:var(--ink);text-decoration:underline}.swatch__null{margin:.625rem 0 0;padding:.625rem .75rem;font-size:var(--t-xs);line-height:1.5;color:var(--ink-soft);background:var(--recessed);border:1px solid var(--rule);border-top:2px solid var(--ink)}.swatch__null b{color:var(--ink)}.gap{align-self:stretch;max-width:41rem;padding:1.25rem;border:1px dashed var(--rule-strong);background:var(--recessed);font-size:var(--t-sm);color:var(--muted)}.gap h4{margin:0 0 .5rem;font-size:var(--t-xs);font-weight:600;color:var(--ink)}.gap p{margin:0}.planned{margin-top:clamp(2rem,4vw,3rem);padding-top:1rem;border-top:1px solid var(--rule)}.family--planned{padding-top:clamp(1.5rem,3vw,2.25rem)}.family--planned .family__head{border-bottom-width:1px;border-bottom-color:var(--rule)}.family--planned .family__head h2{font-size:var(--t-md);color:var(--muted)}.family--planned .planned{margin-top:.75rem;padding-top:0;border-top:0}.planned h4{margin:0 0 .625rem;font-size:var(--t-xs);font-weight:600;color:var(--muted)}.planned ul{margin:0;padding:0;list-style:none;display:grid;gap:.25rem 1.5rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));font-size:var(--t-sm)}.planned li{color:var(--muted);padding:.1875rem 0;text-wrap:pretty}.planned li b{font-weight:400;font-size:var(--t-xs);font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}.cell-page{padding-top:2.5rem}.cell-page__back{display:inline-block;margin-bottom:1.5rem;font-size:var(--t-sm);color:var(--muted);text-decoration:none}.cell-page__back:hover{color:var(--ink)}.cell-page h1{margin:0 0 1.5rem;font-size:var(--t-lg);font-weight:600;letter-spacing:-.02em;text-wrap:balance}.cell-page .swatch__render{background:var(--surface);border:1px solid var(--rule);max-width:42rem}.prov{margin:2rem 0 0;display:grid;grid-template-columns:max-content 1fr;gap:.375rem 1.5rem;font-size:var(--t-sm);max-width:60rem}.prov dt{font-weight:600;color:var(--ink)}.prov dd{margin:0;color:var(--muted)}.prov__prompt{overflow-x:auto;border:1px solid var(--rule);background:var(--surface);padding:1rem;margin:.5rem 0 1.5rem;white-space:pre;font:400 var(--t-sm) / 1.5 ui-monospace,"SFMono-Regular",Consolas,monospace}.cell-page h3{margin:2rem 0 0;font-size:var(--t-base);font-weight:600}.null-result{margin:1.75rem 0 0;padding:1.25rem;border:1px solid var(--ink);font-size:var(--t-sm);max-width:60rem}.null-result h3{margin:0 0 .5rem;font-size:var(--t-base);font-weight:600}.null-result p{margin:0 0 .625rem}.null-result__note{margin:0;color:var(--muted);font-size:var(--t-xs)}.method{padding:clamp(2.5rem,5vw,4.5rem) 0 0;scroll-margin-top:4rem;max-width:74ch}.method h2{margin:0 0 1rem;padding-bottom:.75rem;border-bottom:2px solid var(--ink);font-size:var(--t-lg);font-weight:600;letter-spacing:-.02em;text-wrap:balance}.method h3{margin:2rem 0 .625rem;font-size:var(--t-base);font-weight:600}.method p,.method li{text-wrap:pretty}.method p{margin:0 0 .875rem}.method ol,.method ul{margin:0 0 .875rem;padding-left:1.25rem}.method li{margin:0 0 .625rem}.method b{font-weight:600}.method code{font:400 var(--t-sm) / 1.5 ui-monospace,"SFMono-Regular",Consolas,monospace;padding:.1rem .3rem;background:var(--recessed);border:1px solid var(--rule)}.nulls{list-style:none;margin:1.5rem 0;padding:0;display:grid;gap:1rem}.nulls__item{margin:0;padding:1rem 1.125rem;background:var(--recessed);border:1px solid var(--rule);border-top:2px solid var(--ink)}.nulls__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.375rem .75rem;margin:0 0 .5rem;font-size:var(--t-xs);color:var(--muted)}.nulls__id{font-size:var(--t-sm);font-weight:600;color:var(--ink);text-decoration:none}.nulls__id:hover{text-decoration:underline}.nulls__row{color:var(--ink-soft)}.nulls__why{margin:0;font-size:var(--t-sm);line-height:1.55;color:var(--ink-soft)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.swatch__frame:hover{transform:none}}
