:root{--monospace: Menlo, Consolas, monospace;--monospace-font: 14px/1.5 var(--monospace);--serif: "Source Serif 4", "Iowan Old Style", "Apple Garamond", "Palatino Linotype", "Times New Roman", "Droid Serif", Times, serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--sans-serif: -apple-system, BlinkMacSystemFont, "avenir next", avenir, helvetica, "helvetica neue", ubuntu, roboto, noto, "segoe ui", arial, sans-serif;--theme-blue: #4269d0;--theme-green: #3ca951;--theme-red: #ff725c;--theme-yellow: #efb118}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--theme-background);color:var(--theme-foreground)}body{font:17px/1.5 var(--serif);margin:0}a[href]{color:var(--theme-foreground-focus)}h1,h2,h3,h4,h5,h6{color:var(--theme-foreground-alt);font-weight:700;line-height:1.15;margin-top:0;margin-bottom:.25rem;text-wrap:balance}h2+p,h3+p,h4+p,h2+table,h3+table,h4+table{margin-top:0}h1+h2{color:var(--theme-foreground);font-size:20px;font-style:italic;font-weight:400;margin-bottom:1rem}a[href]{text-decoration:none}a[href]:hover,a[href]:focus{text-decoration:underline}h1 code,h2 code,h3 code,h4 code,h5 code,h6 code{font-size:90%}pre{line-height:1.5}pre,code,tt{font-family:var(--monospace);font-size:14px}img{max-width:100%}p,table,figure,figcaption,h1,h2,h3,h4,h5,h6,.katex-display{max-width:640px}blockquote,ol,ul{max-width:600px}blockquote{margin:1rem 1.5rem}ul ol{padding-left:28px}hr{height:1px;margin:1rem 0;padding:1rem 0;border:none;background:no-repeat center/100% 1px linear-gradient(to right,var(--theme-foreground-faintest),var(--theme-foreground-faintest))}pre{background-color:var(--theme-background-alt);border-radius:4px;margin:1rem -1rem;max-width:960px;min-height:1.5em;padding:.5rem 1rem;overflow-x:auto;box-sizing:border-box}input:not([type]),input[type=email],input[type=number],input[type=password],input[type=range],input[type=search],input[type=tel],input[type=text],input[type=url]{width:240px}input,canvas,button{vertical-align:middle}button,input,textarea{accent-color:var(--theme-blue)}table{width:100%;border-collapse:collapse;font:13px/1.2 var(--sans-serif)}table pre,table code,table tt{font-size:inherit;line-height:inherit}th>pre:only-child,td>pre:only-child{margin:0;padding:0}th{color:var(--theme-foreground);text-align:left;vertical-align:bottom}td{color:var(--theme-foreground-alt);vertical-align:top}th,td{padding:3px 6.5px 3px 0}th:last-child,td:last-child{padding-right:0}tr:not(:last-child){border-bottom:solid 1px var(--theme-foreground-faintest)}thead tr{border-bottom:solid 1px var(--theme-foreground-fainter)}figure,table{margin:1rem 0}figure img{max-width:100%}figure>h2,figure>h3{font-family:var(--sans-serif)}figure>h2{font-size:20px}figure>h3{font-size:16px;font-weight:400}figcaption{font:small var(--sans-serif);color:var(--theme-foreground-muted)}a[href].observablehq-header-anchor{color:inherit}:root{--font-big: 700 32px/1 var(--sans-serif);--font-small: 14px var(--sans-serif)}.big{font:var(--font-big)}.small{font:var(--font-small)}.red{color:var(--theme-red)}.yellow{color:var(--theme-yellow)}.green{color:var(--theme-green)}.blue{color:var(--theme-blue)}.muted{color:var(--theme-foreground-muted)}.observablehq--draft>h1:first-of-type:after{content:" [DRAFT]";color:var(--theme-foreground-muted)}:root{--theme-caret: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M5 7L8.125 9.5L11.25 7' stroke='black' stroke-width='1.5' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");--theme-toggle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m10.5,11 2.5-3-2.5-3 M6,8h7' fill='none' stroke='black' stroke-width='2'/%3E%3Crect x='2' y='2' fill='currentColor' height='12' rx='0.5' width='2'/%3E%3C/svg%3E");--theme-magnifier: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath stroke='currentColor' stroke-width='2' fill='none' d='M15,15L10.5,10.5a3,3 0 1,0 -6 -6a3,3 0 1,0 6 6'%3E%3C/path%3E%3C/svg%3E");--observablehq-max-width: 1440px;--observablehq-header-height: 2.2rem;scroll-padding-top:2.5rem}:root:has(#observablehq-header){scroll-padding-top:calc(var(--observablehq-header-height) + 2.5rem)}body{max-width:var(--observablehq-max-width);margin:auto}#observablehq-main,#observablehq-header,#observablehq-footer{margin:1rem auto}#observablehq-header{position:fixed;top:0;left:calc(max(0rem,(100vw - var(--observablehq-max-width)) / 2) + var(--observablehq-inset-left) + 2rem);right:calc(max(0rem,(100vw - var(--observablehq-max-width)) / 2) + var(--observablehq-inset-right) + 2rem);z-index:2;display:flex;align-items:center;gap:.5rem;height:var(--observablehq-header-height);margin:0 -2rem 2rem;padding:1rem 2rem .5rem;background:var(--theme-background);border-bottom:solid 1px var(--theme-foreground-faintest);font:500 16px var(--sans-serif)}#observablehq-main{min-height:calc(100vh - 20rem);position:relative;z-index:0}#observablehq-header~#observablehq-main{margin-top:calc(var(--observablehq-header-height) + 1.5rem + 2rem)}#observablehq-footer{display:block;margin-top:10rem;font:12px var(--sans-serif);color:var(--theme-foreground-faint)}#observablehq-footer nav{display:grid;max-width:640px;grid-template-columns:1fr 1fr;column-gap:1rem;margin-bottom:1rem}#observablehq-footer nav a{display:flex;flex-direction:column;border:1px solid var(--theme-foreground-fainter);border-radius:8px;padding:1rem;line-height:1rem;text-decoration:none}#observablehq-footer nav a span{font-size:14px}#observablehq-footer nav a:hover span{text-decoration:underline}#observablehq-footer nav a:hover{border-color:var(--theme-foreground-focus)}#observablehq-footer nav a[rel=prev]{grid-column:1;align-items:start}#observablehq-footer nav a[rel=next]{grid-column:2;align-items:end}#observablehq-footer nav a:before{color:var(--theme-foreground-faint)}#observablehq-footer nav a[rel=prev]:before{content:"Previous page"}#observablehq-footer nav a[rel=next]:before{content:"Next page"}#observablehq-center{margin:2rem;--observablehq-inset-left: 0rem;--observablehq-inset-right: 0rem}#observablehq-sidebar{--observablehq-sidebar-padding-left: max(0rem, (100vw - var(--observablehq-max-width)) / 2) ;position:fixed;background:var(--theme-background-alt);color:var(--theme-foreground-muted);font:14px var(--sans-serif);visibility:hidden;font-weight:500;width:calc(272px + var(--observablehq-sidebar-padding-left));z-index:3;top:0;bottom:0;left:-272px;box-sizing:border-box;padding:0 .5rem 1rem calc(var(--observablehq-sidebar-padding-left) + .5rem);overflow-y:auto}#observablehq-sidebar ol,#observablehq-toc ol{list-style:none;margin:0;padding:0}#observablehq-sidebar>ol,#observablehq-sidebar>details,#observablehq-sidebar>section{position:relative;padding-bottom:.5rem;margin:.5rem 0;border-bottom:solid 1px var(--theme-foreground-faintest)}#observablehq-sidebar>ol:first-child{position:sticky;top:0;z-index:1;font-size:16px;font-weight:700;padding-top:1rem;margin:0;color:var(--theme-foreground)}#observablehq-sidebar>ol:first-child:before{content:"";position:absolute;inset:0 -.5rem;background:var(--theme-background-alt)}#observablehq-sidebar>ol:first-child>li{position:relative}#observablehq-sidebar>ol:first-child>li>a{height:calc(var(--observablehq-header-height) - 1rem)}#observablehq-sidebar>ol:last-child,#observablehq-sidebar>details:last-child,#observablehq-sidebar>section:last-child{border-bottom:none}#observablehq-sidebar summary{font-weight:700;color:var(--theme-foreground);cursor:default}#observablehq-sidebar summary::-webkit-details-marker,#observablehq-sidebar summary::marker{display:none}#observablehq-sidebar details summary:after{position:absolute;right:0;width:1rem;height:1rem;background:var(--theme-foreground-muted);content:"";-webkit-mask:var(--theme-caret);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask:var(--theme-caret);mask-repeat:no-repeat;mask-position:center;padding:.5rem;transition:transform .25s ease;transform:rotate(-90deg);transform-origin:50% 50%}#observablehq-sidebar details summary:hover:after{color:var(--theme-foreground)}#observablehq-sidebar details[open] summary:after{transform:rotate(0)}#observablehq-sidebar-toggle{position:fixed;appearance:none;background:none;top:0;left:0;height:100%;width:2rem;display:flex;align-items:center;justify-content:center;cursor:e-resize;margin:0;color:var(--theme-foreground-muted);z-index:1}#observablehq-sidebar-close{position:absolute;top:1rem;right:0;width:2rem;height:var(--observablehq-header-height);display:flex;align-items:center;justify-content:center;color:var(--theme-foreground-muted);cursor:w-resize;z-index:2}#observablehq-sidebar-toggle:before,#observablehq-sidebar-close:before{content:"";width:1rem;height:1rem;background:currentColor;-webkit-mask:var(--theme-toggle);mask:var(--theme-toggle)}#observablehq-sidebar-close:before{transform:scaleX(-1)}#observablehq-sidebar summary,.observablehq-link a{display:flex;padding:.5rem 1rem .5rem 1.5rem;margin-left:-.5rem;align-items:center}#observablehq-sidebar summary a{flex-grow:1;color:inherit}#observablehq-sidebar summary.observablehq-link{padding:0;margin-left:0}#observablehq-sidebar details summary:hover,.observablehq-link-active a,.observablehq-link a:hover{background:var(--theme-background)}.observablehq-link a:hover{color:var(--theme-foreground-focus)}#observablehq-toc{display:none;position:fixed;color:var(--theme-foreground-muted);font:400 14px var(--sans-serif);z-index:1;top:0;right:calc(max(0rem,(100% - var(--observablehq-max-width)) / 2) + 1rem);bottom:0;overflow-y:auto}#observablehq-header~#observablehq-toc{top:calc(var(--observablehq-header-height) + 1.5rem)}#observablehq-toc nav{width:192px;margin:2rem 0;padding:0 1rem;box-sizing:border-box;border-left:solid 1px var(--theme-foreground-faintest)}#observablehq-toc div{font-weight:700;color:var(--theme-foreground);margin-bottom:.5rem}.observablehq-secondary-link a{display:block;padding:.25rem 0}.observablehq-link:not(.observablehq-link-active) a[href]:not(:hover),.observablehq-secondary-link:not(.observablehq-secondary-link-active) a[href]:not(:hover){color:inherit}.observablehq-link-active,.observablehq-secondary-link-active{position:relative}.observablehq-link-active:before,.observablehq-secondary-link-highlight{content:"";position:absolute;width:3px;background:var(--theme-foreground-focus)}.observablehq-link-active:before{top:0;bottom:0;left:-.5rem}.observablehq-secondary-link-highlight{left:1px;top:2rem;height:0;transition:top .15s ease,height .15s ease}#observablehq-sidebar{transition:visibility .15s 0ms,left .15s 0ms ease}#observablehq-sidebar:focus-within,#observablehq-sidebar-toggle:checked~#observablehq-sidebar{left:0;visibility:initial;box-shadow:0 0 8px 4px #0000001a;transition:visibility 0ms 0ms,left .15s 0ms ease}#observablehq-sidebar-backdrop{display:none;position:fixed;inset:0;z-index:2}#observablehq-sidebar-backdrop:has(~#observablehq-sidebar:focus-within),#observablehq-sidebar-toggle:checked~#observablehq-sidebar-backdrop{display:initial}@media(prefers-color-scheme:dark){#observablehq-sidebar:focus-within,#observablehq-sidebar-toggle:checked~#observablehq-sidebar{box-shadow:0 0 8px 4px #00000080}}@media (min-width: calc(912px + 6rem)){#observablehq-sidebar{transition:none!important}#observablehq-sidebar-toggle:checked~#observablehq-sidebar-backdrop{display:none}#observablehq-sidebar-toggle:checked~#observablehq-sidebar,#observablehq-sidebar-toggle:indeterminate~#observablehq-sidebar{left:0;visibility:initial;box-shadow:none}#observablehq-sidebar-toggle:checked~#observablehq-center,#observablehq-sidebar-toggle:indeterminate~#observablehq-center{--observablehq-inset-left: calc(272px + 1rem) ;--observablehq-inset-right: 1rem;padding-left:var(--observablehq-inset-left);padding-right:1rem}}@media (min-width: calc(832px + 5rem)){#observablehq-toc~#observablehq-main{padding-right:calc(192px + 1rem)}#observablehq-toc{display:block}}@media (min-width: calc(912px + 6rem)){#observablehq-sidebar-toggle:checked~#observablehq-center #observablehq-toc,#observablehq-sidebar-toggle:indeterminate~#observablehq-center #observablehq-toc{display:none}#observablehq-sidebar-toggle:checked~#observablehq-center #observablehq-toc~#observablehq-main,#observablehq-sidebar-toggle:indeterminate~#observablehq-center #observablehq-toc~#observablehq-main{padding-right:0}}@media (min-width: calc(1104px + 7rem)){#observablehq-sidebar-toggle:checked~#observablehq-center #observablehq-toc,#observablehq-sidebar-toggle:indeterminate~#observablehq-center #observablehq-toc,#observablehq-toc{display:block}#observablehq-sidebar-toggle:checked~#observablehq-center #observablehq-toc~#observablehq-main,#observablehq-sidebar-toggle:indeterminate~#observablehq-center #observablehq-toc~#observablehq-main{padding-right:calc(192px + 1rem)}}.observablehq-pre-container{position:relative;margin:1rem -1rem;max-width:960px}.observablehq-pre-container:after{position:absolute;top:0;right:0;height:21px;font:12px var(--sans-serif);color:var(--theme-foreground-muted);background:linear-gradient(to right,transparent,var(--theme-background-alt) 40%);padding:.5rem .5rem .5rem 1.5rem}.observablehq-pre-container[data-language]:after{content:attr(data-language)}.observablehq-pre-container pre{padding-right:4rem;margin:0;max-width:none}.observablehq-pre-copy{position:absolute;top:0;right:0;background:none;color:transparent;border:none;border-radius:4px;padding:0 8px;margin:4px;height:29px;cursor:pointer;z-index:1;display:flex;align-items:center}.observablehq-pre-copied:before{content:"Copied!";position:absolute;right:calc(100% + .25rem);background:linear-gradient(to right,transparent,var(--theme-background-alt) 10%);color:var(--theme-green);font:var(--font-small);padding:4px 8px 4px 16px;pointer-events:none;animation-name:observablehq-pre-copied;animation-duration:.25s;animation-direction:alternate;animation-iteration-count:2}@keyframes observablehq-pre-copied{0%{opacity:0;transform:translate(.5rem)}50%{opacity:1}to{transform:translate(0)}}.observablehq-pre-container[data-copy] .observablehq-pre-copy,.observablehq-pre-container:hover .observablehq-pre-copy,.observablehq-pre-container .observablehq-pre-copy:focus{background:var(--theme-background-alt);color:var(--theme-foreground-faint)}.observablehq-pre-container .observablehq-pre-copy:hover{color:var(--theme-foreground-muted)}.observablehq-pre-container .observablehq-pre-copy:active{color:var(--theme-foreground);background:var(--theme-foreground-faintest)}#observablehq-sidebar.observablehq-search-results>ol:not(:first-child),#observablehq-sidebar.observablehq-search-results>details,#observablehq-sidebar.observablehq-search-results>section{display:none}#observablehq-search{position:relative;padding:.5rem 0 0;display:flex;align-items:center}#observablehq-search input{padding:6px 4px 6px 2.2em;width:100%;border:none;border-radius:4px;background-color:var(--theme-background);font-size:13.3px;height:28px}#observablehq-search input::placeholder{color:var(--theme-foreground-faint)}#observablehq-search:before{position:absolute;left:.5rem;content:"";width:1rem;height:1rem;background:currentColor;-webkit-mask:var(--theme-magnifier);mask:var(--theme-magnifier);pointer-events:none}#observablehq-search:after{position:absolute;right:6px;content:attr(data-shortcut);pointer-events:none}#observablehq-search:focus-within:after{content:""}#observablehq-search-results{--relevance-width: 32px;position:absolute;overflow-y:auto;top:6.5rem;left:var(--observablehq-sidebar-padding-left);right:.5rem;bottom:0}#observablehq-search-results a span{max-width:184px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#observablehq-search-results div{text-align:right;font-size:10px;margin:.5em}#observablehq-search-results li{position:relative;display:flex;align-items:center}#observablehq-search-results a{flex-grow:1}#observablehq-search-results li:after,#observablehq-search-results a span:after{content:"";width:var(--relevance-width);height:4px;position:absolute;top:14px;right:.5em;border-radius:2px;background:var(--theme-foreground-muted)}#observablehq-search-results li.observablehq-link-active:after{background:var(--theme-foreground-focus)}#observablehq-search-results a span:after{background:var(--theme-foreground-faintest)}#observablehq-search-results li[data-score="0"]:after{width:calc(var(--relevance-width) * .125)}#observablehq-search-results li[data-score="1"]:after{width:calc(var(--relevance-width) * .25)}#observablehq-search-results li[data-score="2"]:after{width:calc(var(--relevance-width) * .4375)}#observablehq-search-results li[data-score="3"]:after{width:calc(var(--relevance-width) * .625)}#observablehq-search-results li[data-score="4"]:after{width:calc(var(--relevance-width) * .8125)}@media print{#observablehq-center{padding-left:1em!important}#observablehq-sidebar,#observablehq-footer{display:none!important}}#observablehq-main{container-type:inline-size}.grid{margin:1rem 0;display:grid;gap:1rem;grid-auto-rows:1fr}.grid svg{overflow:visible}.grid figure{margin:0}.grid>*>p:first-child{margin-top:0}.grid>*>p:last-child{margin-bottom:0}@container (min-width: 640px){.grid-cols-2,.grid-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-2 .grid-colspan-2,.grid-cols-2 .grid-colspan-3,.grid-cols-2 .grid-colspan-4,.grid-cols-4 .grid-colspan-2,.grid-cols-4 .grid-colspan-3,.grid-cols-4 .grid-colspan-4{grid-column:span 2}}@container (min-width: 720px){.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-3 .grid-colspan-2{grid-column:span 2}.grid-cols-3 .grid-colspan-3{grid-column:span 3}}@container (min-width: 1080px){.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-4 .grid-colspan-3{grid-column:span 3}.grid-cols-4 .grid-colspan-4{grid-column:span 4}}.grid-rowspan-2{grid-row:span 2}.grid-rowspan-3{grid-row:span 3}.grid-rowspan-4{grid-row:span 4}.note,.tip,.warning,.caution{border-left:solid 1px;border-radius:0 4px 4px 0;padding:1rem 2rem;margin:1rem 0;box-sizing:border-box;max-width:640px}.note:before,.tip:before,.warning:before,.caution:before{display:block;margin-bottom:1rem;font-weight:700}.note{border-left-color:var(--theme-foreground-fainter);background-color:var(--theme-background-alt)}.note:before{content:"Note";color:var(--theme-foreground-muted)}.tip{border-left-color:var(--theme-green);background-color:color-mix(in srgb,var(--theme-green),var(--theme-background) 90%)}.tip:before{content:"Tip";color:var(--theme-green)}.warning{border-left-color:var(--theme-yellow);background-color:color-mix(in srgb,var(--theme-yellow),var(--theme-background) 90%)}.warning:before{content:"Warning";color:var(--theme-yellow)}.caution{border-left-color:var(--theme-red);background-color:color-mix(in srgb,var(--theme-red),var(--theme-background) 90%)}.caution:before{content:"Caution";color:var(--theme-red)}.note[label]:before,.tip[label]:before,.warning[label]:before,.caution[label]:before{content:attr(label)}.note>:first-child,.tip>:first-child,.warning>:first-child,.caution>:first-child{margin-top:0}.note>:last-child,.tip>:last-child,.warning>:last-child,.caution>:last-child{margin-bottom:0}.card{background:var(--theme-background-alt);border:solid 1px var(--theme-foreground-faintest);border-radius:.75rem;padding:1rem;margin:1rem 0;font:14px var(--sans-serif)}.grid>.card{margin:0}.card>:first-child,.card>:first-child>:first-child{margin-top:0}.card>:last-child,.card>:last-child>:last-child{margin-bottom:0}.card h2,.card h3{font-size:inherit}.card h2{font-weight:500;font-size:15px}.card h3{font-weight:400;color:var(--theme-foreground-muted)}.card h2~svg,.card h3~svg,.card h2~p,.card h3~p{margin-top:1rem}.observablehq--block:empty{margin:0}@keyframes observablehq-loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}observablehq-loading{font:var(--monospace-font);color:var(--theme-foreground-muted);display:inline-block;transform-origin:.32em 55%;animation-name:observablehq-loading;animation-timing-function:linear;animation-duration:1s;animation-iteration-count:infinite}observablehq-loading:before{content:"\21bb"}.observablehq--block observablehq-loading{display:block}.observablehq--block{margin:1rem 0}.observablehq--block .observablehq,.observablehq--block .observablehq--inspect{display:block}.observablehq--collapsed,.observablehq--expanded.observablehq--inspect a{cursor:pointer}.observablehq--caret{margin-right:4px;vertical-align:baseline}.observablehq--field{text-indent:-1rem;margin-left:1rem}.observablehq--inspect{font:var(--monospace-font);overflow-x:auto;white-space:pre}.observablehq--inspect.observablehq--import{white-space:normal}.observablehq--inspect::-webkit-scrollbar{display:none}.observablehq--error .observablehq--inspect{word-break:break-all;white-space:pre-wrap}.observablehq--string-expand{margin-left:6px;padding:2px 6px;border-radius:2px;font-size:80%;background:var(--theme-background-alt);cursor:pointer;vertical-align:middle}.observablehq--keyword,.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:var(--syntax-keyword)}.observablehq--symbol,.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:var(--syntax-entity)}.observablehq--index,.observablehq--key,.hljs-attr,.hljs-attribute,.hljs-meta,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:var(--syntax-constant)}.observablehq--regexp,.observablehq--string,.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:var(--syntax-string)}.observablehq--null,.observablehq--undefined,.hljs-built_in,.hljs-literal,.hljs-symbol{color:var(--syntax-variable)}.observablehq--prototype-key,.observablehq--empty,.hljs-comment,.hljs-formula{color:var(--syntax-comment)}.observablehq--bigint,.observablehq--boolean,.observablehq--date,.observablehq--forbidden,.observablehq--number,.hljs-name,.hljs-number,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:var(--syntax-entity-tag)}.hljs-subst{color:var(--syntax-storage-modifier-import)}.hljs-section{color:var(--syntax-markup-heading);font-weight:700}.hljs-bullet{color:var(--syntax-markup-list)}.hljs-emphasis{color:var(--syntax-markup-italic);font-style:italic}.hljs-strong{color:var(--syntax-markup-bold);font-weight:700}.hljs-addition{color:var(--syntax-markup-inserted);background-color:var(--syntax-markup-inserted-background)}.hljs-deletion{color:var(--syntax-markup-deleted);background-color:var(--syntax-markup-deleted-background)}.observablehq--empty{font-style:oblique}.observablehq--error{color:var(--syntax-keyword)}.plot-d6a7b5{--plot-background: var(--theme-background)}p .plot-d6a7b5{display:inline-block}:root{--syntax-keyword: #ff7b72;--syntax-entity: #d2a8ff;--syntax-constant: #79c0ff;--syntax-string: #a5d6ff;--syntax-variable: #ffa657;--syntax-comment: var(--theme-foreground-muted);--syntax-entity-tag: #7ee787;--syntax-storage-modifier-import: #c9d1d9;--syntax-markup-heading: #1f6feb;--syntax-markup-list: #f2cc60;--syntax-markup-italic: #c9d1d9;--syntax-markup-bold: #c9d1d9;--syntax-markup-inserted: #aff5b4;--syntax-markup-inserted-background: #033a16;--syntax-markup-deleted: #ffdcd7;--syntax-markup-deleted-background: #67060c}:root{--theme-background-a: color-mix(in srgb, var(--theme-foreground) 4%, var(--theme-background-b));--theme-background: var(--theme-background-a);--theme-background-alt: var(--theme-background-b);--theme-foreground-alt: color-mix(in srgb, var(--theme-foreground) 90%, var(--theme-background-b));--theme-foreground-muted: color-mix(in srgb, var(--theme-foreground) 60%, var(--theme-background-b));--theme-foreground-faint: color-mix(in srgb, var(--theme-foreground) 50%, var(--theme-background-b));--theme-foreground-fainter: color-mix(in srgb, var(--theme-foreground) 30%, var(--theme-background-b));--theme-foreground-faintest: color-mix(in srgb, var(--theme-foreground) 14%, var(--theme-background-b));color-scheme:dark}:root{--theme-foreground: #dcdcee;--theme-foreground-focus: #81a9f6;--theme-background-b: #0b0b16}:root{--theme-background: var(--theme-background-b);--theme-background-alt: var(--theme-background-a)}:root{--observablehq-max-width: 100vw}.choices{position:relative;overflow:hidden;margin-bottom:24px;font-size:16px}.choices:focus{outline:0}.choices:last-child{margin-bottom:0}.choices.is-open{overflow:visible}.choices.is-disabled .choices__inner,.choices.is-disabled .choices__input{background-color:#eaeaea;cursor:not-allowed;-webkit-user-select:none;user-select:none}.choices.is-disabled .choices__item{cursor:not-allowed}.choices [hidden]{display:none!important}.choices[data-type*=select-one]{cursor:pointer}.choices[data-type*=select-one] .choices__inner{padding-bottom:7.5px}.choices[data-type*=select-one] .choices__input{display:block;width:100%;padding:10px;border-bottom:1px solid #ddd;background-color:#fff;margin:0}.choices[data-type*=select-one] .choices__button{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==);padding:0;background-size:8px;position:absolute;top:50%;right:0;margin-top:-10px;margin-right:25px;height:20px;width:20px;border-radius:10em;opacity:.25}.choices[data-type*=select-one] .choices__button:focus,.choices[data-type*=select-one] .choices__button:hover{opacity:1}.choices[data-type*=select-one] .choices__button:focus{box-shadow:0 0 0 2px #005f75}.choices[data-type*=select-one] .choices__item[data-placeholder] .choices__button{display:none}.choices[data-type*=select-one]:after{content:"";height:0;width:0;border-style:solid;border-color:#333 transparent transparent;border-width:5px;position:absolute;right:11.5px;top:50%;margin-top:-2.5px;pointer-events:none}.choices[data-type*=select-one].is-open:after{border-color:transparent transparent #333;margin-top:-7.5px}.choices[data-type*=select-one][dir=rtl]:after{left:11.5px;right:auto}.choices[data-type*=select-one][dir=rtl] .choices__button{right:auto;left:0;margin-left:25px;margin-right:0}.choices[data-type*=select-multiple] .choices__inner,.choices[data-type*=text] .choices__inner{cursor:text}.choices[data-type*=select-multiple] .choices__button,.choices[data-type*=text] .choices__button{position:relative;display:inline-block;margin:0 -4px 0 8px;padding-left:16px;border-left:1px solid #003642;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==);background-size:8px;width:8px;line-height:1;opacity:.75;border-radius:0}.choices[data-type*=select-multiple] .choices__button:focus,.choices[data-type*=select-multiple] .choices__button:hover,.choices[data-type*=text] .choices__button:focus,.choices[data-type*=text] .choices__button:hover{opacity:1}.choices__inner{display:inline-block;vertical-align:top;width:100%;background-color:#f9f9f9;padding:7.5px 7.5px 3.75px;border:1px solid #ddd;border-radius:2.5px;font-size:14px;min-height:44px;overflow:hidden}.is-focused .choices__inner,.is-open .choices__inner{border-color:#b7b7b7}.is-open .choices__inner{border-radius:2.5px 2.5px 0 0}.is-flipped.is-open .choices__inner{border-radius:0 0 2.5px 2.5px}.choices__list{margin:0;padding-left:0;list-style:none}.choices__list--single{display:inline-block;padding:4px 16px 4px 4px;width:100%}[dir=rtl] .choices__list--single{padding-right:4px;padding-left:16px}.choices__list--single .choices__item{width:100%}.choices__list--multiple{display:inline}.choices__list--multiple .choices__item{display:inline-block;vertical-align:middle;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:500;margin-right:3.75px;margin-bottom:3.75px;background-color:#005f75;border:1px solid #004a5c;color:#fff;word-break:break-all;box-sizing:border-box}.choices__list--multiple .choices__item[data-deletable]{padding-right:5px}[dir=rtl] .choices__list--multiple .choices__item{margin-right:0;margin-left:3.75px}.choices__list--multiple .choices__item.is-highlighted{background-color:#004a5c;border:1px solid #003642}.is-disabled .choices__list--multiple .choices__item{background-color:#aaa;border:1px solid #919191}.choices__list--dropdown,.choices__list[aria-expanded]{display:none;z-index:1;position:absolute;width:100%;background-color:#fff;border:1px solid #ddd;top:100%;margin-top:-1px;border-bottom-left-radius:2.5px;border-bottom-right-radius:2.5px;overflow:hidden;word-break:break-all}.is-active.choices__list--dropdown,.is-active.choices__list[aria-expanded]{display:block}.is-open .choices__list--dropdown,.is-open .choices__list[aria-expanded]{border-color:#b7b7b7}.is-flipped .choices__list--dropdown,.is-flipped .choices__list[aria-expanded]{top:auto;bottom:100%;margin-top:0;margin-bottom:-1px;border-radius:.25rem .25rem 0 0}.choices__list--dropdown .choices__list,.choices__list[aria-expanded] .choices__list{position:relative;max-height:300px;overflow:auto;-webkit-overflow-scrolling:touch;will-change:scroll-position}.choices__list--dropdown .choices__item,.choices__list[aria-expanded] .choices__item{position:relative;padding:10px;font-size:14px}[dir=rtl] .choices__list--dropdown .choices__item,[dir=rtl] .choices__list[aria-expanded] .choices__item{text-align:right}@media(min-width:640px){.choices__list--dropdown .choices__item--selectable[data-select-text],.choices__list[aria-expanded] .choices__item--selectable[data-select-text]{padding-right:100px}.choices__list--dropdown .choices__item--selectable[data-select-text]:after,.choices__list[aria-expanded] .choices__item--selectable[data-select-text]:after{content:attr(data-select-text);font-size:12px;opacity:0;position:absolute;right:10px;top:50%;transform:translateY(-50%)}[dir=rtl] .choices__list--dropdown .choices__item--selectable[data-select-text],[dir=rtl] .choices__list[aria-expanded] .choices__item--selectable[data-select-text]{text-align:right;padding-left:100px;padding-right:10px}[dir=rtl] .choices__list--dropdown .choices__item--selectable[data-select-text]:after,[dir=rtl] .choices__list[aria-expanded] .choices__item--selectable[data-select-text]:after{right:auto;left:10px}}.choices__list--dropdown .choices__item--selectable.is-highlighted,.choices__list[aria-expanded] .choices__item--selectable.is-highlighted{background-color:#f2f2f2}.choices__list--dropdown .choices__item--selectable.is-highlighted:after,.choices__list[aria-expanded] .choices__item--selectable.is-highlighted:after{opacity:.5}.choices__item{cursor:default}.choices__item--selectable{cursor:pointer}.choices__item--disabled{cursor:not-allowed;-webkit-user-select:none;user-select:none;opacity:.5}.choices__heading{font-weight:600;font-size:12px;padding:10px;border-bottom:1px solid #f7f7f7;color:gray}.choices__button{text-indent:-9999px;appearance:none;border:0;background-color:transparent;background-repeat:no-repeat;background-position:center;cursor:pointer}.choices__button:focus,.choices__input:focus{outline:0}.choices__input{display:inline-block;vertical-align:baseline;background-color:#f9f9f9;font-size:14px;margin-bottom:5px;border:0;border-radius:0;max-width:100%;padding:4px 0 4px 2px}.choices__input::-webkit-search-cancel-button,.choices__input::-webkit-search-decoration,.choices__input::-webkit-search-results-button,.choices__input::-webkit-search-results-decoration{display:none}.choices__input::-ms-clear,.choices__input::-ms-reveal{display:none;width:0;height:0}[dir=rtl] .choices__input{padding-right:2px;padding-left:0}.choices__placeholder{opacity:.5}:root{--sage-accent: var(--theme-foreground-focus);--sage-gold: #efb118;--sage-purple: #a78bfa;--sage-daily-color: color-mix(in oklab, oklch(.845 .143 164.978) 65%, oklch(.704 .04 256.788));--sage-previous-daily-color: color-mix(in oklab, oklch(.837 .128 66.29) 65%, oklch(.704 .04 256.788))}#observablehq-main:not(:has(.home-hero)){font:14px/1.45 var(--sans-serif)}:where(#observablehq-main:not(:has(.home-hero))) :where(p,ul,ol){margin-block:.5rem}#observablehq-main:not(:has(.home-hero))>h1{max-width:none;margin:0 0 .65rem;font-size:1.65rem}#observablehq-main:not(:has(.home-hero))>h2{max-width:none;margin:1rem 0 .5rem;font-size:1.15rem}#observablehq-main:not(:has(.home-hero))>h3{margin:.8rem 0 .4rem;font-size:1rem}#observablehq-main:not(:has(.home-hero)) .observablehq--block:not(:empty){margin-block:.6rem}#observablehq-center:not(:has(.home-hero)) #observablehq-footer{margin-top:2rem}.page-kicker,.page-lead,.muted,.chart-note,.chart-heading p,.small.note{color:var(--theme-foreground-muted)}.page-kicker{margin:1rem 0 .5rem;font:12px/1.5 var(--sans-serif);letter-spacing:.04em}.page-lead{max-width:85ch;margin:.4rem 0 .75rem}.chart-note,.small.note{max-width:90ch;font:12px/1.45 var(--sans-serif)}.control-panel{display:flex;flex-wrap:wrap;align-items:end;gap:.6rem .85rem;margin:.65rem 0 .8rem;padding-bottom:.65rem;border-bottom:1px solid var(--theme-foreground-faintest)}.control-panel>:is(.observablehq,.observablehq--block){display:contents}.control-panel form:not(:has(table)),.control-bar form:not(:has(table)){display:flex;flex-direction:column;align-items:stretch;flex:1 1 12rem;gap:.3rem;width:auto;min-width:0;max-width:26rem;margin:0}.control-panel form:not(:has(table))>label,.control-bar form:not(:has(table))>label{width:auto;margin:0;padding:0;font-weight:600;color:var(--theme-foreground-muted)}.control-panel select,.control-panel input:is([type=number],[type=text],[type=search]),.control-bar input:is([type=number],[type=text]){min-height:32px;padding:.3rem .5rem;border:1px solid var(--theme-foreground-fainter);border-radius:.3rem;background:var(--theme-background-alt);color:inherit;font:13px var(--sans-serif)}.control-panel select{width:100%}.control-panel form:has(input[type=radio]){flex-basis:17rem}.control-panel form>div:has(input[type=radio]){display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .65rem;min-height:32px}.control-panel form>div:has(input[type=radio]) label{margin:0;line-height:1.5}.control-bar,.page-links{display:flex;flex-wrap:wrap;align-items:end;gap:.5rem .75rem;margin:.65rem 0}.external-link-icon{display:inline-block;width:.9em;height:.9em;vertical-align:-.05em}.control-bar>*{max-width:100%;min-width:0}.control-bar form:not(:has(table)){flex:1 1 17rem}.control-bar form.seed-picker{flex:1 1 22rem;max-width:36rem;font:13px/1.4 var(--sans-serif)}.seed-picker-fields{display:flex;align-items:center;gap:.5rem;width:100%;min-width:0}.seed-picker-fields input[type=number]{flex:0 1 13ch;width:13ch;min-width:0}.seed-picker-fields input[type=range]{flex:1 1 140px;width:100%;min-width:60px;height:32px;margin:0;accent-color:var(--theme-foreground-focus)}.seed-picker:not([data-slider-state=selected]) input[type=range]{opacity:.55}.seed-picker-fields input:focus-visible{outline:2px solid var(--theme-foreground-focus);outline-offset:3px}.control-bar button,.button-row button{min-height:32px;padding:.3rem .6rem;border:1px solid var(--theme-foreground-fainter);border-radius:.3rem;background:var(--theme-background-alt);color:var(--theme-foreground);font:13px var(--sans-serif);cursor:pointer}.control-bar button:disabled{opacity:.5;cursor:default}.control-bar button:not(:disabled):hover,.button-row button:not(:disabled):hover{border-color:var(--theme-foreground-focus)}.control-bar button:focus-visible,.button-row button:focus-visible,.table-scroll:focus-visible{outline:2px solid var(--theme-foreground-focus);outline-offset:4px}.daily-color{color:var(--sage-daily-color)}.previous-daily-color{color:var(--sage-previous-daily-color)}.control-bar .daily-button{--daily-button-color: var(--sage-daily-color)}.control-bar .previous-daily-button{--daily-button-color: var(--sage-previous-daily-color)}.control-bar button:is(.daily-button,.previous-daily-button){color:var(--daily-button-color);border-color:var(--daily-button-color)}.control-bar button:is(.daily-button,.previous-daily-button):not(:disabled):hover{border-color:var(--daily-button-color);background:color-mix(in oklab,var(--daily-button-color) 12%,var(--theme-background-alt))}.control-bar button:is(.daily-button,.previous-daily-button):not(:disabled):active{background:color-mix(in oklab,var(--daily-button-color) 22%,var(--theme-background-alt))}.control-bar button:is(.daily-button,.previous-daily-button):focus-visible{outline-color:var(--daily-button-color)}#observablehq-main{container-name:sage-main}.control-panel,.control-bar{max-width:none}#observablehq-main select.world-select{color:var(--world-select-color, var(--theme-foreground))}select.world-select:has(option[data-world="-1"]:checked){--world-select-color: var(--world--1)}select.world-select:has(option[data-world="0"]:checked){--world-select-color: var(--world-0)}select.world-select:has(option[data-world="1"]:checked){--world-select-color: var(--world-1)}select.world-select:has(option[data-world=all]:checked){--world-select-color: var(--world-all)}select.world-select :is(option,optgroup){color:var(--world-option-color, var(--theme-foreground))}select.world-select option{background:var(--theme-background-alt)}select.world-select option:not([data-world]){--world-option-color: var(--theme-foreground)}select.world-select option:disabled{color:var(--theme-foreground-muted)}@supports (appearance: base-select){select.world-select,select.world-select::picker(select){appearance:base-select}#observablehq-main select.world-select{color:var(--theme-foreground)}select.world-select::picker(select){max-height:min(26rem,65vh);max-width:calc(100vw - 2rem);padding:.2rem;border:1px solid var(--theme-foreground-fainter);border-radius:.3rem;background:var(--theme-background-alt);color:var(--theme-foreground);font:13px/1.4 var(--sans-serif);box-shadow:0 .3rem 1rem #0004}select.world-select>button{all:unset;display:block;min-width:0;width:100%;color:inherit;font:inherit;cursor:inherit}select.world-select selectedcontent{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}select.world-select .world-option-label{color:var(--theme-foreground)}select.world-select option{padding:.3rem .5rem;gap:.5rem;border-radius:.2rem;white-space:normal}select.world-select option:is(:hover,:focus-visible,:checked){background:var(--theme-foreground-faintest)}select.world-select option::checkmark{color:var(--theme-foreground)}select.world-select optgroup>legend{padding:.35rem .5rem .2rem;font-weight:600}}.chart-card{min-width:0;width:100%;max-width:none;box-sizing:border-box;padding:.75rem;margin:.65rem 0;border-radius:.4rem}.chart-heading{margin:0 0 .65rem}.chart-heading :is(h2,h3){margin:0;color:var(--theme-foreground);font-size:14px;font-weight:600;line-height:1.4}.chart-card .chart-heading p{margin:.3rem 0 0;max-width:80ch;font-size:12px;line-height:1.45}.chart-body{min-width:0;width:100%}.chart-body figure{max-width:none;margin:0}.chart-body>svg,.chart-body>div>svg,.chart-body figure>svg{display:block;max-width:100%;height:auto}.chart-body>div{min-width:0}#observablehq-main :is(.chart-heading,.chart-body)>.observablehq--block{margin:0}.chart-body>:first-child{margin-top:0}.chart-body>:last-child{margin-bottom:0}.chart-body .table-scroll>table:not(.sage-table){width:100%;max-width:none;margin:0;font-size:13px}.chart-body .table-scroll>table:not(.sage-table) :is(th,td){padding:.3rem .5rem}details.chart-card>summary{margin:0;font:600 14px/1.4 var(--sans-serif);cursor:pointer}details.chart-card[open]>summary{margin-bottom:.65rem}.card-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;align-items:start;gap:.85rem;margin:.85rem 0}.card-grid>*{min-width:0}#observablehq-main .card-grid>.observablehq--block{display:contents}.card-grid .chart-card{margin:0}.card-grid>.card-span-2{grid-column:auto}.summary-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:.6rem .8rem;margin:.7rem 0}.summary-item{display:flex;flex-direction:column;gap:.25rem;min-width:0;padding-left:.6rem;border-left:2px solid var(--theme-foreground-faintest)}.summary-label,.summary-item>small{color:var(--theme-foreground-muted);font:12px/1.4 var(--sans-serif)}.summary-item>strong{font:600 1.3rem/1.2 var(--sans-serif);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.metric-label{display:inline-flex;align-items:center;gap:.4rem;min-width:0;vertical-align:middle;line-height:1.3;white-space:normal}.metric-label>span{min-width:0;overflow-wrap:anywhere}.metric-icon{width:22px;height:22px;object-fit:contain;image-rendering:pixelated;flex:0 0 22px}.selected-metric{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.65rem 0;font:13px/1.4 var(--sans-serif)}.selected-metric>span:last-child:not(.metric-label){color:var(--theme-foreground-muted)}.count-chart{container:count-chart / inline-size;width:100%;margin:0;max-width:none}.bar-list{display:grid;gap:.55rem}.bar-row{display:grid;grid-template-columns:minmax(8rem,.45fr) minmax(0,1fr) max-content;gap:.3rem .6rem;align-items:center;min-width:0}.bar-label{min-width:0;line-height:1.35}.bar-label small{display:block;color:var(--theme-foreground-muted)}.bar-track{display:block;min-width:0;background:var(--theme-foreground-faintest);height:.5rem;border-radius:2px}.bar-track>span{display:block;height:100%;border-radius:inherit}.bar-value{min-width:4ch;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}@container count-chart (max-width: 400px){.bar-row{grid-template-columns:minmax(0,1fr) max-content}.bar-label{grid-column:1;grid-row:1}.bar-value{grid-column:2;grid-row:1}.bar-track{grid-column:1 / -1;grid-row:2}.bar-list{gap:.6rem}}.world-counts .bar-row{grid-template-columns:minmax(4rem,max-content) minmax(0,1fr) max-content}.world-counts .bar-label{grid-column:1;grid-row:1}.world-counts .bar-track{grid-column:2;grid-row:1}.world-counts .bar-value{grid-column:3;grid-row:1}.table-scroll,.table-wrap{width:100%;max-width:100%;box-sizing:border-box;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain}.table-wide,.table-compact{width:100%;min-width:0;max-width:100%}:is(.table-wide,.table-compact):has(>table){overflow-x:auto}.table-bounded{max-height:32rem;overflow:auto;overscroll-behavior:contain}.table-bounded .table-scroll{overflow:visible}.table-bounded .sage-table thead th{position:sticky;top:0;z-index:1;background:var(--theme-background-alt)}.table-wide :is(.table-scroll,.table-wrap,form:has(>table)),.table-compact :is(.table-scroll,.table-wrap,form:has(>table)){max-width:100%}.sage-table{width:100%;max-width:none;border-collapse:collapse;font:13px/1.45 var(--sans-serif);font-variant-numeric:tabular-nums}.table-scroll>.sage-table{margin:0}.sage-table th,.sage-table td{padding:.3rem .5rem;border-bottom:1px solid var(--theme-foreground-faintest)}.sage-table th{text-align:left}.sage-table thead th{color:var(--theme-foreground-muted);font-size:12px;font-weight:600;white-space:normal;vertical-align:bottom}.sage-table .num,.num{text-align:right}.sage-table td{text-align:right;white-space:nowrap}.sage-table tbody th{font-weight:500}.sage-table tbody :is(th,td){vertical-align:middle}.sage-table code,.schema-path{display:block;font-size:.8rem;color:var(--theme-foreground-muted);white-space:normal;overflow-wrap:anywhere}.sage-table .derived{border-left:1px solid var(--theme-foreground-faintest)}.record-table .record-rank{width:1%;white-space:nowrap;text-align:right}form:has(>table){width:100%;max-width:100%;min-width:0;overscroll-behavior-x:contain;border-block:1px solid var(--theme-foreground-faintest)}form:has(>table)>table{width:100%;font-size:13px}form:has(>table) :is(th,td){padding:3px .5rem}form:has(>table) tbody :is(th,td){vertical-align:middle}form:has(>table) thead th{color:var(--theme-foreground-muted);background:var(--theme-background);font-size:12px;white-space:normal;overflow:visible;text-overflow:clip}form:has(>table) td:has(.metric-label){white-space:normal;min-width:9rem}form:has(>table) .metric-icon{width:20px;height:20px;flex-basis:20px}form:has(>table) tbody tr:hover{background:var(--theme-background-alt)}.loot-table{table-layout:fixed;min-width:18rem}.loot-table th,.loot-table td,.count-table th,.count-table td{padding:.25rem .45rem;vertical-align:middle}.loot-table th:first-child{width:34%}.count-table{table-layout:fixed;min-width:16rem}.count-table th:first-child{width:48%}.loot-table thead th:not(:first-child),.count-table thead th:not(:first-child){text-align:right}.loot-table .metric-icon,.count-table .metric-icon{width:20px;height:20px;flex-basis:20px}.loot-count{display:grid;gap:.3rem;line-height:1.2;white-space:nowrap}.loot-table .bar-track{height:.3rem}.count-cell{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:.65rem;line-height:1.2;white-space:nowrap}.count-cell>strong{grid-column:2;grid-row:1;min-width:4ch}.count-cell>.bar-track{grid-column:1;grid-row:1;height:.4rem}.notice{padding:.45rem .7rem;margin:.65rem 0;border-left:3px solid var(--theme-foreground-focus);font:13px/1.45 var(--sans-serif)}.notice.error{border-color:#ff725c}.status-good{color:var(--theme-foreground-focus)}.status-review{font-weight:600}.empty-state{padding:.5rem 0;color:var(--theme-foreground-muted)}.page-explanation{color:var(--theme-foreground-muted)}#observablehq-main details.page-explanation{margin:.85rem 0 .5rem;padding-top:.5rem}.page-explanation summary{color:var(--theme-foreground)}.world-key{display:inline-flex;align-items:center;gap:.5rem}.world-key i{width:.65rem;height:.65rem;border-radius:50%}.association-meter{min-width:0;margin:.65rem 0}.sage-table .association-meter{margin:0;min-width:4rem}.signed-track{height:.75rem;position:relative;background:var(--theme-foreground-faintest)}.signed-track:after{content:"";position:absolute;left:50%;top:-4px;bottom:-4px;border-left:1px solid var(--theme-foreground-muted)}.signed-track>span{position:absolute;top:0;height:100%}.meter-key{display:flex;justify-content:space-between;gap:.5rem;color:var(--theme-foreground-muted);margin-top:.4rem;font-size:12px}@container sage-main (min-width: 600px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grid .card-span-2{grid-column:span 2}}@container sage-main (min-width: 900px){.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:480px){.control-panel{gap:.5rem}.control-panel form:not(:has(table)){flex-basis:100%;max-width:none}.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.summary-label,.summary-item>small{font-size:12px}}.download-indicator{position:fixed;z-index:100;right:1rem;top:1rem;display:grid;grid-template-columns:1.1rem minmax(0,1fr);align-items:start;gap:.8rem;width:min(360px,calc(100vw - 2rem));box-sizing:border-box;padding:1rem;border:1px solid var(--theme-foreground-focus);border-radius:.6rem;background:var(--theme-background-alt);color:var(--theme-foreground);box-shadow:0 .4rem 1.5rem #0004;font:13px/1.45 var(--sans-serif);pointer-events:none}.download-indicator[hidden]{display:none}.download-spinner{width:1rem;height:1rem;margin-top:.15rem;box-sizing:border-box;border:2px solid var(--theme-foreground-faintest);border-top-color:var(--theme-foreground-focus);border-radius:50%;animation:download-spin .8s linear infinite}.download-content{display:grid;gap:.35rem;min-width:0}.download-content strong{overflow-wrap:anywhere;font-weight:600}.download-detail{color:var(--theme-foreground-muted);font-variant-numeric:tabular-nums}.download-content progress{display:block;width:100%;height:.4rem;accent-color:var(--theme-foreground-focus)}@keyframes download-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.download-spinner{animation:none}}.challenge-builder{width:100%;align-items:start}.challenge-controls{min-width:0}.challenge-form.control-panel{container:challenge-form / inline-size;display:block;width:100%;min-width:0;max-width:none;margin:0;padding:.75rem;border:1px solid var(--theme-foreground-faintest)}.challenge-matches{min-width:0}.challenge-matches.chart-card{margin:0}.challenge-matches .challenge-status{margin:.4rem 0 0}.challenge-matches:focus-visible{outline:2px solid var(--theme-foreground-focus);outline-offset:3px}.challenge-form fieldset{min-width:0;margin:0;padding:0;border:0}.challenge-form legend,.challenge-presets legend{margin-bottom:.45rem;font:600 14px var(--sans-serif)}.challenge-form :is(label,.challenge-select-field),.challenge-setup>.challenge-select-field{display:flex;flex-direction:column;gap:.35rem;min-width:0;font:13px/1.4 var(--sans-serif)}.challenge-form select,.challenge-form input[type=number],.challenge-scope select{width:100%;min-width:0;box-sizing:border-box}.challenge-form button,.challenge-preset-input>button{min-height:32px;padding:.3rem .6rem;border:1px solid var(--theme-foreground-fainter);border-radius:.35rem;background:var(--theme-background-alt);color:inherit;font:13px var(--sans-serif);cursor:pointer}.challenge-form button:disabled{opacity:.5;cursor:default}.challenge-form button:not(.challenge-local-value):not(:disabled):hover{border-color:var(--theme-foreground-focus);background:var(--theme-foreground-faintest)}.challenge-form button:not(.challenge-local-value):not(:disabled):active{border-color:var(--theme-foreground-focus);background:var(--theme-foreground-fainter)}.challenge-form :is(button,input,select):focus-visible,.challenge-controls :is(button,input,select):focus-visible{outline:2px solid var(--theme-foreground-focus);outline-offset:3px}.challenge-setup{display:flex;align-items:end;flex-wrap:wrap;gap:.5rem .75rem;margin-bottom:.75rem}.challenge-setup>.challenge-select-field{flex:0 1 17rem}.challenge-setup>.challenge-actions{margin:0}.challenge-scope-note{flex:1 1 100%;margin:0}.challenge-presets{min-width:0;margin:0 0 .75rem;padding:0;border:0}.challenge-preset-input{display:flex;gap:.45rem;flex-wrap:wrap}.challenge-preset-input>button{margin:0}.challenge-preset-input>button:disabled{opacity:.5;cursor:default}.challenge-preset-input>button:not(:disabled):hover{border-color:var(--theme-foreground-focus);background:var(--theme-foreground-faintest)}.challenge-preset-input>button[aria-pressed=true]{background:color-mix(in srgb,var(--theme-foreground-focus) 18%,var(--theme-background-alt));border-color:var(--theme-foreground-focus);box-shadow:inset 0 0 0 1px var(--theme-foreground-focus)}.challenge-preset-input>button[aria-pressed=true]:not(:disabled):hover{background:color-mix(in srgb,var(--theme-foreground-focus) 28%,var(--theme-background-alt))}.challenge-preset-input>button:not(:disabled):active{transform:translateY(1px);box-shadow:inset 0 1px 3px #0006}.challenge-preset-input>button:focus-visible{outline:2px solid var(--theme-foreground-focus);outline-offset:3px}.challenge-conditions{display:grid;margin:.5rem 0}.challenge-condition{min-width:0;padding:.6rem 0;border-bottom:1px solid var(--theme-foreground-faintest)}.challenge-condition:first-child{padding-top:0}.challenge-form .challenge-remove{min-height:32px;padding:.25rem .45rem;font-size:12px}.challenge-condition-controls{display:grid;grid-template-columns:minmax(0,2fr) minmax(7rem,1fr) minmax(5rem,.8fr) auto;align-items:end;gap:.5rem}.challenge-condition-controls :is(label,.challenge-select-field){gap:.2rem;font-size:12px}.challenge-facts{display:flex;flex-wrap:wrap;gap:.3rem 1rem;margin:.5rem 0 .3rem}.challenge-facts>div{display:flex;align-items:baseline;gap:.3rem;min-width:0}.challenge-facts dt{color:var(--theme-foreground-muted);font:12px/1.4 var(--sans-serif)}.challenge-facts dd{margin:0;font:600 13px/1.4 var(--sans-serif);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.challenge-target-guide{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .75rem}.challenge-usual{margin:0;font-size:12px}.challenge-quick-picks{display:flex;flex-wrap:wrap;gap:.75rem;font:12px/1.4 var(--sans-serif)}.challenge-form .challenge-local-value{min-height:24px;padding:0 .1rem;border:0;border-radius:0;background:none;color:var(--theme-foreground-focus);font:inherit;font-variant-numeric:tabular-nums;text-decoration-line:underline;text-decoration-style:dashed;text-underline-offset:.22em}.challenge-form .challenge-local-value:not(:disabled):hover{color:var(--theme-foreground)}.challenge-form .challenge-local-value:disabled{text-decoration:none}.challenge-condition-note{margin:.4rem 0 0;color:var(--theme-foreground-muted);font:12px/1.4 var(--sans-serif)}.challenge-condition-note.is-error,.challenge-validation{color:#ff9b8b}.challenge-guide{max-width:65ch;margin:.65rem 0}.challenge-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.65rem}.challenge-share-status{font:12px/1.4 var(--sans-serif);color:var(--theme-foreground-muted)}.challenge-share-url{width:100%;box-sizing:border-box;margin-top:.65rem;font:13px/1.5 var(--monospace)}.challenge-results{margin:.65rem 0}.challenge-results .table-scroll{max-width:100%}.challenge-results .sage-table th{vertical-align:bottom;white-space:normal}.challenge-results .sage-table :is(th,td){padding-inline:.3rem}.challenge-results .sage-table :is(th,td):first-child{white-space:nowrap}.challenge-result-actions{display:flex;flex-wrap:wrap;gap:.25rem .5rem;white-space:normal}.challenge-result-actions a{white-space:nowrap}.challenge-builder>.card{overflow:visible}.challenge-builder>.card:has(.choices.is-open){position:relative;z-index:10}.challenge-builder .choices{width:100%;min-width:0;max-width:100%;margin:0;overflow:visible;font:13px/1.4 var(--sans-serif)}.challenge-builder .choices.is-open{z-index:20}.challenge-builder .choices .choices__inner{display:flex;align-items:center;width:100%;min-height:32px;box-sizing:border-box;padding:.25rem 1.6rem .25rem .5rem;border:1px solid var(--theme-foreground-fainter);border-radius:.3rem;background:var(--theme-background-alt);color:var(--theme-foreground);font:inherit}.challenge-builder .choices:is(:hover,.is-focused,.is-open) .choices__inner{border-color:var(--theme-foreground-focus)}.challenge-builder .choices:focus-visible{outline:2px solid var(--theme-foreground-focus);outline-offset:3px}.challenge-builder .choices[data-type=select-one]:after{right:.6rem;border-top-color:var(--theme-foreground-muted)}.challenge-builder .choices[data-type=select-one].is-open:after{border-top-color:transparent;border-bottom-color:var(--theme-foreground-muted)}.challenge-builder .choices__list--single{min-width:0;padding:0}.challenge-builder .choices__list--single .choices__item{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.challenge-builder .choices__list--single .metric-label{display:flex}.challenge-builder .choices__list--single .metric-label>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.challenge-builder .choices .choices__list--dropdown{box-sizing:border-box;z-index:30;margin-top:2px;border:1px solid var(--theme-foreground-focus);border-radius:.3rem;background:var(--theme-background-alt);color:var(--theme-foreground);box-shadow:0 .3rem 1rem #0006;word-break:normal}.challenge-builder .choices .choices__list--dropdown .choices__list{max-height:min(20rem,50vh);overscroll-behavior:contain;scrollbar-width:thin}.challenge-builder .choices input.choices__input{box-sizing:border-box;width:100%;min-height:32px;margin:0;padding:.5rem;border:0;border-bottom:1px solid var(--theme-foreground-fainter);border-radius:0;background:var(--theme-background);color:var(--theme-foreground);font:inherit}.challenge-builder .choices input.choices__input::placeholder{color:var(--theme-foreground-muted);opacity:1}.challenge-builder .choices__list--dropdown .choices__heading{padding:.4rem .5rem .2rem;border-color:var(--theme-foreground-faintest);color:var(--theme-foreground-muted);font-size:12px}.challenge-builder .choices__list--dropdown .choices__item{padding:.35rem .5rem;font:inherit;overflow-wrap:anywhere}.challenge-builder .choices__list--dropdown .choices__item.is-selected{background:var(--theme-foreground-faintest)}.challenge-builder .choices__list--dropdown .choices__item--selectable.is-highlighted{background:color-mix(in oklab,var(--theme-foreground-focus) 20%,var(--theme-background-alt))}.challenge-builder .choices__list--dropdown .choices__item--disabled{opacity:.45;cursor:not-allowed}@container challenge-form (max-width: 520px){.challenge-condition-controls{grid-template-columns:repeat(2,minmax(0,1fr)) auto}.challenge-condition-controls>:first-child{grid-column:1 / -1}}.challenge-flow{container:challenge-flow / inline-size;margin:.75rem 0}.challenge-flow .challenge-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:.65rem 1.25rem;padding:0 0 .85rem;margin:0 0 .85rem;border-bottom:1px solid var(--theme-foreground-faintest)}.challenge-flow .challenge-toolbar>.challenge-scope{flex:0 1 14rem;display:grid;gap:.35rem;min-width:0}.challenge-flow .challenge-toolbar .challenge-scope>span,.challenge-flow .challenge-presets legend{margin:0 0 .25rem;color:var(--theme-foreground-muted);font:12px/1.4 var(--sans-serif)}.challenge-flow .challenge-presets{margin:0}.challenge-flow .challenge-design-link{margin-left:auto;padding-block:.4rem;font-size:12px;white-space:nowrap}.challenge-flow-board{display:grid;grid-template-columns:minmax(0,1fr) 4.5rem minmax(0,1fr);align-items:start}.challenge-flow-board>.chart-card{margin:0;overflow:visible}.challenge-flow-board>.chart-card:has(.choices.is-open){position:relative;z-index:10}.challenge-flow .challenge-form{display:block}.challenge-flow .chart-heading{min-height:2.6rem;margin-bottom:.65rem}.challenge-flow .challenge-matches>.chart-heading{display:flex;align-items:start;justify-content:space-between;gap:.75rem}.challenge-flow .challenge-actions{margin:0}.challenge-flow .challenge-share{border-color:var(--theme-foreground-focus)}.challenge-flow .challenge-conditions{margin:0 0 .7rem;gap:1.3rem}.challenge-flow .challenge-condition{position:relative;padding:0;border:0}.challenge-flow .challenge-condition+.challenge-condition:before{content:"and";position:absolute;top:-1.05rem;left:.5rem;padding-inline:.35rem;color:var(--theme-foreground-muted);font:11px/1 var(--sans-serif)}.challenge-flow .challenge-condition+.challenge-condition:after{content:"";position:absolute;top:-.75rem;left:2.7rem;right:0;border-top:1px solid var(--theme-foreground-faintest)}.challenge-flow .challenge-condition-controls{grid-template-columns:minmax(0,1fr) 7.25rem 5.25rem 2rem;gap:.4rem}.challenge-flow .challenge-condition-controls>:first-child{grid-column:auto}.challenge-flow .challenge-remove{width:2rem;padding:0;font-size:20px;line-height:1}.challenge-flow .challenge-facts{gap:.15rem .85rem;margin:.3rem 0 0}.challenge-flow .challenge-facts dt{font-size:11px}.challenge-flow .challenge-facts dd{font-size:12px}.challenge-flow .challenge-condition-note{margin-top:.25rem}.challenge-flow .challenge-scope-note{margin:.65rem 0 0;font-size:11px}.challenge-join{display:grid;align-self:start;justify-items:center;gap:.3rem;margin-top:2rem;color:var(--theme-foreground-muted);font:600 12px/1.2 var(--sans-serif)}.challenge-join svg{display:block;width:100%;height:1.25rem}.challenge-flow .challenge-status{margin:.25rem 0 0;padding:0;border:0;color:var(--theme-foreground-muted);font-size:12px}.challenge-flow .challenge-results{margin:0}.challenge-flow .challenge-applied-targets{margin:0 0 .6rem;font-size:12px}.challenge-flow .challenge-results-table{table-layout:auto;width:100%}.challenge-flow .challenge-results-table :is(th,td){padding:.45rem .4rem}.challenge-flow .challenge-results-table :is(th,td):first-child{width:13ch}.challenge-flow .challenge-results-table :is(th,td):last-child{width:1%;padding-right:0;white-space:nowrap;text-align:right}.challenge-flow .challenge-results-table .num{min-width:5ch;max-width:12rem;overflow-wrap:anywhere}.challenge-flow .challenge-results-table tbody tr:last-child>*{border-bottom:0}.challenge-map-link{display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap}.challenge-flow .challenge-pagination{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-top:.65rem;border-top:1px solid var(--theme-foreground-faintest)}.challenge-pagination>div{display:flex;gap:.4rem}.challenge-page-status{color:var(--theme-foreground-muted);font-size:12px;font-variant-numeric:tabular-nums}.challenge-pagination button:disabled{opacity:.4;cursor:default}.challenge-flow .challenge-pool-note{max-width:none;margin:.7rem 0 0;font-size:11px}@container challenge-form (max-width: 460px){.challenge-flow .challenge-condition-controls{grid-template-columns:minmax(0,1fr) minmax(5rem,1fr) 2rem}.challenge-flow .challenge-condition-controls>:first-child{grid-column:1 / -1}}@container challenge-flow (max-width: 850px){.challenge-flow-board{grid-template-columns:minmax(0,1fr);gap:.65rem}.challenge-join{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:0;padding:.2rem 0}.challenge-join svg{width:2.5rem;height:2.5rem;transform:rotate(90deg)}}@container challenge-flow (max-width: 500px){.challenge-flow .challenge-toolbar>.challenge-scope{flex-basis:100%}.challenge-flow .challenge-design-link{margin-left:0}.challenge-flow .challenge-pagination{flex-wrap:wrap}}
