@keyframes spin{to{transform:rotate(360deg)}}.search-spinner{animation:spin .8s linear infinite}.search-results::-webkit-scrollbar{width:6px}.search-results::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.search-results::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.search-results::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.mapboxgl-popup.map-camera-popup{z-index:1000}.mapboxgl-popup.map-camera-popup .mapboxgl-popup-content{border-radius:14px;padding:0;background:radial-gradient(circle at 50% -20%,rgba(55,95,150,.22),transparent 52%),#14161a;border:1px solid rgba(255,255,255,.09);box-shadow:0 22px 50px #0000008c,0 1px #ffffff0d inset;overflow:hidden}.mapboxgl-popup.map-camera-popup .mapboxgl-popup-close-button{color:#ffffff73;font-size:20px;line-height:1;padding:8px;right:4px;top:4px;width:36px;height:36px;border-radius:10px;transition:color .15s ease,background .15s ease}.mapboxgl-popup.map-camera-popup .mapboxgl-popup-close-button:hover{color:#fff;background:#ffffff1a}.mapboxgl-popup.map-camera-popup.mapboxgl-popup-anchor-top .mapboxgl-popup-tip,.mapboxgl-popup.map-camera-popup.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip,.mapboxgl-popup.map-camera-popup.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{border-bottom-color:#14161a;filter:drop-shadow(0 1px 0 rgba(0,0,0,.18))}.mapboxgl-popup.map-camera-popup.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip,.mapboxgl-popup.map-camera-popup.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip,.mapboxgl-popup.map-camera-popup.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{border-top-color:#14161a;filter:drop-shadow(0 -1px 0 rgba(0,0,0,.22))}.mapboxgl-popup.map-camera-popup.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{border-right-color:#14161a;filter:drop-shadow(1px 0 0 rgba(0,0,0,.15))}.mapboxgl-popup.map-camera-popup.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{border-left-color:#14161a;filter:drop-shadow(-1px 0 0 rgba(0,0,0,.15))}.map-camera-popup__inner{padding:16px 16px 15px;font-size:13px;min-width:232px;max-width:312px;color:#f8fafff5;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.map-camera-popup__header{margin-bottom:0;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.07)}.map-camera-popup__title{margin:2px 32px 0 0;font-size:15px;font-weight:600;line-height:1.38;color:#fff;letter-spacing:-.01em}.map-camera-popup__network{font-size:11px;color:#ffffff80;margin-top:6px;display:flex;align-items:center;min-height:14px}.map-camera-popup__vrf-meta{font-size:11px;color:#beffcdc7;margin-top:8px}.map-camera-popup__vrf-camera{font-size:11px;color:#ffffffa8;margin-top:4px}.map-camera-popup__sponsors{margin-top:10px;display:flex;align-items:center;gap:8px}.map-camera-popup__sponsor-img{height:22px;width:auto;max-width:120px;object-fit:contain}.map-camera-popup__sponsor-name{font-size:11px;color:#ffffffb8}.map-camera-popup__viewers{font-size:11px;color:#c8dcffe0;margin-top:6px}.map-camera-popup__yt-wrap{margin-top:10px}.map-camera-popup__yt-link{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#93c8ff;text-decoration:none;padding:5px 0;transition:color .15s ease,opacity .15s ease}.map-camera-popup__yt-link:hover{color:#b8ddff;opacity:.92}.map-camera-popup__assign{border-top:1px solid rgba(255,255,255,.06);padding-top:12px;margin-top:12px}.map-camera-popup__assign-label{font-size:10px;color:#ffffff61;margin-bottom:9px;text-transform:uppercase;letter-spacing:.12em;font-weight:600}.map-camera-popup__slot-row{display:flex;flex-wrap:wrap;gap:8px}.map-camera-popup__slot-btn{padding:7px 14px;font-size:12px;font-weight:600;min-width:44px;border:none;border-radius:9px;cursor:pointer;color:#fff;background:linear-gradient(180deg,#2a87ff,#0866cf 54%,#004fa3);box-shadow:0 1px #ffffff14 inset,0 6px 16px #00286459;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.map-camera-popup__slot-btn:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 1px #ffffff1a inset,0 9px 20px #00327861}.map-camera-popup__slot-btn:active{transform:translateY(0);filter:brightness(.98)}.map-camera-popup__broadcast-wrap{margin-top:11px}.map-mrms-scan-time{position:absolute;bottom:calc(16px + env(safe-area-inset-bottom,0px));left:calc(16px + env(safe-area-inset-left,0px));z-index:1000;pointer-events:none;display:inline-flex;align-items:baseline;gap:8px;padding:7px 11px;border-radius:8px;background-color:#0000007a;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 14px #00000047;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;max-width:min(280px,calc(100vw - 32px))}.map-mrms-scan-time__tag{font-size:10px;font-weight:700;letter-spacing:.06em;color:#ffffff8c;line-height:1}.map-mrms-scan-time__value{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:#fffffff5;line-height:1.2;white-space:nowrap}.map-camera-dot-legend{position:absolute;bottom:calc(16px + env(safe-area-inset-bottom,0px));right:calc(16px + env(safe-area-inset-right,0px));z-index:1000;pointer-events:none;background-color:#0000006b;border-radius:8px;padding:8px 12px 10px;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 14px #00000047;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;max-width:min(200px,calc(100vw - 32px))}.map-camera-dot-legend__title{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#ffffff8c;font-weight:600;margin-bottom:6px}.map-camera-dot-legend__row{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.35;color:#ffffffeb;font-weight:500}.map-camera-dot-legend__row+.map-camera-dot-legend__row{margin-top:5px}.map-camera-dot-legend__dot{flex-shrink:0;width:10px;height:10px;border-radius:50%;border:1.5px solid rgba(255,255,255,.95);box-sizing:border-box}.map-camera-dot-legend__dot--video{background-color:#22c55e}.map-camera-dot-legend__dot--snapshot{background-color:#f97316}.map-camera-dot-legend__dot--selected{background-color:#ef4444}.map-state-filter{background-color:#1a1a1aeb;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:9px 10px 10px;box-shadow:0 4px 14px #00000059;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.map-state-filter__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}.map-state-filter__title{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#ffffffb8;flex:1;min-width:0}.map-state-filter__switch{position:relative;flex-shrink:0;width:40px;height:22px;border-radius:11px;border:1px solid rgba(255,255,255,.12);background:#00000059;cursor:pointer;padding:0;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.map-state-filter__switch:hover{border-color:#ffffff38}.map-state-filter__switch:focus-visible{outline:2px solid rgba(0,102,204,.85);outline-offset:2px}.map-state-filter__switch--on{background:linear-gradient(180deg,#1c7fe0,#06c 55%,#0056ad);border-color:#78beff59;box-shadow:0 0 0 1px #0050b440 inset,0 2px 8px #003c8c59}.map-state-filter__switch-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #00000059;transition:transform .22s cubic-bezier(.4,0,.2,1);pointer-events:none}.map-state-filter__switch--on .map-state-filter__switch-thumb{transform:translate(18px)}.map-state-filter__field-label{display:block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#ffffff61;margin:8px 0 5px}.map-state-filter__select{width:100%;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#00000059;color:#fffffff2;border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:6px 28px 6px 8px;font-size:12px;font-weight:500;line-height:1.3;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-opacity='0.55' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;transition:border-color .15s ease,background-color .15s ease}.map-state-filter__select:hover{border-color:#fff3;background-color:#00000073}.map-state-filter__select:focus{outline:none;border-color:#008cff8c;box-shadow:0 0 0 2px #0066cc47}.map-state-filter__meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.07)}.map-state-filter__ghost-btn{border:none;background:transparent;color:#8cc8ffeb;font-size:11px;font-weight:600;padding:2px 0;cursor:pointer;text-decoration:underline;text-underline-offset:2px;text-decoration-color:#8cc8ff59;font-family:inherit}.map-state-filter__ghost-btn:hover{color:#b8ddff;text-decoration-color:#b8ddff8c}.map-state-filter__ghost-btn:disabled{opacity:.45;cursor:not-allowed}.map-state-filter__stat{font-size:10px;font-weight:600;color:#ffffff73;font-variant-numeric:tabular-nums;white-space:nowrap}.map-state-filter__summary-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}.map-state-filter__summary{font-size:11px;font-weight:500;color:#ffffff94;min-width:0;flex:1}.map-state-filter__open-modal-btn{flex-shrink:0;border:1px solid rgba(255,255,255,.14);background:#00000059;color:#ffffffeb;font-size:11px;font-weight:600;padding:4px 9px;border-radius:6px;cursor:pointer;font-family:inherit;transition:background .15s ease,border-color .15s ease}.map-state-filter__open-modal-btn:hover{background:#0066cc47;border-color:#78beff59}.map-state-filter__meta--compact{margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.07);justify-content:flex-end}.map-state-filter-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10002;background:#00000085;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px 16px;box-sizing:border-box}.map-state-filter-modal{width:min(420px,100%);max-height:min(86vh,640px);display:flex;flex-direction:column;background:linear-gradient(165deg,#22262efa,#101216fc);border:1px solid rgba(255,255,255,.1);border-radius:14px;box-shadow:0 24px 64px #0000008c,0 1px #ffffff0f inset;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;overflow:hidden}.map-state-filter-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 18px 0}.map-state-filter-modal__title{margin:0;font-size:17px;font-weight:650;letter-spacing:-.02em;color:#fff}.map-state-filter-modal__close{flex-shrink:0;width:34px;height:34px;border:none;border-radius:8px;background:#ffffff0f;color:#ffffffa6;font-size:22px;line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease}.map-state-filter-modal__close:hover{background:#ffffff1f;color:#fff}.map-state-filter-modal__lede{margin:10px 18px 0;font-size:12px;line-height:1.45;color:#ffffff7a}.map-state-filter-modal__search{margin:14px 18px 10px;box-sizing:border-box;width:calc(100% - 36px);align-self:center;padding:9px 11px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#00000059;color:#fff;font-size:13px;font-family:inherit}.map-state-filter-modal__search::placeholder{color:#ffffff61}.map-state-filter-modal__search:focus{outline:none;border-color:#008cff80;box-shadow:0 0 0 2px #0066cc38}.map-state-filter-modal__list{flex:1;min-height:120px;overflow-y:auto;margin:0 10px;padding:4px 8px 8px;border-radius:10px;scrollbar-gutter:stable}.map-state-filter-modal__list::-webkit-scrollbar{width:8px}.map-state-filter-modal__list::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}.map-state-filter-modal__row{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px;cursor:pointer;font-size:13px;color:#ffffffeb;transition:background .12s ease}.map-state-filter-modal__row:hover{background:#ffffff0f}.map-state-filter-modal__row input{width:16px;height:16px;accent-color:#0066cc;flex-shrink:0}.map-state-filter-modal__row-label{flex:1;min-width:0;font-weight:500}.map-state-filter-modal__row-count{font-size:11px;font-weight:600;color:#fff6;font-variant-numeric:tabular-nums}.map-state-filter-modal__footer{display:flex;flex-wrap:wrap;gap:8px;padding:14px 18px 18px;border-top:1px solid rgba(255,255,255,.07);justify-content:flex-end}.map-state-filter-modal__btn{border:1px solid rgba(255,255,255,.14);background:#00000047;color:#ffffffe6;font-size:12px;font-weight:600;padding:7px 12px;border-radius:8px;cursor:pointer;font-family:inherit;transition:background .15s ease,border-color .15s ease}.map-state-filter-modal__btn:hover:not(:disabled){background:#ffffff14;border-color:#ffffff38}.map-state-filter-modal__btn:disabled{opacity:.45;cursor:not-allowed}.map-state-filter-modal__btn--primary{background:linear-gradient(180deg,#1c7fe0,#06c 55%,#0056ad);border-color:#78beff59;color:#fff}.map-state-filter-modal__btn--primary:hover:not(:disabled){filter:brightness(1.06)}.map-context-menu{min-width:252px;max-width:min(292px,calc(100vw - 20px));max-height:min(420px,calc(100vh - 20px));overflow-y:auto;padding:10px 10px 11px;background:linear-gradient(165deg,#22262ef7,#121418fa);border:1px solid rgba(255,255,255,.11);border-radius:12px;box-shadow:0 20px 50px #00000085,0 1px #ffffff0d inset;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.map-context-menu__section-label{font-size:10px;font-weight:650;letter-spacing:.11em;text-transform:uppercase;color:#ffffff61;margin-bottom:8px}.map-context-menu__slot-grid{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.map-context-menu__slot-btn{min-width:36px;height:32px;padding:0 10px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#00000059;color:#fff;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .12s ease,border-color .12s ease}.map-context-menu__slot-btn:hover{background:#0066cc52;border-color:#78beff59}.map-context-menu__broadcast{margin-bottom:2px}.map-context-menu__divider{height:1px;background:#ffffff12;margin:10px 0}.map-context-menu__hint{font-size:12px;line-height:1.4;color:#ffffffb8;padding:4px 2px 6px}.map-context-menu__hint--muted{color:#ffffff80}.map-context-menu__hint-sub{font-size:11px;color:#ffffff61}.map-context-menu__action{width:100%;box-sizing:border-box;text-align:left;padding:9px 11px;border-radius:8px;border:1px solid rgba(120,190,255,.35);background:#0066cc38;color:#fff;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s ease,filter .15s ease}.map-context-menu__action:hover{filter:brightness(1.08);background:#0066cc52}.map-context-menu__toggle{width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;margin-top:6px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#00000047;color:#ffffffe6;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .12s ease,border-color .12s ease}.map-context-menu__toggle:first-of-type{margin-top:0}.map-context-menu__toggle:hover{background:#ffffff0f}.map-context-menu__toggle.is-on{border-color:#64b4ff66;background:#06c3}.map-context-menu__toggle-pill{flex-shrink:0;font-size:10px;font-weight:700;letter-spacing:.04em;padding:3px 7px;border-radius:6px;background:#ffffff14;color:#ffffff8c}.map-context-menu__toggle.is-on .map-context-menu__toggle-pill{background:#22c55e40;color:#b4fac8f2}.map-nws-filter{display:flex;flex-direction:column;gap:4px;width:100%}.map-nws-filter__btn{width:100%;min-height:28px;box-sizing:border-box;border:1px solid rgba(255,255,255,.12);border-radius:5px;background:#1a1a1aeb;color:#ffffffe0;font-size:10px;font-weight:500;cursor:pointer;padding:4px 6px;text-align:left;transition:background-color .15s ease,border-color .15s ease}.map-nws-filter__btn:hover{background:#282828fa}.map-nws-filter__btn.is-active{background:#0066cc59;border-color:#60a5fa8c;color:#fff}.map-nws-filter__change-type{width:100%;min-height:26px;box-sizing:border-box;border:1px solid rgba(255,255,255,.1);border-radius:5px;background:#1a1a1ad9;color:#ffffffbf;font-size:10px;font-weight:500;cursor:pointer;padding:3px 6px;text-align:left}.map-nws-filter__change-type:hover{background:#282828f2;color:#fff}.map-context-menu__nws-change-type{width:100%;margin:4px 0 2px;padding:6px 10px;border:none;border-radius:4px;background:transparent;color:#ffffffd1;font-size:12px;text-align:left;cursor:pointer}.map-context-menu__nws-change-type:hover{background:#ffffff14}.map-context-menu__nws-filter{display:flex;flex-direction:column;gap:4px;margin:4px 0 2px}.map-context-menu__nws-filter-btn{width:100%;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#ffffff0a;color:#ffffffe0;font-size:12px;padding:7px 10px;text-align:left;cursor:pointer}.map-context-menu__nws-filter-btn:hover{background:#ffffff14}.map-context-menu__nws-filter-btn.is-active{background:#0066cc47;border-color:#60a5fa73}@keyframes map-cali-locate-pulse-ring{0%{transform:translateZ(0) scale(.88);opacity:1;box-shadow:0 0 #3b82f68c}55%{transform:translateZ(0) scale(1.45);opacity:.92;box-shadow:0 0 0 12px #3b82f600}to{transform:translateZ(0) scale(.88);opacity:1;box-shadow:0 0 #3b82f600}}.map-cali-locate-pulse{position:absolute;z-index:6;width:26px;height:26px;margin-left:-13px;margin-top:-13px;border-radius:50%;pointer-events:none;box-sizing:border-box;border:3px solid rgba(147,197,253,.95);background:#3b82f633;animation:map-cali-locate-pulse-ring 1.35s ease-in-out infinite;will-change:transform,box-shadow}.spc-legend{position:absolute;left:12px;bottom:28px;z-index:1002;max-width:min(280px,calc(100vw - 24px));padding:8px 10px;border-radius:6px;background:#0f1218d1;border:1px solid rgba(255,255,255,.12);border-left:3px solid #3b7ca9;box-shadow:0 4px 14px #00000059;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;pointer-events:none}.spc-legend__title{font-size:12px;font-weight:600;color:#ffffffeb;margin-bottom:6px;line-height:1.2}.spc-legend__day{font-weight:500;color:#ffffff8c}.spc-legend__rows{display:flex;flex-wrap:wrap;gap:4px 8px}.spc-legend__item{display:inline-flex;align-items:center;gap:5px;min-width:0}.spc-legend__swatch{width:12px;height:12px;border-radius:2px;border:1px solid rgba(0,0,0,.35);flex-shrink:0}.spc-legend__label{font-size:11px;font-weight:500;color:#ffffffe6;line-height:1.2}.spc-legend__hatch{width:12px;height:12px;border-radius:2px;border:1px solid rgba(0,0,0,.35);flex-shrink:0;background-color:#9ca3af}.spc-legend__hatch--cig1{background-image:repeating-linear-gradient(-45deg,transparent,transparent 2px,rgba(0,0,0,.75) 2px,rgba(0,0,0,.75) 3px)}.spc-legend__hatch--cig2{background-image:repeating-linear-gradient(-45deg,transparent,transparent 1.5px,rgba(0,0,0,.85) 1.5px,rgba(0,0,0,.85) 2.5px)}.spc-legend__hatch--cig3,.spc-legend__hatch--sig{background-image:repeating-linear-gradient(-45deg,transparent,transparent 1px,rgba(0,0,0,.92) 1px,rgba(0,0,0,.92) 2px)}.spc-outlook-panel{width:100%;box-sizing:border-box;padding:6px 6px 7px;border-radius:6px;background:#1a1a1af2;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 12px #0000004d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.spc-outlook-panel__row{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.spc-outlook-panel__row:first-of-type{margin-top:0}.spc-outlook-panel__chip{flex:1 1 auto;min-width:0;padding:4px 6px;border-radius:4px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#ffffffd9;font-size:10px;font-weight:600;cursor:pointer;line-height:1.2}.spc-outlook-panel__chip.is-active{background:#0066cc59;border-color:#06c;color:#fff}.spc-outlook-panel__chip:disabled{opacity:.35;cursor:not-allowed}.map-cameras-loading__fill{height:100%;width:0%;border-radius:inherit;background:linear-gradient(90deg,#3b82f6,#60a5fa 55%,#93c5fd);box-shadow:0 0 12px #60a5fa59;transition:width .2s ease-out}.camera-nav-controls{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap}.camera-nav-controls--default,.camera-nav-controls--cali{justify-content:flex-start}.camera-nav-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 12px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#ffffffeb;font-size:13px;font-weight:650;cursor:pointer;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.camera-nav-btn:hover:not(:disabled){background:#0066cc47;border-color:#82beff59}.camera-nav-btn:disabled{opacity:.38;cursor:not-allowed}.camera-nav-btn--refresh{min-width:72px;background:#0066cc29}.camera-nav-btn__text{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1.15;gap:1px}.camera-nav-btn--next .camera-nav-btn__text{align-items:flex-end}.camera-nav-btn__label{font-size:13px;font-weight:700;letter-spacing:.01em}.camera-nav-btn__dist{font-size:10px;font-weight:600;color:#ffffff8c;font-variant-numeric:tabular-nums}.camera-nav-btn__arrow{font-size:15px;font-weight:700;opacity:.9}.camera-nav-btn--prev,.camera-nav-btn--next{min-width:88px}.cali-grid{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:auto;background:#0e0e10;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.cali-grid--empty{align-items:center;justify-content:center;padding:32px 20px;text-align:center}.cali-grid__empty-title{margin:0 0 8px;font-size:16px;font-weight:650;color:#ffffffe0}.cali-grid__empty-hint{margin:0;font-size:13px;line-height:1.45;color:#ffffff73}.cali-grid__toolbar{flex-shrink:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px 10px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#1a1c20fa,#121316fa)}.cali-grid__toolbar--empty{border-bottom:none}.cali-grid__in-view{display:flex;align-items:center;gap:8px;justify-self:start;min-width:0;cursor:pointer;-webkit-user-select:none;user-select:none}.cali-grid__in-view-label{font-size:11px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:#ffffffb8;white-space:nowrap}.cali-grid__in-view-switch{position:relative;flex-shrink:0;width:40px;height:22px;border-radius:11px;border:1px solid rgba(255,255,255,.12);background:#00000059;cursor:pointer;padding:0;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.cali-grid__in-view-switch:hover{border-color:#ffffff38}.cali-grid__in-view-switch:focus-visible{outline:2px solid rgba(0,102,204,.85);outline-offset:2px}.cali-grid__in-view-switch--on{background:linear-gradient(180deg,#1c7fe0,#06c 55%,#0056ad);border-color:#78beff59;box-shadow:0 0 0 1px #0050b440 inset,0 2px 8px #003c8c59}.cali-grid__in-view-switch-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000059;transition:transform .2s ease}.cali-grid__in-view-switch--on .cali-grid__in-view-switch-thumb{transform:translate(18px)}.cali-grid__sort{display:flex;align-items:center;gap:6px;justify-self:center;min-width:0}.cali-grid__sort-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#ffffff73;white-space:nowrap}.cali-grid__sort-select{max-width:min(220px,44vw);padding:5px 8px;font-size:12px;font-weight:500;color:#ffffffeb;background:#00000059;border:1px solid rgba(255,255,255,.14);border-radius:6px;cursor:pointer}.cali-grid__sort-select:focus{outline:2px solid rgba(0,102,204,.5);outline-offset:1px}.cali-grid__toolbar-count{justify-self:end;font-size:12px;font-weight:600;color:#c8dcffbf;font-variant-numeric:tabular-nums}.cali-grid__toolbar-label{font-size:11px;font-weight:650;letter-spacing:.09em;text-transform:uppercase;color:#ffffff73}.cali-grid__scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:10px 10px 16px}.cali-grid__cells{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}@media (max-width: 1100px){.cali-grid__cells{grid-template-columns:repeat(2,minmax(0,1fr))}}.cali-grid__tile{display:flex;flex-direction:column;border:none;padding:0;margin:0;background:transparent;cursor:pointer;text-align:left;border-radius:10px;overflow:hidden;box-shadow:0 2px 10px #00000059;transition:transform .15s ease,box-shadow .15s ease}.cali-grid__tile:hover{transform:translateY(-1px);box-shadow:0 6px 18px #00000073}.cali-grid__tile.is-selected{box-shadow:0 0 0 2px #0066ccd9,0 8px 22px #003c8c59}.cali-grid__tile.cali-grid__tile--nws{box-shadow:0 2px 10px #00000059,0 0 0 2px var(--cali-nws-ring, #cccc00)}.cali-grid__tile.cali-grid__tile--nws:hover{box-shadow:0 6px 18px #00000073,0 0 0 2px var(--cali-nws-ring, #cccc00)}.cali-grid__tile.cali-grid__tile--nws.is-selected{box-shadow:0 0 0 2px #0066ccd9,0 0 0 4px var(--cali-nws-ring, #cccc00),0 8px 22px #003c8c59}.cali-grid__nws-headline{flex-shrink:0;font-size:10px;font-weight:700;line-height:1.25;letter-spacing:.03em;color:#fffffff5;padding:5px 8px 4px;background:#00000080;border-bottom:2px solid var(--cali-nws-ring, #cccc00);text-shadow:0 1px 3px rgba(0,0,0,.9)}.cali-grid__tile-frame{position:relative;aspect-ratio:16 / 10;background:#111}.cali-ok-thumb-wrap{position:relative;width:100%;height:100%}.cali-ok-thumb-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:11px;color:#ffffff61;background:#111;pointer-events:none}.cali-grid__thumb-shell{width:100%;height:100%;position:relative;min-height:0}.cali-grid__thumb{width:100%;height:100%;object-fit:cover;display:block}.cali-grid__thumb--ok-video{pointer-events:none;background:#111}.cali-grid__thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:11px;color:#ffffff59}.cali-grid__tile-badge{opacity:.92}.cali-grid__tile-hazcam-bar{position:absolute;top:6px;left:6px;right:6px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:6px;pointer-events:none}.cali-grid__tile-chaser{margin-left:auto;max-width:58%;padding:2px 6px;border-radius:4px;background:#0000009e;color:#e2e8f0;font-size:10px;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.85)}.cali-grid__tile-caption{display:flex;align-items:flex-start;gap:6px;padding:6px 8px 7px;background:#14161af5;border-top:1px solid rgba(255,255,255,.06);min-height:40px}.cali-grid__status-dot{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 1px #00000059;margin-top:3px}.cali-grid__status-dot.is-off{background:#f97316}.cali-grid__tile-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cali-grid__tile-name{font-size:11px;font-weight:600;line-height:1.25;color:#ffffffe6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cali-grid__tile-state{font-size:10px;font-weight:500;line-height:1.2;color:#ffffff73;display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden}.cali-grid__tile-state-chaser{margin-left:auto;color:#e2e8f0c7;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:62%}.cali-grid__more-hint{text-align:center;font-size:11px;color:#ffffff59;padding:14px 8px 4px}.cali-fs-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10060;background:#000000e0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:stretch;justify-content:stretch;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);box-sizing:border-box}.cali-fs-dialog{width:100%;height:100%;max-width:none;max-height:none;display:flex;flex-direction:column;background:linear-gradient(165deg,#1a1d22,#0d0f12);border:none;border-radius:0;box-shadow:none;overflow:hidden;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.cali-fs-header{flex-shrink:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08);background:#00000040}.cali-fs-header-text{flex:1;min-width:0}.cali-fs-title{margin:0;font-size:17px;font-weight:650;letter-spacing:-.02em;color:#fff;line-height:1.25}.cali-fs-sub{margin-top:4px;font-size:12px;color:#ffffff7a}.cali-fs-sub-network{display:flex;align-items:center;gap:10px;min-height:22px;width:100%}.cali-fs-network-pill{display:inline-flex;align-items:center;gap:8px;padding:2px 8px;border-radius:4px;background:#1e40afd9;color:#fff;font-size:11px;font-weight:700;letter-spacing:.02em}.cali-fs-chaser-name{margin-left:auto;font-size:12px;font-weight:600;color:#e2e8f0eb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(240px,45vw)}.cali-fs-header-actions{display:flex;align-items:flex-start;gap:8px;flex-shrink:0}.cali-fs-layer-toggles{display:flex;align-items:center;gap:6px;flex-wrap:wrap;max-width:min(280px,42vw)}.cali-fs-layer-btn{min-height:34px;padding:6px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#ffffffc7;font-size:11px;font-weight:700;letter-spacing:.02em;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease}.cali-fs-layer-btn:hover{background:#0066cc38;border-color:#82beff4d;color:#fff}.cali-fs-layer-btn.is-on{background:#0066cc6b;border-color:#82beff73;color:#fff}.cali-fs-icon-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#0066cc2e;color:#c8e1fff2;cursor:pointer;transition:background .15s ease,border-color .15s ease}.cali-fs-icon-btn:hover{background:#0066cc4d;border-color:#82beff59}.cali-fs-icon-label{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.cali-fs-close{width:40px;height:40px;border:none;border-radius:10px;background:#ffffff0f;color:#ffffffbf;font-size:26px;line-height:1;cursor:pointer;transition:background .15s ease}.cali-fs-close:hover{background:#ffffff1f;color:#fff}.cali-fs-body{flex:1;min-height:0;display:flex;flex-direction:row;align-items:stretch}.cali-fs-media{flex:1 1 62%;min-width:0;min-height:0;position:relative;background:#000}.cali-fs-side-map{flex:0 0 min(380px,34vw);width:min(380px,34vw);min-width:220px;max-width:420px;min-height:0;align-self:stretch}@media (max-width: 900px){.cali-fs-body{flex-direction:column}.cali-fs-side-map{flex:0 0 36vh;width:100%;max-width:none;min-width:0;border-left:none;border-top:1px solid rgba(255,255,255,.08)}}.cali-fs-overlay-anchor{position:absolute;top:12px;left:12px;z-index:12;pointer-events:none;max-width:min(92%,520px)}.cali-fs-overlay-anchor .camera-fullscreen-slot-label-shell{pointer-events:auto}.cali-fs-overlay-anchor .camera-feed-overlay-chaser-inline{margin-left:auto;font-size:13px;font-weight:600;color:#cbd5e1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:55%}.cali-fs-media>.camera-preview-root,.cali-fs-media>div{height:100%}.cali-fs-media .camera-preview-root{height:100%;min-height:0}.cali-fs-footer{flex-shrink:0;padding:12px 16px 16px;border-top:1px solid rgba(255,255,255,.08);background:#00000059;display:flex;flex-direction:column;gap:12px}.cali-fs-footer-nav{display:flex;align-items:center}.cali-fs-footer-assign{min-width:0}.cali-fs-footer-label{font-size:10px;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:#ffffff61;margin-bottom:8px}.cali-fs-slots{display:flex;flex-wrap:wrap;gap:8px}.cali-fs-slot{min-width:40px;height:38px;padding:0 12px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,#2a87ff,#0866cf 55%,#004fa3);color:#fff;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 2px 8px #00286459}.cali-fs-slot.is-flash{animation:caliSlotFlash .85s ease}@keyframes caliSlotFlash{0%,to{filter:brightness(1)}40%{filter:brightness(1.25);box-shadow:0 0 0 2px #fbbf24e6}}.cali-fs-any-slot{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}.app-content--cali .preview-section{width:min(560px,46vw);min-width:min(360px,92vw);max-width:640px;flex:0 0 min(560px,46vw);display:flex;flex-direction:column;min-height:0;overflow:hidden}.app-content--cali .preview-section>*{min-height:0}.cali-corridor-map{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;background:#0d0f12;border-left:1px solid rgba(255,255,255,.08)}.cali-corridor-map--empty{align-items:center;justify-content:center;color:#ffffff73;font-size:13px}.cali-corridor-map__label{flex-shrink:0;padding:8px 12px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff6;border-bottom:1px solid rgba(255,255,255,.06);background:#00000040}.cali-corridor-map__canvas{flex:1;min-height:0;position:relative}.cali-corridor-map__canvas .mapboxgl-map{width:100%;height:100%}.cali-corridor-map__canvas .mapboxgl-ctrl-logo,.cali-corridor-map__canvas .mapboxgl-ctrl-attrib{display:none!important}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0a0a0a;color:#fff;overflow:hidden}.app{display:flex;flex-direction:column;height:100vh;width:100vw}.app-header{background-color:#141414;border-bottom:1px solid rgba(255,255,255,.08);padding:0;display:flex;flex-direction:column;flex-shrink:0;z-index:1000}.app-header-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}.app-header-row--primary{padding:10px 20px 8px;flex-wrap:wrap}.app-header-row--broadcast{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;padding:10px 20px 12px;border-top:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,#00000059,#00000026);gap:14px 24px;min-width:0}.app-header-left{display:flex;align-items:center;gap:1rem;margin-right:auto;min-width:0}.app-header h1{font-size:24px;font-weight:700;color:#fff;margin:0}.app-header-custom-logo{display:block;flex:0 0 52px;height:52px;width:52px;min-width:52px;min-height:52px;object-fit:contain;flex-shrink:0;border-radius:10px;box-shadow:0 0 0 1px #ffffff1f;background:#00000040}.app-logo{height:52px;max-width:280px;object-fit:contain;flex-shrink:0}.app-welcome{font-size:1.125rem;font-weight:600;color:#ffffffeb;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(40vw,360px)}.header-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end;flex:1;min-width:0}.header-user{display:inline-flex;align-items:center;gap:8px;margin-right:4px;font-size:13px;color:#ffffffbf}.header-toolbar-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 12px;border-radius:8px;font-size:12px;font-weight:600;font-family:inherit;line-height:1.2;white-space:nowrap;cursor:pointer;border:1px solid transparent;color:#fff;box-shadow:0 1px 2px #00000038;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .1s ease}.header-toolbar-btn:hover{box-shadow:0 2px 8px #00000047;transform:translateY(-1px)}.header-toolbar-btn:active{transform:translateY(0);box-shadow:0 1px 2px #00000038}.header-toolbar-btn:focus-visible{outline:2px solid rgba(255,255,255,.65);outline-offset:2px}.header-toolbar-btn--ghost{background:#ffffff0f;color:#ffffffeb;border-color:#ffffff38;box-shadow:none}.header-toolbar-btn--ghost:hover{background:#ffffff1f;border-color:#ffffff61;box-shadow:0 1px 4px #0003;transform:none}.header-toolbar-btn--blue{background-color:#06c;border-color:#0000001f}.header-toolbar-btn--blue:hover{background-color:#0052a3}.header-toolbar-btn--green{background-color:#00b359;border-color:#0000001f}.header-toolbar-btn--green:hover{background-color:#00994d}.header-toolbar-btn--violet{background-color:#7c3aed;border-color:#0000001f}.header-toolbar-btn--violet:hover{background-color:#6d28d9}.header-toolbar-btn--amber{background-color:#d97706;border-color:#0000001f}.header-toolbar-btn--amber:hover{background-color:#b45309}.header-toolbar-btn--emerald{background-color:#16a34a;border-color:#0000001f}.header-toolbar-btn--emerald:hover{background-color:#15803d}.header-toolbar-btn--cyan{background-color:#0891b2;border-color:#0000001f}.header-toolbar-btn--cyan:hover{background-color:#0e7490}.broadcast-quick{grid-column:2;justify-self:center;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}.broadcast-any{grid-column:3;justify-self:end;display:flex;flex-direction:column;gap:6px;min-width:0;align-items:flex-start}@media (min-width: 1100px){.broadcast-any{flex-direction:row;align-items:flex-end;gap:10px}}@media (max-width: 960px){.app-header-row--broadcast{grid-template-columns:1fr;justify-items:center;row-gap:12px}.broadcast-quick{grid-column:1}.broadcast-any{grid-column:1;justify-self:center;align-items:center}}.broadcast-section-label{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8f2;white-space:nowrap}.broadcast-slots{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0;padding:0;border:none}.broadcast-label{font-size:14px;color:#ccc;margin-right:5px}.broadcast-slot-input--header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.broadcast-slot-input--header input[type=number]{width:48px;padding:5px 8px;font-size:13px;border-radius:6px;border:1px solid rgba(255,255,255,.14);background:#00000073;color:#f1f5f9;font-variant-numeric:tabular-nums}.broadcast-slot-input--header input[type=number]:focus{outline:none;border-color:#7c3aeda6;box-shadow:0 0 0 2px #7c3aed33}.broadcast-slot-input__btn{padding:5px 12px;font-size:12px;font-weight:600;font-family:inherit;border-radius:6px;border:1px solid transparent;cursor:pointer;transition:background .15s ease,border-color .15s ease}.broadcast-slot-input__btn:disabled{opacity:.5;cursor:not-allowed}.broadcast-slot-input__btn--primary{background:#7c3aede6;color:#fff;border-color:#00000026}.broadcast-slot-input__btn--primary:hover:not(:disabled){background:#6d28d9}.broadcast-slot-input__btn--secondary{background:#334155d9;color:#e2e8f0;border-color:#ffffff1a}.broadcast-slot-input__btn--secondary:hover:not(:disabled){background:#475569f2}.broadcast-slot-btn{width:32px;height:32px;padding:0;background-color:#2a2a2a;color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:6px;font-size:13px;font-weight:700;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 2px #0003}.broadcast-slot-btn:hover{background-color:#06c;border-color:#06c;box-shadow:0 2px 6px #00000040}.broadcast-slot-btn.has-camera{background-color:#00b359;border-color:#00b359}.broadcast-slot-btn.has-camera:hover{background-color:#00994d;border-color:#00994d}.broadcast-slot-btn.empty{background-color:#333;border-color:#555;opacity:.6}.broadcast-slot-group{display:flex;gap:4px;align-items:center}.obs-url-btn{width:32px;height:32px;padding:0;background-color:#1e293be6;color:#cbd5e1;border:1px solid rgba(255,255,255,.1);border-radius:6px;font-size:12px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 2px #0003;flex-shrink:0}.obs-url-btn:hover{background-color:#06c;border-color:#06c;box-shadow:0 2px 6px #00000040}@keyframes broadcastSlotReplaceFlash{0%{transform:scale(1);box-shadow:0 1px 2px #0003}45%{transform:scale(1.14);box-shadow:0 0 0 3px #fbbf24f2,0 6px 20px #22c55e73}to{transform:scale(1);box-shadow:0 1px 2px #0003}}.broadcast-slot-btn--replace-flash{animation:broadcastSlotReplaceFlash .75s ease-out}@keyframes cameraPreviewSlotReplaceFlash{0%{transform:scale(1);box-shadow:0 2px 4px #0066cc4d}45%{transform:scale(1.1);box-shadow:0 0 0 3px #22c55ee6,0 4px 24px #22c55e73}to{transform:scale(1);box-shadow:0 2px 4px #0066cc4d}}button.camera-preview-slot-flash{animation:cameraPreviewSlotReplaceFlash .75s ease-out!important}.assign-feedback-toast{position:fixed;bottom:24px;right:24px;z-index:10050;max-width:min(420px,calc(100vw - 48px));padding:14px 18px;border-radius:10px;font-size:14px;font-weight:500;line-height:1.4;color:#f8fafc;background:#1e293bf5;border:1px solid rgba(148,163,184,.35);box-shadow:0 12px 40px #00000073;animation:assignFeedbackSlideIn .35s ease-out}.assign-feedback-toast--replace{border-color:#22c55e8c;box-shadow:0 0 0 1px #22c55e40,0 12px 40px #00000073}.assign-feedback-toast strong{font-weight:700;color:#fff}@keyframes assignFeedbackSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.app-content{display:flex;flex:1;overflow:hidden;position:relative}.map-section{flex:1;min-width:0;position:relative;overflow:hidden;z-index:1}.map-section--loading{background:#0f1419}.map-cameras-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;pointer-events:none;padding:24px;background:radial-gradient(ellipse at center,rgba(8,12,18,.42) 0%,rgba(8,12,18,.18) 55%,transparent 75%)}.map-cameras-loading__card{pointer-events:none;width:min(340px,100%);padding:22px 24px 18px;border-radius:14px;background:radial-gradient(circle at 50% -30%,rgba(55,95,150,.28),transparent 55%),#14161a;border:1px solid rgba(255,255,255,.1);box-shadow:0 22px 50px #0000008c,0 1px #ffffff0d inset;text-align:center;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.map-cameras-loading__title{font-size:15px;font-weight:650;letter-spacing:.02em;color:#fff;margin-bottom:8px}.map-cameras-loading__label{font-size:12px;line-height:1.35;color:#ffffff9e;margin-bottom:14px;min-height:1.35em}.map-cameras-loading__track{height:8px;border-radius:999px;background:#ffffff14;overflow:hidden;border:1px solid rgba(255,255,255,.06)}.map-cameras-loading__fill{height:100%;width:0%;border-radius:inherit;background:linear-gradient(90deg,#3b82f6,#60a5fa 55%,#93c5fd);box-shadow:0 0 12px #60a5fa59;transition:width .15s linear}.map-cameras-loading__pct{margin-top:10px;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:#ffffffe0}.map-section>div:not(.map-cameras-loading){width:100%;height:100%;pointer-events:auto!important;position:relative;z-index:1}.map-section canvas{cursor:grab!important;pointer-events:auto!important;touch-action:pan-x pan-y pinch-zoom!important}.map-section canvas:active{cursor:grabbing!important}.map-section .mapboxgl-control-container,.map-section .mapboxgl-ctrl-group{pointer-events:auto!important}.preview-section{width:500px;min-width:500px;border-left:2px solid #333;overflow:hidden;flex-shrink:0}.app-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:20px}.app-error button{padding:10px 20px;background-color:#06c;color:#fff;border:none;border-radius:4px;font-size:16px;cursor:pointer}.app-error button:hover{background-color:#0052a3}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#1a1a1a}::-webkit-scrollbar-thumb{background:#444;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.mapboxgl-popup:not(.map-camera-popup) .mapboxgl-popup-content{background-color:#1a1a1a!important;color:#fff!important;border-radius:4px!important;padding:10px!important}.mapboxgl-popup:not(.map-camera-popup) .mapboxgl-popup-tip{border-top-color:#1a1a1a!important}.mapboxgl-popup:not(.map-camera-popup) .mapboxgl-popup-close-button{color:#fff!important;font-size:18px!important}.mapboxgl-popup:not(.map-camera-popup) .mapboxgl-popup-close-button:hover{color:#ccc!important}.mapboxgl-ctrl-logo{display:none!important}
