:root{ --bg:#1a1620; --panel:#241f2c; --ink:#f2eef7; --muted:#b6acc4; --accent:#7c5cff; }
*{box-sizing:border-box}
html,body{margin:0;height:100%;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink)}
#map{position:absolute;inset:0;background:#0f0d14}

#panel{
  position:absolute;top:0;left:0;z-index:1000;width:320px;max-width:88vw;height:100%;
  background:var(--panel);overflow-y:auto;padding:14px 16px;
  box-shadow:2px 0 16px rgba(0,0,0,.4);transition:transform .25s ease;
}
#panel.hidden{transform:translateX(-100%)}
#panel header h1{font-size:16px;margin:0 0 2px}
#panel .sub{font-size:12px;color:var(--muted);margin:0 0 10px}
.stats{font-size:12px;background:#0000002e;border-radius:8px;padding:8px 10px;margin-bottom:12px;line-height:1.5}
.block{border-top:1px solid #ffffff14;padding:12px 0}
.block h2{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 8px}
.block.search{position:relative}
#search-input{width:100%;padding:9px 11px;border-radius:8px;border:1px solid #ffffff22;
  background:#0000002e;color:var(--ink);font-size:13px}
#search-input::placeholder{color:var(--muted)}
#search-input:focus{outline:none;border-color:var(--accent)}
#search-results{margin-top:6px;max-height:230px;overflow-y:auto}
#search-results .r{padding:7px 9px;border-radius:6px;cursor:pointer;font-size:13px;border-bottom:1px solid #ffffff0f}
#search-results .r:hover{background:#ffffff14}
#search-results .r b{display:block}
#search-results .r small{color:var(--muted)}
#search-results .r .tag{font-size:10px;padding:1px 6px;border-radius:8px;background:#ffffff1a;margin-left:6px}
#search-results .place{color:var(--accent);font-style:italic}
label{display:flex;align-items:center;gap:8px;font-size:13px;padding:4px 0;cursor:pointer}
label em{margin-left:auto;font-style:normal;color:var(--muted);font-size:12px}
.dot{width:12px;height:12px;border-radius:50%;display:inline-block;border:1px solid #0006;flex:none}
.d-src-ciu{background:#7c5cff}.d-src-kobo{background:#23c39b;border-radius:2px}.d-src-epi{background:#ffd23f;border-radius:50%}
.d-src-rep{background:#ff7b00;border-radius:50%}.d-src-fal{background:#c0392b;border-radius:0;height:3px;border:none}
.d-src-geo{background:transparent;border:2px dashed #7c5cff}
.d-src-lim{background:#ffe14d;border-radius:0;height:3px;border:none}
.d-src-cop{background:#003399;border:2px solid #fc0}
.d-src-grad{background:#ffd600;border:2px solid #ff1493}
/* Marcador de estructura señalada por Copernicus (pulsante, muy visible) */
.cop-grade-mk{width:16px;height:16px;border-radius:50%;background:var(--c,#ffd600);
  border:3px solid #ff1493;box-shadow:0 0 0 2px #fff,0 0 6px #000;position:relative}
.cop-grade-mk::after{content:"";position:absolute;inset:-3px;border-radius:50%;
  border:2px solid #ff1493;animation:coppulse 1.6s ease-out infinite}
@keyframes coppulse{0%{transform:scale(1);opacity:.9}100%{transform:scale(2.4);opacity:0}}
.d-src-hist{background:#fff;border:1px solid #c9a227;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.rep-fuerte-lbl,.hist-lbl{background:transparent;border:none;box-shadow:none;color:#fff;font-weight:700;font-size:11px;text-shadow:0 0 3px #000,0 0 3px #000}
.rep-fuerte-lbl{color:#ff5c77}
.leaflet-tooltip.rep-fuerte-lbl:before,.leaflet-tooltip.hist-lbl:before{display:none}
.tool{display:block;background:#ffffff10;border:1px solid #ffffff1f;border-radius:8px;
  padding:8px 10px;margin:6px 0;font-size:13px;color:var(--ink);text-decoration:none;cursor:pointer;width:100%;text-align:left}
.tool:hover{background:#ffffff1c}
/* Selector de descarga: fondo claro + texto oscuro = opciones legibles en todos los navegadores */
select.tool{background:#f2eef7;color:#1a1620;font-weight:600;cursor:pointer}
select.tool option{background:#fff;color:#1a1620}
.dl-head{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:12px 0 6px}
.dl-row{display:flex;gap:6px}
.dl-row .dl-btn{text-align:center}
footer{font-size:11px;color:var(--muted);border-top:1px solid #ffffff14;padding-top:10px;margin-top:6px;line-height:1.5}

#panel-toggle{position:absolute;top:10px;left:10px;z-index:1001;width:40px;height:40px;border:none;
  border-radius:8px;background:var(--panel);color:var(--ink);font-size:18px;cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,.4);display:none}
@media(max-width:720px){
  #panel{transform:translateX(-100%)}
  #panel.shown{transform:translateX(0)}
  #panel-toggle{display:block}
}

/* Popups */
.leaflet-popup-content{font-size:13px;line-height:1.45;margin:10px 12px}
.leaflet-popup-content h3{margin:0 0 4px;font-size:14px}
.leaflet-popup-content .meta{color:#555;font-size:12px}
.leaflet-popup-content img{width:100%;border-radius:6px;margin-top:6px}
.badge{display:inline-block;padding:1px 7px;border-radius:10px;font-size:11px;color:#fff;font-weight:600}
.tag-src{display:inline-block;font-size:10px;padding:1px 6px;border-radius:8px;background:#eee;color:#444;margin-left:4px}
.epi-label{background:#ffd23f;color:#1a1620;font-weight:700;border-radius:6px;padding:2px 6px;font-size:11px;white-space:nowrap}

/* Modal del gráfico magnitud–tiempo */
#chart-modal{position:fixed;inset:0;z-index:2000;background:#000a;display:flex;align-items:center;justify-content:center;padding:16px}
#chart-modal[hidden]{display:none}
.chart-box{background:#fff;border-radius:12px;max-width:880px;width:100%;max-height:92vh;overflow:auto;padding:14px 16px 12px;position:relative;box-shadow:0 10px 40px #000a}
#chart-hist{margin-top:8px;border-top:1px solid #eee;padding-top:6px}
#chart-close{position:absolute;top:8px;right:10px;border:none;background:#eee;border-radius:50%;width:30px;height:30px;cursor:pointer;font-size:15px}
#chart-svg svg{display:block}
#chart-legend{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:6px;font-size:12px;color:#333}
#chart-legend .lg{display:flex;align-items:center;gap:5px}
#chart-legend .lg .dot{width:12px;height:12px;border-radius:50%;border:1px solid #0006}
#chart-legend .lg-note{color:#a8000b;font-weight:600;flex-basis:100%}
#hyp-modal{position:fixed;inset:0;z-index:2100;background:#000b;display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}
#hyp-modal[hidden]{display:none}
.hyp-warn{background:#a8000b;color:#fff;border-radius:8px;padding:9px 12px;font-size:12px;line-height:1.45;margin:2px 0 12px}
#hyp-charts svg{margin-bottom:10px}
#hyp-text{font-size:13px;color:#222;line-height:1.5}
#hyp-text h3{margin:6px 0 4px;font-size:15px}
#hyp-text ul{margin:0;padding-left:18px}
#hyp-text b{color:#a8000b}
table.oaf{border-collapse:collapse;width:100%;font-size:12px;margin-top:3px}
table.oaf th,table.oaf td{border:1px solid #ddd;padding:3px 7px;text-align:center}
table.oaf th{background:#f3eef0;color:#7a0010}
table.oaf td:first-child,table.oaf th:first-child{text-align:left}
