.layer:hover{background:#ffffff07}

.actions{display:flex;gap:7px;flex-wrap:wrap}

.legend{display:grid;grid-template-columns:1fr 1fr;gap:6px 8px;font-size:10px;color:#c8d5e3}

.legend span{display:flex;align-items:center;gap:6px}

.sw{width:13px;height:8px;border-radius:2px}

.icon-legend{display:grid;gap:7px;font-size:10px;color:#d7e3ef}

.icon-item{display:flex;align-items:center;gap:8px}

.toolbar{position:absolute;z-index:3;top:14px;left:14px;display:flex;gap:6px;background:#ffffffd9;padding:6px;border:1px solid #b8cad8;border-radius:12px;box-shadow:0 8px 24px #17334c18}

.toolbar .reset{font-size:11px}

svg#mapSvg{width:min(900px,95%);height:auto;max-height:92vh;filter:drop-shadow(0 18px 24px #314a5f20);touch-action:none}

.graticule line{stroke:#8fa5b4;stroke-width:.7;opacity:.18}

.belt{fill-opacity:.30;stroke:#ffffff;stroke-width:1.5;cursor:pointer;transition:.16s}

.geology{fill-opacity:.56;stroke:#ffffff;stroke-width:1.1;stroke-dasharray:4 3;cursor:pointer;transition:.16s}

.physio-macro{fill-opacity:.44;stroke:#ffffff;stroke-width:1.5;cursor:pointer;transition:.15s}

.physio-macro:hover{fill-opacity:.64;stroke:#29465d;stroke-width:2.7}

.physio-macro.selected{fill-opacity:.72;stroke:#17384d;stroke-width:3.2;filter:drop-shadow(0 0 5px rgba(24,67,95,.35))}

.physio-meso{fill-opacity:.14;stroke:#3e5260;stroke-width:.75;cursor:pointer;transition:.12s}

.physio-meso:hover{fill-opacity:.34;stroke:#172f40;stroke-width:1.8}

.physio-meso.selected{fill-opacity:.42;stroke:#122b3b;stroke-width:2.2}

.physio-source-badge{font-size:9px;line-height:1.45;color:#b9cbd9;background:#122238;border:1px solid #31506d;border-radius:9px;padding:8px 9px;margin-top:8px}

.region-area{fill-opacity:.54;stroke:#ffffff;stroke-width:1.8;cursor:pointer;transition:.16s}

.region-area:hover{fill-opacity:.68;stroke:#31485c;stroke-width:2.8}

.river{fill:none;stroke:#2679c6;stroke-width:4.3;stroke-linecap:round;stroke-linejoin:round;cursor:pointer;transition:.16s}

.feature{cursor:pointer;transition:.16s}

.feature:hover{filter:brightness(1.08)}

.feature.selected{filter:drop-shadow(0 0 5px #fff) drop-shadow(0 0 8px #1b789e)}

.layer-hidden{display:none!important}

.map-title{font-size:22px;font-weight:900;fill:#263b4e}

.map-subtitle{font-size:11px;fill:#637b8e}

.north{font-size:15px;font-weight:900;fill:#324c60}

.lake-drop{fill:#36a6d7;stroke:#0b4867;stroke-width:2.1}

.lake-core{fill:#d9f4ff}

.mountain-back{fill:#b59ad8;stroke:#fff;stroke-width:1.6}

.mountain-front{fill:#8564b7;stroke:#fff;stroke-width:1.8}

.mountain-snow{fill:#edf5ff}

.mineral-badge{fill:#ffffff;stroke:#385067;stroke-width:1.8}

.coal-piece{stroke:#fff;stroke-width:1.8}

.coal-line{stroke:#ffffffa0;stroke-width:1.6;fill:none}

.oil-drop{fill:#379868;stroke:#fff;stroke-width:1.8}

.oil-shine{fill:#9dddbd}

.crystal{fill:#ecf3f9;stroke:#55687b;stroke-width:1.8}

.crystal-line{stroke:#97a8b7;stroke-width:1.5;fill:none}

.sulfur-fill{fill:#ebce49;stroke:#836e1d}

.sulfur-core{fill:#fff4b2}

.ore-shape{stroke:#fff;stroke-width:1.8}

.ore-copper-fill{fill:#b66a37}

.ore-grey-fill{fill:#7d8795}

.ore-line{stroke:#f5f9ff;stroke-width:1.6;fill:none}

.info.hidden{display:none}

.info h2{font-size:17px;margin:3px 0 8px}

.info p{font-size:12px;line-height:1.5;color:#d4dfeb;margin:7px 0}

.pill{position:absolute;z-index:2;top:17px;right:17px;background:#ffffffdb;color:#385268;border:1px solid #bfd0dc;border-radius:99px;padding:6px 10px;font-size:10px;font-weight:800}

.mini-icon{width:26px;height:26px}

.layer-status{margin:-2px 6px 7px 36px;font-size:9px;line-height:1.35;color:#82a0b9}

.woj-gis{fill-opacity:.26;stroke:#29465d;stroke-width:2.1;cursor:pointer;transition:.15s}

.woj-gis:hover{fill-opacity:.46;stroke:#0c3148;stroke-width:3}

.woj-gis.selected{fill-opacity:.55;stroke:#09283c;stroke-width:3.5;filter:drop-shadow(0 0 5px rgba(25,72,103,.4))}

.woj-area{fill-opacity:.16;stroke:#263e55;stroke-width:2;cursor:pointer}

.woj-area:hover{fill-opacity:.32;stroke-width:3}

.soil-area{fill-opacity:.72;stroke:#6f604b;stroke-width:1.8}

.soil-area:hover{fill-opacity:.86}

.soil-river{fill:none;stroke:#7C5B3A;stroke-width:13;stroke-linecap:round;stroke-linejoin:round;opacity:.58}

.soil-river:hover{stroke-width:17;opacity:.75}

.climate-area{fill-opacity:.45;stroke:#ffffff;stroke-width:1.5}

.climate-area:hover{fill-opacity:.60}

.climate-arrow{fill:none;stroke:#356e8d;stroke-width:2.3;stroke-dasharray:8 6;opacity:.75;pointer-events:none}

.climate-arrow::after{content:''}

.soil-base{fill-opacity:.76;stroke:none}

.soil-podzolic{fill-opacity:.72;stroke:#A89931;stroke-width:1.4}

.soil-mountain{fill-opacity:.78;stroke:#625649;stroke-width:1.5}

.soil-bog{fill-opacity:.78;stroke:#2E684F;stroke-width:1.5}

.soil-blackearth{fill-opacity:.90;stroke:#2F2A24;stroke-width:1.3}

.soil-chernozem{fill-opacity:.94;stroke:#111;stroke-width:1.3}

.soil-rendzina{fill-opacity:.88;stroke:#9B8871;stroke-width:1.4}

.soil-alluvial{fill:none;stroke:#3C9A9B;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;opacity:.78}

.soil-alluvial:hover{stroke-width:14;opacity:.95}

.soil-podzolic:hover,.soil-bog:hover,.soil-blackearth:hover,.soil-chernozem:hover,.soil-rendzina:hover,.soil-mountain:hover{filter:brightness(1.08);stroke-width:2.5}

.climate-base{fill-opacity:.88;stroke:none}

.climate-influence{fill:#fff;fill-opacity:.001;stroke:none}

.climate-west:hover{fill:#4D9BAD;fill-opacity:.14}

.climate-east:hover{fill:#C96E54;fill-opacity:.14}

.climate-mountains{fill:#75649C;fill-opacity:.18;stroke:#5C4A7D;stroke-width:1.3;stroke-dasharray:5 3}

.climate-coast{fill:#67AFC4;fill-opacity:.14;stroke:#4B90A4;stroke-width:1.1}

.climate-arrow{fill:none;stroke:#397B99;stroke-width:2.2;stroke-dasharray:8 5;opacity:.72;pointer-events:none}

.climate-arrow-head{fill:#397B99;opacity:.72;pointer-events:none}

.agri-region{fill-opacity:.68;stroke:#fff;stroke-width:1.8;cursor:pointer}

.agri-region:hover{fill-opacity:.84;stroke:#5b4b2c;stroke-width:2.8}

.agri-special{fill-opacity:.88;stroke:#704E36;stroke-width:2;stroke-dasharray:5 3}

.agri-special:hover{fill-opacity:1;stroke-width:3}

.river-hit{fill:none;stroke:#000;stroke-opacity:0;stroke-width:18;stroke-linecap:round;stroke-linejoin:round;cursor:pointer;pointer-events:stroke}

.hydro-river{fill:none;stroke:#247FC1;stroke-linecap:round;stroke-linejoin:round;cursor:pointer;transition:.12s}

.hydro-river.major{stroke-width:4.2}

.hydro-river.minor{stroke-width:1.7;opacity:.72}

.hydro-river:hover{stroke:#075985;stroke-width:5.6;opacity:1}

.hydro-river.selected{stroke:#064D75;stroke-width:6.4;filter:drop-shadow(0 0 5px rgba(36,127,193,.55))}

.hydro-hit{fill:none;stroke:#000;stroke-opacity:0;stroke-width:16;pointer-events:stroke;cursor:pointer}

.hydro-lake{fill:#49A8D4;fill-opacity:.82;stroke:#0F5D7C;stroke-width:1.3;cursor:pointer;transition:.12s}

.hydro-lake:hover{fill-opacity:1;stroke-width:2.5}

.hydro-lake.selected{fill:#2799C8;stroke:#063E56;stroke-width:3;filter:drop-shadow(0 0 4px rgba(39,153,200,.45))}

.hydro-basin{stroke:#385E73;stroke-width:1.2;fill-opacity:.22;cursor:pointer;transition:.14s}

.hydro-basin:hover{fill-opacity:.36;stroke-width:2.2}

.hydro-basin.selected{fill-opacity:.42;stroke:#183B50;stroke-width:2.8}

.river.selected{stroke:#084c79;stroke-width:6.5;filter:drop-shadow(0 0 5px rgba(38,121,198,.65))}

.mineral:hover .mineral-badge{stroke-width:3}

.lake-hit{fill:transparent;cursor:pointer}

.lake{cursor:pointer}

.lake.selected .lake-drop{filter:drop-shadow(0 0 8px rgba(54,166,215,.9))}

.belt.selected{fill-opacity:.72!important;stroke:#203548;stroke-width:3}

.agri-area{fill-opacity:.62;stroke:#755c2e;stroke-width:1.7;stroke-dasharray:4 2}

.agri-area:hover{fill-opacity:.80;stroke-width:2.7}

.industry-badge{fill:#fff7e8;stroke:#8a5c18;stroke-width:2}

.factory-icon{fill:#6b4f2d;stroke:#fff;stroke-width:1}

.factory-window{fill:#ffd77a}

.refinery-icon,.refinery-pipe{fill:none;stroke:#8c4a23;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}

.power-icon{fill:#e0a12e;stroke:#8c5b00;stroke-width:1.3}

.hydro-icon{fill:#4b9fc2;stroke:#1f607a;stroke-width:1.5}

.hydro-wave{fill:none;stroke:#1f607a;stroke-width:2}

.wind-icon{fill:none;stroke:#4c7b73;stroke-width:2.1;stroke-linecap:round}

.wind-hub{fill:#4c7b73}

.city-badge{fill:#ffffff;stroke:#334e68;stroke-width:2}

.city-building{fill:#334e68}

.city-ground{stroke:#334e68;stroke-width:2;stroke-linecap:round}

.park-badge{fill:#dff3df;stroke:#2f6e3a;stroke-width:2}

.park-tree{fill:#2f7d43;stroke:#ffffff;stroke-width:.8}

.port-badge{fill:#e0f2fe;stroke:#0b6488;stroke-width:2}

.anchor{fill:none;stroke:#0b6488;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

.route-casing{fill:none;stroke:#ffffff;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;opacity:.88;pointer-events:none}

.transport-route{fill:none;stroke:#d97706;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;opacity:.92}

.transport-route:hover{stroke-width:8}

.region-area.selected{fill-opacity:.76!important;stroke:#23384a;stroke-width:3.2}
