
:root{--bg:#04111d;--card:#0b2333;--card2:#09202e;--stroke:#235062;--text:#edf8ff;--muted:#a5bdcc;--aqua:#73ead7;--gold:#f3be5e}
*{box-sizing:border-box}body{margin:0;color:var(--text);background:radial-gradient(circle at 30% 0%,#10394b,#04111d 47%,#030a13);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5}
a{color:#87eee0}a:hover{color:#fff}.shell{max-width:1380px;margin:auto;padding:18px 22px 70px}.header{display:flex;align-items:center;gap:18px;justify-content:space-between;border:1px solid #214451;background:#091b29e8;padding:15px 20px;border-radius:18px;flex-wrap:wrap;position:relative;z-index:10}.brand{color:white;text-decoration:none;letter-spacing:.18em;font-weight:850}.brand small{display:block;font-size:9px;letter-spacing:.16em;color:#84a5b8;font-weight:500}.links{display:flex;flex-wrap:wrap;gap:12px}.links a{font-size:13px;text-decoration:none;color:#bcd9e1}.links a.active{color:var(--aqua);font-weight:700}
h1{font-size:clamp(30px,4vw,54px);line-height:1.12;margin:10px 0 14px}h2{font-size:22px;margin:4px 0 12px}.eyebrow{color:#79edd7;font-size:12px;letter-spacing:.16em;font-weight:850;text-transform:uppercase}.hero{padding:32px 4px 20px}.hero p{color:#b1c7d4;max-width:800px;margin:0}.cols{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:18px}.panel{border:1px solid #205061;background:linear-gradient(145deg,#092636,#081b2b);border-radius:18px;padding:18px;min-width:0}.map{height:530px;border-radius:13px;background:#0c2635;overflow:hidden;position:relative}.mapwarning{margin:8px 0;color:#ffcd8b}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.field{border:1px solid #315667;border-radius:10px;color:#efffff;background:#091a28;padding:10px 12px;font:inherit;max-width:100%}select.field{min-width:140px}button,.action{background:#124458;border:1px solid #347589;color:#fff;border-radius:10px;padding:10px 14px;cursor:pointer;text-decoration:none;font:inherit;font-size:13px}button:hover,.action:hover{background:#176478}button.active{background:#007d86}.info{color:#b9d0da;font-size:13px}.muted{color:var(--muted)}.count{font-size:24px;font-weight:800;color:#86f0dc}.item{border:1px solid #255267;background:#091e2e;border-radius:12px;padding:12px;margin:0 0 9px}.item b{display:block}.item small{color:#acc6d6}.item a{font-size:13px}.list{max-height:600px;overflow:auto;padding-right:4px}.pill{display:inline-block;border:1px solid #2d6c73;border-radius:30px;color:#9fe9dc;padding:4px 9px;font-size:11px}.foot{margin-top:24px;border-top:1px solid #274553;padding-top:18px;color:#a5bdcc;font-size:12px}.attribution{font-size:11px;margin-top:8px;color:#aec3cc}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#0a2231!important;color:#f0fdff!important}.leaflet-popup-content a{color:#73ead7}.leaflet-container{background:#0c2635!important}.statGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat{background:#0a2231;border:1px solid #255568;border-radius:12px;padding:14px}.stat b{display:block;font-size:24px}.stat small{color:#a6c5d4}.chart{display:grid;gap:9px;margin-top:12px}.bar{display:grid;grid-template-columns:110px minmax(0,1fr) 110px;align-items:center;gap:8px;font-size:12px}.bar .track{height:13px;background:#163342;border-radius:8px;overflow:hidden}.bar .fill{height:100%;background:linear-gradient(90deg,#0f8f92,#8af3d7)}
@media(max-width:900px){.cols{grid-template-columns:1fr}.map{height:460px}}@media(max-width:520px){.shell{padding:10px}.panel{padding:12px}.map{height:390px}.bar{grid-template-columns:85px minmax(0,1fr) 82px;font-size:10px}.statGrid{grid-template-columns:1fr}}

/* 3.4.1: clearer navigation and larger copy on all discovery pages */
body{font-size:16px}
.links{gap:9px;align-items:center}
.links a{font-size:16px;line-height:1.25;font-weight:750;display:inline-flex;align-items:center;padding:12px 17px;border:1px solid #326273;border-radius:12px;background:#103145;color:#eafaff;min-height:46px}
.links a.active{background:#126176;border-color:#5ce0d2;color:#fff;box-shadow:0 0 0 1px #3ebcbb inset}
.links a:hover{background:#18495a}
.brand{font-size:19px}.brand small{font-size:11px}
.hero p{font-size:17px}.info,.item a,button,.action{font-size:15px}.item b{font-size:16px}.item small{font-size:14px}
.featured{border:1px solid #3c887f;border-radius:14px;background:linear-gradient(120deg,#143b40,#0b263b);padding:15px;margin:12px 0 16px}
.featured strong{display:block;font-size:18px;margin-bottom:5px}.featured p{margin:0 0 12px;color:#c5e8e8;font-size:14px}.featured a{display:inline-block;background:#0f6570;color:#fff;text-decoration:none;font-weight:800;border-radius:10px;padding:11px 14px}
@media(max-width:640px){.header{align-items:flex-start}.links{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.links a{font-size:14px;justify-content:center;text-align:center;padding:12px 6px}.brand{font-size:17px}}

/* 3.4.3 offline SVG camera map; no Leaflet tile service required */
.camera-svg-map{height:auto!important;aspect-ratio:2/1;position:relative;overflow:hidden;background:#0b2a3c}
.camera-map-bg{display:block;width:100%;height:100%;object-fit:contain}
.camera-pins{position:absolute;inset:0}
.camera-pin{position:absolute;width:15px;height:15px;border:2px solid #ffe6a0;border-radius:50%;background:#26d7c5;transform:translate(-50%,-50%);box-shadow:0 0 0 4px #0d4c54bb,0 0 12px #f8d375;z-index:2}
.camera-pin:hover,.camera-pin:focus{width:22px;height:22px;outline:2px solid white;z-index:3}
@media(max-width:650px){.camera-pin{width:12px;height:12px}}

/* 3.4.4 Earth Live uses the same local vector world map as Cameras. */
.earth-pin{width:11px;height:11px;border:1px solid #ffe3a2;background:#18ccbe;box-shadow:0 0 4px #ffe3a2;z-index:2}
.earth-pin-quake{background:#ffd18c;border-color:#fff1b2;box-shadow:0 0 4px #e5bb69}
.earth-pin:hover,.earth-pin:focus{width:18px;height:18px;z-index:6}

/* 3.4.5: readable event detail dialog, no raw API links */
.event-modal[hidden]{display:none!important}.event-modal{position:fixed;inset:0;z-index:9999;background:#020b13d9;display:grid;place-items:center;padding:16px}.event-dialog{background:#092535;border:1px solid #3e8290;border-radius:18px;color:#eefaff;padding:24px;width:min(560px,100%);max-height:90vh;overflow-y:auto;box-shadow:0 20px 65px #0008}.event-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.event-dialog h2{margin:15px 0 18px}.detail-facts{display:grid;gap:10px;margin:0}.detail-line{display:grid;grid-template-columns:minmax(120px,40%) 1fr;gap:12px;padding:10px;border-radius:10px;background:#061b29}.detail-line dt{color:#a8cbd6}.detail-line dd{margin:0;font-weight:650;overflow-wrap:anywhere}.detail-source{margin-top:24px}.detail-source a{display:inline-block}.detail-button{display:block;margin-top:10px;background:transparent;border:0;padding:0;color:#80ebdd;text-decoration:underline;font-weight:650;font-size:14px}.detail-button:hover{background:transparent;color:white}.detail-open{overflow:hidden}@media(max-width:520px){.event-dialog{padding:17px}.detail-line{grid-template-columns:1fr;gap:2px}}
