:root{font-family:IBM Plex Mono,Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;--bg: #fff;--dark-grey: #292a34;--medium-grey: #68697c;--light-grey: #c8c9ce;--very-light-grey: #f8f8f8;--text-color: #272750;--box-padding: .75em;--sidebar-width: 500px;--mapquest-gradient: linear-gradient(to top, #f0f0e1, #ffffff);--shadow: rgba(0, 0, 0, .1) 0px 1px 3px 0px, rgba(0, 0, 0, .06) 0px 1px 2px 0px}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}html,body{margin:0;padding:0;overflow:hidden;width:100vw;height:100vh}body{display:grid;grid-template-columns:var(--sidebar-width) 1fr}h1{font-size:3.2em;line-height:1.1}.mapquest{border-radius:.5rem;background:#fff}.sidebar{height:100vh;z-index:1;background-color:var(--bg);color:var(--text-color);overflow-y:auto;overflow-x:hidden;padding:0 var(--box-padding);border-radius:0;box-sizing:border-box;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--light-grey) transparent}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background-color:var(--light-grey);border-radius:4px}.sidebar::-webkit-scrollbar-thumb:hover{background-color:var(--dark-grey)}.title{font-size:1.2em;font-weight:900;line-height:1.1;color:var(--text-color)}.subtitle{font-size:1em;font-weight:500;line-height:1.1;color:var(--text-color);margin-top:0}#modal{position:absolute;width:250px;top:1rem;left:calc(var(--sidebar-width) + 1rem);background-color:var(--bg);color:var(--text-color);padding:var(--box-padding);border:1px solid #000;border-radius:.5rem;z-index:1000;max-height:calc(100% - 4rem);overflow-y:scroll;h3 {font-size: 1em; font-weight: 500; margin: 0 0 .5em 0; padding: 0;} p {font-size: .75em; margin: 0 0 1rem 0;}}#switcher{margin-top:.5rem;display:flex;align-items:center;justify-content:space-between;gap:8px}#year,#layer{font-size:1rem;font-weight:500;margin:0}#legend{color:var(--text-color);margin:1em 0}.legend-item{display:flex;align-items:center}.legend-color{width:18px;height:12px;box-shadow:var(--shadow)}.legend-text{margin-left:.5em;font-size:12px}#legend h3{font-size:1em;font-weight:500;margin:0 0 .5em;padding:0}#data{font-size:.8em;text-align:left;width:100%}#data td{max-width:200px;overflow:hidden;text-overflow:ellipsis;padding-right:.25em}.checkbox-container{display:flex;align-items:center;gap:.25em;margin-top:.5em}#print-mode-toggle{margin:0}.checkbox-container input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--text-color)}.checkbox-container label{font-size:.9em;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none}#controls{visibility:hidden;z-index:1;position:fixed;bottom:calc(.67em * 3);right:0;background-color:var(--bg);color:var(--text-color);padding:var(--box-padding);margin:var(--box-padding);border:1px solid #000}#spinner{z-index:1;position:fixed;top:.67em;right:0;padding:var(--box-padding);margin:var(--box-padding);background-color:var(--bg);color:var(--text-color);border:1px solid #000;border-radius:.5rem;font-size:.75em;line-height:1;width:28px;text-align:center}.control-key{font-size:.9em;color:var(--medium-grey);margin:0}.control-text{font-size:.9em;margin-left:.5em}#legend p,#controls p{margin-block-start:0;margin-block-end:0}#map{width:100%;height:100vh;background-color:#fff;border-left:#000 1px solid}#receipt{display:none;font-size:.8em;text-align:center;margin-top:1rem;width:100%;overflow-x:auto}#receipt svg{max-width:100%;height:auto}.receipt-p-sm{font-size:.6rem;margin:0;padding:0}.receipt-p-md{font-size:.8rem;margin:0;padding:0}.dataframe{border-spacing:0px;border-collapse:collapse;text-align:left;font-size:.8rem;margin:0 auto}@media print{body{align-items:normal!important}.no-print,#controls,#year,#layer{display:none}#receipt{display:block;margin-top:0}.mapquest{all:unset}}@media screen and (max-width: 768px){body{grid-template-columns:1fr;grid-template-rows:50vh 50vh}.sidebar{grid-row:2;width:100%;height:50vh}#map{grid-row:1;width:100%;height:50vh;border-left:none;border-bottom:#000 1px solid}#modal{left:1rem}#controls{display:none}}@media screen{.only-print{display:none}}
