
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;background:#05080d;color:#fff;font-family:Arial,Helvetica,sans-serif;overflow:hidden}#app{width:100%;height:100%;display:flex;flex-direction:column}header{height:68px;min-height:68px;background:#06111d;border-bottom:1px solid #11bdf1;display:flex;align-items:center;padding:0 18px;gap:14px}.brand{font-size:27px;font-weight:900;letter-spacing:3px}.live{font-size:12px;font-weight:900;padding:6px 9px;border:1px solid #55e28a;color:#55e28a;background:#10341f}.updated{margin-left:auto;font-size:12px;color:#aeb9c8}nav{height:54px;min-height:54px;display:flex;gap:6px;padding:4px 10px;background:#07121f;border-bottom:1px solid #0d628e}button{border:1px solid #526276;background:#141d29;color:#fff;height:44px;padding:0 10px;font-size:12px;font-weight:800;cursor:pointer}button.active{background:#35a7ff;color:#03101c}.main{flex:1;min-height:0;display:flex;gap:9px;padding:9px}#map{position:relative;flex:1;min-width:0;min-height:0;overflow:hidden;background:#03111c;border:1px solid #087bb2;box-shadow:inset 0 0 32px rgba(0,157,220,.08)}#basemap{position:absolute;inset:0;overflow:hidden;background:#03111c;z-index:0}#basemap .maplibregl-map{position:absolute;inset:0;width:100%;height:100%}#basemap .maplibregl-canvas{filter:brightness(.72) saturate(.72) contrast(1.08)}#basemap .maplibregl-control-container{display:none!important}#mapCanvas{position:absolute;inset:0;width:100%;height:100%;z-index:2}#labelmap{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2.6}#labelmap img{position:absolute;width:256px;height:256px;image-rendering:auto;filter:brightness(1.32) contrast(1.18) saturate(.72);opacity:1;backface-visibility:hidden;transform:translateZ(0)}#radarLayer{position:absolute;inset:0;pointer-events:none;display:none;z-index:1;overflow:hidden}#radarLayer img{position:absolute;pointer-events:none;will-change:transform,opacity;opacity:.78;transition:opacity .32s ease}#lightning{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;opacity:.82;display:none;z-index:1}#overlay{position:absolute;inset:0;pointer-events:none;z-index:3}.mapbar,.legend{position:absolute;top:10px;background:rgba(4,8,13,.94);border:1px solid #526276;padding:8px 10px;font-size:12px;font-weight:800;z-index:5}.mapbar{left:10px}.mapcredit{position:absolute;right:10px;bottom:7px;background:rgba(4,8,13,.88);border:1px solid #526276;padding:4px 7px;font-size:9px;color:#d6deea;z-index:5}.legend{right:10px}.legend span{display:block;margin:3px 0}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.gdacsKey{display:inline-flex;width:13px;height:13px;align-items:center;justify-content:center;margin-right:5px;border:1px solid #51dcff;color:#51dcff;font-size:8px;font-style:normal;font-weight:900;transform:rotate(45deg)}.side{width:350px;min-width:350px;background:#07131f;border:1px solid #0d628e;padding:10px;display:flex;flex-direction:column;gap:8px;overflow:hidden}h2{font-size:14px;letter-spacing:1.5px;margin:2px 0}.loc{border:1px solid #334257;background:#111925;padding:8px}.loc .name{font-size:15px;font-weight:900}.loc .status{margin-top:4px;font-size:13px;font-weight:900}.loc .detail{margin-top:3px;font-size:11px;color:#aeb9c8}.clear{color:#55e28a}.watch{color:#ffd166}.warning{color:#ff9f43}.tornado{color:#ff4d6d}.unknown{color:#aeb9c8}.feed{flex:1;min-height:0;overflow:auto;border-top:1px solid #263344;padding-top:5px}.feeditem{padding:7px 4px;border-bottom:1px solid #202b3b;font-size:11px}.feeditem b{font-size:11px}footer{height:38px;min-height:38px;background:#0d131c;border-top:1px solid #263344;display:flex;align-items:center;padding:0 12px;gap:12px;font-size:11px;color:#aeb9c8}#sourceStatus{font-weight:900;color:#55e28a}#errors{color:#ff9f43;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.marker{position:absolute;transform:translate(-50%,-50%);width:13px;height:13px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 8px #000;z-index:3}.marker.tornado{background:#ff1744}.marker.severe{background:#ff9f1a}.marker.watch{background:#ffd166}.marker.location{background:#35a7ff;width:10px;height:10px}#loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800;z-index:8;background:#070b11}

#zoomPanel{position:absolute;left:10px;bottom:10px;z-index:6;display:flex;flex-direction:column;gap:4px}
#zoomPanel button{width:42px;height:38px;padding:0;font-size:22px;line-height:1;background:rgba(9,15,23,.95);border-color:#526276}
#zoomPanel button:hover{background:#1b2a3d}
#zoomLevel{background:rgba(4,8,13,.94);border:1px solid #526276;padding:5px 7px;text-align:center;font-size:11px;font-weight:900;color:#d6deea}
.feeditem{cursor:pointer}.feeditem:hover{background:#172233}
#alertPane{position:absolute;right:14px;top:58px;width:430px;max-width:calc(100% - 28px);max-height:calc(100% - 115px);overflow:auto;z-index:20;background:rgba(7,12,19,.98);border:2px solid #526276;box-shadow:0 12px 35px rgba(0,0,0,.55);padding:14px;display:none}
#alertPane.open{display:block}
#alertPane .paneHead{display:flex;align-items:flex-start;gap:10px;border-bottom:1px solid #334257;padding-bottom:9px;margin-bottom:10px}
#alertPane .paneTitle{font-size:18px;font-weight:900;line-height:1.15;flex:1}
#alertPane .paneClose{width:34px;height:34px;min-width:34px;padding:0;font-size:22px;border:1px solid #526276;background:#141d29}
#alertPane .paneType{font-size:12px;font-weight:900;letter-spacing:1px;margin-bottom:4px}
#alertPane .paneMeta{display:grid;grid-template-columns:105px 1fr;gap:5px 9px;font-size:12px;line-height:1.35}
#alertPane .paneMeta .k{color:#8f9daf;font-weight:800}
#alertPane .paneText{margin-top:11px;padding-top:10px;border-top:1px solid #263344;font-size:12px;line-height:1.42;white-space:pre-wrap}
#alertPane .paneText strong{display:block;color:#dce5ef;margin-bottom:4px;font-size:12px;letter-spacing:.5px}
#paneStorm{color:#dce5ef}
#analysisPanel{position:absolute;left:14px;top:58px;width:330px;max-width:calc(100% - 28px);max-height:calc(100% - 115px);overflow:auto;z-index:19;background:rgba(7,12,19,.97);border:2px solid #526276;box-shadow:0 12px 35px rgba(0,0,0,.5);padding:12px;display:none}
#analysisPanel.open{display:block}.analysisHead{font-size:14px;font-weight:900;letter-spacing:1.2px;border-bottom:1px solid #334257;padding-bottom:8px;margin-bottom:8px}.cell{padding:8px 7px;border-bottom:1px solid #202b3b;cursor:pointer}.cell:hover{background:#172233}.cell .ct{font-size:13px;font-weight:900}.cell .cm{font-size:11px;color:#aeb9c8;margin-top:3px;line-height:1.35}.badge{display:inline-block;border:1px solid #526276;padding:2px 5px;margin:2px 3px 0 0;font-size:9px;font-weight:900}.badge.red{border-color:#ff1744;color:#ff6b83}.badge.orange{border-color:#ff9f1a;color:#ffb84d}.badge.yellow{border-color:#ffd166;color:#ffe29a}.analysisNote{font-size:10px;color:#8f9daf;line-height:1.35;margin-top:9px}


.eqmark,.evmark{position:absolute;transform:translate(-50%,-50%);border-radius:50%;z-index:5;cursor:pointer;box-sizing:border-box}.eqmark{background:rgba(3,12,20,.72);border:2px solid #ff8a1f;box-shadow:0 0 7px rgba(255,126,20,.72),inset 0 0 0 2px rgba(255,166,48,.18)}.eqmark:after{content:'';position:absolute;left:50%;top:50%;width:32%;height:32%;transform:translate(-50%,-50%);border-radius:50%;background:#ff9f1a;box-shadow:0 0 5px #ff7a00}.eqmark.sig{border-color:#ffb12b;box-shadow:0 0 11px #ff6d00,0 0 0 3px rgba(255,126,0,.20),inset 0 0 0 2px rgba(255,177,43,.25)}.eqmark.sig:after{background:#fff1a8;box-shadow:0 0 7px #ff8a00}.evmark{width:14px;height:14px;border-radius:50%;background:#ab47bc;border:2px solid #fff;box-shadow:0 0 8px #ab47bc}.evmark.wildfire{background:#ff7043;box-shadow:0 0 9px #ff7043}.evmark.storm{background:#42a5f5;box-shadow:0 0 9px #42a5f5}.evmark.volcano{background:#ef5350;box-shadow:0 0 9px #ef5350}.evmark.flood{background:#26c6da;box-shadow:0 0 9px #26c6da}.evmark.ice{background:#b3e5fc;box-shadow:0 0 9px #b3e5fc}.evmark.other{background:#ab47bc;box-shadow:0 0 9px #ab47bc}.evmark.tsunami{background:#00e5ff;border-color:#fff;box-shadow:0 0 12px #00e5ff}.evmark.gdacs{width:20px;height:20px;border-radius:4px;transform:translate(-50%,-50%) rotate(45deg);display:flex;align-items:center;justify-content:center;background:#081723;border:2px solid #51dcff;color:#fff;font:900 9px/1 Arial;box-shadow:0 0 10px rgba(81,220,255,.8)}.evmark.gdacs::first-letter{transform:rotate(-45deg)}.evmark.gdacs.wildfire{border-color:#ff7043;color:#ffb39a}.evmark.gdacs.flood{border-color:#26c6da;color:#9cf4ff}.evmark.gdacs.drought{border-color:#ffd166;color:#ffe6a0}.volmark{position:absolute;transform:translate(-50%,-50%);z-index:6;cursor:pointer;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#ff6848;font-size:22px;font-weight:900;line-height:1;text-shadow:0 0 5px #000,0 0 8px rgba(255,78,48,.95)}.volmark.recent{color:#ffb02e;font-size:27px;text-shadow:0 0 5px #000,0 0 12px #ff5b2e}.volmark.old{color:#d85b4a;opacity:.82;font-size:19px}.icebergmark{position:absolute;transform:translate(-50%,-50%);z-index:6;cursor:pointer;width:26px;height:26px;display:flex;align-items:center;justify-content:center;color:#d9f6ff;font-size:22px;font-weight:900;line-height:1;text-shadow:0 0 4px #001522,0 0 9px #38bdf8;filter:drop-shadow(0 0 4px rgba(56,189,248,.8))}.icebergmark.major{font-size:29px;color:#fff;filter:drop-shadow(0 0 7px #38bdf8)}.icebergmark.minor{font-size:19px;opacity:.78}.globalStatus{color:#9fb3c8;font-weight:800}

/* EarthWatch Server v1.0 panoramic-dashboard layout */
#app{display:grid;grid-template-columns:245px minmax(0,1fr);grid-template-rows:54px minmax(0,1fr) 32px}
header{grid-column:1/3;grid-row:1;height:54px;min-height:54px;padding:0 14px}.brand{font-size:25px}
nav{grid-column:1;grid-row:2;height:auto;min-height:0;display:flex;flex-direction:column;gap:5px;padding:9px;background:#090e16;border-right:1px solid #263344;border-bottom:0;overflow-y:auto}
nav:before{content:'NAVIGATION';font-size:11px;font-weight:900;letter-spacing:1.5px;color:#8f9daf;margin:1px 3px 3px}
nav button{width:100%;height:34px;min-height:34px;text-align:left;padding:0 10px;font-size:11px}
nav button[data-mode="home"]{margin-bottom:12px}
#quakeBtn:before{content:'LAYER  ';color:#8f9daf;font-size:9px}
.main{grid-column:2;grid-row:2;min-height:0;display:flex;gap:7px;padding:7px}
.side{width:335px;min-width:335px;padding:8px;gap:6px}
footer{grid-column:1/3;grid-row:3;height:32px;min-height:32px;padding:0 10px;font-size:10px}
#radarStatus,#radarControls{position:static!important;left:auto!important;top:auto!important;width:100%;z-index:auto!important;margin:0;padding:7px 9px!important}
#radarControls input{width:115px!important}
#alertPane{position:static;width:auto;max-width:none;max-height:none;overflow:auto;z-index:auto;background:transparent;border:0;box-shadow:none;padding:0;display:none;flex:1;min-height:0}
#alertPane.open{display:block}.side.details-open #feed,.side.details-open #feedHeading{display:none}.side.details-open #alertPane{display:block}
#alertPane .paneTitle{font-size:15px}#alertPane .paneMeta{grid-template-columns:90px 1fr;font-size:11px}#alertPane .paneText{font-size:11px}
.legend{font-size:10px;padding:6px 8px}.mapbar{font-size:11px;padding:7px 9px}
#analysisPanel{left:12px;top:50px;width:350px;max-height:calc(100% - 100px)}

/* v1.0.2 readability + seamless radar handover */
nav{padding-bottom:10px}
#savedHeading{font-size:11px;letter-spacing:1.4px;color:#8f9daf;margin:10px 3px 3px;font-weight:900}
#locations{display:flex;flex-direction:column;gap:5px}
nav .loc{padding:6px 7px}
nav .loc .name{font-size:12px}
nav .loc .status{font-size:10px;line-height:1.2}
nav .loc .detail{font-size:9px}
.side{width:390px;min-width:390px;padding:10px}
.side>h2{font-size:16px;margin:2px 0 6px}
.feed{padding-top:0;border-top:0}
.feeditem{padding:10px 6px;font-size:13px;line-height:1.32}
.feeditem b{font-size:14px}
#alertPane .paneTitle{font-size:18px;line-height:1.15}
#alertPane .paneType{font-size:12px}
#alertPane .paneMeta{grid-template-columns:105px 1fr;font-size:13px;line-height:1.35}
#alertPane .paneText{font-size:13px;line-height:1.4}
#alertPane .paneHead{margin-bottom:10px}

/* v1.0.2 four-pane layout + global readability */
#app{grid-template-columns:245px 175px minmax(0,1fr);grid-template-rows:54px minmax(0,1fr) 34px}
header{grid-column:1/4}.main{grid-column:3;gap:8px;padding:8px}footer{grid-column:1/4;font-size:11px}
nav{grid-column:1;font-size:13px;padding:10px;gap:6px}nav:before{font-size:12px}nav button{height:38px;min-height:38px;font-size:13px;padding:0 11px}
#savedHeading{font-size:12px;margin-top:12px}nav .loc{padding:8px}nav .loc .name{font-size:13px}nav .loc .status{font-size:11px}nav .loc .detail{font-size:10px}
#layersPanel{grid-column:2;grid-row:2;min-height:0;background:#0a1018;border-right:1px solid #263344;padding:10px 9px;display:flex;flex-direction:column;gap:6px;overflow-y:auto}
#layersPanel h2{font-size:12px;letter-spacing:1.5px;color:#8f9daf;margin:1px 3px 4px}
#layersPanel button{width:100%;height:38px;min-height:38px;text-align:left;padding:0 10px;font-size:13px}
#layersPanel button.active:before{content:'● ';font-size:10px}#layersPanel button:not(.active):before{content:'○ ';font-size:10px;color:#7f8b99}
#layersPanel #radarStatus,#layersPanel #radarControls{display:block;position:static!important;width:100%;font-size:11px!important;line-height:1.25}
#layersPanel #radarStatus{margin-top:5px!important}#layersPanel #radarControls{font-size:12px!important}
#layersPanel #radarControls input{width:92px!important}
.brand{font-size:27px}.live{font-size:13px}#modeText{font-size:14px}.updated{font-size:13px}
.side{width:390px;min-width:390px}.side>h2{font-size:18px}.feeditem{font-size:14px;line-height:1.36}.feeditem b{font-size:15px}
.mapbar{font-size:13px}.legend{font-size:12px}.mapcredit{font-size:10px}#zoomLevel{font-size:12px}
#alertPane .paneTitle{font-size:19px}#alertPane .paneType{font-size:13px}#alertPane .paneMeta{font-size:14px}#alertPane .paneText{font-size:14px}

/* v1.1 major-event alerts + global lightning pane */
#majorAlert{position:absolute;left:50%;top:16px;transform:translateX(-50%);z-index:60;width:min(680px,72%);background:rgba(8,13,21,.98);border:2px solid #ff9f43;box-shadow:0 12px 38px rgba(0,0,0,.72);padding:14px 16px;display:none}
#majorAlert.open{display:block}#majorAlert.critical{border-color:#ff4d6d}#majorAlert.tsunami{border-color:#46d9ff}#majorAlert.volcano{border-color:#E0435F}
#majorAlert .maTop{display:flex;align-items:center;gap:10px}.maBadge{font-size:13px;font-weight:900;letter-spacing:1.2px;color:#ffcf66}.maTitle{font-size:20px;font-weight:900;flex:1}.maClose{height:32px;width:34px;padding:0;font-size:20px}.maBody{font-size:15px;line-height:1.35;margin-top:8px}.maMeta{font-size:13px;color:#aeb9c8;margin-top:7px}.maActions{display:flex;gap:8px;margin-top:10px}.maActions button{height:34px;font-size:13px}
#lightningPane{position:absolute;inset:0;z-index:18;background:#070b11;display:none}#lightningPane.open{display:block}#lightningPane iframe{width:100%;height:100%;border:0;background:#070b11}.lightningTag{position:absolute;left:10px;top:10px;z-index:2;background:rgba(4,8,13,.94);border:1px solid #526276;padding:7px 10px;font-size:13px;font-weight:900;pointer-events:none}.lightningNote{position:absolute;left:10px;bottom:8px;z-index:2;background:rgba(4,8,13,.94);border:1px solid #526276;padding:5px 8px;font-size:11px;pointer-events:none}

/* v1.2.2 conservative UI additions: saved-location editor + robust touch controls */
#savedHeading{display:flex;align-items:center;justify-content:space-between;gap:6px}
#savedHeading #addLocation{width:auto;height:28px;min-height:28px;padding:0 8px;font-size:11px}
.emptyLocations{font-size:11px;line-height:1.35;color:#7f8b99;border:1px dashed #334257;padding:10px 8px}.savedLoc{display:flex;gap:5px;align-items:stretch}.locMain{flex:1;min-width:0;cursor:pointer}.locActions{display:flex;flex-direction:column;gap:4px}.locActions button{width:28px!important;height:27px!important;min-height:27px!important;padding:0!important;text-align:center!important;font-size:14px!important}
#locationModal{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.72);display:none;align-items:center;justify-content:center;pointer-events:auto}#locationModal.open{display:flex}.locationCard{width:520px;max-width:80vw;background:#0b1119;border:2px solid #35a7ff;box-shadow:0 15px 50px #000;padding:16px}.locationHead{display:flex;align-items:center;justify-content:space-between;font-size:18px;font-weight:900;letter-spacing:1px;margin-bottom:12px}.locationHead button{width:36px;height:34px;padding:0;font-size:20px}.locationCard label{display:block;font-size:12px;font-weight:900;color:#aeb9c8;margin:9px 0}.locationCard input[type=text],.locationCard input[type=number]{width:100%;height:38px;margin-top:5px;background:#111925;border:1px solid #526276;color:#fff;padding:0 9px;font-size:14px}.locationCard input[type=range]{width:100%;margin-top:8px}.locationRow{display:grid;grid-template-columns:1fr 1fr;gap:10px}.locationActions{display:flex;flex-direction:row;justify-content:flex-end;gap:8px;margin-top:12px}.locationActions button{width:110px!important;height:38px!important;font-size:12px!important}#locationError{min-height:18px;color:#ff6b83;font-size:12px;font-weight:800}
#locationSearchRow{display:flex;gap:7px;align-items:flex-end}#locationSearchRow label{flex:1;margin-bottom:0}#locationSearch{height:38px!important}#locationSearchBtn{width:92px!important;height:38px!important;min-height:38px!important;padding:0 8px!important}.locationSearchHint{font-size:10px;color:#8f9daf;margin:5px 0 2px;line-height:1.25}#locationResults{max-height:142px;overflow:auto;margin-top:6px;display:none;border:1px solid #334257;background:#090e16}.locationResult{padding:8px 9px;border-bottom:1px solid #263344;font-size:12px;line-height:1.25;cursor:pointer}.locationResult:last-child{border-bottom:0}.locationResult:hover,.locationResult:active{background:#162538}.locationResult b{display:block;font-size:13px;color:#fff}.locationResult span{color:#aeb9c8}
#majorAlert,#majorAlert *{pointer-events:auto;touch-action:manipulation}.maActions button,.maClose{position:relative;z-index:2}

/* EarthWatch Server v1.3.0 — command-centre visual refresh */
#app{grid-template-columns:190px 140px minmax(0,1fr);grid-template-rows:56px minmax(0,1fr) 34px}
header{grid-column:1/4;height:56px;min-height:56px;padding:0 14px;gap:12px}
nav{width:auto;padding:8px;gap:5px}nav button{height:36px;min-height:36px;font-size:12px}#savedHeading{margin-top:8px}
#layersPanel{width:auto;padding:8px 7px;gap:5px}#layersPanel button{height:36px;min-height:36px;font-size:12px;padding:0 8px}
.main{padding:6px;gap:6px}.side{width:300px;min-width:300px;padding:9px}.side>h2{font-size:16px}.feeditem{font-size:13px;padding:9px 5px}.feeditem b{font-size:14px}
#map{border-color:#3c5069}.mapbar{font-size:13px}.legend{font-size:12px}
body.hide-nav #app{grid-template-columns:0 140px minmax(0,1fr)}body.hide-nav nav{display:none}
body.hide-layers #app{grid-template-columns:190px 0 minmax(0,1fr)}body.hide-layers #layersPanel{display:none}
body.hide-nav.hide-layers #app{grid-template-columns:0 0 minmax(0,1fr)}
body.hide-feed .side{display:none}
body.display-mode nav,body.display-mode #layersPanel,body.display-mode .side{display:none}
body.display-mode #app{grid-template-columns:0 0 minmax(0,1fr)}body.display-mode .main{grid-column:3;padding:0}body.display-mode #map{border:0}
body.display-mode footer{height:28px;min-height:28px;opacity:.88}
@media (max-width:1400px){
  #app{grid-template-columns:170px 126px minmax(0,1fr)}
  .side{width:270px;min-width:270px}.updated{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  body.hide-nav #app{grid-template-columns:0 126px minmax(0,1fr)}body.hide-layers #app{grid-template-columns:170px 0 minmax(0,1fr)}
}
@media (max-width:1100px){
  #app{grid-template-columns:150px 118px minmax(0,1fr)}.side{width:240px;min-width:240px}
  .brand{font-size:22px;letter-spacing:2px}.updated{display:none}
  body.hide-nav #app{grid-template-columns:0 118px minmax(0,1fr)}body.hide-layers #app{grid-template-columns:150px 0 minmax(0,1fr)}
}
@media (max-width:900px){
  #app{grid-template-columns:0 0 minmax(0,1fr)}nav,#layersPanel,.side{display:none}.main{grid-column:3;padding:4px}
  header{grid-column:1/4}.live{display:none}#modeText{font-size:12px}
  .legend{display:none}footer{grid-column:1/4}#sourceStatus{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media (orientation:portrait) and (max-width:1100px){.legend{display:none}}


/* v1.1 map-first hazard cartography */
#mapCanvas{filter:none}.mapcredit{color:#8fb9df}.legend{border-color:#146da5;background:rgba(2,12,23,.88)}

.cyclonemark{position:absolute;transform:translate(-50%,-50%);z-index:7;cursor:pointer;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(5,16,28,.88);border:2px solid #53d8ff;color:#eafcff;font-size:20px;font-weight:900;box-shadow:0 0 10px rgba(45,203,255,.9),0 0 0 4px rgba(45,203,255,.12);text-shadow:0 0 6px #27c9ff}.cyclonemark.orange{border-color:#ff9f1a;box-shadow:0 0 12px rgba(255,139,26,.95),0 0 0 4px rgba(255,139,26,.14)}.cyclonemark.red{border-color:#ff3b55;box-shadow:0 0 14px rgba(255,59,85,.98),0 0 0 5px rgba(255,59,85,.16)}

/* EarthWatch v2.2.0 operational polish */
#feedHeading{display:flex;align-items:center;justify-content:space-between}
#feedHeading::after{content:"PRIORITISED";font-size:9px;letter-spacing:1px;color:#53d8ff;border:1px solid #185d82;padding:3px 5px;background:#071b2b}
.feeditem{position:relative;padding:9px 7px 9px 12px;border-left:3px solid #334257;transition:background .12s,border-color .12s}
.feeditem:hover{background:#0d2132}.feeditem.critical{border-left-color:#ff3b55;background:rgba(255,59,85,.055)}.feeditem.high{border-left-color:#ff9f1a}.feeditem.medium{border-left-color:#ffd166}.feeditem.info{border-left-color:#35a7ff}
.feedTop{display:flex;align-items:center;gap:6px;margin-bottom:3px}.feedBadge{font-size:9px;font-weight:900;letter-spacing:.7px;padding:2px 4px;border:1px solid currentColor}.feedTime{margin-left:auto;color:#71849a;font-size:10px}.feedTitle{font-weight:900;font-size:13px;color:#eef8ff}.feedSub{color:#aebdcb;font-size:11px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.feeditem.critical .feedBadge{color:#ff5b70}.feeditem.high .feedBadge{color:#ffad42}.feeditem.medium .feedBadge{color:#ffe08a}.feeditem.info .feedBadge{color:#53d8ff}

/* v2.5 saved-location proximity intelligence + stronger place-name readability */
nav .loc .status.prox-critical{color:#ff4d6d}nav .loc .status.prox-high{color:#ff9f43}nav .loc .status.prox-medium{color:#ffd166}nav .loc .status.prox-info{color:#46d9ff}
nav .loc .hazards{margin-top:4px;font-size:10px;line-height:1.25;color:#c5d4e5}nav .loc .hazards b{color:#fff}
.locationRadiusRing{position:absolute;pointer-events:none;border:1px dashed rgba(53,167,255,.72);border-radius:50%;box-shadow:0 0 10px rgba(53,167,255,.18);transform:translate(-50%,-50%);z-index:2}

/* v3.0 saved-location monitoring */
.savedLoc{border-left:4px solid #526276}.savedLoc.loc-clear{border-left-color:#55e28a}.savedLoc.loc-advisory{border-left-color:#ffd166}.savedLoc.loc-warning{border-left-color:#ff9f43}.savedLoc.loc-critical{border-left-color:#ff1744;box-shadow:inset 0 0 18px rgba(255,23,68,.08)}
.locBadge{display:inline-block;margin-left:5px;padding:2px 5px;border:1px solid currentColor;font-size:9px;letter-spacing:.7px}.locCount{float:right;color:#d7e7f4;font-size:10px}.prox-critical{color:#ff4d6d}.prox-high{color:#ff9f43}.prox-medium{color:#ffd166}.prox-info{color:#55b9ff}.loc .hazards{margin-top:4px;font-size:10px;line-height:1.35;color:#c4d0dd}

/* v3.1.1 Alert Centre */
#alertCentre{display:none;position:absolute;top:8px;left:338px;width:330px;max-height:calc(100% - 48px);z-index:28;background:rgba(4,15,23,.97);border:1px solid #38556a;box-shadow:0 10px 28px rgba(0,0,0,.5);font:12px Arial;color:#d9edf7;overflow:hidden}
#alertCentre.open{display:flex;flex-direction:column}
.acHead{display:flex;align-items:center;gap:7px;padding:9px 10px;border-bottom:1px solid #284457;font-weight:900;letter-spacing:.08em}.acHead .sp{flex:1}
.acBtn{background:#102331;color:#e9f7ff;border:1px solid #45657a;padding:5px 7px;font-weight:800;cursor:pointer}.acBtn:hover{background:#17364b}
#acBody{overflow:auto;padding:7px}.acSection{font-size:10px;color:#7ea4b8;letter-spacing:.12em;font-weight:900;margin:5px 2px 6px}
.acItem{border:1px solid #294657;background:#081822;margin:0 0 6px;padding:7px;cursor:pointer}.acItem:hover{background:#0c2432}
.acTop{display:flex;gap:6px;align-items:center;font-weight:900}.acTop .sp{flex:1}.acMeta{color:#9db7c5;font-size:10px;margin-top:4px;line-height:1.35}
.ac-critical{border-left:3px solid #ff234f}.ac-warning{border-left:3px solid #ff9f1c}.ac-advisory{border-left:3px solid #ffd05a}.ac-clear{border-left:3px solid #00e38c}
.acEmpty{color:#7893a1;padding:12px 6px;text-align:center}.acBadge{font-size:9px;padding:2px 4px;border:1px solid currentColor}

/* v3.4 location editor + alert simulator */
#ewLocModal,#ewSimModal{display:none;position:absolute;z-index:60;background:#071722;border:1px solid #4b7187;box-shadow:0 12px 34px #000b;color:#dff5ff;font:12px Arial;padding:12px;width:300px}
#ewLocModal.open,#ewSimModal.open{display:block}.compactModalTitle{font-weight:900;letter-spacing:.1em;margin-bottom:9px}.locationModalRow{margin:7px 0}.locationModalRow input,.locationModalRow select{width:100%;box-sizing:border-box;background:#0b202d;color:#fff;border:1px solid #45667a;padding:7px}
.locationModalRadii{display:flex;gap:4px;flex-wrap:wrap}.locationModalRadii button,.locationModalActions button{background:#102c3d;color:#e8f8ff;border:1px solid #487087;padding:5px 7px;font-weight:800;cursor:pointer}.locationModalRadii button.sel{background:#29aef0;color:#00131d}
.locationModalActions{display:flex;gap:6px;margin-top:10px}.locationModalActions .sp{flex:1}.locationModalHint{font-size:10px;color:#8daaba;line-height:1.35}
#ewToast{display:none;position:absolute;z-index:90;right:18px;top:58px;width:340px;background:#071722;border:2px solid #ff9f1c;box-shadow:0 10px 35px #000;color:#fff;padding:12px;font:12px Arial}#ewToast.open{display:block}#ewToast.critical{border-color:#ff234f}.ewToastTitle{font-weight:900;font-size:14px;letter-spacing:.05em}.ewToastMeta{margin-top:6px;color:#b9d2df;line-height:1.4}#ewToast button{float:right;background:#102c3d;color:#fff;border:1px solid #55778a;padding:5px 8px;cursor:pointer}
#ewReplay{display:none;position:absolute;z-index:65;left:350px;top:70px;width:390px;background:#061722;border:1px solid #4b7187;box-shadow:0 12px 35px #000;color:#e8f8ff;font:12px Arial;padding:12px}
#ewReplay.open{display:block}.replayBanner{position:absolute;z-index:55;top:7px;left:50%;transform:translateX(-50%);background:#8b1b1b;color:#fff;border:1px solid #ff6262;padding:5px 12px;font:bold 11px Arial;letter-spacing:.12em;display:none}.replayBanner.on{display:block}
.replayControls{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.replayControls button,#ewReplay select{background:#102c3d;color:#fff;border:1px solid #4b7187;padding:6px;font-weight:800}.replayTimeline{height:6px;background:#173342;margin:10px 0;position:relative}.replayProgress{height:100%;width:0;background:#36b7f4}.replayNote{font-size:10px;color:#91adbb;line-height:1.4}

#ewAnalysis{display:none;position:absolute;z-index:64;right:8px;top:58px;width:370px;max-height:calc(100vh - 115px);overflow:auto;background:#061722;border:1px solid #3c718d;box-shadow:0 12px 35px #000;color:#e8f8ff;font:12px Arial}
#ewAnalysis.open{display:block}.ewaHead{position:sticky;top:0;background:#0a2130;border-bottom:1px solid #31576b;padding:10px;font-weight:900;letter-spacing:.08em}.ewaClose{float:right;background:#112c3b;color:#fff;border:1px solid #4e7081}
.ewaBody{padding:10px}.ewaType{font-size:10px;color:#59c9ff;font-weight:900;letter-spacing:.12em}.ewaTitle{font-size:17px;font-weight:900;margin:4px 0 10px}.ewaGrid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ewaCell{background:#0a1d28;border:1px solid #294653;padding:7px}.ewaK{font-size:9px;color:#7899a8;font-weight:900}.ewaV{font-size:12px;font-weight:800;margin-top:2px}.ewaSection{margin-top:10px;border-top:1px solid #294653;padding-top:8px}.ewaSaved{padding:6px;border-left:3px solid #2eb8f0;background:#0a1d28;margin-top:5px}.ewaNote{color:#91adbb;font-size:10px;line-height:1.4}

#analysisTopBtn.active{border-color:#53d4ff;background:#10394d;box-shadow:inset 0 -2px #53d4ff}
body.ewReplayMode #liveChip{background:#8b1b1b!important;border-color:#ff6262!important}
.ewSelectedIncident{filter:drop-shadow(0 0 5px rgba(255,255,255,.8))}

.ewCycloneRisk{margin-top:6px;padding:6px;background:#0a1d28;border-left:3px solid #ffb02e}.ewForecastTag{font-size:9px;color:#ffcf73;font-weight:900;letter-spacing:.08em}

/* EarthWatch v7.0 — 2D command-centre baseline */
body{background:#020910}
.main{justify-content:center}
#map{max-width:none}
body.ew-global #map{flex:0 1 auto}
body.ew-global .main{justify-content:center}
body.ew-fast-drag #labelmap,body.ew-fast-drag #overlay{visibility:hidden!important}
body.ew-fast-drag #mapCanvas{will-change:transform}

/* EarthWatch v7.1 operations pass */
:root{--cmd:230px!important;--intel:330px!important}
#missionSidebar{background:linear-gradient(180deg,#061722,#041019)!important;border-right:1px solid #19526a!important}
#missionSidebar .sec{padding:10px!important;border-bottom:1px solid #123848!important}
.sidebarSectionTitle{font-size:9px!important;letter-spacing:.18em!important;color:#5e9fb5!important;margin-bottom:7px!important}
.regionButtons{display:grid!important;grid-template-columns:1fr 1fr!important}
.regionButtons button:first-child{grid-column:1/-1!important;width:auto!important}
.savedLocationCard{padding:9px 8px!important;border-radius:2px}
.savedLocationCard:hover{background:#0a2632!important;border-color:#24667d!important}
.savedLocationCardTop span:last-child{font-size:8px!important;color:#5ce4b2!important}
.savedLocationMeta{font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important}
.operationsButtons button:hover{background:#0c3040!important;border-color:#2b809c!important}
.marker.location{width:13px!important;height:13px!important;border:2px solid #52f0b2!important;background:#071a18!important;box-shadow:0 0 0 3px rgba(82,240,178,.16),0 0 12px rgba(82,240,178,.65)!important}
#feed>div.feedItemSelected{background:#0c2b38!important;box-shadow:inset 3px 0 #38d6ff!important}

/* EarthWatch v7.2 Intelligence */
#statusBar{position:absolute;left:var(--cmd);right:var(--intel);bottom:0;height:28px;z-index:19;
display:flex;align-items:center;gap:16px;padding:0 12px;background:rgba(3,14,21,.94);
border-top:1px solid #17475a;font:9px ui-monospace,SFMono-Regular,Consolas,monospace;
letter-spacing:.08em;color:#6f9aaa;pointer-events:none}
#statusBar b{color:#a9dbea;font-weight:600}
#statusBar .live{color:#5ce4b2}
#statusBar .warn{color:#ffb65c}
#statusBar .spacer{flex:1}
.savedLocationState.savedLocSeverityClear{color:#67d8a7!important}
#feed>div{transition:background .12s,border-color .12s,transform .12s}
#feed>div:hover{transform:translateX(-2px);background:#092634!important}

/* EarthWatch v7.3 global radar + performance */
#rainviewerTiles{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:.78}
#rainviewerTiles img{position:absolute;width:256px;height:256px;max-width:none;pointer-events:none;user-select:none}
#radarA,#radarB{display:none!important}
.volmark{width:15px!important;height:15px!important;font-size:14px!important;line-height:15px!important}
.evmark.volcano{transform:translate(-50%,-50%) scale(.5)!important}
/* v7.3.3: fixed viewport drag; no canvas/layer transforms */
body.ew-fast-drag #radarLayer{pointer-events:none}
body.ew-fast-drag #labelmap,body.ew-fast-drag #overlay,body.ew-fast-drag #radarLayer{visibility:hidden!important}

/* EarthWatch v7.4 MapLibre map engine */
#map{position:relative;overflow:hidden}
#mlMap{position:absolute;inset:0;z-index:0;background:#06101a}
#basemap,#labelmap{display:none!important}
#map canvas:not(.maplibregl-canvas){position:absolute;inset:0;z-index:3;pointer-events:none}
#overlay{z-index:5}
#radarLayer{z-index:2}
.maplibregl-map{font:inherit}
.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right{display:none!important}

/* v7.4.2 clean MapLibre geography */
#mlMap{z-index:1!important;pointer-events:auto!important}
#map>canvas:not(.maplibregl-canvas){z-index:2!important;pointer-events:none!important}
#overlay{z-index:3!important;pointer-events:none!important}
#radarLayer{z-index:2!important;pointer-events:none!important}

#mlMap .maplibregl-canvas{cursor:grab!important} #mlMap .maplibregl-canvas:active{cursor:grabbing!important}
/* v7.5.2: never show an asynchronously trailing legacy overlay */
body.ew-ml-moving #overlay{visibility:hidden!important}
body.ew-ml-moving #mapCanvas{visibility:visible!important;will-change:contents}

.ew-native-marker{pointer-events:none;display:flex;align-items:center;justify-content:center;transform:translateZ(0)}
.ew-volcano{font-size:17px;color:#fff;text-shadow:0 0 4px #ff415d,0 0 10px #ff415d,0 0 18px #ff415d}
.ew-quake{width:12px;height:12px;border:2px solid #07131b;border-radius:50%;color:#ffd34d;font-size:18px;text-shadow:0 0 7px #ffd34d}
.ew-location{color:#4fdcff;font-size:16px;text-shadow:0 0 8px #4fdcff}

/* v7.5.7 viewport-safe saved-location editor */
#saveLocationModal,#saveLocationBox,.save-location-modal,.save-location-box{
 max-height:calc(100vh - 80px)!important;overflow-y:auto!important;overscroll-behavior:contain
}
#saveLocationModal,#saveLocationBox{
 position:fixed!important;top:65px!important;bottom:auto!important;right:18px!important;left:auto!important;z-index:10000!important
}

.ew758-cyclone{width:26px;height:26px;border:3px solid #5be7ff;border-radius:50%;
 color:#eaffff;background:#06384a;box-shadow:0 0 5px #5be7ff,0 0 12px #20cfff;
 display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:900;
 cursor:pointer;pointer-events:auto}
#overlay .cyclone-marker,#overlay .cyclonemark{display:none!important}

.maplibregl-marker:has(.ew759-cyclone){z-index:20!important}

/* v7.6.0: tsunami threat markers only; informational earthquake bulletins remain earthquakes */

/* v7.6.1 MapLibre-owned USGS earthquake markers */
#overlay .eqmark{display:none!important}
.ew761-quake{box-sizing:border-box;border-radius:50%;background:#ffd044;
 border:2px solid rgba(255,255,255,.95);box-shadow:0 0 7px #ffd044,0 0 0 3px rgba(255,208,68,.14);
 cursor:pointer;pointer-events:auto}

/* v7.15.0 — overlapping-event chooser + enhanced severe-weather hierarchy */
#ewEventChooser{position:absolute;z-index:40;display:none;min-width:280px;max-width:390px;max-height:360px;overflow:auto;background:rgba(4,10,17,.97);border:1px solid #3b718e;box-shadow:0 10px 30px rgba(0,0,0,.55);padding:7px}
#ewEventChooser.open{display:block}.ewcHead{font-size:11px;font-weight:900;letter-spacing:1.2px;color:#aeeaff;padding:4px 6px 7px;border-bottom:1px solid #244354}.ewcItem{display:block;width:100%;height:auto;text-align:left;padding:8px;margin-top:5px;background:#0d1924;border:1px solid #2b4050;border-left:4px solid #58a6d8}.ewcItem:hover{background:#132838}.ewcItem.critical{border-left-color:#ff1744}.ewcItem.high{border-left-color:#ff8a1f}.ewcItem .t{font-size:12px;font-weight:900}.ewcItem .m{font-size:10px;color:#aeb9c8;margin-top:3px}.ew-pds-pulse{animation:ewPdsPulse 1.35s ease-in-out infinite}@keyframes ewPdsPulse{0%,100%{opacity:1}50%{opacity:.58}}

/* v7.15.1 severe alert visual hierarchy */
#majorAlert.pds{border:3px solid #ff1744!important;background:linear-gradient(135deg,rgba(45,2,10,.99),rgba(12,8,14,.99))!important;box-shadow:0 12px 44px rgba(0,0,0,.8),0 0 34px rgba(255,23,68,.55),inset 0 0 24px rgba(255,23,68,.12)!important;animation:ewPdsBanner 1.25s ease-in-out infinite}
#majorAlert.pds #maBadge{color:#fff!important;background:#ff1744;padding:5px 9px;border-radius:2px;font-size:14px!important}
#majorAlert.pds #maTitle{font-size:22px!important;text-transform:uppercase;letter-spacing:.5px}
#majorAlert.emergency{border:4px solid #ff00c8!important;background:repeating-linear-gradient(135deg,rgba(48,0,39,.99) 0,rgba(48,0,39,.99) 18px,rgba(18,2,20,.99) 18px,rgba(18,2,20,.99) 36px)!important;box-shadow:0 12px 48px rgba(0,0,0,.9),0 0 46px rgba(255,0,200,.72),inset 0 0 30px rgba(255,0,200,.18)!important;animation:ewEmergencyBanner .62s ease-in-out infinite}
#majorAlert.emergency #maBadge{color:#fff!important;background:#ff00c8;padding:6px 10px;border-radius:2px;font-size:15px!important;text-shadow:0 1px 2px #000}
#majorAlert.emergency #maTitle{font-size:25px!important;text-transform:uppercase;letter-spacing:.8px}
@keyframes ewPdsBanner{0%,100%{filter:brightness(1)}50%{filter:brightness(1.18)}}
@keyframes ewEmergencyBanner{0%,100%{filter:brightness(1)}50%{filter:brightness(1.28)}}

/* EarthWatch v7.16.0 — Data freshness / source health */
#dataHealthButton{cursor:pointer!important;user-select:none}.live.health-live{border-color:#55e28a!important;color:#55e28a!important;background:#10341f!important}.live.health-degraded{border-color:#ffd166!important;color:#ffd166!important;background:#352b0c!important;animation:ewHealthPulse 1.8s ease-in-out infinite}.live.health-error{border-color:#ff4d6d!important;color:#fff!important;background:#48101b!important;animation:ewHealthPulse 1s ease-in-out infinite}@keyframes ewHealthPulse{50%{box-shadow:0 0 13px currentColor}}
#dataHealthPanel{display:none;position:absolute;right:14px;top:62px;z-index:1600;width:390px;max-height:72vh;overflow:auto;background:rgba(3,13,20,.985);border:1px solid #2b7897;box-shadow:0 12px 38px #000;padding:12px;color:#dcecf3}#dataHealthPanel.open{display:block}.dhHead{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #17475c;padding-bottom:9px;margin-bottom:8px}.dhTitle{font-size:13px;font-weight:950;letter-spacing:.12em}.dhOverall{font-size:10px;font-weight:950;padding:4px 7px;border:1px solid currentColor}.dhRow{display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:8px 2px;border-bottom:1px solid #102e3c}.dhName{font-size:11px;font-weight:900;letter-spacing:.04em}.dhState{font-size:10px;font-weight:950}.dhMeta{grid-column:1/3;font-size:9px;color:#779bab}.dh-live{color:#55e28a}.dh-stale{color:#ffd166}.dh-error{color:#ff6179}.dh-waiting{color:#7fa2b1}.dhClose{height:26px!important;padding:0 8px!important}.dhFoot{padding-top:9px;color:#779bab;font-size:9px;line-height:1.45}
#sourceStatus{cursor:pointer}.sourceDegraded{color:#ffd166!important}.sourceError{color:#ff6179!important}

.situationComponentCard{margin:8px 0;padding:8px;border:1px solid #31485d;background:#091722;cursor:pointer}.situationComponentCard:hover{border-color:#35a7ff}.situationComponentCard span{color:#aeb9c8;font-size:11px}
