:root{--void:#0a0a0a;--panel:#0d0f12;--hairline:#1e2227;--line-strong:#2a2f35;--muted:#7c848d;--text:#c9cdd2;--bright:#e8ebed;--accent:#7aa2f7;--good:#9ece6a;--warn:#e0af68;--bad:#f7768e;--font-display:"Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;--font-body:"Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, Menlo, monospace;--size-display:28px;--size-display-sm:26px;--size-h1:36px;--size-statement:24px;--size-title:20px;--size-lede:18px;--size-body:16px;--size-small:14px;--size-label:12px;--size-label-sm:11px;--leading-display:1.1;--leading-tight:1.15;--leading-body:1.6;--tracking-display:-.03em;--tracking-label:.08em;--measure:600px;--gutter:24px;--margin:80px;--margin-sm:24px;--section:56px;--columns:12;--ease:cubic-bezier(.2, .7, .2, 1);--fast:.2s;--slow:.6s}body{background:var(--void);color:var(--text);font-family:var(--font-body);font-size:var(--size-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{color:var(--bright);font-family:var(--font-display);font-weight:500;line-height:var(--leading-tight);letter-spacing:-.02em;text-wrap:balance;margin:0}h1{font-size:var(--size-h1);letter-spacing:-.03em}h2{font-size:var(--size-small)}p{max-width:var(--measure);text-wrap:pretty;margin:0}a{color:var(--bright);text-decoration:none}a:hover{color:#fff}a:focus-visible,:focus-visible{outline:2px solid var(--accent);outline-offset:3px}hr{border:0;border-top:1px solid var(--hairline);margin:0}::selection{background:var(--accent);color:var(--void)}small,figcaption{font-size:var(--size-small);color:var(--muted)}.label{font-family:var(--font-mono);font-size:var(--size-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--muted)}.display{font-size:var(--size-display);line-height:var(--leading-display);letter-spacing:var(--tracking-display);color:var(--bright);font-weight:500}.ascii{font-family:var(--font-mono);color:var(--accent);white-space:pre;margin:0;font-size:9px;line-height:1.35}.tile{background:var(--accent);flex-shrink:0;width:10px;height:10px}.rule{background:var(--hairline);width:1px;position:absolute;top:80px;bottom:80px;left:32px}.rule-fill{background:var(--bright);opacity:.7;width:1px;position:absolute;top:80px;left:32px}.grid{grid-template-columns:repeat(var(--columns), minmax(0, 1fr));gap:var(--gutter);display:grid}.section{grid-template-columns:repeat(var(--columns), minmax(0, 1fr));gap:var(--gutter);border-top:1px solid var(--hairline);padding-top:24px;display:grid}.section>h2{grid-column:1/span 3;padding-top:5px}.section>.body{max-width:var(--measure);gap:var(--gutter);flex-direction:column;grid-column:4/span 8;display:flex}.row{gap:var(--gutter);border-top:1px solid var(--hairline);color:var(--text);grid-template-columns:36px minmax(0,1fr) 56px;align-items:baseline;padding:14px 0;display:grid}.row-title{font-size:var(--size-title);letter-spacing:-.015em;color:var(--bright);font-weight:500}.well{background-color:var(--panel);border:1px solid var(--hairline);background-image:repeating-linear-gradient(135deg,#e8ebed0b 0 1px,#0000 1px 12px)}@media (max-width:720px){:root{--margin:var(--margin-sm);--section:72px;--size-display:var(--size-display-sm);--size-h1:30px;--size-statement:22px;--size-title:18px;--size-lede:16px}.section{flex-direction:column;gap:16px;display:flex}.row{grid-template-columns:1fr;gap:8px}.ascii{font-size:7px}a,button{min-height:44px}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes arrive{0%{opacity:0}to{opacity:1}}.rise{animation:rise var(--slow) var(--ease) both}.arrive{animation:arrive var(--slow) var(--ease) both}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/HankenGrotesk-latin.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/JetBrainsMono-latin.woff2)format("woff2")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--panel-w:300px;--edge:16px}*{box-sizing:border-box}html,body{height:100%;overflow:hidden}body{font-size:var(--size-small);line-height:1.45}button,input,select{font:inherit;color:inherit}p{max-width:none}#viewport{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}#labels{pointer-events:none;position:fixed;inset:0}.label{font-size:var(--size-label-sm)}.np-label{pointer-events:auto;min-height:0;color:var(--text);font-family:var(--font-mono);letter-spacing:.04em;text-shadow:0 0 4px var(--void), 0 0 2px var(--void);cursor:pointer;opacity:.75;background:0 0;border:0;padding:1px 4px;font-size:10px}.np-label:hover{opacity:1;color:var(--bright);background:var(--void)}.np-label.major{font-family:var(--font-body);letter-spacing:0;color:var(--bright);opacity:.9;font-size:12px;font-weight:500}.np-label.active{opacity:1;color:var(--void);background:var(--accent);text-shadow:none}.np-label.overlap{visibility:hidden}#panel{top:var(--edge);left:var(--edge);width:var(--panel-w);max-height:calc(100% - 2 * var(--edge));overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;z-index:2;background:var(--panel);border:1px solid var(--hairline);position:fixed;overflow-y:auto}.panel-head{justify-content:space-between;align-items:flex-start;gap:8px;padding:16px 16px 12px;display:flex}h1{font-size:var(--size-lede)}.sub{color:var(--muted);margin-top:4px;font-size:13px}.panel-body{padding:0 16px 16px}body.panel-collapsed .panel-body{display:none}body.panel-collapsed #panel-toggle{transform:rotate(180deg)}section{border-top:1px solid var(--hairline);padding:16px 0}h2{margin-bottom:10px}.section-head{justify-content:space-between;align-items:baseline;display:flex}.section-head h2{margin-bottom:10px}.hint{color:var(--muted);margin-top:10px;font-size:12px}.hint:empty,.status:empty{display:none}.status{color:var(--text);font-family:var(--font-mono);font-size:var(--size-label-sm);letter-spacing:var(--tracking-label);text-transform:uppercase;margin-top:8px}.stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 16px;display:grid}.stats dd{color:var(--bright);font-size:var(--size-lede);font-variant-numeric:tabular-nums;margin:2px 0 0;font-weight:500}.layout-rows{grid-template-columns:auto 1fr;align-items:center;gap:6px 10px;display:grid}.layout-rows>.label{padding-top:1px}.segmented{border:1px solid var(--hairline);flex-wrap:wrap;display:flex}.segmented button{border:0;border-right:1px solid var(--hairline);color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;flex:auto;padding:6px 8px;font-size:13px}.segmented button:last-child{border-right:0}.segmented button:hover{color:var(--text);background:var(--void)}.segmented button[aria-pressed=true]{color:var(--bright);background:var(--hairline)}select{background:var(--void);border:1px solid var(--line-strong);width:100%;color:var(--text);border-radius:0;padding:6px 8px;font-size:13px}select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}#colour-by{margin-bottom:10px}.legend-row{cursor:pointer;text-align:left;width:calc(100% + 12px);color:var(--text);background:0 0;border:0;grid-template-columns:10px 1fr auto;align-items:center;gap:10px;margin:0 -6px;padding:4px 6px;font-size:13px;display:grid}.legend-row:hover{background:var(--void)}.legend-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.legend-row.off .legend-name,.legend-row.off .legend-count{color:var(--muted);text-decoration:line-through}.legend-row.off .swatch{opacity:.25}.legend-count{color:var(--muted);font-family:var(--font-mono);font-size:var(--size-label-sm);font-variant-numeric:tabular-nums}.swatch{flex-shrink:0;width:10px;height:10px;display:inline-block}.search{position:relative}.search input{border:1px solid var(--line-strong);background:var(--void);border-radius:0;outline:none;width:100%;padding:7px 30px 7px 9px}.search input:focus{border-color:var(--accent)}.search input.has-focus{border-color:var(--accent);color:var(--bright)}.search .icon-btn{position:absolute;top:17px;right:2px;transform:translateY(-50%)}#focus-results{z-index:5;background:var(--void);border:1px solid var(--line-strong);max-height:280px;margin:0;padding:0;list-style:none;position:absolute;top:calc(100% - 1px);left:0;right:0;overflow-y:auto}#focus-results li{cursor:pointer;border-top:1px solid var(--hairline);grid-template-columns:1fr auto;gap:2px 8px;padding:6px 9px;display:grid}#focus-results li:first-child{border-top:0}#focus-results li[aria-selected=true],#focus-results li:hover{background:var(--hairline)}#focus-results .r-name{color:var(--bright);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#focus-results .r-kind{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-column:1;font-size:12px;overflow:hidden}#focus-results .r-count{color:var(--muted);font-family:var(--font-mono);font-size:var(--size-label-sm);grid-area:1/2/span 2;align-self:center}.check{cursor:pointer;color:var(--text);align-items:center;gap:8px;padding:3px 0;display:flex}.check input{accent-color:var(--text);margin:0}.range{color:var(--text);justify-content:space-between;align-items:center;gap:12px;padding-top:6px;display:flex}.range input{accent-color:var(--text);flex:1}.icon-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:6px 8px;font-size:16px;line-height:1}.icon-btn:hover{color:var(--bright);background:var(--hairline)}.link-btn{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px}.link-btn:hover{color:var(--bright);-webkit-text-decoration-color:var(--bright);text-decoration-color:var(--bright)}#help table{border-collapse:collapse;width:100%;margin-top:10px;font-size:13px}#help td{color:var(--text);border-top:1px solid var(--hairline);padding:4px 0}#help td:first-child{color:var(--muted);white-space:nowrap;padding-right:12px}.credit{border-top:1px solid var(--hairline);color:var(--muted);padding-top:16px;font-size:12px}.credit a{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}.card{right:var(--edge);bottom:var(--edge);width:320px;max-height:calc(100% - 3 * var(--edge) - var(--matrix-h,0px));background:var(--panel);border:1px solid var(--hairline);pointer-events:auto;overscroll-behavior:contain;z-index:2;padding:14px 16px;position:fixed;overflow-y:auto}.card.selected{border-color:var(--line-strong)}.info-type{color:var(--bright);font-size:var(--size-title);letter-spacing:-.015em;font-weight:500;line-height:1.2}.info-sub{color:var(--text);align-items:center;gap:8px;margin:4px 0 10px;display:flex}.info-grid{grid-template-columns:auto 1fr;gap:3px 12px;margin:0;font-size:13px;display:grid}.info-grid dt{color:var(--muted);font-family:var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;white-space:nowrap;padding-top:2px;font-size:10.5px}.info-grid dd{color:var(--text);overflow-wrap:anywhere;margin:0}.info-id{color:var(--muted);font-family:var(--font-mono);font-size:var(--size-label-sm);margin-top:10px}.info-hint{color:var(--muted);margin-top:8px;font-size:12px}.info-link{color:var(--bright);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px;margin-top:8px;font-size:13px;display:inline-block}.partners{border-top:1px solid var(--hairline);margin-top:14px;padding-top:12px}.partners-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.partners-cols{grid-template-columns:1fr 1fr;gap:12px;display:grid}.partners h3{font-family:var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--muted);align-items:center;gap:6px;margin:0 0 4px;font-size:10.5px;font-weight:400;display:flex}.partner{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:0;justify-content:space-between;gap:6px;padding:2px 0;font-size:12.5px;display:flex}.partner:hover{color:var(--bright)}.partner span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.partner span:last-child{color:var(--muted);font-family:var(--font-mono);font-size:10.5px}.mark{border:1.5px solid var(--text);border-radius:50%;width:9px;height:9px;display:inline-block}.mark.solid{background:var(--text)}#loading{z-index:10;background:var(--void);transition:opacity var(--slow) var(--ease);place-content:center;justify-items:center;gap:16px;display:grid;position:fixed;inset:0}#loading.done{opacity:0;pointer-events:none}.spinner{border:1px solid var(--hairline);border-top-color:var(--bright);border-radius:50%;width:24px;height:24px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:720px){#panel{top:auto;bottom:var(--edge);left:var(--edge);right:var(--edge);width:auto;max-height:50%}.card{top:var(--edge);bottom:auto;left:var(--edge);right:var(--edge);width:auto;max-height:40%}.np-label{min-height:0}.segmented button,.legend-row,.partner,.check,#focus-results li,.link-btn{min-height:44px}}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.matrix-panel{top:var(--edge);right:var(--edge);max-width:calc(100% - var(--panel-w) - 3 * var(--edge));max-height:calc(100% - 2 * var(--edge));z-index:2;background:var(--panel);border:1px solid var(--hairline);flex-direction:column;padding:0;display:flex;position:fixed}.matrix-panel.open{width:min(620px, calc(100% - var(--panel-w) - 3 * var(--edge)));border-color:var(--line-strong);height:min(610px,72%)}.matrix-head{align-items:center;gap:12px;padding-right:10px;display:flex}.matrix-tab{cursor:pointer;text-align:left;min-width:0;min-height:40px;color:var(--bright);font-size:var(--size-small);background:0 0;border:0;flex:1;align-items:center;gap:8px;padding:8px 12px;font-weight:500;display:flex}.matrix-tab:hover{background:var(--void)}.matrix-tab #matrix-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.matrix-tab .chev{color:var(--muted);transition:transform var(--fast,.15s) ease;display:inline-block}.matrix-panel.open .chev{transform:rotate(90deg)}.matrix-scale{display:none}.matrix-panel.open .matrix-scale{display:flex}.matrix-head .segmented button{padding:4px 8px;font-size:12px}.matrix-content{flex-direction:column;flex:1;min-height:0;padding:4px 14px 12px;display:flex}.matrix-content[hidden]{display:none}.matrix-body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex:1;min-height:0;overflow:auto}.matrix{border-collapse:separate;border-spacing:2px}.matrix td{background:var(--void);width:16px;min-width:16px;height:16px;padding:0}.matrix td:not(.corner):hover{outline:1px solid var(--bright)}.matrix th{padding:0;font-weight:400}.matrix th button{cursor:pointer;color:var(--text);font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap;background:0 0;border:0;padding:0 6px 0 0;font-size:10px}.matrix th button:hover:not(:disabled){color:var(--bright)}.matrix th button:disabled{color:var(--muted);cursor:default}.matrix thead th{vertical-align:bottom;height:1px}.matrix thead th button{writing-mode:vertical-rl;text-overflow:ellipsis;max-height:160px;padding:0 0 6px;overflow:hidden;transform:rotate(180deg)}.matrix tbody th{text-align:right}.matrix tbody th button{text-overflow:ellipsis;max-width:170px;overflow:hidden}.matrix .corner{vertical-align:bottom;text-align:right;background:0 0}.matrix .corner span{color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-label);white-space:nowrap;padding-right:6px;font-size:9.5px}.matrix-key{color:var(--muted);font-family:var(--font-mono);flex:none;align-items:center;gap:8px;margin-top:10px;font-size:10px;display:flex}.matrix-ramp{width:120px;height:8px}.matrix-key-note{font-family:var(--font-body);margin-left:4px;font-size:12px}.matrix-readout{-webkit-line-clamp:3;height:4.35em;color:var(--text);-webkit-box-orient:vertical;flex:none;margin-top:6px;font-size:12.5px;line-height:1.45;display:-webkit-box;overflow:hidden}@media (max-width:720px){.matrix-panel{left:var(--edge);max-width:none;max-height:45%}.matrix-panel.open{width:auto;height:45%}.card{top:calc(2 * var(--edge) + var(--matrix-h,0px))}}
