*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.block{display:block}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{color-scheme:light;--background:60 14% 97%;--foreground:0 0% 4%;--card:0 0% 100%;--primary:224 100% 58%;--muted:60 9% 95%;--muted-foreground:0 0% 40%;--border:60 10% 89%;--radius:0.375rem;--blue:hsl(var(--primary));--green:#0e9f6e;--ink:hsl(var(--foreground));--muted-text:hsl(var(--muted-foreground));--line:hsl(var(--border));--text-body:#353942;--font-ui:13px;--font-meta:12px}*{box-sizing:border-box}body,html{width:100%;min-height:100%;margin:0}body{overflow:hidden;background:hsl(var(--background));color:var(--ink);font-family:var(--font-instrument),"Instrument Sans",system-ui,sans-serif;font-feature-settings:"ss01" 1,"cv11" 1;font-weight:400;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{color:inherit}::-moz-selection{background:hsl(var(--primary)/.18)}::selection{background:hsl(var(--primary)/.18)}.map-app{position:relative;width:100vw;height:100dvh;overflow:hidden}.login-page{height:100dvh;overflow-y:auto;display:flex;align-items:center;justify-content:center;padding:24px 16px;background-image:linear-gradient(to right,hsl(var(--foreground)/.035) 1px,transparent 1px),linear-gradient(to bottom,hsl(var(--foreground)/.035) 1px,transparent 1px);background-size:48px 48px}.login-card{flex:none;width:100%;max-width:384px;margin-block:auto;padding:24px;border:1px solid var(--line);border-radius:0;background:hsl(var(--card));box-shadow:0 20px 60px rgba(15,15,15,.08)}.login-heading{margin-bottom:24px}.login-heading .wordmark{margin-bottom:16px}.login-heading h1{margin:0;font-size:14px;line-height:24px;font-weight:400;color:var(--muted-text)}.login-fields{display:flex;flex-direction:column;gap:12px}.login-fields input{width:100%;height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink);font-size:14px;outline:none}.login-fields input:focus{border-color:var(--blue);box-shadow:0 0 0 2px hsl(var(--primary)/.12)}.login-fields input::-moz-placeholder{color:var(--muted-text)}.login-fields input::placeholder{color:var(--muted-text)}.login-error{margin:0;color:#b42318;font-size:14px;line-height:1.5}.login-submit{width:100%;min-height:40px;margin-top:4px;font-size:14px}@media (max-width:640px){.login-fields input{font-size:16px}}.mobile-view-switch{display:none}.map-stage{position:absolute;inset:0;background:#e6e8e9}.map-loading,.opportunity-map{width:100%;height:100%}.map-loading{display:grid;place-items:center;color:var(--muted-text);font-size:12px}.db-widget{border:1px solid var(--line);border-radius:var(--radius);background:hsl(var(--card)/.95);box-shadow:0 12px 34px rgba(15,15,15,.09);backdrop-filter:blur(14px)}.db-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:7px 12px;border:1px solid transparent;border-radius:var(--radius);font-size:var(--font-ui);font-weight:500;line-height:1.3;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.db-button>svg{flex:none}.db-button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.db-button:disabled{opacity:.5;cursor:default}.db-button-outline{border-color:var(--blue);background:#fff;color:var(--blue)}.db-button-outline:hover:not(:disabled){background:hsl(224 100% 97%)}.db-button-primary{border-color:var(--blue);background:var(--blue);color:#fff}.db-button-primary:hover:not(:disabled){border-color:#174be6;background:#174be6}.app-header{position:absolute;z-index:10;top:14px;left:14px;right:14px;height:56px;display:grid;grid-template-columns:minmax(320px,1fr) minmax(300px,600px) minmax(60px,1fr);align-items:center;gap:16px;padding:0 13px}.header-brand{min-width:0;display:flex;align-items:center;gap:18px}.wordmark{display:inline-flex;align-items:center;gap:8px;color:var(--ink);text-decoration:none}.wordmark img{display:block;width:28px;height:28px}.wordmark span{font-size:20px;font-weight:400;line-height:1;letter-spacing:-.035em}.header-claim{margin:0;white-space:nowrap}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.info-button{width:28px;height:28px;display:inline-grid;place-items:center;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:var(--muted-text);cursor:pointer;transition:.15s}.info-button:focus-visible,.info-button:hover{border-color:var(--line);background:hsl(var(--muted));color:var(--ink);outline:0}.live-state{height:38px;display:flex;align-items:center;gap:7px;padding:0 4px;color:var(--blue);font-size:var(--font-ui);font-weight:500;cursor:default}.live-state>span{width:6px;height:6px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 3px hsl(var(--primary)/.12)}.header-search{min-width:0;height:38px;display:flex;align-items:center;gap:9px;padding:0 10px;border:1px solid var(--line);border-radius:var(--radius);background:hsl(var(--muted)/.72);color:#7c8290;transition:border-color .15s,background .15s,box-shadow .15s}.header-search:focus-within{border-color:hsl(var(--primary)/.62);background:#fff;box-shadow:0 0 0 2px hsl(var(--primary)/.1)}.header-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--text-body);font-size:var(--font-ui)}.header-search input::-moz-placeholder{color:#8b909b}.header-search input::placeholder{color:#8b909b}.header-search>button{width:24px;height:24px;display:grid;place-items:center;border:0;border-radius:4px;background:transparent;color:var(--muted-text);cursor:pointer}.header-search>button:hover{background:hsl(var(--muted));color:var(--ink)}.search-feedback{flex:none;display:flex;align-items:center;gap:7px;padding:9px 13px;color:var(--muted-text);font-size:var(--font-ui);line-height:1.4;background:hsl(var(--muted)/.55)}.search-feedback svg{flex:none;color:var(--blue)}.results-panel{position:absolute;z-index:8;top:82px;bottom:14px;left:14px;width:min(440px,calc(100vw - 28px));display:flex;flex-direction:column;pointer-events:none}.panel-body{min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden;pointer-events:auto}.results-panel>.panel-body{border-top-left-radius:0}.results-toolbar{position:relative;z-index:1;flex:none;align-self:flex-start;max-width:100%;min-height:34px;display:flex;align-items:center;gap:16px;margin-bottom:-1px;padding:6px 12px;border-bottom:0;border-radius:var(--radius) var(--radius) 0 0;pointer-events:auto}.results-count{color:var(--text-body);font-size:var(--font-ui);font-weight:400;line-height:1.4;white-space:nowrap}.detail-toolbar{position:relative;z-index:1;flex:none;display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-bottom:-1px}.detail-back{display:none}.detail-close,.detail-dismiss{display:inline-grid;flex:none;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:var(--radius);background:transparent;color:var(--muted-text);cursor:pointer}.detail-close{width:34px;height:34px;border:1px solid var(--line);border-bottom:0;border-radius:var(--radius) var(--radius) 0 0;background:hsl(var(--card)/.95);pointer-events:auto}.detail-close:hover,.detail-dismiss:hover{background:hsl(var(--muted));color:var(--ink)}.detail-close:focus-visible,.detail-dismiss:focus-visible{outline:2px solid var(--blue)}.opportunity-list{min-height:0;overflow-y:auto;padding:0;transition:opacity .15s;scrollbar-width:thin;scrollbar-color:#c7c8c5 transparent}.opportunity-list.is-loading{opacity:.55}.results-pagination{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding:10px 13px;border-top:1px solid var(--line);background:#fff}.results-pagination>div{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:var(--font-ui)}.results-pagination>div>span:last-child{color:var(--muted-text);font-size:var(--font-meta)}.results-pagination .db-button{min-width:40px;min-height:40px;padding:8px}.opportunity-card{width:100%;display:block;margin:0;padding:13px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:hsl(var(--card)/.72);text-align:left;cursor:pointer;transition:background .15s,box-shadow .15s}.opportunity-card:hover{background:#fff;box-shadow:inset 3px 0 0 hsl(var(--primary)/.32)}.opportunity-card.selected{background:hsl(224 100% 97%);box-shadow:inset 3px 0 0 var(--blue)}.status-planned{color:#2854b8}.status-open{color:#087c57}.opportunity-card h2{margin:0;font-size:14px;line-height:1.35;letter-spacing:-.015em;font-weight:500}.card-meta{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:8px;color:var(--muted-text);font-size:var(--font-meta)}.card-date,.card-location,.card-price{display:inline-flex;min-width:0;align-items:center;gap:4px;white-space:nowrap}.card-meta svg{flex:none}.card-location>span{overflow:hidden;text-overflow:ellipsis}.card-price{justify-self:end;color:var(--text-body);font-size:inherit;font-weight:600}.card-price svg,.empty-state{color:var(--muted-text)}.empty-state{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center}.empty-state strong{color:var(--text-body);font-size:var(--font-ui);font-weight:500}.empty-state span{font-size:11px}.detail-panel{position:absolute;z-index:12;top:82px;right:14px;bottom:14px;width:min(520px,calc(100vw - 28px));display:flex;flex-direction:column;pointer-events:none;animation:detail-in .22s ease-out}.detail-panel>.panel-body{border-top-right-radius:0}.detail-carousel{position:relative;flex:none;padding:8px 10px;background:hsl(var(--muted)/.72)}.carousel-actions{display:grid;grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);align-items:center;gap:0}.sibling-preview{min-width:0;width:100%;min-height:58px;display:flex;align-items:center;gap:8px;overflow:hidden;padding:7px 9px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--muted-text);cursor:pointer;transition:border-color .15s,background .15s}.sibling-preview.next,.sibling-preview.previous{justify-self:stretch;text-align:left}.sibling-preview:hover{border-color:hsl(var(--primary)/.4);background:hsl(224 100% 98%);color:var(--blue)}.sibling-preview>svg{flex:none}.sibling-preview>span{min-width:0;display:grid;flex:1;gap:2px}.sibling-preview.next>svg{margin-left:auto}.sibling-preview strong{display:-webkit-box;overflow:hidden;color:var(--text-body);font-size:var(--font-meta);font-weight:500;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2}.carousel-connector{height:100%;display:grid;place-items:center;color:var(--muted-text);font-size:14px;pointer-events:none}.carousel-connector span{white-space:nowrap}.carousel-connector strong{color:var(--ink);font-size:14px;font-weight:600}.detail-content{min-height:0;overflow-y:auto;padding:18px 20px 30px;scrollbar-width:thin;scrollbar-color:#c7c8c5 transparent}.detail-location{display:flex;align-items:center;gap:5px;color:var(--blue);font-size:var(--font-meta)}.detail-content>h2{margin:9px 0 11px;font-size:25px;line-height:1.13;letter-spacing:-.04em;font-weight:500}.detail-description{margin:0;color:var(--text-body);font-size:var(--font-ui);line-height:1.65}.detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:18px}.detail-facts>div{min-width:0;min-height:54px;display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:var(--radius);background:hsl(var(--muted)/.72)}.detail-facts svg{width:16px;height:16px;flex:none;color:var(--muted-text)}.detail-facts span{display:grid;gap:2px;color:var(--muted-text);font-size:var(--font-meta)}.detail-facts strong{color:var(--text-body);font-size:var(--font-ui);font-weight:500;overflow-wrap:anywhere}.detail-facts .detail-status{font-weight:600}.detail-section{margin-top:21px}.detail-section h3{margin:0 0 8px;font-size:var(--font-ui);font-weight:500}.section-heading{display:flex;align-items:center;gap:7px}.section-heading svg{color:var(--muted-text)}.contact-card{display:grid;gap:3px;padding:10px 11px;border-radius:var(--radius);background:hsl(var(--muted)/.72)}.contact-card+.contact-card{margin-top:6px}.contact-card strong{color:var(--text-body);font-size:var(--font-ui);font-weight:500}.contact-card>span{color:var(--muted-text);font-size:var(--font-meta)}.contact-card div{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.contact-card a{color:var(--blue);font-size:var(--font-ui);text-decoration:none}.source-section{display:grid;gap:10px}.source-section h3{margin-bottom:1px}.source-excerpt{padding:12px 13px;border-radius:var(--radius);background:hsl(var(--muted)/.72)}.source-excerpt>span{color:var(--muted-text);font-size:var(--font-meta)}.source-excerpt blockquote{margin:8px 0 0;color:var(--text-body);font-size:var(--font-ui);font-style:italic;line-height:1.6}.source-actions{display:flex;flex-wrap:wrap;gap:6px}.db-tooltip{z-index:100;max-width:min(18rem,calc(100vw - 24px));padding:8px 11px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 28px rgba(15,15,15,.14);font-size:11px;line-height:1.45;white-space:pre-line;animation:tooltip-in .12s ease-out}.about-dialog,.db-tooltip{background:#fff;color:var(--ink)}.about-dialog{width:min(720px,calc(100vw - 28px));max-height:min(86dvh,780px);padding:0;border:1px solid var(--line);border-radius:10px;box-shadow:0 28px 80px rgba(15,15,15,.26)}.about-dialog::backdrop{background:rgba(15,18,27,.42);backdrop-filter:blur(3px)}.about-dialog-card{max-height:min(86dvh,780px);display:flex;flex-direction:column}.about-dialog-header{flex:none;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 18px;border-bottom:1px solid var(--line)}.about-dialog-header h2{max-width:580px;margin:0;font-size:24px;font-weight:500;line-height:1.18;letter-spacing:-.035em}.about-dialog-header button{width:32px;height:32px;display:grid;flex:none;place-items:center;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--muted-text);cursor:pointer;transition:background .15s,color .15s}.about-dialog-header button:hover{background:hsl(var(--muted));color:var(--ink)}.about-dialog-body{overflow-y:auto;padding:22px 24px 24px;color:var(--text-body);font-size:var(--font-ui);line-height:1.68}.about-dialog-body p{margin:0 0 15px}.about-accordion{margin-top:10px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.about-accordion>summary{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:var(--radius);background:hsl(var(--muted)/.65);color:var(--ink);font-weight:600;cursor:pointer;list-style:none;transition:background .15s,color .15s}.about-accordion>summary::-webkit-details-marker{display:none}.about-accordion>summary:hover{background:hsl(var(--primary)/.05);color:var(--blue)}.about-accordion>summary:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:var(--radius)}.about-accordion>summary>svg{flex:none;color:var(--blue);transition:transform .15s}.about-accordion[open]{border-color:hsl(var(--primary)/.35)}.about-accordion[open]>summary{color:var(--blue)}.about-accordion[open]>summary>svg{transform:rotate(180deg)}.about-answer{padding:14px 16px 16px}.about-answer>p:last-child{margin-bottom:0}@media (prefers-reduced-motion:reduce){.about-accordion>summary,.about-accordion>summary>svg{transition:none}}.about-dialog-body strong{color:var(--ink);font-weight:600}.about-lead{font-size:14px}.about-law,.about-lead{color:var(--text-body)}.about-law a{display:inline-flex;align-items:center;gap:3px;color:var(--blue);font-weight:400;text-decoration:none}.about-law a:hover{text-decoration:underline}.maplibregl-ctrl-group{border-radius:var(--radius)!important;box-shadow:0 5px 18px rgba(15,15,15,.13)!important}.maplibregl-ctrl-bottom-right{right:5px;bottom:5px}.municipality-marker-anchor{width:0;height:0;display:flex;align-items:center;justify-content:center}.municipality-marker{z-index:1;width:28px;height:28px;display:grid;flex:none;place-items:center;padding:0;border:0;border-radius:50%;background:var(--blue);color:#fff;box-shadow:0 3px 10px rgba(29,52,112,.32);font-size:11px;font-weight:600;line-height:1;cursor:pointer;transform:scale(var(--marker-scale,1));transition:transform .08s linear,box-shadow .15s}.municipality-marker:focus-visible,.municipality-marker:hover{z-index:3;outline:0;box-shadow:0 0 0 3px rgba(43,97,255,.16),0 4px 13px rgba(29,52,112,.38)}.municipality-marker.open-only{background:var(--green)}.municipality-marker.selected{z-index:4;box-shadow:0 0 0 5px rgba(43,97,255,.17),0 4px 14px rgba(29,52,112,.4)}@keyframes detail-in{0%{opacity:0;transform:translateX(28px)}}@keyframes tooltip-in{0%{opacity:0;transform:translateY(2px) scale(.98)}}@media (max-width:940px){.app-header{height:56px;grid-template-columns:auto minmax(260px,1fr) auto}.results-panel{top:82px}.detail-panel{top:82px;bottom:14px;width:min(480px,calc(100vw - 28px))}}@media (max-width:700px){.map-app{--mobile-top:max(8px,env(safe-area-inset-top));--mobile-bottom:max(8px,env(safe-area-inset-bottom))}.app-header{top:var(--mobile-top);left:8px;right:8px;height:108px;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:44px 44px;gap:4px 6px;padding:7px}.header-brand{grid-column:1;grid-row:1;gap:8px}.header-actions{grid-column:2;grid-row:1}.wordmark{gap:5px;flex:none}.wordmark img{width:24px;height:24px}.db-button{min-height:44px}.header-claim{min-width:0;padding-inline:7px}.header-claim>svg{display:none}.live-state{height:44px;padding:0 4px;font-size:var(--font-ui)}.about-button-extra{display:none}.header-search{grid-column:1/-1;grid-row:2;width:100%;height:44px}.header-search input{font-size:16px}.header-search>button{width:36px;height:40px;flex:none}.mobile-view-switch{position:absolute;z-index:9;top:calc(var(--mobile-top) + 116px);left:8px;right:8px;display:flex;padding:3px;gap:4px}.mobile-view-switch button{flex:1;min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--radius);background:transparent;color:var(--muted-text);font-size:14px;cursor:pointer}.mobile-view-switch button[aria-pressed=true]{background:var(--blue);color:#fff}.mobile-view-switch button span{font-size:12px}.results-panel{top:calc(var(--mobile-top) + 176px);bottom:var(--mobile-bottom);left:8px;width:calc(100vw - 16px);height:auto}.has-detail .mobile-view-switch,.has-detail .results-panel,.mobile-view-map .results-panel{display:none}.results-toolbar{min-height:36px;padding:6px 12px}.detail-content,.opportunity-list{overscroll-behavior:contain}.opportunity-card{padding:16px 13px}.opportunity-card h2{font-size:16px;line-height:1.4}.card-meta{gap:8px;font-size:var(--font-ui)}.detail-panel{inset:calc(var(--mobile-top) + 116px) 8px var(--mobile-bottom);width:auto;animation:none}.detail-toolbar{justify-content:space-between}.detail-back{min-height:44px;display:flex;align-items:center;gap:5px;padding:0 10px;border-bottom:0;border-radius:var(--radius) var(--radius) 0 0;color:var(--blue);font-size:15px;cursor:pointer;pointer-events:auto}.detail-panel>.panel-body{border-top-left-radius:0}.detail-back:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.detail-close{width:44px;height:44px}.detail-carousel{padding:6px 8px}.carousel-actions{grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr)}.sibling-preview{min-height:52px;gap:4px;padding:6px}.sibling-preview strong{font-size:12px}.detail-content{padding:14px 14px 24px;overflow-wrap:anywhere}.detail-content>h2{font-size:24px;line-height:1.2}.detail-description,.source-excerpt blockquote{font-size:16px;line-height:1.6}.contact-card>span,.detail-facts span,.detail-location,.source-excerpt>span{font-size:var(--font-ui)}.detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-card a,.contact-card strong,.detail-facts strong{font-size:14px}.detail-section h3{font-size:16px}.contact-card a{display:inline-flex;align-items:center;min-height:44px;max-width:100%}.contact-card div{gap:0 12px}.maplibregl-ctrl-bottom-right{bottom:var(--mobile-bottom)}.about-dialog-header{padding:18px 18px 15px}.about-dialog-header h2{font-size:21px}.about-dialog-header button{width:44px;height:44px}.about-dialog-body{padding:18px;font-size:16px}.about-lead{font-size:16px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.header-search>svg{flex:none}.category-trigger-wrap{flex:none;border-left:1px solid var(--line);padding-left:5px}.category-trigger{height:30px;display:flex;align-items:center;gap:6px;padding:0 7px;border:0;border-radius:4px;background:transparent;color:var(--text-body);font-size:var(--font-ui);cursor:pointer;white-space:nowrap}.category-trigger:hover,.category-trigger[aria-expanded=true]{background:hsl(var(--primary)/.07);color:var(--blue)}.category-trigger.is-active{color:var(--blue)}.category-selection-count{min-width:19px;height:19px;display:grid;place-items:center;padding:0 4px;border-radius:4px;background:hsl(var(--primary)/.1);font-size:12px;font-weight:600}.active-categories button:focus-visible,.category-dialog button:focus-visible,.category-trigger:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.category-dialog{position:fixed;inset:80px 80px auto auto;width:min(790px,calc(100vw - 28px));height:min(640px,calc(100dvh - 100px));max-height:calc(100dvh - 28px);margin:0;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);box-shadow:0 18px 64px rgba(15,23,42,.2)}.category-dialog[open]{display:flex;flex-direction:column}.category-dialog::backdrop{background:rgba(24,32,48,.12)}.category-dialog-header{display:flex;flex:none;align-items:center;gap:12px;padding:14px 16px}.category-icon-button{display:grid;flex:none;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:var(--radius);background:transparent;color:var(--muted-text);cursor:pointer}.category-icon-button:hover{background:hsl(var(--muted));color:var(--ink)}.category-search-wrap{display:flex;flex:1;min-width:0;align-items:center;gap:9px;min-height:40px;padding:0 11px;border:1px solid var(--line);border-radius:var(--radius);color:var(--muted-text);background:hsl(var(--muted)/.5)}.category-search-wrap:focus-within{border-color:hsl(var(--primary)/.55);box-shadow:0 0 0 2px hsl(var(--primary)/.08);background:#fff}.category-search-wrap>svg{flex:none}.category-search-wrap input{width:100%;min-width:0;height:38px;padding:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:14px}.category-browser{display:grid;grid-template-columns:310px minmax(0,1fr);min-height:0;flex:1;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.category-mobile-back{display:none}.category-groups{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px;border-right:1px solid var(--line);background:hsl(var(--muted)/.45);scrollbar-width:thin}.category-group{display:flex;align-items:stretch;width:100%;min-height:44px;border-radius:var(--radius);color:var(--text-body)}.category-group-toggle{justify-content:center;flex:none;width:34px}.category-group button,.category-group-toggle{display:flex;align-items:center;cursor:pointer}.category-group button{flex:1;min-width:0;gap:9px;padding:10px 7px 10px 0;border:0;border-radius:var(--radius);background:transparent;color:inherit;font-size:var(--font-ui);font-weight:inherit;line-height:1.4;text-align:left}.category-group button>span:not(.category-row-count){flex:1}.category-group button>svg{flex:none}.category-group button>svg:last-child{color:#999eaa}.category-group:hover{background:hsl(var(--muted))}.category-group.is-current{color:var(--blue);background:hsl(var(--primary)/.07);font-weight:500}.category-row-count{flex:none;min-width:18px;color:var(--muted-text);text-align:right;font-size:12px;font-variant-numeric:tabular-nums}.category-options{min-width:0;min-height:0;display:flex;flex-direction:column}.category-options-heading{display:flex;flex:none;align-items:flex-start;gap:10px;padding:17px 18px 14px}.category-options-heading>svg{flex:none;margin-top:1px;color:var(--muted-text)}.category-options-heading>div{display:grid;gap:4px}.category-options-heading h3{margin:0;font-size:15px;font-weight:600;line-height:1.4}.category-options-heading span{color:var(--muted-text);font-size:var(--font-ui)}.category-option{display:flex;align-items:center;gap:10px;min-height:41px;padding:10px;border-radius:var(--radius);color:var(--text-body);font-size:var(--font-ui);line-height:1.4;cursor:pointer}.category-option:hover{background:hsl(var(--muted))}.category-option.is-selected{background:hsl(var(--primary)/.055);color:var(--blue)}.category-group input,.category-option input{width:16px;height:16px;flex:none;margin:0;accent-color:var(--blue);cursor:pointer}.category-group input:focus-visible,.category-option input:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.category-option>span:not(.category-row-count){flex:1}.category-select-group{flex:none;margin:0 8px 7px;font-weight:500;color:var(--ink)}.category-tag-options{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 8px 9px;scrollbar-width:thin}.category-no-match{display:flex;flex:1;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:20px;text-align:center;color:var(--muted-text);font-size:var(--font-ui)}.category-no-match strong{color:var(--ink);font-weight:500}.category-search-results{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 16px 12px;border-block:1px solid var(--line);scrollbar-width:thin}.category-search-section h3{display:flex;align-items:center;gap:9px;margin:0;padding:16px 10px 8px;color:var(--muted-text);font-size:var(--font-ui);font-weight:500}.category-search-section h3 svg{flex:none}.category-search-results>.category-no-match{height:100%}.category-dialog-footer{display:flex;flex:none;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px}.category-apply{gap:12px}.category-apply>span{min-width:22px;padding:1px 5px;border-radius:4px;background:rgba(255,255,255,.18);font-size:12px;text-align:center;font-variant-numeric:tabular-nums}.opportunity-categories{display:flex;flex-wrap:wrap;gap:5px;margin:14px 0 0}.opportunity-categories>span{display:block;max-width:100%;padding:3px 7px;border:1px solid var(--line);border-radius:4px;background:hsl(var(--muted)/.55);color:var(--muted-text);font-size:12px;font-weight:400;line-height:1.4}.opportunity-categories.is-compact{flex-wrap:nowrap;gap:4px;margin:8px 0 0}.opportunity-categories.is-compact>span{min-width:0;padding:1px 5px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:11px}.opportunity-categories>.category-overflow{flex:none}.active-categories{position:absolute;z-index:9;top:80px;left:14px;right:14px;display:flex;align-items:center;gap:6px;height:32px;overflow-x:auto;scrollbar-width:none}.active-categories button{display:flex;flex:none;align-items:center;gap:7px;max-width:min(420px,80vw);min-height:29px;padding:4px 9px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--text-body);font-size:var(--font-ui);white-space:nowrap;cursor:pointer;box-shadow:0 2px 8px rgba(15,23,42,.05);transition:background .15s,border-color .15s}.active-categories button:hover{background:#fafaf9;border-color:#b9bcbf}.has-category-filters .detail-panel,.has-category-filters .results-panel{top:124px}@media (max-width:900px){.category-dialog{right:14px}}@media (max-width:700px){.category-trigger{min-height:38px;gap:5px;padding:0 4px;font-size:var(--font-ui)}.category-trigger>svg:first-child{display:none}.category-dialog{inset:auto 8px max(8px,env(safe-area-inset-bottom));width:calc(100vw - 16px);max-width:calc(100vw - 16px);height:min(720px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);border-radius:12px}.category-dialog::backdrop{background:rgba(24,32,48,.28)}.category-dialog-header{padding:12px;gap:8px}.category-icon-button{width:36px;height:36px}.category-search-wrap{min-height:44px}.category-search-wrap input{font-size:16px}.category-browser{display:flex;flex-direction:column}.category-groups{flex:1;border-right:0;background:#fff}.category-group.is-current{color:var(--text-body);background:transparent;font-weight:400}.category-group button{min-height:48px;font-size:14px}.category-group-toggle{width:42px}.category-browser .category-options,.category-browser.has-mobile-detail .category-groups{display:none}.category-browser.has-mobile-detail .category-options{display:flex;flex:1}.category-mobile-back{display:flex;flex:none;align-items:center;gap:5px;min-height:44px;padding:0 16px;border:0;background:hsl(var(--muted)/.5);color:var(--muted-text);font-size:14px;text-align:left;cursor:pointer}.category-options-heading{padding:12px 18px 7px}.category-option{min-height:44px;font-size:14px}.category-group input,.category-option input{width:18px;height:18px}.category-dialog-footer{padding:12px 16px;gap:8px}.category-apply{min-height:44px;gap:8px}.opportunity-categories>span{font-size:var(--font-ui)}.opportunity-categories.is-compact>span{font-size:12px}.active-categories{top:calc(var(--mobile-top) + 116px);left:8px;right:8px;height:36px}.active-categories button{min-height:34px}.has-category-filters .mobile-view-switch{top:calc(var(--mobile-top) + 158px)}.has-category-filters .results-panel{top:calc(var(--mobile-top) + 218px)}.has-category-filters .detail-panel{top:calc(var(--mobile-top) + 158px)}}