:root{--serif:"Source Serif 4 Variable", ui-serif, serif;--sans-serif:"Inter Variable", ui-sans-serif, sans-serif;--monospace:"Spline Sans Mono Variable", Menlo, Consolas, monospace;--monospace-font:14px/1.5 var(--monospace);--max-width:calc(1024px - 4 * 16px)}html{font:17px/1.5 var(--serif);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--theme-background);color:var(--theme-foreground);margin:16px 0;padding:16px 24px}main{max-width:var(--max-width);margin:auto}h1,h2,h3,h4,h5,h6{color:var(--theme-foreground-alt);text-wrap:balance;margin-top:0;margin-bottom:.25rem;font-weight:700;line-height:1.15}h2+p,h3+p,h4+p,h2+table,h3+table,h4+table{margin-top:0}.observablehq:first-of-type h1+h2{color:var(--theme-foreground);margin-bottom:1rem;font-size:20px;font-style:italic;font-weight:400}a[href]{color:var(--theme-foreground-focus);text-decoration:none}a[href]:hover,a[href]:focus{text-decoration:underline}pre,code,tt{font-family:var(--monospace);font-size:82.3529%}pre code,figcaption code{font-size:inherit}pre[data-language]{position:relative}pre[data-language]:before{content:attr(data-language);text-align:right;pointer-events:none;height:0;color:var(--theme-foreground-muted);margin-right:-4px;font-size:12px;line-height:21px;display:block;position:sticky;top:0;left:0}h1 code,h2 code,h3 code,h4 code,h5 code,h6 code{font-size:88.2353%}h2[id] a[href],h3[id] a[href]{color:inherit}pre{line-height:1.5}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{background:no-repeat center/100% 1px linear-gradient(to right, var(--theme-foreground-faintest), var(--theme-foreground-faintest));border:none;height:1px;margin:1rem 0;padding:1rem 0}pre{background-color:var(--theme-background-alt);overscroll-behavior-x:none;box-sizing:border-box;border-radius:4px;min-height:1.5em;margin:1rem -1rem;padding:4px 1rem;overflow-x:auto}pre>code:only-child{width:fit-content;display:block}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-foreground-focus)}table{border-collapse:collapse;width:100%;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)}.observablehq--collapsed,.observablehq--expanded.observablehq--inspect a{cursor:pointer}.observablehq--caret{vertical-align:baseline;margin-right:4px}.observablehq--field{text-indent:-1rem;margin-left:1rem}.observablehq--inspect{font:var(--monospace-font);white-space:pre;padding:2px 0;display:block;overflow-x:auto}.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{background:var(--theme-background-alt);cursor:pointer;vertical-align:middle;border-radius:2px;margin-left:6px;padding:2px 6px;font-size:80%}.observablehq--keyword{color:var(--syntax-keyword)}.observablehq--index,.observablehq--key{color:var(--syntax-definition)}.observablehq--symbol,.observablehq--regexp,.observablehq--string{color:var(--syntax-string)}.observablehq--undefined,.observablehq--null{color:var(--syntax-keyword)}.observablehq--prototype-key{color:var(--syntax-comment)}.observablehq--bigint,.observablehq--boolean,.observablehq--date,.observablehq--forbidden,.observablehq--number{color:var(--syntax-literal)}.observablehq--error{color:var(--theme-error)}.observablehq--cell{min-height:1px;margin:17px 0;position:relative}.tok-link{color:var(--syntax-link)}.tok-strong{font-weight:600}.tok-emphasis{font-style:italic}.tok-keyword{color:var(--syntax-keyword)}.tok-atom{color:var(--syntax-atom)}.tok-literal{color:var(--syntax-literal)}.tok-string{color:var(--syntax-string)}.tok-comment{color:var(--syntax-comment)}.tok-invalid{color:var(--syntax-invalid)}.tok-variable{color:var(--syntax-variable)}.tok-definition{color:var(--syntax-definition)}.tok-meta{color:var(--syntax-meta)}.plot-d6a7b5{--plot-background:var(--theme-background)}p .plot-d6a7b5{display:inline-block}.observablehq--cell:empty{min-height:0}.observablehq--cell:not(:empty)+pre{margin-top:-11px}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#30352f;--marimo-cell-background:transparent;--marimo-cell-foreground:#30352f;--marimo-cell-accent:#326453;background:#fafaf5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{margin:0;padding:0}#app-shell{max-width:1080px;margin:0 auto;padding:30px 44px 44px}.observablehq--cell{margin:0}a{color:inherit;text-decoration:none}a:hover{color:#326453;text-decoration:underline}.masthead{border-bottom:1px solid #dfe2d8;justify-content:space-between;align-items:center;gap:20px;padding-bottom:26px;font-size:13px;display:flex}.wordmark{letter-spacing:-.01em;align-items:center;gap:9px;font-weight:650;display:inline-flex}.field-mark{color:#326453;font-size:24px;line-height:1}nav{gap:24px;display:flex}.introduction{padding:54px 0 28px}.eyebrow{color:#6e756b;text-transform:uppercase;letter-spacing:.15em;margin:0 0 14px;font-size:10px;font-weight:650}h1,.section-heading h2{letter-spacing:-.035em;text-wrap:balance;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-weight:400}h1{margin:0 0 20px;font-size:clamp(42px,6vw,72px);line-height:1.04}.lede{color:#70766d;max-width:570px;margin:0;font-size:17px;line-height:1.65}.controls{border-block:1px solid #dfe2d8;flex-wrap:wrap;align-items:center;gap:20px 42px;padding:22px 0;display:flex}marimo-cell{--marimo-cell-font:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;min-width:0;display:block}.scope-line{color:#73786e;flex-wrap:wrap;align-items:center;gap:10px;padding:27px 0 22px;font-size:12px;display:flex}.scope-line span:last-child{font-variant-numeric:tabular-nums;margin-left:auto}.status-dot{background:#326453;border-radius:50%;width:6px;height:6px}.metrics{border-bottom:1px solid #dfe2d8;grid-template-columns:repeat(4,1fr);gap:24px;padding-bottom:37px;display:grid}.metrics h2{color:#6c756b;margin:0 0 11px;font-family:inherit;font-size:12px;font-weight:500}.metrics p{white-space:nowrap;color:#757d70;margin:0 0 8px;font-size:13px}.metrics strong{color:#30352f;letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:clamp(25px,3.5vw,36px);font-weight:400}.metrics small{color:#7b8277;font-size:10px;line-height:1.5;display:block}.section-heading{max-width:680px;margin:38px 0 20px}.section-heading h2{margin:0 0 12px;font-size:32px;line-height:1.2}.section-heading p:not(.eyebrow){color:#70766d;margin:0;font-size:13px;line-height:1.7}.sensor-chart,.occupancy-chart{max-width:100%;height:auto;display:block}.chart-key{color:#71796c;flex-wrap:wrap;justify-content:center;gap:10px 24px;margin:12px 0 38px;font-size:11px;display:flex}.chart-key span{align-items:center;gap:8px;display:flex}.chart-key i{width:18px;height:2px;display:block}.key-signal{background:#326453}i.key-baseline{border-top:1px dashed #92968c;height:0}i.key-anomaly{background:#b07739;border-radius:50%;width:5px;height:5px}.field-footer{color:#747b6f;border-top:1px solid #dfe2d8;grid-template-columns:1fr 1fr;gap:44px;margin-top:45px;padding-top:26px;font-size:11px;line-height:1.7;display:grid}.field-footer p{margin:0}.field-footer .eyebrow{margin-bottom:12px}@media (width<=650px){#app-shell{padding:22px}.masthead{flex-wrap:wrap;align-items:flex-start}nav{gap:12px;font-size:11px}.introduction{padding-top:38px}.metrics{grid-template-columns:repeat(2,1fr);gap:26px 20px}.field-footer{grid-template-columns:1fr;gap:20px}.controls{align-items:flex-start;gap:18px}.scope-line{font-size:11px}.scope-line span:last-child{margin-left:16px}}@media (width<=360px){#app-shell{padding:20px 16px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
