:root{color-scheme:light;--surface:#fcfcfb;--ink:#21382f;--muted:#5c6c62;--line:#d4ddcf;--accent:#244d3c;--activity:#2a78d6;--hotspot:#eb6834;--context:#1baf7a;--shadow:0 6px 28px #1b362218}*{box-sizing:border-box}body{margin:0;background:#e9eee1;color:var(--ink);font:14px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select{font:inherit;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:transparent;border-radius:8px;padding:8px 11px}button:hover{background:#e9eee5}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible,canvas:focus-visible{outline:3px solid #2a78d6;outline-offset:3px}input,select{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:9px;max-width:100%}a{color:#235b45;text-underline-offset:3px}h1,h2,h3,p{margin:0}h2{font-size:23px;line-height:1.2;letter-spacing:-.6px}h3{font-size:15px}small{font-size:11px;color:var(--muted)}[hidden]{display:none!important}.glass{background:#fcfcfbf5;box-shadow:var(--shadow);border:1px solid #ffffffdc;border-radius:14px}.icon{font-size:22px;line-height:1;width:36px;height:36px;padding:7px}.eyebrow{font-size:9px;letter-spacing:1.3px;font-weight:750;color:var(--muted)}#app{height:100dvh;min-height:500px;position:relative;overflow:hidden}#map{display:block;width:100%;height:100%;touch-action:none;cursor:grab}#map.dragging{cursor:grabbing}.brand{position:absolute;left:22px;top:20px;display:flex;gap:10px;align-items:center;padding:10px 11px 10px 13px}.brand h1{font-size:19px;letter-spacing:-.65px}.brand p{font-size:11px;color:var(--muted)}.brand-mark{font-size:32px;font-weight:850;line-height:1;border-radius:10px;background:#e0e9d6;padding:1px 9px 6px;color:#33583b;letter-spacing:-5px}.brand-mark span{color:#d17b35;padding-right:3px}.search-box{position:absolute;top:106px;left:22px;width:338px;z-index:5}.search-row{display:flex;align-items:center;padding:5px 12px;gap:7px}.search-row>span{font-size:25px}.search-row input{width:100%;border:0;background:transparent;padding:8px 0;font-size:12px}kbd{font:11px system-ui;border:1px solid var(--line);padding:1px 5px;border-radius:5px;color:var(--muted)}.search-chips{display:flex;gap:7px;padding:0 10px 9px}.search-chips button{padding:5px 8px;font-size:11px;background:#edf1e8}.results{border-top:1px solid var(--line);max-height:54dvh;overflow:auto;padding:8px}.result-row{display:block;width:100%;text-align:left;font-size:12px;padding:9px}.result-row small{display:block}.result-heading{padding:8px;font-size:10px;letter-spacing:1px;color:var(--muted)}.clock{position:absolute;right:22px;top:20px;width:352px;padding:12px 14px;z-index:4}.clock-heading{display:flex;justify-content:space-between;align-items:center;gap:6px}.clock-heading>span:first-child{font-size:15px;font-weight:650}#clock-source{font-size:8px;letter-spacing:1px;color:var(--muted)}.clock-modes{display:flex;gap:3px;margin-top:8px;flex-wrap:wrap}.clock-modes button{padding:6px 9px;font-size:11px;background:#edf1e8}.clock-modes button[aria-pressed=true]{background:var(--accent);color:white}#lighting-status{font-size:10px;color:var(--muted);margin-top:8px}#time-preview{padding-top:10px;border-top:1px solid var(--line);margin-top:9px;font-size:11px}#time-preview label{display:flex;justify-content:space-between}#preview-hour{width:100%;padding:0;accent-color:var(--accent)}#clock-live{font-size:10px;text-decoration:underline}.layers{position:absolute;left:22px;top:212px;width:263px;z-index:3;font-size:12px}.layers summary{cursor:pointer;padding:12px 14px;font-weight:600}.layers summary span{font-size:10px;font-weight:400;color:var(--muted);padding-left:8px}.layer-options{border-top:1px solid var(--line);padding:10px 12px}.layer-options label{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:11px}.layer-options input{margin:0;width:15px;height:15px;accent-color:var(--accent)}.layer-options p{font-size:10px;color:var(--muted);margin-top:8px}.layer-options button{font-size:11px;text-decoration:underline}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--activity)}.dot.facility{background:#fcfcfb;border:1.5px solid var(--activity)}.area{display:inline-block;width:13px;height:10px;background:#1baf7a35;border:1px solid var(--context)}.area.natural{border-style:dashed;background:transparent}.line{display:inline-block;width:15px;border-top:2px solid var(--activity)}.line.proposed{border-top-style:dashed}.coverage{position:absolute;left:22px;bottom:114px;width:315px;padding:14px 16px}.coverage h2{font-size:19px;margin:5px 0 7px}.coverage p{font-size:11px;color:var(--muted)}.coverage button{font-size:10px;background:#edf1e8;margin-top:10px;padding:6px 8px}.map-controls{position:absolute;right:22px;top:45%;display:flex;flex-direction:column;padding:4px;align-items:center}.map-controls button{font-size:23px;width:36px;height:36px;line-height:1;padding:5px}.map-controls button+button{border-top:1px solid #e7ece2}#north{font-size:10px;padding:6px 0;color:var(--muted)}.legend{position:absolute;right:22px;bottom:114px;padding:11px 13px;display:flex;gap:10px;flex-wrap:wrap;max-width:380px;font-size:10px}.marker{font-style:normal;padding-right:4px}.marker.activity{color:var(--activity)}.marker.hotspot{color:var(--hotspot)}.marker.context{color:var(--context)}.quick-places{position:absolute;left:22px;right:22px;bottom:42px;display:flex;gap:7px;align-items:center;padding:8px 10px;overflow:auto;scrollbar-width:thin}.quick-places button{background:#f0f3eb;white-space:nowrap;font-size:12px;padding:8px 14px}.quick-places button[aria-current=true]{background:#dfe9d8;outline:1px solid #bccdb3}footer{position:absolute;bottom:0;left:0;right:0;min-height:30px;padding:5px 22px;display:flex;gap:16px;align-items:center;color:#4c5d4c;font-size:10px;background:#eef2e8f0}footer button{font-size:10px;margin-left:auto;padding:3px}#scale-label{white-space:nowrap}#loading{position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);background:#fcfcfb;padding:13px 20px;border-radius:12px;font-size:12px;box-shadow:var(--shadow);max-width:80%;z-index:8}#map-tooltip{position:absolute;pointer-events:none;background:var(--surface);padding:9px 12px;border:1px solid var(--line);border-radius:9px;font-size:12px;z-index:6;box-shadow:var(--shadow);max-width:255px}.drawer{position:absolute;right:78px;top:184px;bottom:110px;width:365px;overflow:auto;padding:18px 20px;z-index:6;overscroll-behavior:contain}.drawer.wide{right:22px;width:425px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.panel-head .icon{flex-shrink:0}#place-content h2{font-size:25px;margin-bottom:10px}#place-content>p{font-size:12px;color:var(--muted);margin:8px 0 14px}.place-meta{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding:10px 0}.programme-group{font-size:12px;margin:16px 0 9px}.programme-card{padding:14px 0;border-bottom:1px solid var(--line)}.programme-card h3{font-size:14px;margin-bottom:5px}.programme-card p{font-size:11px;color:var(--muted);margin:4px 0}.programme-card a{font-size:11px;font-weight:650;display:inline-flex;margin-top:7px}.source-stamp{display:block;font-size:10px;color:#677363;margin-top:7px}.sample-note{background:#edf2e6;border-radius:8px;padding:10px 12px;font-size:11px;color:#50624c;margin-bottom:12px}.filter-row{display:flex;gap:8px;margin:8px 0}.filter-row select{width:50%;font-size:10px;padding:8px 6px}.wide>input,.wide>select{width:100%;font-size:12px;margin-bottom:8px}#programme-count,#data-count{font-size:11px;color:var(--muted);padding:6px 0}.empty-state{padding:13px;background:#edf1e7;border-radius:9px;font-size:12px;margin:12px 0}.data-row{display:block;text-align:left;width:100%;border-bottom:1px solid var(--line);border-radius:0;padding:10px 2px;font-size:12px}.data-row small{display:block;font-size:10px;word-break:break-word}.badge{display:inline-block;font-size:10px;background:#e8eee1;padding:5px 7px;border-radius:6px;margin-bottom:8px}.notice{font-size:11px;border-left:3px solid #91a583;padding-left:10px;margin:10px 0 15px;color:#50624c}.no-results{padding:14px;color:var(--muted);font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;left:20px;top:-100px;z-index:20;background:white;padding:12px}.skip:focus{top:10px}dialog{border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--ink);padding:22px;width:min(610px,calc(100% - 28px));max-height:85dvh;box-shadow:0 24px 80px #1127184d}dialog::backdrop{background:#183a2b44}dialog h2{margin:4px 0 14px}dialog h3{margin:18px 0 8px}dialog p,dialog li{font-size:12px;color:var(--muted);margin:10px 0}dialog code{font-size:10px;word-break:break-all}body.panel-open .legend{display:none}
@media(max-width:960px){.clock{width:310px}.clock-modes button{padding:6px}.search-box{width:310px}.coverage{width:290px}.legend{max-width:250px}.drawer{right:70px;width:330px}}
@media(max-width:640px){#app{min-height:620px}.brand{left:12px;top:12px;padding:7px 8px 7px 10px;border-radius:11px;gap:8px}.brand h1{font-size:16px}.brand p{font-size:9px}.brand-mark{font-size:25px;padding:1px 8px 5px}.brand .icon{height:31px;width:31px}.search-box{left:12px;top:79px;width:calc(100% - 24px);border-radius:11px}.search-row{padding:3px 10px}.search-row input{font-size:11px}.search-chips{padding-bottom:7px}.search-chips button{font-size:10px}.clock{left:12px;right:auto;top:174px;width:calc(100% - 24px);padding:9px 12px;border-radius:11px}.clock-heading>span:first-child{font-size:12px}.clock-modes{margin-top:5px;gap:4px}.clock-modes button{font-size:10px;padding:5px 8px}#lighting-status{font-size:9px;margin-top:5px}.layers{left:12px;top:302px;width:238px;border-radius:10px}.layers summary{padding:9px 11px;font-size:11px}.layer-options{max-height:calc(100dvh - 440px);overflow:auto}.layer-options label{font-size:10px}.layers summary span{font-size:9px}.map-controls{right:12px;top:302px;padding:2px;border-radius:10px}.map-controls button{width:31px;height:32px;font-size:21px}#north{font-size:9px;padding:4px}.coverage{left:12px;bottom:107px;width:calc(100% - 24px);padding:11px 13px;border-radius:11px}.coverage h2{font-size:16px;margin:3px 0 4px}.coverage p{font-size:10px}.coverage .eyebrow{font-size:8px}.coverage button{font-size:9px;padding:5px 7px;margin-top:7px}.legend{right:12px;bottom:249px;max-width:calc(100% - 24px);font-size:8px;padding:6px 9px;gap:8px;border-radius:9px}.quick-places{left:12px;right:12px;bottom:39px;padding:7px;gap:6px;border-radius:10px}.quick-places button{font-size:10px;padding:8px 11px}footer{padding:4px 12px;font-size:8px;gap:8px;height:30px}#map-credit{max-width:58%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}footer button{font-size:9px;white-space:nowrap}#scale-label{display:none}.drawer,.drawer.wide{top:302px;bottom:105px;left:12px;right:12px;width:auto;padding:13px 16px;border-radius:12px;background:#fcfcfbfc}.drawer h2{font-size:21px}.drawer .sample-note{font-size:10px}.results{max-height:60dvh}.panel-head .eyebrow{font-size:8px}body.panel-open .coverage{visibility:hidden}body.preview-open .layers,body.preview-open .map-controls{top:405px}body.preview-open .drawer{top:405px}.layer-options p{font-size:9px}dialog{padding:16px}#data-category{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media(forced-colors:active){.glass{border:1px solid CanvasText}button{border:1px solid ButtonText}.marker{color:CanvasText!important}.dot,.area,.line{forced-color-adjust:none}}@media(max-height:730px) and (min-width:641px){.coverage{bottom:108px;padding:10px 13px}.coverage p{font-size:10px}.layers{top:205px}.clock{padding:9px 12px}}
