*{box-sizing:border-box}html{background:#020611}body{margin:0;color:#edfaff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;background:radial-gradient(circle at 75% -10%,#35105a 0,#07142b 27%,#020711 58%),linear-gradient(135deg,#020711,#07111d);min-height:100vh}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background:linear-gradient(90deg,transparent 49.8%,#17e8ff18 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.8%,#ff36c918 50%,transparent 50.2%);background-size:72px 72px}main{max-width:1240px;margin:auto;padding:24px 18px 48px}header{position:relative;display:flex;gap:15px;align-items:center;padding:10px 5px 23px;border-bottom:1px solid #1be6ff55;margin-bottom:12px}header:after{content:"";position:absolute;bottom:-2px;left:0;width:52%;height:3px;background:linear-gradient(90deg,#14e8ff,#ff36c9,transparent);box-shadow:0 0 18px #18dfff}header i{font-style:normal;color:#15efff;font-size:48px;filter:drop-shadow(0 0 11px #11dfff)}header b,header strong,header small,header span{display:block}header b{font-size:34px;line-height:.9;font-style:italic;letter-spacing:-.03em}header strong{font-size:16px;color:#ff55cc;letter-spacing:.25em;margin-top:7px}header span{color:#1feaff;font-size:12px;letter-spacing:.48em;margin-top:5px}header small{color:#d7e7f3;font-size:9px;letter-spacing:.36em;margin-top:8px}header aside{margin-left:auto;align-self:flex-start;color:#cde6f5;font-size:9px;letter-spacing:.16em;padding-top:7px}nav{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#06111e;padding:5px;border:1px solid #17dffb55;border-radius:12px}button,a{border:0;border-radius:9px;padding:13px;font:inherit;font-weight:900}nav button{background:#091b2a;color:#24e9ff;font-size:11px}.hero{position:relative;padding:24px 8px 18px}.hero label,label{color:#22eaff;font-size:10px;letter-spacing:.17em;font-weight:900}.hero h1{font-size:36px;margin:7px 0 5px;line-height:1.02;text-transform:uppercase}.hero p{color:#7e9aab;max-width:650px}.hero>span{position:absolute;right:7px;top:27px;background:#091524;border:1px solid #274159;padding:8px 12px;border-radius:99px;font-size:10px;font-weight:900}.hero>span.on{background:#2b0827;color:#ff57cc;border-color:#ff36c9;box-shadow:0 0 18px #ff36c955;padding-left:27px}.hero>span.on:before{content:"";position:absolute;left:10px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:#ff4ac9;box-shadow:0 0 10px #ff4ac9;animation:pulse 1.2s infinite}@keyframes pulse{70%{box-shadow:0 0 0 10px #ff36c900}}#statusStrip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #1bdff6;border-radius:14px;background:#04101caa;overflow:hidden;margin:5px 0 12px;box-shadow:0 0 30px #00d9ff0c}#statusStrip div{padding:15px 18px;color:#1fe9ff;font-size:20px;border-right:1px solid #1de7ff35}#statusStrip div:last-child{border:0}#statusStrip small,#statusStrip b{display:block;margin-left:30px}#statusStrip small{color:#8caabb;font-size:8px;letter-spacing:.13em;margin-top:-21px}#statusStrip b{font-size:13px;margin-top:5px;color:#24e9ff}article{background:linear-gradient(145deg,#06121fdd,#020812ee);border:1px solid #15dff6aa;border-radius:16px;padding:14px;margin:12px 0;box-shadow:0 18px 50px #000a,0 0 22px #00d9ff0a}.row{display:flex;justify-content:space-between}.row h2,h2{margin:5px 0 12px}.row em{color:#7895a6;font-size:11px;font-style:normal}.distanceBox{display:flex;align-items:end;gap:9px;flex-wrap:wrap;background:#04101d;border:1px solid #1cdff055;border-radius:10px;padding:11px;margin-bottom:10px}.distanceBox small{width:100%;color:#7794a6;font-size:8px;font-weight:900;letter-spacing:.12em}.distanceBox b{font-size:24px;color:#21e9ff;text-shadow:0 0 14px #00d9ff66}.distanceBox span{font-size:11px;color:#7894a5;padding-bottom:4px}#trackingCard{width:60%;display:inline-block;vertical-align:top;margin-right:1%}#cameraCard{width:38%;display:inline-block;vertical-align:top}#trackingCard[hidden],#cameraCard[hidden]{display:none!important}#map{height:480px;border-radius:11px;overflow:hidden;border:1px solid #1bdcf466;background:#061525!important;filter:saturate(1.35) contrast(1.04)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0}.stats div,.cameraStats div{background:#04101c;border:1px solid #1bdff044;padding:10px;border-radius:9px;color:#66899d;font-size:8px}.stats b,.cameraStats b{display:block;color:#23e9ff;font-size:13px;margin-top:5px}a,#loginBtn,#start{display:block;text-align:center;background:linear-gradient(90deg,#16eaff,#27ffd3);color:#021018;text-decoration:none;width:100%;box-shadow:0 0 18px #14e9ff28}#stop{width:100%;background:#321026;color:#ff64d2;margin-top:9px;border:1px solid #ff36c955}#logout,.secondary{width:100%;background:#0b1b2a;color:#fff;margin-top:9px}.secondary{border:1px solid #1edff466;color:#21e9ff}.cameraHead{display:flex;justify-content:space-between;align-items:center;padding:2px 3px 11px}.cameraHead label{color:#ff59cd}.cameraHead span{font-size:9px;color:#c7e0ed}.camera{height:345px;border:1px solid #ff3cc788;border-radius:11px;display:flex;gap:7px;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at center,#151a3a,#030914 65%);color:#22eaff;box-shadow:inset 0 0 40px #38144f}.cameraBolt{font-size:50px;color:#ff4fce;text-shadow:0 0 18px #ff35c9}.camera b{color:#fff;letter-spacing:.12em}.camera small{color:#7895a6}.cameraStats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}.cameraStats div{text-align:center}.cameraStats b{font-size:11px}input{width:100%;padding:14px;margin:8px 0;border:1px solid #1ddff066;border-radius:9px;background:#020a13;color:white;font-size:16px}.destStatus,#gps,#status{color:#7895a6;font-size:12px;margin:10px 2px 14px}.unitIcon,.destIcon{background:transparent;border:0}.unit{position:relative;width:36px;height:36px;border-radius:50%;background:#02101b;border:3px solid #1ceaff;display:grid;place-items:center;color:#fff;font-size:17px;box-shadow:0 0 0 8px #16eaff22,0 0 24px #16eaff;transition:transform .6s ease}.unit:after{content:"";position:absolute;top:-13px;left:12px;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:10px solid #ff45ca}.destPin{position:relative;width:29px;height:29px;border-radius:50% 50% 50% 5px;transform:rotate(-45deg);background:#ff3fc8;border:3px solid #fff;box-shadow:0 0 20px #ff36c9}.destPin:after{content:"";position:absolute;width:8px;height:8px;background:#fff;border-radius:50%;left:7px;top:7px}#progress{clear:both;display:grid;grid-template-columns:repeat(5,1fr);margin:18px 0 8px;padding:18px 14px;border:1px solid #1ddff477;border-radius:14px;background:#04101bcc;position:relative}#progress[hidden]{display:none!important}#progress:before{content:"";position:absolute;top:30px;left:8%;right:8%;height:3px;background:linear-gradient(90deg,#18eaff 0 30%,#ff3fc8 30% 43%,#29465b 43%)}#progress div{z-index:1;text-align:center;color:#20e9ff;font-size:19px}#progress b{display:block;color:#d9edf7;font-size:8px;letter-spacing:.06em;margin-top:10px}.current{filter:drop-shadow(0 0 8px #ff3fc8)}#completeCard{text-align:center;padding:24px}.completeIcon{margin:0 auto 9px;width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:#0b2330;color:#22eaff;border:1px solid #22eaff;font-size:23px}.review{display:flex;text-align:left;align-items:center;gap:12px;background:#fff;color:#161616;border-radius:12px;padding:13px;margin-top:10px}.review b,.review span{display:block}.review span{font-size:11px;color:#666;margin-top:3px}.googleG{width:38px;height:38px;flex:0 0 38px}.googleG svg{width:34px;height:34px}.reviewNote{display:block;color:#647d8c;margin-top:8px;font-size:9px}footer{clear:both;color:#7fa0b1;font-size:9px;letter-spacing:.15em;padding:17px 4px;border-top:1px solid #1bdff044}footer span{float:right;color:#ff5bd0}#modeNav[hidden]{display:none!important}.leaflet-container{background:#061525!important;font-family:inherit}.leaflet-tile-pane{filter:brightness(.63) saturate(1.55) hue-rotate(155deg) contrast(1.18)}.leaflet-control-zoom a{background:#061525!important;color:#21eaff!important;border-color:#1bdff055!important}.leaflet-control-zoom{border:1px solid #1bdff055!important;box-shadow:0 0 16px #00ddff2e!important;border-radius:8px!important;overflow:hidden}.leaflet-control-attribution{font-size:7px!important;background:#020813aa!important;color:#7798aa!important}.leaflet-control-attribution a{display:inline;background:none;color:#20dff4;padding:0;font-weight:400}.reviewLink{display:flex;text-decoration:none;color:#171717;cursor:pointer}.disabledReview{cursor:default}
@media(max-width:820px){header aside{display:none}header b{font-size:28px}#trackingCard,#cameraCard{width:100%;display:block;margin:12px 0}#map{height:390px}.camera{height:220px}#statusStrip{grid-template-columns:1fr 1fr}#statusStrip div:nth-child(2){border-right:0}#progress{grid-template-columns:repeat(5,1fr);overflow:hidden}#progress b{font-size:6px}.hero h1{font-size:30px}}
@media(max-width:520px){main{padding:15px 10px 35px}header i{font-size:38px}header b{font-size:24px}header strong{font-size:13px}.hero h1{font-size:27px}.hero>span{top:23px}#statusStrip div{padding:12px 9px}#statusStrip small,#statusStrip b{margin-left:25px}#map{height:360px}.camera{height:190px}.cameraStats{grid-template-columns:1fr 1fr 1fr}#progress{padding:13px 3px}#progress div{font-size:15px}footer span{display:block;float:none;margin-top:8px}}
/* V13 MOBILE COMMAND UI */
@media(max-width:820px){
 main{padding:10px 10px 30px}
 header{padding:8px 4px 14px;margin-bottom:4px;gap:10px}
 header i{font-size:34px} header b{font-size:24px} header strong{font-size:12px;margin-top:4px} header span{font-size:9px;margin-top:3px} header small{font-size:7px;margin-top:5px}
 .hero{padding:15px 5px 10px}.hero label{font-size:8px}.hero h1{font-size:28px;margin:5px 0 3px}.hero p{font-size:13px;margin:8px 0}.hero>span{top:15px;right:3px}
 #statusStrip{grid-template-columns:repeat(4,1fr);border-radius:13px;margin:5px 0 9px}
 #statusStrip div{padding:10px 5px;text-align:center;font-size:0;border-right:1px solid #1de7ff28}
 #statusStrip small,#statusStrip b{margin-left:0}#statusStrip small{margin-top:0;font-size:6px;white-space:nowrap}#statusStrip b{font-size:9px;margin-top:4px}
 article{margin:9px 0;padding:11px;border-radius:15px}
 #trackingCard,#cameraCard{width:100%;margin:9px 0}.row h2{font-size:20px;margin:3px 0 7px}.row label{font-size:8px}.row em{font-size:9px}
 .distanceBox{padding:8px 10px;margin-bottom:8px}.distanceBox small{font-size:7px}.distanceBox b{font-size:20px}.distanceBox span{font-size:9px}
 #map{height:300px;border-radius:12px;border-color:#19eaffaa;box-shadow:inset 0 0 25px #00d9ff12,0 0 18px #00d9ff10;filter:none}
 .leaflet-tile-pane{filter:brightness(.46) saturate(1.9) hue-rotate(155deg) contrast(1.28)}
 .stats{margin:7px 0;gap:5px}.stats div{padding:7px;font-size:7px}.stats b{font-size:11px;margin-top:3px}
 #maps{padding:11px;font-size:12px}
 .cameraHead{padding:0 2px 8px}.cameraHead label{font-size:8px}.camera{height:165px}.cameraBolt{font-size:39px}.camera small{font-size:10px}.cameraStats{margin-top:7px}.cameraStats div{padding:7px 3px;font-size:6px}.cameraStats b{font-size:9px}
 #progress{margin:10px 0 6px;padding:11px 2px;border-radius:12px}#progress:before{top:23px}#progress div{font-size:14px}#progress b{font-size:5px;margin-top:7px;letter-spacing:.02em}
 footer{padding:12px 4px;font-size:7px}
}
@media(max-width:520px){
 .hero p{max-width:72%}#statusStrip small{font-size:5.5px}#statusStrip b{font-size:8px}#map{height:285px}
}
/* V14 mobile refinement */
@media(max-width:520px){
 .hero{padding:12px 5px 8px}.hero h1{font-size:25px}.hero p{margin:6px 0;font-size:12px;line-height:1.35}
 .distanceBox{padding:7px 10px;margin-bottom:7px}.distanceBox b{font-size:19px}
 #map{height:330px}
}

/* V15 vector navigation map */
#map{background:#020713!important;position:relative;overflow:hidden}
#map:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(180deg,rgba(0,229,255,.04),transparent 34%,rgba(255,36,176,.035));box-shadow:inset 0 0 35px rgba(0,229,255,.10)}
.maplibregl-map{font-family:inherit}.maplibregl-ctrl-top-left{top:12px;left:12px}.maplibregl-ctrl-group{background:#061523!important;border:1px solid rgba(36,224,255,.42);border-radius:12px!important;overflow:hidden;box-shadow:0 0 18px rgba(0,218,255,.13)!important}.maplibregl-ctrl button{width:42px!important;height:42px!important}.maplibregl-ctrl button+button{border-top:1px solid rgba(36,224,255,.25)!important}.maplibregl-ctrl button span{filter:invert(86%) sepia(95%) saturate(1500%) hue-rotate(130deg) brightness(108%)}.maplibregl-ctrl-attrib{background:rgba(2,8,18,.72)!important;color:#7595a5!important;font-size:9px!important}.maplibregl-ctrl-attrib a{color:#80b9ca!important}.maplibregl-canvas{outline:none}.mlUnit{width:58px;height:58px;position:relative;filter:drop-shadow(0 0 10px #00eaff)}.mlPulse{position:absolute;inset:0;border-radius:50%;background:rgba(0,235,255,.22);box-shadow:0 0 0 8px rgba(0,235,255,.08),0 0 24px #00d9ff;animation:mapPulse 1.8s ease-out infinite}.mlBolt{position:absolute;inset:7px;border-radius:50%;display:grid;place-items:center;background:#04101c;border:3px solid #16e4f5;color:#ffd14a;font-size:25px;box-shadow:0 0 12px #00d8ff,0 0 22px rgba(255,46,183,.35)}.mlArrow{position:absolute;z-index:3;left:22px;top:-17px;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:17px solid #ff35bd;filter:drop-shadow(0 0 5px #ff35bd);transform:rotate(var(--heading,0deg));transform-origin:7px 46px}.mlDest{width:42px;height:50px;position:relative}.mlDestGlow{position:absolute;width:34px;height:34px;left:4px;top:2px;border-radius:50%;background:rgba(255,39,171,.22);box-shadow:0 0 20px #ff2fb3}.mlDestDot{position:absolute;width:24px;height:24px;left:9px;top:7px;border:6px solid #fff;border-radius:50%;background:#ff2fae;box-shadow:0 0 0 4px #ff2fae,0 0 18px #ff2fae}.mlDest:after{content:"";position:absolute;left:16px;top:29px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:13px solid #ff2fae}@keyframes mapPulse{0%{transform:scale(.72);opacity:1}100%{transform:scale(1.35);opacity:0}}

/* V16 — MapLibre control isolation: prevent site-wide button/link styles from affecting map credits */
#map .maplibregl-control-container a,
#map .maplibregl-ctrl-attrib a{
  display:inline!important;
  width:auto!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#8ab5c5!important;
  font:inherit!important;
  font-weight:500!important;
  text-decoration:none!important;
}
#map .maplibregl-ctrl-attrib{
  max-width:72%!important;
  padding:2px 5px!important;
  margin:0 3px 3px 0!important;
  border:0!important;
  border-radius:5px!important;
  background:rgba(2,8,18,.72)!important;
  box-shadow:none!important;
  color:#6f93a3!important;
  font-size:7px!important;
  line-height:1.25!important;
  font-weight:400!important;
}
#map .maplibregl-ctrl-attrib-inner{font-size:7px!important;line-height:1.25!important;white-space:normal!important}
#map .maplibregl-ctrl-attrib-button{
  width:24px!important;height:24px!important;padding:0!important;margin:0!important;
  border:0!important;border-radius:50%!important;background-color:rgba(2,8,18,.82)!important;
  box-shadow:none!important;
}
#map .maplibregl-ctrl-group button{
  display:block!important;padding:0!important;margin:0!important;border-radius:0!important;
  background-color:#061523!important;box-shadow:none!important;color:#22eaff!important;
}
#map .maplibregl-ctrl-group button:first-child{border-radius:11px 11px 0 0!important}
#map .maplibregl-ctrl-group button:last-child{border-radius:0 0 11px 11px!important}
@media(max-width:520px){
 #map .maplibregl-ctrl-attrib{font-size:6px!important;max-width:78%!important;padding:1px 4px!important}
 #map .maplibregl-ctrl-attrib-inner{font-size:6px!important}
}

/* V17 — FUTURISTIC RESPONSE COMMAND HEADER */
header{isolation:isolate;overflow:hidden;min-height:150px;padding:24px 22px 27px;border:1px solid rgba(28,230,255,.32);border-radius:20px;background:linear-gradient(112deg,rgba(2,11,27,.97),rgba(17,12,49,.94) 58%,rgba(40,8,53,.86));box-shadow:inset 0 0 48px rgba(0,222,255,.05),0 20px 55px rgba(0,0,0,.35);margin-bottom:14px}
header:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 8% 52%,rgba(0,229,255,.18),transparent 20%),radial-gradient(circle at 86% 12%,rgba(255,45,190,.16),transparent 28%),linear-gradient(115deg,transparent 0 47%,rgba(32,224,255,.045) 47.3% 47.7%,transparent 48%),repeating-linear-gradient(90deg,transparent 0 79px,rgba(22,222,255,.035) 80px),repeating-linear-gradient(0deg,transparent 0 49px,rgba(255,45,190,.025) 50px)}
header:after{left:22px;right:22px;width:auto;bottom:0;height:3px;background:linear-gradient(90deg,#1cecff 0 30%,#ff38c7 48%,#6237ff 70%,transparent);box-shadow:0 0 20px #17eaff}
header i{font-size:70px;line-height:1;color:#fff;text-shadow:-4px 5px 0 #ff35bd,4px -3px 0 #18eaff;filter:drop-shadow(0 0 16px rgba(24,234,255,.55));transform:skew(-8deg)}
header b{font-size:46px;font-weight:950;letter-spacing:-.055em;line-height:.86;text-shadow:0 0 24px rgba(255,255,255,.08)}
header strong{font-size:19px;letter-spacing:.30em;color:#ff49c9;text-shadow:0 0 14px rgba(255,54,194,.4)}
header span{font-size:13px;letter-spacing:.55em;color:#23eaff;font-weight:900}
header small{font-size:9px;letter-spacing:.48em;color:#e7f6ff;font-weight:700}
header aside{border:1px solid rgba(31,230,255,.3);border-radius:999px;padding:9px 13px;background:rgba(2,13,27,.55);color:#a9eefa;font-weight:800;box-shadow:inset 0 0 15px rgba(0,224,255,.05)}
.hero{overflow:hidden;border:1px solid rgba(25,223,246,.28);border-radius:18px;padding:27px 22px 22px;background:linear-gradient(120deg,rgba(3,15,29,.90),rgba(7,12,31,.75));box-shadow:inset 0 0 32px rgba(0,225,255,.035);margin-bottom:13px}
.hero:before{content:"RESPONSE // MIAMI";position:absolute;right:18px;bottom:7px;font-size:8px;letter-spacing:.28em;color:rgba(51,229,255,.18);font-weight:900}
.hero label{display:inline-flex;align-items:center;gap:8px;color:#26eaff;font-size:10px;letter-spacing:.24em}.hero label:before{content:"";width:24px;height:2px;background:#ff3bc5;box-shadow:0 0 8px #ff3bc5}
.hero h1{font-size:48px;font-weight:950;letter-spacing:-.045em;line-height:.93;margin:12px 0 10px;max-width:78%;text-shadow:0 0 25px rgba(28,229,255,.08)}
.hero p{font-size:15px;line-height:1.45;color:#8da8b9;margin:0;max-width:62%}
.hero>span{top:27px;right:22px;padding:10px 15px;border-color:rgba(48,231,255,.35);letter-spacing:.09em;background:rgba(5,17,31,.88)}
.hero>span.on{color:#ff66d5;border-color:#ff3ac8;background:rgba(45,5,40,.75);box-shadow:0 0 0 1px rgba(255,53,194,.12),0 0 24px rgba(255,53,194,.34)}
@media(max-width:820px){header{min-height:0;padding:19px 16px 21px;border-radius:17px}header i{font-size:52px}header b{font-size:34px}header strong{font-size:15px}header span{font-size:10px}.hero{padding:21px 15px 17px}.hero h1{font-size:38px}.hero p{font-size:14px}}
@media(max-width:520px){main{padding-top:10px}header{padding:17px 13px 20px;gap:12px;margin-bottom:9px}header i{font-size:48px}header b{font-size:31px;line-height:.88}header strong{font-size:13px;letter-spacing:.27em;margin-top:6px}header span{font-size:9px;letter-spacing:.48em}header small{font-size:7px;letter-spacing:.36em}header:after{left:13px;right:13px}.hero{padding:19px 13px 16px;border-radius:16px}.hero label{font-size:7.5px;letter-spacing:.20em}.hero label:before{width:16px}.hero h1{font-size:34px;max-width:78%;margin:10px 0 8px}.hero p{font-size:12px;max-width:72%;line-height:1.4}.hero>span{top:18px;right:12px;font-size:9px;padding:9px 12px}.hero>span.on{padding-left:27px}.hero:before{font-size:6px;right:10px}}


/* V19 — mobile app visual system: less repetition, softer app surfaces */
#heroMeta[hidden]{display:none!important}
@media(max-width:820px){
 body{background:radial-gradient(circle at 78% -4%,#311252 0,#081327 25%,#020711 58%)}
 main{max-width:680px;padding:10px 12px 34px}
 header{border:0;border-radius:0;background:transparent;box-shadow:none;min-height:0;padding:19px 10px 18px;margin:0 0 6px;overflow:visible}
 header:before{inset:-10px -12px;border-radius:0;background:radial-gradient(circle at 18% 48%,rgba(0,229,255,.12),transparent 28%),radial-gradient(circle at 80% 8%,rgba(255,45,190,.12),transparent 30%)}
 header:after{left:10px;right:10px;bottom:0;height:2px;border-radius:99px;opacity:.85}
 header i{font-size:48px}
 header b{font-size:32px}.hero{border:0;border-radius:28px;padding:22px 18px 20px;margin:12px 0;background:linear-gradient(145deg,rgba(8,24,40,.88),rgba(8,12,30,.88));box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 18px 50px rgba(0,0,0,.30),0 0 35px rgba(0,225,255,.05);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
 .hero:before{display:none}.hero label{font-size:8px;letter-spacing:.19em}.hero h1{font-size:37px;line-height:.95;max-width:82%;margin:12px 0 8px}.hero p{font-size:12px;max-width:78%;margin:0;color:#8da6b7}
 .hero>span{top:20px;right:17px;border:1px solid rgba(255,255,255,.12);background:rgba(5,14,27,.62);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
 #heroMeta{margin-top:18px;padding-top:16px;border-top:1px solid rgba(126,210,230,.13);display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
 #heroMeta b{font-size:31px;line-height:1;color:#28eaff;letter-spacing:-.04em;text-shadow:0 0 18px rgba(0,224,255,.22)}
 #heroMeta small{font-size:8px;letter-spacing:.12em;color:#9db4c2;font-weight:800;padding-bottom:3px;text-align:right}
 #statusStrip{display:none!important}
 article{border:1px solid rgba(73,217,239,.22);border-radius:26px;background:linear-gradient(145deg,rgba(7,20,34,.82),rgba(3,9,19,.9));box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 18px 45px rgba(0,0,0,.26);padding:10px;margin:12px 0}
 #trackingCard .row,#trackingCard .distanceBox{display:none!important}
 #map{height:390px;border:0;border-radius:21px;box-shadow:0 0 0 1px rgba(30,226,247,.28),inset 0 0 30px rgba(0,225,255,.06)}
 .stats{gap:8px;margin:10px 0 8px}.stats div{border:0;border-radius:16px;background:rgba(7,24,38,.82);padding:10px 11px}.stats b{font-size:11px}
 #maps{border-radius:17px;padding:14px;font-size:12px}
 #cameraCard{padding:12px;border-radius:26px}.camera{border-radius:20px;border-color:rgba(255,59,199,.42)}
 #progress{border:0;border-radius:22px;background:rgba(6,18,31,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.04);padding:14px 5px}
 footer{border:0;padding:16px 8px}
}
@media(max-width:520px){
 header{padding:17px 8px 16px}header i{font-size:43px}header b{font-size:29px}header strong{font-size:12px}
 .hero{border-radius:25px;padding:20px 15px 18px}.hero h1{font-size:34px}.hero p{max-width:74%}#heroMeta b{font-size:29px}#heroMeta small{font-size:7px}
 #map{height:380px}.stats div{padding:9px}.camera{height:190px}
}

/* V20 — Miami Night + customer-first tracking */
.miamiSky{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;opacity:.78}
.miamiSky:before{content:"";position:absolute;left:0;right:0;bottom:0;height:58%;background:linear-gradient(to top,rgba(2,6,17,.96),rgba(5,12,31,.30) 70%,transparent)}
.miamiSky:after{content:"";position:absolute;left:2%;right:2%;bottom:5px;height:40px;opacity:.38;background:linear-gradient(90deg,transparent 0 2%,#11dff2 2% 3%,transparent 3% 7%,#8a2eff 7% 9%,transparent 9% 13%,#ff37c6 13% 14%,transparent 14% 18%,#13e6f5 18% 21%,transparent 21% 27%,#ff39c7 27% 29%,transparent 29% 34%,#16e4f5 34% 38%,transparent 38% 44%,#7a3cff 44% 47%,transparent 47% 54%,#ff35bd 54% 57%,transparent 57% 64%,#16e4f5 64% 67%,transparent 67% 73%,#ff35bd 73% 75%,transparent 75% 82%,#19e6f5 82% 85%,transparent 85%);clip-path:polygon(0 100%,0 80%,3% 80%,3% 48%,5% 48%,5% 75%,8% 75%,8% 35%,11% 35%,11% 72%,14% 72%,14% 55%,17% 55%,17% 82%,21% 82%,21% 43%,24% 43%,24% 68%,28% 68%,28% 28%,31% 28%,31% 70%,35% 70%,35% 50%,38% 50%,38% 80%,42% 80%,42% 38%,45% 38%,45% 62%,49% 62%,49% 24%,52% 24%,52% 72%,56% 72%,56% 44%,60% 44%,60% 78%,64% 78%,64% 32%,67% 32%,67% 68%,71% 68%,71% 48%,75% 48%,75% 82%,79% 82%,79% 40%,82% 40%,82% 66%,86% 66%,86% 30%,89% 30%,89% 74%,93% 74%,93% 52%,96% 52%,96% 82%,100% 82%,100% 100%)}
.palm{display:none}
.mlDest{width:50px;height:60px}
.mlDestLabel{position:absolute;z-index:5;left:50%;top:-19px;transform:translateX(-50%);padding:4px 8px;border-radius:999px;background:#ff2fae;color:white;font-size:9px;font-weight:950;letter-spacing:.13em;box-shadow:0 0 16px rgba(255,47,174,.65);white-space:nowrap}
.stats{grid-template-columns:repeat(2,1fr)!important}
.progressCar{display:inline-block;transform:scaleX(-1);filter:drop-shadow(0 0 5px rgba(36,234,255,.55))}
#trackingCard{overflow:hidden}
#map{background:#03101d}
@media(max-width:820px){
 header{position:relative;isolation:isolate;overflow:hidden!important;border-radius:24px!important;background:linear-gradient(115deg,rgba(3,12,29,.88),rgba(26,9,51,.68))!important;padding-top:22px!important;padding-bottom:27px!important}
 header:before{background:radial-gradient(circle at 16% 20%,rgba(0,229,255,.20),transparent 28%),radial-gradient(circle at 82% 5%,rgba(255,45,190,.22),transparent 34%),linear-gradient(to bottom,rgba(4,7,24,.2),rgba(2,7,18,.92))!important}
 .miamiSky{display:block}
 .hero{margin-top:10px}
 #cameraCard{background:radial-gradient(circle at 80% 5%,rgba(255,45,190,.08),transparent 35%),linear-gradient(145deg,rgba(7,20,34,.88),rgba(3,9,19,.94))}
 .cameraStats{display:none!important}
}

/* V21 — Miami night reference + real road routing */
.stats{display:none!important}
.mapLegend{display:flex;align-items:center;gap:13px;flex-wrap:wrap;padding:11px 8px 4px;color:#8da9ba;font-size:8px;font-weight:900;letter-spacing:.12em}
.mapLegend span{display:flex;align-items:center;gap:6px}.mapLegend span:last-child{margin-left:auto;color:#27eaff}
.legendYou{width:10px;height:10px;border-radius:50%;background:#ff35bd;box-shadow:0 0 10px #ff35bd}.legendUnit{font-style:normal;color:#ffd84a;font-size:13px}
header .miamiSky:after{height:58px;opacity:.72;filter:drop-shadow(0 0 7px rgba(21,231,255,.24))}
header .miamiSky:before{height:72%;background:linear-gradient(to top,rgba(2,6,17,.98),rgba(5,12,31,.12) 78%,transparent)}
header{background:linear-gradient(105deg,rgba(2,10,26,.82),rgba(27,7,51,.64)),radial-gradient(circle at 12% 35%,rgba(0,226,255,.16),transparent 28%),radial-gradient(circle at 82% 20%,rgba(255,43,191,.18),transparent 30%)!important}
header aside{color:#a6ecf5!important;background:rgba(3,10,23,.42)!important}
#trackingCard{background:linear-gradient(150deg,rgba(4,16,30,.95),rgba(4,9,22,.96))!important}
#map{height:430px!important}
#cameraCard{position:relative;overflow:hidden}
#cameraCard:before{content:"MIAMI • NIGHT RESPONSE";position:absolute;right:18px;bottom:7px;color:rgba(255,57,198,.17);font-size:7px;letter-spacing:.22em;font-weight:900}
@media(max-width:520px){#map{height:405px!important}.mapLegend{font-size:7px;gap:9px}.mapLegend span:last-child{margin-left:0;width:100%;padding-top:2px}}

/* V22 — production Miami hero based on approved visual target */
.miamiSky{display:none!important}
header{min-height:250px!important;isolation:isolate!important;overflow:hidden!important;border:1px solid rgba(33,226,255,.20)!important;border-radius:28px!important;padding:34px 30px 31px!important;background:#03101d!important;align-items:flex-end!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 22px 60px rgba(0,0,0,.38),0 0 40px rgba(0,225,255,.05)!important}
header:before{content:""!important;position:absolute!important;inset:0!important;z-index:-1!important;background:linear-gradient(90deg,rgba(2,7,20,.93) 0%,rgba(2,8,21,.68) 43%,rgba(3,6,20,.18) 72%,rgba(3,6,20,.35) 100%),linear-gradient(0deg,rgba(2,7,17,.88),transparent 58%)!important;pointer-events:none}
.miamiPhoto{position:absolute;inset:0;z-index:-2;background-image:url('assets/miami-night-reference.png');background-size:cover;background-position:50% 10%;filter:saturate(1.18) contrast(1.06) brightness(.88);transform:scale(1.015)}
header:after{left:28px!important;right:28px!important;width:auto!important;bottom:18px!important;height:3px!important;background:linear-gradient(90deg,#1deaff 0 34%,#ff3ac8 52%,transparent 84%)!important;box-shadow:0 0 18px rgba(29,234,255,.48)!important}
.brandBolt{font-style:normal;color:#fff;font-size:58px;line-height:1;filter:drop-shadow(-4px 5px 0 #ff2fbd) drop-shadow(4px -4px 0 #18eaff) drop-shadow(0 0 15px rgba(26,232,255,.8));transform:skew(-8deg);margin-bottom:25px}
.brandCopy{margin-bottom:24px}.brandCopy b,.brandCopy strong,.brandCopy span,.brandCopy small{display:block}.brandCopy b{font-size:46px;font-style:italic;font-weight:950;letter-spacing:-.055em;line-height:.88;text-shadow:0 2px 18px rgba(0,0,0,.8)}.brandCopy strong{font-size:18px;letter-spacing:.30em;color:#ff4bc9;margin-top:8px;text-shadow:0 0 14px rgba(255,54,194,.5)}.brandCopy span{font-size:12px;letter-spacing:.56em;color:#22eaff;font-weight:900;margin-top:7px}.brandCopy small{font-size:8px;letter-spacing:.46em;color:#f2f8ff;font-weight:800;margin-top:10px}
header aside{margin-left:auto!important;align-self:center!important;color:#9ce9f5!important;font-size:9px!important;line-height:1.8!important;letter-spacing:.18em!important;padding:10px 0!important;border:0!important;border-radius:0!important;background:none!important;text-align:right!important;text-shadow:0 0 10px rgba(0,225,255,.35)!important}
/* Route is genuine road geometry; if routing fails app.js removes it. */
#routeState{color:#24eaff!important}.mapLegend{border-top:1px solid rgba(41,220,241,.10);margin-top:7px}
@media(max-width:820px){header{min-height:225px!important;padding:27px 20px 28px!important}.miamiPhoto{background-position:53% 8%}.brandBolt{font-size:52px;margin-bottom:24px}.brandCopy{margin-bottom:24px}.brandCopy b{font-size:38px}.brandCopy strong{font-size:15px}.brandCopy span{font-size:10px}.brandCopy small{font-size:7px}header aside{display:block!important;font-size:7px!important}}
@media(max-width:520px){main{padding:10px 10px 34px}header{min-height:220px!important;padding:23px 15px 27px!important;border-radius:25px!important;gap:10px!important}.miamiPhoto{background-position:54% 8%;filter:saturate(1.2) contrast(1.08) brightness(.82)}header:before{background:linear-gradient(90deg,rgba(2,7,20,.92) 0%,rgba(2,8,21,.67) 48%,rgba(3,6,20,.14) 77%,rgba(3,6,20,.30) 100%),linear-gradient(0deg,rgba(2,7,17,.88),transparent 62%)!important}.brandBolt{font-size:45px;margin-bottom:29px}.brandCopy{margin-bottom:27px}.brandCopy b{font-size:30px}.brandCopy strong{font-size:12px;letter-spacing:.25em;margin-top:7px}.brandCopy span{font-size:8px;letter-spacing:.48em;margin-top:6px}.brandCopy small{font-size:6px;letter-spacing:.34em;margin-top:8px}header aside{font-size:5.5px!important;letter-spacing:.11em!important;line-height:1.65!important;margin-bottom:29px!important}header:after{left:15px!important;right:15px!important;bottom:15px!important}.hero{margin-top:12px!important}}
/* V23 verified header: clean skyline asset only; all brand/UI text remains real HTML. */
header{min-height:228px!important;padding:28px 18px 27px!important;align-items:flex-end!important;background:#030b19!important;overflow:hidden!important}
.miamiPhoto{background-image:url('assets/miami-skyline-clean.jpg')!important;background-size:cover!important;background-position:center center!important;filter:saturate(1.08) contrast(1.04) brightness(.82)!important;transform:none!important}
header:before{background:linear-gradient(90deg,rgba(2,7,20,.93) 0%,rgba(2,7,20,.74) 38%,rgba(2,7,20,.18) 72%,rgba(2,7,20,.24) 100%),linear-gradient(0deg,rgba(2,7,17,.82),transparent 66%)!important}
.brandBolt,.brandCopy,header aside{position:relative;z-index:2}
@media(max-width:520px){header{min-height:218px!important;padding:24px 14px 26px!important}.miamiPhoto{background-position:54% center!important}.brandBolt{font-size:44px!important;margin-bottom:24px!important}.brandCopy{margin-bottom:23px!important}.brandCopy b{font-size:29px!important}.brandCopy strong{font-size:12px!important}.brandCopy span{font-size:8px!important}.brandCopy small{font-size:6px!important}header aside{display:none!important}}
