:root{color-scheme:dark;--navy:#04172f;--deep:#061c38;--panel:#082b50;--panel-2:#0a335c;--line:#35678f;--ice:#eaf8ff;--muted:#9dc6e9;--accent:#248fff;--accent-light:#6fd3ff;--shadow:0 22px 52px rgba(0,9,25,.4);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#03152c;color:var(--ice)}button,input{font:inherit}button{color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #87e4ff;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.6}a{color:inherit;text-decoration:none}[hidden]{display:none!important}
.topbar{height:74px;background:linear-gradient(100deg,#061a35 0%,#082f54 55%,#03162e 100%);border-bottom:1px solid #174c7e;display:flex;align-items:center;gap:24px;padding:0 27px;position:relative;z-index:80;box-shadow:0 5px 25px #00102788}
.brand{display:flex;align-items:center;gap:14px;flex-shrink:0}.brand-logo{width:58px;height:51px;filter:drop-shadow(0 3px 9px #008eff55)}.brand-copy{display:flex;flex-direction:column;line-height:1.18}.brand-copy strong{font-size:clamp(18px,1.65vw,26px);font-weight:750;letter-spacing:-.7px;white-space:nowrap}.brand-copy strong span{color:#65bdff}.brand-copy small{font-size:12px;color:#75b9e8;margin-top:3px}
.main-nav{display:flex;gap:9px;margin:0 auto}.nav-link{display:flex;align-items:center;gap:9px;border:1px solid transparent;border-radius:9px;padding:11px 16px;background:transparent;color:#d0e9fa;font-size:14px;font-weight:600;white-space:nowrap}.nav-link span{font-size:22px;font-weight:400;line-height:1}.nav-link.active,.nav-link:hover{border-color:#1c5388;background:linear-gradient(140deg,#135a9f,#0c3f75);color:white}
.top-actions{display:flex;align-items:center;gap:12px}.icon-button{background:transparent;border:0;display:grid;place-items:center;border-radius:10px;width:38px;height:40px}.icon-button:hover,.help-link:hover{background:#124b7a}.icon-button svg{width:21px;height:21px;stroke:#e9f7ff;fill:none;stroke-width:1.8;stroke-linecap:round}.help-link{border:1px solid #37678b;background:#082849;border-radius:9px;padding:10px 13px;color:#cae6f6;font-size:12px;white-space:nowrap}
.viewer-shell{height:calc(100dvh - 74px);min-height:700px;display:flex;flex-direction:column;overflow:hidden;background:#041a34}.map-stage{position:relative;flex:1;min-height:520px;overflow:hidden;isolation:isolate;background:#041831}.map-backdrop{position:absolute;inset:0;background:radial-gradient(ellipse at 64% 45%,#123f6a 0%,#08294d 45%,#031329 88%)}
.map-graphics{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:pan-x pan-y}.map-art{width:900px;height:675px;position:relative;flex-shrink:0;transform-origin:center center;will-change:transform;user-select:none}.map-art>img{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}.data-heat,.stations,.isobars{position:absolute;inset:0;pointer-events:none}.data-heat{mix-blend-mode:screen;opacity:.55}.isobars{width:100%;height:100%;overflow:visible;opacity:.9}.isobars path{stroke:#e2f9ff;fill:none;stroke-width:2.2;stroke-dasharray:8 4;filter:drop-shadow(0 1px 2px #001a40)}.isobars text{fill:#f3ffff;font-size:22px;font-weight:700;paint-order:stroke;stroke:#092e53;stroke-width:6}.stations{z-index:2}
.layers-panel{position:absolute;top:26px;left:16px;bottom:31px;width:238px;max-height:656px;z-index:21;border:1px solid #3a729c;background:linear-gradient(152deg,rgba(11,52,93,.97),rgba(3,29,58,.98));border-radius:16px;padding:15px 13px;box-shadow:0 16px 40px #00152a80;display:flex;flex-direction:column}.panel-title{display:flex;gap:11px;align-items:center;font-size:19px;font-weight:730;padding:3px 9px 15px}.panel-title-icon{font-size:25px;color:#dcefff}.layers-list{overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#31658e transparent;min-height:0}.layer-button{width:100%;display:flex;align-items:center;gap:13px;padding:10px 10px;min-height:43px;background:transparent;border:1px solid transparent;border-bottom:1px solid rgba(121,166,201,.18);border-radius:7px;text-align:left;color:#d0e6f9;font-weight:530;font-size:13px}.layer-button:hover{background:#18558a99}.layer-button.selected{background:linear-gradient(105deg,#0b66d0,#238ffc);border:1px solid #65b8ff;box-shadow:inset 0 0 0 1px #2f85ff,0 5px 14px #0065d64c;color:white;font-weight:700}.layer-symbol{width:23px;height:23px;display:grid;place-items:center;font-size:21px;font-weight:400;flex-shrink:0}.layers-foot{display:flex;align-items:center;gap:8px;border-top:1px solid #35658b;margin:10px 1px 0;padding:13px 7px 2px;font-size:11px;color:#d2e6f5;flex-wrap:wrap}.layers-foot small{font-size:10px;color:#8bacc9;margin-left:17px}.online-dot{width:7px;height:7px;border-radius:50%;background:#47cbff;box-shadow:0 0 12px #30bafb}
.viewer-toolbar{position:absolute;left:50%;transform:translateX(-44%);top:17px;display:flex;align-items:center;gap:12px;z-index:50;max-width:calc(100% - 540px)}.button-surface{border:1px solid #326c9b;background:linear-gradient(140deg,#0d3963ee,#08294bee);border-radius:11px;box-shadow:0 7px 25px #00162a7a;backdrop-filter:blur(12px)}.dropdown-trigger{min-height:53px;min-width:190px;padding:8px 14px;display:flex;gap:12px;align-items:center;text-align:left}.dropdown-trigger:hover,.dropdown-trigger[aria-expanded=true]{border-color:#74c6ff;background:#164e81}.select-icon{width:28px;text-align:center;font-size:24px;color:#e2f7ff;font-weight:400}.select-copy{display:flex;flex:1;flex-direction:column;line-height:1.35;min-width:0}.select-copy small{font-size:11px;color:#93d9ff}.select-copy strong{font-size:13px;font-weight:700;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.chevron{color:#c2ebff;font-size:21px;margin-left:auto}.mobile-layers,.close-mobile{display:none}
.map-brand{position:absolute;top:22px;left:276px;z-index:12;letter-spacing:.14em;font-size:10px;font-weight:760;color:#7acbff;opacity:.9}.mini-globe{font-size:14px;color:#65c7ff}.map-brand-line{color:#226295;margin:0 7px}.demo-banner{position:absolute;left:280px;bottom:22px;z-index:12;background:#061b35e8;color:#dceeff;border:1px solid #2f6b98;border-radius:7px;padding:9px 12px;font-size:10px;font-weight:800;letter-spacing:.09em;display:flex;gap:8px;align-items:center}.demo-banner span:last-child{color:#9bb5c9;font-weight:500;letter-spacing:0}.demo-pulse{width:7px;height:7px;border-radius:100%;background:#ffb850;box-shadow:0 0 11px #ffc44e}
.map-zoom{position:absolute;right:20px;top:23px;z-index:12;display:flex;flex-direction:column;gap:1px;filter:drop-shadow(0 6px 15px #00152aa0)}.map-zoom button{height:41px;width:43px;border:1px solid #31719c;background:#07274bdf;color:#e6faff;font-size:24px;font-weight:500}.map-zoom button:first-child{border-radius:12px 12px 0 0}.map-zoom button:nth-child(2){border-radius:0 0 12px 12px}.map-zoom button:last-child{border-radius:11px;margin-top:8px;font-size:30px}.map-zoom button:hover{background:#155b98}
.legend-panel{position:absolute;right:19px;bottom:20px;width:255px;z-index:16;background:linear-gradient(145deg,rgba(6,36,69,.97),rgba(4,26,54,.98));border:1px solid #367baa;border-radius:13px;padding:13px 15px;box-shadow:var(--shadow);color:#f1f9ff}.legend-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.legend-head strong{font-size:13px}.legend-head span{font-size:10px;color:#8bc8f5}.legend-grad{height:13px;border-radius:5px;margin:13px 0 5px;background:linear-gradient(to right,#6240d5,#008fef,#19d0d8,#6ce36e,#f5e954,#ff9a27,#ee4e5b)}.legend-ticks{display:flex;justify-content:space-between;color:#b5cbe0;font-size:10px}.legend-line{height:1px;background:#285176;margin:13px 0}.legend-icons{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;text-align:center}.legend-icons .legend-ico{display:flex;align-items:center;flex-direction:column;gap:0;font-size:10px;color:#dbefff}.legend-ico svg{width:32px;height:34px}.legend-note{font-size:10px;color:#afcce4;line-height:1.5;display:flex;align-items:center;gap:8px}.legend-note strong{color:#edfaff}.legend-footer{font-size:10px;color:#9bc1df;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.legend-footer span:first-child{color:#ffc06c}
.map-hint{position:absolute;left:50%;transform:translateX(-50%);bottom:19px;color:#bfd5e6;background:#031d39d9;border-radius:16px;border:1px solid #2d577a;padding:6px 12px;font-size:10px;z-index:11;white-space:nowrap}.map-hint span{color:#729bbf}
.station-marker{border:0;background:transparent;position:absolute;display:flex;align-items:center;gap:4px;min-width:80px;padding:0 2px;transform:translate(-50%,-50%);color:#f4faff;text-shadow:0 2px 4px #00152b,0 0 2px #00152b;pointer-events:auto;filter:drop-shadow(0 3px 5px #061a3a66);transition:filter .15s}.station-marker:hover,.station-marker:focus-visible{z-index:10;filter:drop-shadow(0 0 10px #7dccff);outline-offset:4px}.station-symbol{width:45px;height:42px;flex-shrink:0}.station-symbol svg{height:100%;width:100%;overflow:visible}.station-content{display:flex;flex-direction:column;align-items:flex-start;white-space:nowrap}.station-city{font-size:12px;font-weight:650;line-height:1.22}.station-value{font-size:22px;line-height:1.07;font-weight:850;letter-spacing:-1px}.station-marker.compact{min-width:0;gap:0;flex-direction:column;align-items:center;padding:0}.station-marker.compact .station-symbol{width:43px;height:37px}.station-marker.compact .station-city{display:none}.station-marker.compact .station-content{align-items:center}.station-marker.compact .station-value{font-size:18px}.station-marker.numeric{min-width:auto;display:flex;align-items:center;gap:4px;background:rgba(5,27,57,.55);border:1px solid #70bff6a6;border-radius:7px;padding:5px 7px}.station-marker.numeric .station-value{font-size:17px;letter-spacing:-.6px}.station-marker.numeric .station-city{font-size:10px}.value-spot{width:7px;height:7px;background:#9bd8ff;border:1px solid white;border-radius:100%;box-shadow:0 0 8px #25a9ff;flex-shrink:0}.wind-arrow{color:#86ecff;font-size:21px;line-height:1;display:inline-block}.station-marker.hide-names .station-city{display:none}.station-marker.hide-icons .station-symbol{display:none}
.station-popover{position:absolute;z-index:40;right:20px;top:190px;width:255px;border:1px solid #78bffc;border-radius:13px;padding:14px 16px;background:#062440f7;box-shadow:var(--shadow)}.station-popover>button{position:absolute;right:9px;top:7px;border:0;background:transparent;font-size:19px}.station-popover h3{margin:2px 28px 5px 0;font-size:17px}.station-popover p{color:#a8d3ee;font-size:11px;margin:0 0 10px}.station-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #204867;font-size:12px}.station-row b{color:#e9f9ff}.station-disclaimer{margin-top:10px;color:#ffc37c;font-size:10px}
.quick-panel{position:relative;z-index:23;min-height:110px;display:flex;align-items:stretch;gap:15px;padding:11px 16px;border-top:1px solid #1b5481;background:linear-gradient(100deg,#051c37 0%,#06274b 60%,#061a35 100%);box-shadow:0 -8px 30px #041a34a1}.quick-intro{display:flex;align-items:center;gap:12px;min-width:237px;padding:8px 9px}.quick-intro .quick-pin{font-size:35px;color:#c6eaff}.quick-intro div{display:flex;flex-direction:column;gap:6px}.quick-intro strong{font-size:17px}.quick-intro small{color:#9ac2de;font-size:11px}.quick-scroll{display:flex;gap:10px;align-items:stretch;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#26608e #06213d;min-width:0;flex:1;padding-bottom:2px}.quick-card{position:relative;overflow:hidden;flex:0 0 176px;min-height:83px;border:1px solid #336c94;background:linear-gradient(100deg,#143f69,#072845);border-radius:12px;text-align:left;padding:12px;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate}.quick-card:before{content:"";position:absolute;inset:0;background-image:var(--tile-image);background-size:cover;background-position:center;opacity:.45;z-index:-2}.quick-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#031f3eea,#051d3e14);z-index:-1}.quick-card strong{font-size:13px;text-shadow:0 2px 5px #001d35}.quick-card small{font-size:11px;color:#d3edff;margin-top:4px}.quick-card.active,.quick-card:hover{border-color:#8ed8ff;box-shadow:inset 0 0 0 1px #3aa1ec,0 4px 12px #008bee4a}.quick-arrow{position:absolute;right:11px;bottom:12px;color:#d9f1ff;font-size:19px}
.dropdown-portal{position:fixed;z-index:2147483000;width:255px;max-height:min(550px,calc(100dvh - 32px));overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#4680a8 #082543;border:1px solid #79bffc;border-radius:12px;background:#071e3c;box-shadow:0 24px 65px #000b20eb,0 0 0 2px #053e734f;padding:6px;color:#f4f9ff}.menu-group{font-size:10px;color:#7ab9e8;font-weight:850;text-transform:uppercase;letter-spacing:.08em;padding:10px 10px 5px}.menu-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;border-radius:6px;background:#071e3c;padding:9px 11px;min-height:36px;text-align:left;font-size:13px;color:#dfedff}.menu-item:hover,.menu-item:focus-visible{background:#164d82}.menu-item.selected{background:#146aca;color:white;font-weight:750}.menu-item .check{color:#7ed1ff}.menu-search{width:calc(100% - 10px);margin:5px;padding:10px 11px;border:1px solid #326b94;border-radius:8px;background:#061a34;color:#e6f4ff;outline:none;font-size:12px}.menu-search:focus{border-color:#8bd7ff}.menu-empty{padding:20px 10px;color:#a3c5dc;font-size:12px}.menu-note{font-size:10px;color:#8baec8;border-top:1px solid #234c75;margin-top:7px;padding:10px 7px}
.overlay-dimmer{position:fixed;inset:0;background:#001324a6;z-index:9000;backdrop-filter:blur(2px)}.dialog{position:fixed;z-index:9001;top:50%;left:50%;transform:translate(-50%,-50%);width:min(440px,calc(100vw - 28px));background:linear-gradient(150deg,#092f54,#041c37);border:1px solid #4e93bf;border-radius:17px;padding:22px;box-shadow:0 28px 75px #001020ee}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.dialog h2{font-size:20px;margin:0}.dialog p{color:#c5dfef;font-size:13px;line-height:1.7}.dialog-close{border:0;background:#123e68;border-radius:8px;padding:7px 11px}.setting-line{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid #28567b}.setting-line span{display:flex;flex-direction:column;gap:3px}.setting-line strong{font-size:13px}.setting-line small{font-size:11px;color:#aac9e0}.setting-line input{accent-color:#2c9ffd;width:18px;height:18px}.settings-note{font-size:11px!important;color:#9abbd6!important}.primary-button{border:1px solid #62b9fa;background:linear-gradient(110deg,#086cce,#2694fe);border-radius:9px;padding:10px 18px;font-weight:750;margin-top:8px}.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,100px);opacity:0;pointer-events:none;z-index:2147483500;background:#092f55;border:1px solid #64b8f0;border-radius:11px;padding:11px 18px;color:#e6f5ff;font-size:13px;box-shadow:var(--shadow);transition:transform .2s,opacity .2s}.toast.visible{transform:translate(-50%,0);opacity:1}
@media(max-width:1250px){.brand-copy strong{font-size:19px}.nav-link{padding:10px}.topbar{gap:10px;padding:0 16px}.layers-panel{width:209px}.layer-button{min-height:39px;padding:8px 9px}.viewer-toolbar{max-width:calc(100% - 350px);transform:translateX(-40%)}.dropdown-trigger{min-width:160px;padding:7px 10px}.map-brand{left:237px}.demo-banner{left:237px}.quick-intro{min-width:205px}.quick-card{flex-basis:158px}}
@media(max-width:1000px){.topbar{height:65px}.brand-logo{width:43px}.brand-copy strong{font-size:18px}.brand-copy small{font-size:10px}.nav-link:not(.active){display:none}.help-link{display:none}.viewer-shell{height:calc(100dvh - 65px)}.layers-panel{left:-260px;top:0;bottom:0;max-height:none;border-radius:0 14px 14px 0;transition:left .2s;z-index:100;width:255px}.layers-panel.open{left:0}.mobile-layers,.close-mobile{display:flex;align-items:center;justify-content:center}.mobile-layers{padding:12px 14px;font-size:13px;font-weight:700}.close-mobile{border:0;background:transparent;margin-left:auto}.viewer-toolbar{left:15px;transform:none;max-width:calc(100% - 84px);gap:7px}.dropdown-trigger{min-width:150px}.map-brand{left:17px;top:86px}.demo-banner{left:18px}.quick-intro{min-width:180px}.map-hint{display:none}}
@media(max-width:700px){.topbar{padding:0 12px}.brand{gap:6px}.brand-logo{width:39px}.brand-copy strong{font-size:15px}.brand-copy small{font-size:9px}.nav-link{display:none!important}.top-actions{margin-left:auto;gap:1px}.icon-button{width:34px}.viewer-shell{min-height:0;height:calc(100dvh - 65px)}.map-stage{min-height:330px}.map-graphics[data-area='europe']{align-items:flex-start;padding-top:103px}.viewer-toolbar{left:8px;right:8px;max-width:none;top:8px;justify-content:stretch;gap:4px}.mobile-layers{padding:8px;font-size:20px;min-width:38px}.mobile-layers span{display:none}.dropdown-trigger{flex:1;min-width:0;min-height:48px;gap:5px;padding:6px 7px}.select-icon{display:none}.select-copy small{font-size:9px}.select-copy strong{font-size:11px}.chevron{font-size:13px}.map-brand{font-size:9px;top:69px;left:11px}.map-zoom{right:10px;top:69px}.map-zoom button{width:36px;height:36px}.demo-banner{bottom:12px;left:10px;font-size:9px;padding:7px 9px}.legend-panel{right:8px;bottom:12px;width:173px;padding:9px}.legend-head strong{font-size:11px}.legend-icons .legend-ico{font-size:8px}.legend-ico svg{width:28px;height:28px}.legend-footer{font-size:9px}.station-popover{right:9px;top:168px;width:202px}.station-marker .station-city{font-size:10px}.station-marker .station-value{font-size:16px}.station-marker .station-symbol{width:32px;height:32px}.station-marker.compact .station-symbol{width:30px;height:28px}.station-marker.compact .station-value{font-size:13px}.station-marker.numeric .station-value{font-size:12px}.quick-panel{min-height:105px;padding:7px;gap:5px;flex-direction:column}.quick-intro{min-width:0;padding:1px 6px;gap:5px}.quick-intro .quick-pin{font-size:20px}.quick-intro strong{font-size:13px}.quick-intro small{display:none}.quick-scroll{width:100%;flex:1}.quick-card{min-height:60px;flex-basis:127px;padding:7px}.quick-card strong{font-size:11px}.quick-card small{font-size:9px}.quick-arrow{font-size:13px}.dropdown-portal{width:min(275px,calc(100vw - 16px))}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Build 02: grouped layers, imported SVGs, station quality and synoptic overlays */
.layer-group {font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:#85b8df;padding:14px 10px 7px;border-top:1px solid #32638a88}
.layer-group:first-child{border-top:0;padding-top:6px}
.layer-button{min-height:40px}
.layers-panel{max-height:min(756px,calc(100% - 25px));bottom:12px}
.layers-foot{min-height:44px}
.station-symbol img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 8px #0008)}
.station-marker .wind-symbol{display:block;width:41px;height:41px;flex-shrink:0}
.wind-symbol img{display:block;width:100%;height:100%;object-fit:contain}
.station-marker.no-snow{border-color:#a4d3e2a6;background:#274a607d}
.station-marker.no-snow .station-value{color:#d4f2fd}
.station-marker.no-data{border-color:#8d9da996;opacity:.72}
.station-marker.no-data .station-value{color:#adc4d2}
.isobars{z-index:1;pointer-events:none}
.isobars path.contour-line{stroke-width:1.8;stroke:#b8f5ff;stroke-dasharray:none;opacity:.8}
.systems-layer{position:absolute;inset:0;pointer-events:none;z-index:2}
.pressure-system{position:absolute;display:flex;flex-direction:column;align-items:center;transform:translate(-50%,-50%);filter:drop-shadow(0 5px 6px #000b)}
.pressure-system img{width:52px;height:52px}
.pressure-system strong{font-size:11px;padding:2px 4px;border-radius:5px;color:#f3f9ff;background:#052c53b8}
.stations{z-index:3}
.snowkey,.frontkey{display:flex;flex-wrap:wrap;gap:6px;margin:11px 0;font-size:11px;color:#d8edfc}
.snowkey span{display:block;width:100%}
.frontkey span{border:1px solid #4c7493;border-radius:5px;padding:4px}
.frontkey .cold{color:#5ab4ff}.frontkey .warm{color:#ff7682}.frontkey .occluded{color:#d79bff}.frontkey .stationary{color:#b3d3ff}
.setting-line select{background:#041f3d;color:white;border:1px solid #387da8;border-radius:9px;padding:8px;max-width:175px}
.secondary-button{padding:9px 12px;background:#16496f;border:1px solid #478db7;border-radius:9px;margin-top:12px}
@media(max-width:700px){.pressure-system img{width:30px;height:30px}.pressure-system strong{font-size:8px}.station-marker .wind-symbol{width:29px;height:29px}.layers-panel{max-height:none}}

/* Prevent SVG weather artwork from stretching the legends (also on mobile) */
.legend-ico img{width:32px;height:32px;object-fit:contain;display:block;margin:0 auto 5px}
.legend-icons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.legend-ico{min-width:0;text-align:center;white-space:normal}
@media(max-width:700px){.legend-ico img{width:26px;height:26px}.legend-icons{gap:3px}}

.model-field{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.77;object-fit:fill;z-index:1}

/* Build 03 — fixed station-map viewer, smooth filled interpolations, compact legends */
.map-graphics{touch-action:pan-y;cursor:default!important}
.map-art{will-change:auto;transform:none!important}
.map-zoom{display:none!important}
.data-heat{display:block;position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;mix-blend-mode:normal;opacity:.78;image-rendering:auto;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.model-field{z-index:2}
.isobars{z-index:3}
.systems-layer{z-index:4}
.stations{z-index:5}
.station-marker{cursor:default;transition:filter .13s;user-select:none}
.station-marker:hover,.station-marker:focus-visible{filter:drop-shadow(0 0 6px rgba(147,233,255,.5));z-index:12}
.station-marker .station-symbol{width:74px;height:74px}
.station-marker.compact .station-symbol{width:56px;height:56px}
.station-symbol img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 8px #001b3c88)}
.station-marker:not(.numeric){flex-direction:column;gap:0;min-width:0;padding:0}
.station-marker:not(.numeric) .station-content{align-items:center;gap:1px}
.station-marker:not(.numeric) .station-city{font-size:11px;color:#ecf7ff;line-height:1.1;text-align:center;white-space:nowrap}
.station-marker:not(.numeric) .station-value{font-size:17px;font-weight:800;letter-spacing:-.4px}
.station-marker.compact:not(.numeric) .station-value{font-size:15px}
.station-marker.numeric{border:0;background:#082345ae;padding:2px 5px;border-radius:5px;min-width:0}
.station-marker.numeric .station-value{font-size:14px;letter-spacing:0;font-weight:790}
.station-marker.numeric .station-city{font-size:10px}
.station-marker.numeric .value-spot{display:none}
.station-marker.numeric .wind-symbol{width:30px;height:30px}
.legend-panel{width:min(315px,calc(100% - 20px));padding:11px 13px;z-index:18}
.legend-head strong{font-size:12px}.legend-head strong em{font-style:normal;font-weight:500;color:#a1cbec;font-size:11px}
.legend-more{border:1px solid #3d7299;background:#0d3c66;color:#dceefb;padding:5px 7px;border-radius:5px;font-size:10px;white-space:nowrap}
.legend-more:hover,.legend-more:focus-visible{background:#166097}
.legend-grad{margin:9px 0 7px;height:13px;border-radius:4px;border:1px solid #ffffff26}
.legend-ticks{font-size:9px;gap:2px}
.legend-footer{margin-top:9px;padding-top:7px;border-top:1px solid #2b5578;font-size:9px}
.legend-details{font-size:11px;line-height:1.5;color:#c7e1f7;padding-top:12px;max-height:120px;overflow:auto}
.legend-details p{margin:9px 0 0;color:#87bddf}
.legend-icons{margin-top:6px}.legend-ico img{width:34px;height:34px}.legend-ico span{font-size:10px;color:#cde9f9}
.legend-status{color:#b8d6e9;font-size:10px;margin-top:7px}
.station-popover{width:290px;max-width:min(290px,95vw);right:auto;top:0;z-index:45;pointer-events:none;padding:13px 14px;border-color:#3c99d8;background:linear-gradient(142deg,#082b50f9,#061b37fa);box-shadow:0 10px 34px #000b24da;border-radius:12px}
.tooltip-head{display:flex;justify-content:space-between;align-items:center;gap:9px;font-size:14px}.tooltip-head strong{font-weight:800}.tooltip-head span{font-size:9px;font-weight:800;letter-spacing:.08em;color:#ffce7c}
.tooltip-sub{font-size:10px;color:#90c7eb;margin:5px 0 11px;line-height:1.4}
.tooltip-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 8px}.tooltip-grid>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.tooltip-grid small{font-size:10px;color:#94bbdb}.tooltip-grid b{font-size:12px;color:#effaff}
.tooltip-foot{font-size:9px;line-height:1.4;color:#a6bed1;margin-top:12px;border-top:1px solid #2a5577;padding-top:9px}
@media(max-width:1000px){.station-marker:not(.numeric) .station-symbol{width:55px;height:55px}.station-marker.compact:not(.numeric) .station-symbol{width:43px;height:43px}.station-marker:not(.numeric) .station-city{font-size:9px}.station-marker.numeric .station-value{font-size:12px}}
@media(max-width:700px){.station-marker:not(.numeric) .station-symbol{width:43px;height:43px}.station-marker.compact:not(.numeric) .station-symbol{width:34px;height:34px}.station-marker:not(.numeric) .station-value{font-size:12px}.station-marker:not(.numeric) .station-city{font-size:8px}.station-marker.numeric .station-city{display:none}.station-marker.numeric .station-value{font-size:11px}.station-marker.numeric .wind-symbol{width:20px;height:20px}.legend-panel{bottom:8px;right:8px;width:min(260px,68vw);padding:8px 10px}.legend-details{max-height:74px;font-size:10px}.legend-grad{height:10px}.legend-ticks{font-size:8px}.map-hint{display:none}}
.isobars text.isobar-value{font-size:17px;fill:#e9fcff;paint-order:stroke;stroke:#12395b;stroke-width:3px;font-weight:750}

/* Meteo-Europe Weather Viewer Build 04 — branding and ultrawide backdrop.
   The map artwork, station positioning and meteorological palettes are unchanged.
   The backdrop is decorative only: never use it for meteorological interpretation.
*/
@media (min-width: 1251px) {
  .map-stage {
    background: radial-gradient(ellipse at 50% 38%, #143c65 0%, #092947 55%, #04182f 100%);
  }
  .map-backdrop {
    overflow: hidden;
    background: radial-gradient(ellipse at 50% 45%, #17486b 0%, #092949 64%, #031326 100%);
  }
  .map-backdrop::before {
    content: "";
    position: absolute;
    inset: -12%;
    background: url("./assets/maps/europe.webp") center center / cover no-repeat;
    opacity: .115;
    filter: blur(34px) saturate(.8);
    transform: scale(1.08);
    pointer-events: none;
  }
  .map-backdrop::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,
      rgba(2, 15, 32, .58) 0%,
      rgba(3, 20, 39, .1) 29%,
      rgba(3, 20, 39, .1) 71%,
      rgba(2, 15, 32, .58) 100%);
    pointer-events: none;
  }
}

/* Build 05 — original wind SVGs, clean markers and true land-only fields. */
.map-art{overflow:hidden;isolation:isolate}
.map-art .data-heat,.map-art .model-field{
  -webkit-mask-image:var(--land-mask);
  mask-image:var(--land-mask);
  -webkit-mask-mode:alpha;
  mask-mode:alpha;
  -webkit-mask-size:100% 100%;mask-size:100% 100%;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
}
.map-art .isobars{overflow:hidden;clip-path:inset(0);}
.station-marker.numeric.wind-only,.station-marker.numeric.gust-only{
  background:none!important;border:0!important;box-shadow:none!important;
  padding:0!important;min-width:0!important;border-radius:0!important;
  flex-direction:column;gap:0;line-height:1;
  filter:none;
}
.station-marker.numeric.wind-only .wind-symbol{width:30px;height:30px;filter:drop-shadow(0 1px 2px #061a29ba)}
.station-marker.numeric.gust-only .wind-symbol{width:30px;height:30px;filter:drop-shadow(0 1px 2px #061a29ba)}
.station-marker.numeric.wind-only .station-content:empty{display:none}
.station-marker.numeric.gust-only .station-value{
  display:block;padding:1px 0!important;border:0!important;background:none!important;
  font-size:10px;line-height:1.12;letter-spacing:0;font-weight:780;
  color:#f4fbff;white-space:nowrap;text-shadow:0 1px 3px #00172f,0 0 3px #00172f;
}
.station-marker.numeric.wind-only:hover,.station-marker.numeric.gust-only:hover,
.station-marker.numeric.wind-only:focus-visible,.station-marker.numeric.gust-only:focus-visible{
  filter:drop-shadow(0 0 3px #bbf0ff87);
}
@media(max-width:700px){
 .station-marker.numeric.wind-only .wind-symbol{width:24px;height:24px}
 .station-marker.numeric.gust-only .wind-symbol{width:24px;height:24px}
 .station-marker.numeric.gust-only .station-value{font-size:9px}
}
