.ct-widget{--ct-bg:#0b1321;--ct-panel:#111f31;--ct-panel2:#15253b;--ct-text:#f5f8ff;--ct-muted:#9eafc6;--ct-line:#263a52;--ct-primary:#45dab7;--ct-soft:#1d3d46;background:var(--ct-bg);color:var(--ct-text);border:1px solid var(--ct-line);border-radius:18px;overflow:hidden;font:14px/1.45 system-ui,-apple-system,'Segoe UI',Arial,sans-serif;box-shadow:0 15px 45px #0002;max-width:100%}.ct-widget.ct-light{--ct-bg:#f6f9fd;--ct-panel:#ffffff;--ct-panel2:#edf2f9;--ct-text:#162a40;--ct-muted:#60748e;--ct-line:#dce5ef;--ct-primary:#008b74;--ct-soft:#d9f4ec}.ct-widget *{box-sizing:border-box}.ct-widget button,.ct-widget input{font:inherit}.ct-widget button{cursor:pointer}.ct-widget a{color:inherit}.ct-head{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;border-bottom:1px solid var(--ct-line);gap:15px}.ct-brand{display:flex;align-items:center;gap:10px;letter-spacing:1.1px;font-size:13px;font-weight:900}.ct-brand b{color:var(--ct-primary)}.ct-brand small{display:block;letter-spacing:2px;font-size:8px;font-weight:600;color:var(--ct-muted)}.ct-brandmark{background:var(--ct-primary);color:#071826;border-radius:9px;padding:5px 11px;font-size:23px;font-weight:900}.ct-head-right{display:flex;gap:15px;align-items:center}.ct-powered{font-size:11px;color:var(--ct-muted)}.ct-live{font-size:10px;font-weight:800;color:var(--ct-primary);border:1px solid var(--ct-line);border-radius:50px;padding:7px 11px;white-space:nowrap}.ct-live i{display:inline-block;background:#35d6a8;width:7px;height:7px;border-radius:50%;margin-right:6px}.ct-intro{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:29px 28px 26px;background:radial-gradient(ellipse at 90% 0%,#16454766,transparent 50%)}.ct-eyebrow{color:var(--ct-primary);font-size:10px;letter-spacing:2px;font-weight:800}.ct-intro h2{margin:8px 0;font-size:clamp(24px,3.5vw,38px);line-height:1.2;font-weight:850;color:var(--ct-text)}.ct-intro h2 span{color:var(--ct-primary)}.ct-intro p{margin:0;max-width:670px;color:var(--ct-muted);font-size:13px}.ct-intro-icon{font-size:65px;line-height:1;color:var(--ct-primary);opacity:.6}.ct-main{display:grid;grid-template-columns:235px minmax(0,1fr);border-top:1px solid var(--ct-line)}.ct-sidebar{background:var(--ct-panel);padding:20px 13px;border-right:1px solid var(--ct-line);min-width:0}.ct-side-label{color:var(--ct-muted);font-size:10px;font-weight:850;letter-spacing:1.4px;margin:0 8px 12px}.ct-search{display:flex;align-items:center;background:var(--ct-bg);border:1px solid var(--ct-line);border-radius:9px;padding:0 10px;color:var(--ct-muted);margin-bottom:14px}.ct-search span{font-size:24px}.ct-search input{min-width:0;width:100%;border:0;background:transparent;color:var(--ct-text);padding:11px 5px;outline:none;font-size:12px}.ct-search input::placeholder{color:var(--ct-muted)}.ct-cities{max-height:460px;overflow-y:auto}.ct-city-btn{display:flex;align-items:center;gap:10px;width:100%;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--ct-muted);padding:11px;text-align:left;margin:3px 0;font-size:13px;transition:background .15s,color .15s}.ct-city-btn:hover,.ct-city-btn.ct-selected{background:var(--ct-soft);color:var(--ct-text);border-color:var(--ct-line)}.ct-city-btn[hidden]{display:none}.ct-dot{width:7px;height:7px;background:#69839e;border-radius:50%;flex:none}.ct-selected .ct-dot{background:var(--ct-primary)}.ct-chevron{margin-left:auto;font-size:19px;line-height:1}.ct-side-note{border-top:1px solid var(--ct-line);margin-top:14px;padding:17px 8px 4px;font-size:11px;line-height:1.55;color:var(--ct-muted)}.ct-view{min-width:0}.ct-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 17px;background:var(--ct-panel);flex-wrap:wrap}.ct-current-caption{display:block;color:var(--ct-muted);font-size:9px;font-weight:800;letter-spacing:1.2px}.ct-current strong{font-size:16px}.ct-toolbar-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.ct-toggle{display:inline-flex;gap:5px;align-items:center;color:var(--ct-text);font-size:11px;white-space:nowrap}.ct-toggle input{accent-color:var(--ct-primary);width:14px;height:14px}.ct-theme,.ct-expand{background:var(--ct-panel2);border:1px solid var(--ct-line);border-radius:8px;color:var(--ct-text);padding:8px 10px;font-size:12px}.ct-map-wrap{position:relative;background:#142438}.ct-map{display:none;width:100%;height:100%;z-index:0}.ct-placeholder{position:absolute;inset:0;background:linear-gradient(125deg,#14283f 0%,#102132 65%,#193b40 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px;text-align:center;color:#f5f8ff;z-index:1}.ct-placeholder[hidden]{display:none}.ct-placeholder-art{width:85px;height:85px;border-radius:24px;display:grid;place-items:center;color:#45dab7;background:#173d43;border:1px solid #327166;margin-bottom:21px;font-size:50px}.ct-placeholder strong{font-size:23px}.ct-placeholder p{max-width:360px;margin:10px auto 22px;color:#b6c5d6;font-size:13px}.ct-load{background:#40dbb4;border:0;border-radius:10px;color:#0a2530;font-weight:850!important;padding:13px 22px;display:flex;gap:20px;align-items:center}.ct-load:hover{background:#7aefd2}.ct-error{position:absolute;z-index:500;bottom:18px;left:15px;right:15px;border:1px solid #b94848;background:#451f29;color:white;border-radius:8px;padding:12px;text-align:center;font-size:12px}.ct-error[hidden]{display:none}.ct-map-foot{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap;padding:14px 18px;background:var(--ct-panel)}.ct-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:var(--ct-muted)}.ct-legend span{display:inline-flex;align-items:center;gap:6px}.ct-legend i{display:inline-block;width:17px;height:5px;border-radius:4px}.ct-green{background:#23b878}.ct-yellow{background:#edcc4b}.ct-orange{background:#f47b35}.ct-red{background:#dd3c37}.ct-last-update{font-size:10px;color:var(--ct-muted)}.ct-bottom{padding:14px 24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:var(--ct-muted);font-size:10px;border-top:1px solid var(--ct-line)}.ct-widget .leaflet-control-attribution{font-size:10px}.ct-widget.ct-fullscreen{position:fixed!important;inset:10px!important;width:auto!important;height:auto!important;z-index:999999!important;border-radius:12px;display:flex;flex-direction:column}.ct-fullscreen .ct-main{flex:1;min-height:0}.ct-fullscreen .ct-view{display:flex;flex-direction:column;min-height:0}.ct-fullscreen .ct-map-wrap{flex:1;height:auto!important;min-height:150px}.ct-fullscreen .ct-intro{padding:10px 20px}.ct-fullscreen .ct-intro p,.ct-fullscreen .ct-intro-icon{display:none}.ct-fullscreen .ct-intro h2{font-size:22px}.ct-fullscreen-open{overflow:hidden!important}.ct-compact .ct-intro-icon{display:none}@media(max-width:900px){.ct-main{grid-template-columns:175px minmax(0,1fr)}.ct-head{padding:12px 15px}.ct-intro{padding:22px 18px}.ct-sidebar{padding:15px 8px}}@media(max-width:640px){.ct-main{display:block}.ct-sidebar{border-right:0;border-bottom:1px solid var(--ct-line);padding:12px}.ct-cities{display:flex;overflow-x:auto;overflow-y:hidden;gap:5px;max-height:none;padding-bottom:5px}.ct-city-btn{width:auto;white-space:nowrap;flex:none;padding:9px 12px}.ct-chevron,.ct-side-note,.ct-side-label,.ct-intro-icon,.ct-powered{display:none}.ct-search{margin:0 0 8px}.ct-head{padding:11px}.ct-brand{font-size:11px}.ct-brandmark{font-size:18px}.ct-intro{padding:19px 14px}.ct-intro h2{font-size:25px}.ct-map-wrap{height:440px!important}.ct-toolbar{padding:12px}.ct-current strong{font-size:14px}.ct-legend{gap:8px}.ct-bottom{padding:13px}.ct-widget.ct-fullscreen{inset:0!important;border-radius:0}.ct-fullscreen .ct-map-wrap{height:auto!important}.ct-fullscreen .ct-sidebar{padding:6px}.ct-fullscreen .ct-intro{display:none}}

/* v1.4: user-selected logo from the WP media library */
.ct-widget .ct-brand{min-height:42px;max-width:min(60%,440px);min-width:0;letter-spacing:normal}
.ct-widget .ct-site-logo{display:block;width:auto;height:auto;max-width:100%;max-height:66px;object-fit:contain;object-position:left center}
.ct-widget .ct-brand-fallback{font-size:15px;font-weight:800;letter-spacing:.2px;color:var(--ct-text)}
@media(max-width:640px){.ct-widget .ct-brand{max-width:55%;min-height:32px}.ct-widget .ct-site-logo{max-height:45px}.ct-widget .ct-brand-fallback{font-size:12px}}


/* v1.5: typography and layout hardening against global WordPress/theme styles. */
.ct-widget,
.ct-widget :is(h1,h2,h3,h4,h5,h6,p,span,strong,b,small,label,a,button,input,div) {
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
.ct-widget {font-size:14px; line-height:1.5; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility}
.ct-widget :is(h2,h3,p) {letter-spacing:normal; text-transform:none; text-shadow:none}
.ct-widget .ct-intro h2 {
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif!important;
  font-size:clamp(27px,3.0vw,40px)!important;
  font-style:normal!important;font-weight:750!important;
  line-height:1.18!important;letter-spacing:-.75px!important;
  text-transform:none!important; margin:8px 0 10px!important;
  padding:0!important; background:none!important;
  color:var(--ct-text)!important;border:0!important;
}
.ct-widget .ct-intro h2 span{color:var(--ct-primary)!important}
.ct-widget .ct-intro p {
 font-family:inherit!important; font-size:14px!important;
 font-weight:400!important;line-height:1.65!important;
 max-width:690px;margin:0!important;color:var(--ct-muted)!important;
}
.ct-widget .ct-intro {padding:30px clamp(20px,3vw,40px);gap:22px}
.ct-widget .ct-eyebrow {font-size:11px!important;line-height:1.4!important;letter-spacing:1.5px!important;font-weight:800!important;color:var(--ct-primary)!important}
.ct-widget .ct-intro-status {font-size:10px;font-weight:800;letter-spacing:1.3px;color:var(--ct-muted);white-space:nowrap;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--ct-line);padding:9px 12px;border-radius:999px}
.ct-widget .ct-intro-status-dot {width:7px;height:7px;background:var(--ct-primary);border-radius:50%}
.ct-widget .ct-brand{max-width:min(54%,420px);min-height:50px}
.ct-widget .ct-site-logo{max-height:56px;max-width:100%;width:auto;height:auto;object-fit:contain}
.ct-widget .ct-head {padding:17px clamp(18px,2.4vw,34px);min-height:80px}
.ct-widget .ct-main{grid-template-columns:245px minmax(0,1fr)}
.ct-widget .ct-toolbar{padding:17px 22px;min-height:72px}
.ct-widget .ct-sidebar{padding:24px 15px}
.ct-widget .ct-search input {appearance:none!important;-webkit-appearance:none!important;border:0!important;background:transparent!important;box-shadow:none!important;outline:none!important;min-height:0!important;height:auto!important;max-width:100%!important;color:var(--ct-text)!important;padding:12px 6px!important;font-size:13px!important}
.ct-widget .ct-search input:focus{outline:none!important;box-shadow:none!important}
.ct-widget :is(.ct-city-btn,.ct-theme,.ct-expand,.ct-load) {font-family:inherit!important;text-transform:none!important;letter-spacing:normal!important;line-height:1.4!important;box-shadow:none!important;text-decoration:none!important}
.ct-widget .ct-city-btn {font-size:13px!important;min-height:40px}
.ct-widget .ct-theme,.ct-widget .ct-expand {font-size:12px!important;min-height:36px}
.ct-widget .ct-toggle{font-size:12px!important}
.ct-widget .ct-current strong {font-size:16px!important;font-weight:750!important;color:var(--ct-text)!important}
.ct-widget .ct-placeholder strong{font-size:22px!important;line-height:1.3!important}
.ct-widget .ct-placeholder p{font-size:13px!important;line-height:1.6!important;color:#b6c5d6!important}
.ct-widget .ct-load {background:#40dbb4!important;color:#092830!important;font-size:13px!important;font-weight:800!important;border:0!important;padding:13px 23px!important}
.ct-widget .ct-bottom,.ct-widget .ct-map-foot{line-height:1.6}
@media(max-width:900px){.ct-widget .ct-main{grid-template-columns:190px minmax(0,1fr)}.ct-widget .ct-intro-status{display:none}}
@media(max-width:640px){
 .ct-widget .ct-main{display:block}
 .ct-widget .ct-intro{padding:23px 17px}
 .ct-widget .ct-intro h2{font-size:28px!important;letter-spacing:-.45px!important}
 .ct-widget .ct-intro p{font-size:13px!important}
 .ct-widget .ct-brand{max-width:57%;min-height:38px}
 .ct-widget .ct-site-logo{max-height:45px}
 .ct-widget .ct-head{min-height:65px;padding:10px 14px}
 .ct-widget .ct-sidebar{padding:13px}
 .ct-widget .ct-toolbar{padding:13px;min-height:64px}
 .ct-widget .ct-current strong{font-size:14px!important}
 .ct-widget .ct-city-btn{min-height:37px}
}

/* v1.6 – search, geolocation, incident report panel */
.ct-widget .ct-location{width:100%;margin:12px 0 3px;padding:11px 12px;color:var(--ct-text);background:var(--ct-panel2);border:1px solid var(--ct-line);border-radius:9px;text-align:left;font-size:12px!important}
.ct-widget .ct-location:hover{border-color:var(--ct-primary)}
.ct-widget .ct-location:disabled{opacity:.6;cursor:wait}
.ct-widget .ct-search-results{border:1px solid var(--ct-line);border-radius:10px;margin:-5px 0 12px;background:var(--ct-bg);font-size:12px;color:var(--ct-muted);padding:7px;max-height:245px;overflow:auto}
.ct-widget .ct-search-results[hidden]{display:none}
.ct-widget .ct-result{display:block;width:100%;padding:10px;text-align:left;white-space:normal;border:0;border-radius:7px;color:var(--ct-text);background:transparent;font-size:12px!important}
.ct-widget .ct-result:hover,.ct-widget .ct-result:focus{background:var(--ct-soft)}
.ct-widget .ct-refresh{background:var(--ct-panel2);border:1px solid var(--ct-line);color:var(--ct-text);font-size:19px!important;line-height:1!important;min-width:37px;min-height:36px;border-radius:8px}
.ct-widget .ct-incident-panel{padding:24px clamp(16px,3vw,30px);border-top:1px solid var(--ct-line);background:var(--ct-bg)}
.ct-widget .ct-incident-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:8px}
.ct-widget .ct-incident-head h3{font-family:inherit!important;font-size:21px!important;line-height:1.3!important;font-weight:750!important;margin:6px 0!important;color:var(--ct-text)!important}
.ct-widget .ct-incident-count{font-size:12px;min-width:42px;text-align:center;color:var(--ct-primary);font-weight:800;background:var(--ct-soft);padding:9px;border-radius:12px}
.ct-widget .ct-incident-status{color:var(--ct-muted)!important;font-size:12px!important;margin:4px 0 16px!important}
.ct-widget .ct-incident-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,265px),1fr));gap:10px}
.ct-widget .ct-incident-card{display:flex;flex-direction:column;gap:7px;min-width:0;text-align:left;padding:16px;background:var(--ct-panel);border:1px solid var(--ct-line);border-radius:12px;color:var(--ct-text);white-space:normal;transition:border-color .15s}
.ct-widget .ct-incident-card:hover,.ct-widget .ct-incident-card:focus-visible{border-color:var(--ct-primary)}
.ct-widget .ct-incident-title{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ct-widget .ct-incident-card strong{font-size:13px!important;font-weight:750!important}
.ct-widget .ct-severity{color:var(--ct-primary);font-size:10px;font-weight:650}
.ct-widget .ct-incident-desc{font-size:12px;line-height:1.5;color:var(--ct-muted);overflow-wrap:anywhere}
.ct-widget .ct-incident-card small{font-size:11px;color:var(--ct-muted)}
.ct-widget .ct-incident-disclaimer{display:block;margin-top:14px;color:var(--ct-muted);font-size:11px}
.ct-widget .ct-intro{padding-top:19px;padding-bottom:19px}
.ct-widget .ct-intro h2{font-size:clamp(25px,2.7vw,36px)!important}
@media(max-width:640px){.ct-widget .ct-incident-panel{padding:20px 14px}.ct-widget .ct-location{margin:8px 0}.ct-widget .ct-incident-list{grid-template-columns:1fr}}

/* v1.7: robust theme-aware contrast and logo swapping */
.ct-widget .ct-logo-light{display:none!important}
.ct-widget.ct-light .ct-logo-dark{display:none!important}
.ct-widget.ct-light .ct-logo-light{display:block!important}
.ct-widget.ct-light{--ct-text:#14263b;--ct-muted:#485a70;--ct-primary:#006b5b;--ct-line:#c9d5e2;--ct-soft:#d5f2e9}
.ct-widget :is(.ct-head,.ct-intro,.ct-sidebar,.ct-toolbar,.ct-map-foot,.ct-bottom,.ct-incident-panel,.ct-incident-card,.ct-search-results,.ct-result,.ct-search,.ct-city-btn,.ct-current,.ct-toggle,.ct-location,.ct-theme,.ct-refresh,.ct-expand,.ct-legend,.ct-side-label,.ct-current-caption,.ct-last-update,.ct-side-note,.ct-powered,.ct-live,.ct-intro-status){color:var(--ct-text)}
.ct-widget :is(.ct-intro p,.ct-map-foot,.ct-last-update,.ct-side-note,.ct-powered,.ct-bottom,.ct-incident-desc,.ct-incident-disclaimer,.ct-incident-status,.ct-current-caption,.ct-side-label){color:var(--ct-muted)!important}
.ct-widget .ct-head,.ct-widget .ct-intro,.ct-widget .ct-sidebar,.ct-widget .ct-toolbar,.ct-widget .ct-map-foot,.ct-widget .ct-bottom,.ct-widget .ct-incident-panel{border-color:var(--ct-line)}
.ct-widget .ct-search-input::placeholder{color:var(--ct-muted)!important;opacity:1}
.ct-widget .ct-placeholder{color:#f5f8ff!important}
.ct-widget .ct-placeholder strong,.ct-widget .ct-placeholder p{color:#f5f8ff!important}
.ct-widget .ct-city-btn,.ct-widget .ct-theme,.ct-widget .ct-refresh,.ct-widget .ct-expand,.ct-widget .ct-result,.ct-widget .ct-location{color:var(--ct-text)!important}
.ct-widget .ct-city-btn.ct-selected{color:var(--ct-text)!important}
.ct-widget :is(button,a,input):focus-visible{outline:3px solid var(--ct-primary)!important;outline-offset:2px}
/* Leaflet's zoom buttons are styled explicitly to override aggressive theme CSS. */
.ct-widget .leaflet-top.leaflet-left{z-index:800!important;top:12px!important;left:12px!important}
.ct-widget .leaflet-control-zoom{border:2px solid rgba(0,0,0,.12)!important;border-radius:8px!important;box-shadow:0 3px 12px rgba(0,0,0,.3)!important;overflow:hidden!important}
.ct-widget .leaflet-control-zoom a,
.ct-widget .leaflet-control-zoom a.leaflet-disabled{
 display:flex!important;align-items:center!important;justify-content:center!important;
 width:36px!important;height:36px!important;min-height:36px!important;
 padding:0!important;margin:0!important;
 font-family:Arial,Helvetica,sans-serif!important;font-size:24px!important;font-weight:700!important;
 line-height:1!important;text-indent:0!important;letter-spacing:0!important;
 text-decoration:none!important;text-shadow:none!important;
 background:#fff!important;color:#15283c!important;border:0!important;border-bottom:1px solid #c9d5e2!important;
 opacity:1!important;visibility:visible!important;box-shadow:none!important
}
.ct-widget .leaflet-control-zoom a:last-child{border-bottom:0!important}
.ct-widget .leaflet-control-zoom a:hover{background:#e7f5f0!important;color:#075b4d!important}
.ct-widget .leaflet-control-zoom a.leaflet-disabled{background:#e7ebf0!important;color:#657789!important;cursor:not-allowed!important}
.ct-widget .leaflet-control-zoom a span{color:inherit!important;font:inherit!important}
.ct-widget .leaflet-control-attribution{background:rgba(255,255,255,.88)!important;color:#263b4c!important;font-size:10px!important}
.ct-widget .leaflet-control-attribution a{color:#005b86!important}

/* v1.8: light-mode map loading state, typography contrast, accessible controls. */
.ct-widget.ct-light .ct-map-wrap{background:#eaf1f8!important}
.ct-widget.ct-light .ct-placeholder{background:linear-gradient(145deg,#f3f8fd 0%,#e6f1f7 65%,#e4f6ef 100%)!important;color:#14283d!important}
.ct-widget.ct-light .ct-placeholder strong{color:#14283d!important}
.ct-widget.ct-light .ct-placeholder p{color:#41576c!important}
.ct-widget.ct-light .ct-placeholder-art{background:#d9f3eb!important;border-color:#a6dccc!important;color:#087761!important}
.ct-widget.ct-light .ct-load{background:#087e6b!important;color:#fff!important}
.ct-widget.ct-light .ct-load:hover{background:#096553!important}
.ct-widget .ct-incident-card{cursor:pointer}
.ct-widget .ct-share{align-self:flex-start;margin-top:6px;border:1px solid var(--ct-line)!important;background:var(--ct-panel2)!important;color:var(--ct-text)!important;border-radius:8px!important;padding:8px 11px!important;font-size:12px!important;font-weight:700!important;line-height:1.3!important}
.ct-widget .ct-share:hover{border-color:var(--ct-primary)!important}
.ct-widget .ct-refresh:disabled{opacity:.65;cursor:wait}
.ct-widget .ct-refreshing{animation:ct-rotate .8s linear infinite}
@keyframes ct-rotate{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.ct-widget .ct-refreshing{animation:none}}
