#map{height:clamp(700px,86dvh,1100px)}
.timeline{background:rgba(15,54,75,.48);backdrop-filter:blur(3px);text-shadow:0 1px 3px #12394b}
.play{background:rgba(255,255,255,.88);text-shadow:none}
.panel-button{bottom:188px}.settings-button{bottom:121px}
.panel{bottom:252px;max-height:calc(100% - 100px);overflow:auto}
.settings{bottom:185px}.settings-body{padding:20px 18px 24px}
.settings fieldset{border:0;padding:0;margin:0 0 30px;min-width:0}.settings fieldset:last-child{margin-bottom:0}
.settings legend{font-size:14px;font-weight:600;margin-bottom:14px;padding:0;width:100%;display:flex;justify-content:space-between;gap:8px}
.settings output{color:#087eb8;white-space:nowrap;font-size:13px}
.map-types{display:grid;grid-template-columns:repeat(3,1fr);background:#edf2f5;padding:3px;border-radius:8px;gap:3px}
.map-types button{border:0;background:transparent;color:#36556b;padding:10px 3px;border-radius:6px;cursor:pointer;font:inherit;font-size:13px}
.map-types button[aria-pressed=true]{background:#fff;color:#007bb2;box-shadow:0 1px 5px #12374b24}
.settings input{width:100%;accent-color:#078ac3;cursor:pointer;margin:4px 0 10px}
.setting-ticks{display:flex;justify-content:space-between;color:#587085;font-size:11px}
button:focus-visible,input:focus-visible{outline:3px solid #14a2dd;outline-offset:3px}
.attribution{right:85px;bottom:102px}
.leaflet-image-layer.radar-image{transition:opacity 160ms linear}
@media(max-width:650px){#map{height:calc(100dvh - 76px);min-height:560px}.panel-button{bottom:179px}.settings-button{bottom:113px}.panel{bottom:242px}.settings{bottom:176px}.settings-body{padding:17px 16px 22px}.settings fieldset{margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){.leaflet-image-layer.radar-image{transition:none}}

.shell{margin:12px auto}.frame{isolation:isolate}
.map-header{position:absolute;left:0;right:0;top:0;z-index:790;height:52px;background:rgba(15,54,75,.40);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:space-between;padding:5px 25px 5px 20px;pointer-events:none}
.brand-logo{position:absolute;left:20px;top:3px;width:210px;height:96px;object-fit:contain;object-position:left center;filter:drop-shadow(0 1px 2px #ffffff80)}
.selected-layer{margin-left:auto;display:flex;align-items:center;gap:9px;color:#fff;text-shadow:0 1px 3px #12394b;font-size:14px}.selected-layer svg{width:23px;height:23px}
#map{height:clamp(750px,calc(100dvh - 26px),1200px)}
.zones{top:112px}.zoom{top:66px}
.legend-button{left:18px;right:auto;bottom:120px}.legend[hidden]{display:none}.legend{bottom:185px;left:18px}
.beta-setting{border-top:1px solid #e8eef2;padding-top:18px}.beta-setting label{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#173d57;font-size:14px;cursor:pointer}.settings .beta-setting input{width:39px;height:22px;flex:none;margin:0;accent-color:#078ac3;cursor:pointer}.beta-badge{display:inline-block;background:#e1f3fc;color:#087ab0;font-size:10px;font-weight:750;padding:3px 6px;border-radius:5px;margin-left:4px}
.radar-motion-canvas{position:absolute;pointer-events:none}
@media(max-width:650px){.shell{margin:0}.map-header{height:46px;padding:3px 12px}.brand-logo{left:12px;top:2px;width:156px;height:80px}.selected-layer{font-size:12px;max-width:48%;gap:6px}.selected-layer svg{width:19px;flex:none}#map{height:100dvh;min-height:630px}.zones{top:94px}.zoom{top:59px}.legend-button{left:10px;bottom:113px}.legend{left:10px;bottom:176px}}

.settings .beta-setting input{appearance:none;position:relative;width:40px;height:23px;border-radius:20px;background:#a7bac5;border:0;transition:background .15s}.settings .beta-setting input::before{content:"";position:absolute;width:17px;height:17px;left:3px;top:3px;background:white;border-radius:50%;transition:transform .15s;box-shadow:0 1px 3px #12374b33}.settings .beta-setting input:checked{background:#078ac3}.settings .beta-setting input:checked::before{transform:translateX(17px)}

/* Cabecera exterior. El selector interior sigue disponible. */
.site-map-header{display:flex;align-items:center;gap:28px;min-height:108px;padding:0 6px 10px;background:transparent}
.site-map-header .brand-logo{position:static;display:block;width:210px;height:96px;object-fit:contain;object-position:left center;flex:0 0 210px;filter:none}
.future-map-menu{flex:1;min-width:0;align-self:stretch}
.map-header{padding-left:20px}
.zones{top:66px}
#map{height:clamp(700px,calc(100dvh - 140px),1200px)}
@media(max-width:650px){.site-map-header{gap:14px;min-height:90px;padding:3px 12px 7px}.site-map-header .brand-logo{width:156px;height:80px;flex-basis:156px}.zones{top:59px}#map{height:calc(100dvh - 90px);min-height:590px}}

.wind-canvas{position:absolute;pointer-events:none}
.wind-options{position:absolute;z-index:800;left:16px;top:123px;display:flex;align-items:center;gap:14px;padding:9px 11px;background:rgba(34,72,92,.73);color:white;backdrop-filter:blur(3px);border-radius:9px;box-shadow:0 2px 9px #12374b22;font-size:12px}
.wind-options[hidden],#menu-root[hidden],#menu-atmosphere[hidden]{display:none}
.wind-options label{display:flex;align-items:center;gap:6px;cursor:pointer}.wind-options input{accent-color:#16a4d7;width:17px;height:17px;margin:0}
.wind-options select{font:inherit;color:#fff;background:#205878;border:1px solid #ffffff60;border-radius:5px;padding:4px 5px;max-width:130px}.wind-options option{background:#fff;color:#173d57}
.wind-legend-scale{width:205px;height:9px;background:linear-gradient(90deg,#1e4b8c,#1d92b6,#36b8a4,#7cc96c,#d5d650,#f3a137,#e15338,#b42d66,#692d89);border-radius:4px}.menu-back{font-size:13px;border-bottom:1px solid #eaf0f4}
@media(max-width:650px){.wind-options{left:8px;top:137px;gap:8px;padding:7px;font-size:11px;max-width:calc(100% - 16px);flex-wrap:wrap}.wind-options select{max-width:110px}}
.timeline-top span{max-width:52%;text-align:right;font-size:10px}
.attribution{max-width:calc(100% - 175px);line-height:1.3}

.wind-legend-scale{background:linear-gradient(90deg,#273c92,#2474bd,#14c5ae,#1ce84a,#83ee16,#f7ef0b,#ff9d18,#ef4541,#b62c97)}
.wind-active #map{cursor:crosshair}
.wind-point-popup .leaflet-popup-content-wrapper{background:rgba(12,65,91,.96);color:#fff;border-radius:11px;box-shadow:0 5px 24px #06283a55}.wind-point-popup .leaflet-popup-tip{background:rgba(12,65,91,.96)}.wind-point-popup a.leaflet-popup-close-button{color:#fff;right:4px;top:3px}.wind-point-popup .leaflet-popup-content{margin:12px 14px 0;min-width:175px}.point-card{display:flex;flex-direction:column;gap:4px}.point-card-title{font-size:12px;font-weight:650}.point-card strong{font-size:23px;line-height:1.2}.point-card-direction{font-size:12px}.point-card small{font-size:10px;opacity:.85;margin-bottom:8px}.point-card button{margin:0 -14px;width:calc(100% + 28px);padding:10px 14px;border:0;border-top:1px solid #ffffff30;border-radius:0 0 11px 11px;background:#087daf;color:white;text-align:left;font:inherit;font-weight:650;cursor:pointer}.point-card button:hover{background:#0797ca}
.point-dialog{position:fixed;inset:0;z-index:5000;background:rgba(8,32,49,.38);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px}.point-dialog[hidden]{display:none}.point-dialog-open{overflow:hidden}.point-dialog-card{position:relative;width:min(780px,100%);max-height:calc(100dvh - 40px);overflow:auto;background:white;border-radius:18px;padding:25px 26px;color:#193e55;box-shadow:0 15px 70px #0e2b4866}.point-close{position:absolute;top:16px;right:16px;border:1px solid #e1ebf0;border-radius:50%;background:white;color:#078fc6;width:35px;height:35px;font-size:25px;cursor:pointer}.point-eyebrow{font-size:10px;color:#4a8ba8;letter-spacing:.1em;font-weight:750}.point-dialog h2{font-size:22px;margin:8px 45px 4px 0}.point-coordinate{margin:0;color:#627f90;font-size:13px}.point-toolbar{display:flex;gap:18px;margin:20px 0 12px}.point-toolbar label{display:flex;align-items:center;gap:8px;color:#5b778b;font-size:12px}.point-toolbar select{font:inherit;font-size:13px;color:#19516e;background:white;border:1px solid #cddfe9;border-radius:7px;padding:8px}.point-readout{font-size:13px;min-height:20px;color:#175678}.point-summary{font-size:13px;font-weight:650;padding-top:12px;border-top:1px solid #e8f0f4}.point-credit{font-size:11px;color:#6c8492;line-height:1.5;margin-bottom:0}#point-chart svg{display:block;width:100%;height:auto}#point-status{font-size:13px;color:#5b778b}#point-status:empty{display:none}
@media(max-width:650px){.point-dialog{padding:10px}.point-dialog-card{padding:22px 14px;max-height:calc(100dvh - 20px);border-radius:13px}.point-toolbar{gap:10px;flex-wrap:wrap}.point-toolbar label{gap:5px}.point-readout{font-size:12px}.point-dialog h2{font-size:20px}}

.geography-canvas{position:absolute;pointer-events:none}

.temp-legend-scale{width:205px;height:9px;border-radius:4px;background:linear-gradient(90deg,#5d3b92,#554caa,#3a71c5,#2da5d3,#2ec0c5,#4cc58d,#84ce60,#c9d855,#f7cd48,#f79f3b,#ea653c,#d3394d,#af286a,#6f2a7c)}

.model-legend-scale{width:205px;height:9px;border-radius:4px}.model-legend-ticks{position:relative;height:15px;margin-top:3px}.model-legend-ticks span{position:absolute;font-size:10px;white-space:nowrap}

.entry .icon{display:flex;align-items:center;justify-content:center;flex:none}.selected-layer>svg{flex:none}

/* Símbolos: misma cartografía y posiciones del mapa integrado. */
#symbol-zones[hidden],#map-zones[hidden],.symbols-options[hidden]{display:none}
.symbols-options{position:absolute;z-index:800;left:16px;top:123px;display:flex;align-items:center;gap:14px;padding:9px 11px;background:rgba(34,72,92,.73);color:#fff;backdrop-filter:blur(3px);border-radius:9px;box-shadow:0 2px 9px #12374b22;font-size:12px;max-width:calc(100% - 100px)}
.symbols-options label{display:flex;align-items:center;gap:7px}.symbols-options select{font:inherit;color:#fff;background:#205878;border:1px solid #ffffff60;border-radius:5px;padding:5px 7px;max-width:230px;min-width:0}.symbols-options option{background:#fff;color:#173d57}
.symbols-marker{background:none;border:0}.symbols-pin{text-align:center;line-height:1.15;cursor:pointer;filter:drop-shadow(0 2px 2px #12374845)}.symbols-pin img{display:block;width:var(--symbol-icon,43px);height:var(--symbol-icon,43px);margin:0 auto 1px;object-fit:contain}.symbols-pin strong{display:table;margin:1px auto;padding:3px 5px;border-radius:5px;background:#fffffff0;color:#173d57;font-size:var(--symbol-name,11px);max-width:100%;font-weight:700}
.symbols-popup-weather{display:flex;align-items:center;gap:10px;margin:4px 0}.symbols-popup-weather img{width:48px;height:48px;object-fit:contain}.symbols-popup-weather strong{font-size:15px;max-width:175px;line-height:1.3}
.symbols-legend-items{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:7px;width:205px}.symbols-legend-items span{display:flex;align-items:center;gap:4px;font-size:10px}.symbols-legend-items img{width:25px;height:25px;object-fit:contain}
.symbols-detail-day{margin:20px 0}.symbols-detail-day h3{text-transform:capitalize;font-size:15px;margin:0 0 10px}.symbols-detail-periods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.symbols-detail-period{padding:13px 10px;background:#f2f7fa;border:1px solid #e4edf2;border-radius:11px;text-align:center}.symbols-detail-period h4{font-size:13px;margin:0 0 2px;color:#0b729d}.symbols-detail-period small{color:#668192;font-size:11px}.symbols-detail-period>img{display:block;width:60px;height:60px;margin:9px auto 4px;object-fit:contain}.symbols-weather-label{display:block;font-size:12px;min-height:32px}.symbols-detail-period p{font-size:11px;margin:7px 0 0}.symbols-detail-period .symbols-temperature{font-size:19px;font-weight:700;color:#0b729d}
#symbols-dialog .point-dialog-card{width:min(820px,100%)}
@media(max-width:650px){.symbols-options{left:8px;top:120px;padding:7px;gap:7px;max-width:calc(100% - 65px);flex-wrap:wrap}.symbols-options label{font-size:11px;gap:5px}.symbols-options select{max-width:210px;font-size:11px}.symbols-detail-periods{gap:6px}.symbols-detail-period{padding:10px 5px}.symbols-detail-period h4{font-size:12px}.symbols-detail-period small{font-size:10px}.symbols-weather-label{font-size:11px;min-height:40px}.symbols-detail-period p{font-size:10px}.symbols-detail-period .symbols-temperature{font-size:16px}.symbols-detail-period>img{width:48px;height:48px}}
@media(max-width:380px){.symbols-detail-periods{grid-template-columns:1fr}.symbols-weather-label{min-height:0}.symbols-detail-period>img{width:55px;height:55px}}
.panel:not(.settings){max-height:calc(100% - 272px)}
.panel:not(.settings)>header{position:sticky;top:0;z-index:1;background:#fff}
@media(max-width:650px){.panel:not(.settings){max-height:calc(100% - 262px)}}
@media(max-width:650px){.symbols-active #symbol-zones{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);right:65px}.symbols-options label{max-width:100%}.symbols-options select{flex:1}}
.symbols-pin-national strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.15;max-height:2.8em}
.symbols-national-loading{font-size:10px;white-space:nowrap;opacity:.9}.symbols-national-loading[hidden]{display:none}
/* Los tres fondos son relieve sin textos; los rótulos pertenecen a MeteoElx. */
.clean-base-v15-light{filter:grayscale(1) brightness(1.13) contrast(.62)}
.clean-base-v15-dark{filter:grayscale(1) invert(1) brightness(.68) contrast(.82)}
.clean-base-v15-terrain{filter:none}
.place-marker,.place-label{pointer-events:none!important}.place-label{position:relative;white-space:nowrap;line-height:1.3;font-weight:600;color:#fff;text-shadow:-1px -1px 1px #102e3c,1px -1px 1px #102e3c,-1px 1px 1px #102e3c,1px 1px 1px #102e3c,0 0 3px #102e3c;display:flex;align-items:center;gap:5px}.place-name{display:block;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 10px)}.place-major{font-weight:800}.place-dot{display:block;flex:none;width:4px;height:4px;background:#fff;border:1px solid #173d4c;border-radius:50%}.symbol-weather-slot{display:block;width:var(--symbol-icon,43px);height:var(--symbol-icon,43px);margin:0 auto 1px}
.place-marker16{cursor:pointer;background:transparent;border:0;outline-offset:3px}
.place-label16{position:relative;display:flex;align-items:center;gap:5px;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;white-space:nowrap;line-height:1.3;font-weight:600;color:#fff;text-shadow:-1px -1px 1px #102e3c,1px -1px 1px #102e3c,-1px 1px 1px #102e3c,1px 1px 1px #102e3c,0 0 3px #102e3c;user-select:none}
.place-weather16{position:absolute;left:-15px;bottom:calc(50% + 7px);width:36px;height:36px;max-width:none;object-fit:contain;filter:drop-shadow(0 1px 1px #28465c50)}
.selection-pin16{background:transparent;border:0;filter:drop-shadow(0 2px 3px #163a5060)}.selection-pin16 svg{display:block;width:28px;height:39px}
.point-forecast{position:absolute;right:84px;bottom:108px;z-index:880;width:420px;max-width:calc(100% - 100px);max-height:calc(100% - 175px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;background:#fff;color:#264e66;border-radius:13px;padding:17px 20px 13px;box-shadow:0 5px 26px #12374b40}
.point-forecast[hidden]{display:none}.forecast-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.forecast-heading h2{font-size:18px;font-weight:750;margin:3px 0 0;line-height:1.3;overflow-wrap:anywhere}.forecast-heading button{display:grid;place-items:center;flex:none;border:1px solid #e6edf1;background:#fff;color:#008cc7;width:31px;height:31px;border-radius:50%;font-size:24px;line-height:1;cursor:pointer}
.forecast-snapshot{font-size:11px;line-height:1.5;color:#537588;margin:0 0 10px}.forecast-snapshot:empty{display:none}.forecast-status{font-size:12px;color:#55798b;margin:8px 0}.forecast-status:empty{display:none}
.forecast-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;margin:8px -5px 10px}.forecast-day-card{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;padding:5px 2px 4px;background:transparent;border:0;border-radius:7px;color:#2d596f;font:inherit;font-size:11px;cursor:pointer}.forecast-day-card:hover,.forecast-day-card.active{background:#edf7fc}.forecast-day-card img{display:block;object-fit:contain;width:31px;height:31px}.forecast-day-temperatures{display:flex;gap:5px;white-space:nowrap;font-size:12px}.forecast-day-temperatures b{color:#dc3b3b;font-weight:600}.forecast-day-temperatures i{color:#0789bc;font-style:normal;font-weight:600}
.forecast-controls{display:flex;align-items:center;justify-content:space-between;gap:8px}.forecast-controls select,.forecast-date{border:1px solid #e2eaf0;border-radius:7px;background:#fff;color:#315d75;padding:6px 9px;font:inherit;font-size:12px;min-height:31px;max-width:55%}.forecast-shortcuts{display:flex;gap:8px}.forecast-shortcuts button{border:0;background:transparent;padding:7px 0;color:#6e8594;font:inherit;font-size:12px;cursor:pointer}.forecast-shortcuts button[aria-pressed=true]{color:#0089c0;font-weight:750}.forecast-date{display:block;max-width:100%;border:0;min-height:20px;padding:3px 0 0;font-size:11px;margin-top:2px;color:#6b8797}
#forecast-chart svg{display:block;width:100%;height:auto;overflow:visible}.forecast-chart-legend{text-align:center;color:#38738a;font-size:11px;white-space:pre-wrap;margin:0 0 8px}.forecast-readout{font-size:11px;font-variant-numeric:tabular-nums;color:#2d6079;margin:6px 0;min-height:16px}.forecast-credit{font-size:9px;color:#7c919e;margin:6px 0 0;line-height:1.45}
.point-forecast button:focus-visible,.point-forecast select:focus-visible{outline:2px solid #149dcd;outline-offset:2px}
@media(max-width:700px){.point-forecast{right:72px;bottom:101px;width:390px;max-width:calc(100% - 84px);max-height:calc(100% - 182px);padding:13px 16px 11px;border-radius:12px}.forecast-heading{margin-bottom:4px}.forecast-heading h2{font-size:16px}.forecast-days{margin:5px -5px 8px}.forecast-day-card{gap:2px}.forecast-day-card img{width:28px;height:28px}.forecast-day-temperatures{font-size:11px}.forecast-credit{font-size:9px}}
