html,body{color:#e0e0e0;background:#002b36;height:100%;margin:0;font-family:system-ui,sans-serif;overflow:hidden}#canvas{touch-action:none;width:100%;height:100%;display:block}.error{padding:2rem}#overlay{-webkit-user-select:none;user-select:none;background:#0a0a12bf;border:1px solid #e0e0e026;border-radius:.5rem;padding:.75rem 1rem;font-size:.85rem;position:fixed;top:1rem;left:1rem}#overlay section+details{border-top:1px solid #e0e0e026;margin-top:.75rem;padding-top:.75rem}#overlay summary{text-transform:uppercase;letter-spacing:.08em;opacity:.6;cursor:pointer;font-size:.75rem;font-weight:600}#overlay details[open] summary{margin-bottom:.5rem}#overlay label{margin-bottom:.25rem;display:block}#overlay label+label,#overlay select+label,#overlay span+label,#overlay .control-description+label{margin-top:.5rem}#overlay label.checkbox input{vertical-align:middle;margin-right:.375rem}#color-controls{margin-top:.5rem}.color-control{align-items:center;gap:.5rem;display:flex}.color-control+.color-control{margin-top:.375rem}.color-control .color-label{width:7.5rem;font-size:.8rem}.color-control input[type=color]{background:0 0;border:1px solid #e0e0e026;border-radius:.25rem;width:2rem;height:1.25rem;padding:0}#overlay .color-control input[type=range]{width:5rem}#overlay .color-control input[type=range]+span{margin-left:0;font-size:.75rem}#overlay .control-description{opacity:.6;max-width:14rem;margin-top:.25rem;font-size:.7rem}#population-select,#theme-select{color:#e0e0e0;width:14rem;font:inherit;background:#0a0a12;border:1px solid #e0e0e026;border-radius:.25rem;padding:.25rem}#overlay input[type=range]{vertical-align:middle;width:11rem}#overlay input[type=range]+span{font-variant-numeric:tabular-nums;margin-left:.5rem}#github-link{color:#e0e0e0;opacity:.6;display:block;position:fixed;top:1rem;right:1rem}#github-link:hover{opacity:1}#tooltip{white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;background:#0a0a12d9;border:1px solid #e0e0e026;border-radius:.375rem;padding:.375rem .625rem;font-size:.8rem;position:fixed;transform:translate(-50%,calc(-100% - 8px))}#tooltip:after{content:"";border:6px solid #0000;border-top-color:#0a0a12d9;position:absolute;top:100%;left:50%;transform:translate(-50%)}#tooltip .title{font-weight:600}#tooltip .detail{opacity:.8;font-size:.7rem}#tooltip .badge{color:#e8c878;margin-top:.125rem;font-size:.7rem}
