:root{font-family:Inter,Segoe UI,sans-serif;color:#253b31;background:#dfe6d9;font-synthesis:none;font-weight:400}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,select{font:inherit;color:inherit}button{cursor:pointer;border:0;background:transparent;transition:background .18s,transform .18s}button:hover{background:#e7ebdf}button:focus-visible,select:focus-visible{outline:3px solid #ad733e;outline-offset:3px}#map{position:fixed;inset:0}canvas{display:block;touch-action:none;width:100%;height:100%}.panel{background:#fcfcf3ed;border:1px solid #fff9;border-radius:12px;box-shadow:0 6px 24px #233b3020;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{position:absolute;left:28px;top:28px;padding:19px 24px 19px 17px;display:flex;align-items:center;gap:16px}.brand-icon{width:49px;height:54px;border-radius:9px;background:#2e4b3c;color:#f2efda;font-family:Georgia,serif;font-size:42px;line-height:54px;text-align:center;position:relative}.brand-icon span{font:16px Segoe UI;position:absolute;right:4px;top:3px}.eyebrow{font-size:9px;font-weight:750;letter-spacing:2px;color:#6a7868}h1{font:600 24px Georgia,serif;letter-spacing:-.6px;margin:5px 0}p{line-height:1.6}.brand p{font-size:11px;color:#71806f;margin:0}.top-actions{position:absolute;right:28px;top:28px;display:flex;gap:8px}.top-actions button{height:43px;padding:0 16px;font-size:12px;font-weight:600}.top-actions #about{width:43px;padding:0;font:italic 20px Georgia}.explore{position:absolute;left:28px;top:157px;width:281px;padding:16px}.explore select{display:block;width:100%;border:0;background:transparent;font-weight:600;font-size:13px;margin:10px 0 17px;cursor:pointer}.legend{display:flex;gap:14px;font-size:10px;color:#798071;border-top:1px solid #e4e7dd;padding-top:13px}.dot{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:3px}.brick{background:#ab7055}.blue{background:#6b9caa}.green{background:#7d946c}.map-tools{position:absolute;right:28px;top:45%;padding:5px;display:flex;flex-direction:column;width:46px;align-items:stretch}.map-tools button{height:36px;border-radius:7px;font-size:24px}.map-tools #north{height:58px;font-size:27px}.map-tools small{display:block;font-size:9px;line-height:9px}.map-tools hr{width:24px;border:0;border-top:1px solid #e2e7da}.map-tools #compass{display:block}footer{position:absolute;bottom:42px;left:28px;right:28px;display:flex;align-items:center;justify-content:space-between;gap:18px;pointer-events:none}footer>*{pointer-events:auto}.status{font-size:10px;padding:12px 14px;display:flex;gap:8px;align-items:center}.live-dot{width:6px;height:6px;background:#638868;border-radius:50%}.controls-hint{font-size:10px;color:#3c5040;background:#f4f6ecbe;border-radius:8px;padding:9px 12px}.controls-hint b{padding:0 7px;font-weight:400}.style-switch{padding:4px;display:flex}.style-switch button{font-size:11px;padding:9px 15px;border-radius:8px}.style-switch button[aria-pressed=true]{background:#304f3d;color:#f6f5e6}.attribution{position:absolute;bottom:10px;right:28px;font-size:9px;color:#52664f;background:#f3f5e4bd;padding:4px 8px;border-radius:4px}.attribution a{color:inherit;text-decoration:none}#loading{position:fixed;inset:0;background:#edf0e6;display:grid;place-content:center;text-align:center;z-index:20}.loader-mark{width:64px;height:64px;margin:auto;background:#304e3d;color:#fff;border-radius:15px;font:48px Georgia;animation:pulse 1.2s infinite alternate}#loading h2{font:27px Georgia}#loading p{font-size:13px;color:#677d67}@keyframes pulse{to{opacity:.45}}dialog{border:1px solid #fff;border-radius:18px;padding:34px;max-width:530px;width:calc(100% - 32px);max-height:85vh;color:#304235;background:#fafbf1;box-shadow:0 20px 70px #15261f55}dialog::backdrop{background:#172e274a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}dialog h2{font:32px Georgia;margin-bottom:14px}dialog h3{font-size:13px;margin-top:23px}dialog p{font-size:12px}.dialog-close{position:absolute;top:14px;right:14px;font-size:25px;border-radius:6px}#selection{position:absolute;left:28px;top:285px;width:281px;padding:20px}#selection h2{font:22px Georgia;margin:12px 0}#selection dl{display:grid;grid-template-columns:1fr 1fr;gap:9px;font-size:11px}#selection dd{margin:0;text-align:right}#selection dt{color:#7d8978}#selection p{font-size:10px;color:#788572}#close-selection{position:absolute;right:10px;top:7px;font-size:22px}#toast{position:fixed;bottom:110px;left:50%;transform:translate(-50%);background:#2e4b3c;color:#fff;padding:12px 20px;border-radius:10px;font-size:12px;z-index:30}.muted{color:#7f8b78}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(max-width:720px){.brand{left:12px;top:12px;padding:12px;gap:10px}.brand-icon{width:35px;height:42px;line-height:42px;font-size:32px}.brand .eyebrow{font-size:7px;letter-spacing:1px}h1{font-size:20px}.brand p{display:none}.top-actions{right:12px;top:12px;gap:5px}.top-actions button{width:36px!important;height:36px;padding:0}.top-actions span{display:none}.explore{top:108px;left:12px;width:218px;padding:12px}.legend{gap:9px;font-size:9px}.map-tools{right:12px}.controls-hint{display:none}footer{left:12px;right:12px;bottom:45px;gap:8px}.status{font-size:9px;max-width:55%;padding:10px}.style-switch button{padding:8px 10px}.attribution{left:12px;right:auto;font-size:8px}#selection{left:12px;top:229px;width:238px}.brand{max-width:calc(100% - 95px)}}.lighting-panel{position:absolute;right:28px;top:83px;display:flex;gap:3px;padding:5px;align-items:center}.lighting-panel button{font-size:11px;padding:9px 12px;border-radius:8px}.lighting-panel button[aria-pressed=true]{background:#304f3d;color:#fff5df}.traffic-label{border-left:1px solid #c8cdbd;margin-left:5px;padding:5px 9px;font-size:11px;display:flex;align-items:center;gap:5px}.traffic-label input{accent-color:#365641}body[data-lighting=night] .panel{background:#1a293be8;color:#e1e6db;border-color:#60708466}body[data-lighting=night] .eyebrow,body[data-lighting=night] .brand p,body[data-lighting=night] .legend{color:#adb9bc}body[data-lighting=night] button:hover{background:#35465d}body[data-lighting=night] .controls-hint,body[data-lighting=night] .attribution{background:#19283cdb;color:#bec8d2}body[data-lighting=night] select option{background:#203246;color:#e1e6db}@media(max-width:720px){.lighting-panel{right:12px;top:98px;left:12px;justify-content:center}.lighting-panel button{padding:7px 10px}.explore{top:151px;width:220px}.legend{display:none}.explore select{margin-bottom:0}#selection{top:240px}}#street-labels{position:fixed;inset:0;pointer-events:none;overflow:hidden}.street-label{position:absolute;transform:translate(-50%,-50%);font-size:11px;font-weight:600;white-space:nowrap;color:#35443a;text-shadow:0 1px 2px #fff,1px 0 2px #fff,-1px 0 2px #fff;letter-spacing:.15px}body[data-lighting=night] .street-label{color:#d3dbd8;text-shadow:0 1px 3px #101827,1px 0 3px #101827,-1px 0 3px #101827}@media(max-width:720px){.lighting-panel{gap:0}.traffic-label{padding:5px;margin-left:2px}.lighting-panel button{padding:7px 8px}.street-label{font-size:10px}}
