﻿:root{--dark:#145960;--mid:#1e7b80;--line:#b2d7d2;--bg:#f3faf8}*{box-sizing:border-box}html,body,#map{height:100%;width:100%;margin:0}body{font:14px/1.4 "Segoe UI",Arial,sans-serif;color:#183b3d}#map{position:absolute;inset:0;background:#edf1eb}.header{position:absolute;z-index:600;top:16px;left:18px;display:flex;align-items:center;max-width:calc(100vw - 36px);min-height:96px;padding-left:76px}.heading{padding:12px 18px 12px 30px;border-radius:14px;background:linear-gradient(115deg,#145960,#298d8b);box-shadow:0 5px 16px #173b3b66;color:white}.heading h1{font-size:19px;line-height:1.2;margin:0}.heading p{font-size:12px;margin:4px 0 0}.logo{position:absolute;left:0;top:50%;transform:translateY(-50%);height:96px;width:96px;z-index:1;border-radius:16px;overflow:hidden;box-shadow:0 5px 16px #10283b77}.logo img{width:100%;height:100%;object-fit:contain;background:#10283b}.menu{position:absolute;z-index:550;left:18px;top:128px;bottom:20px;width:315px;overflow:auto;padding:14px;background:#f4faf8f2;border:1px solid #fff;border-radius:14px;box-shadow:0 5px 20px #143f3d55}.menu h2{font-size:15px;margin:0 0 10px;color:var(--dark)}.menu label,.menu select{display:block}.menu select{width:100%;margin:5px 0 12px;padding:8px;border:1px solid #9ac5c1;border-radius:7px;background:white;color:#173f40;font:inherit}fieldset{padding:8px;border:1px solid #b2d7d2;border-radius:8px}legend{font-weight:700;color:var(--dark)}.hint,.note{font-size:11px;line-height:1.4;color:#466b69}.grid-row{display:flex!important;align-items:center;gap:7px;padding:5px 0;cursor:pointer}.grid-row input{accent-color:var(--mid)}.swatch{width:22px;border-top:3px solid var(--c);flex:none}.note{margin:12px 2px}.tools{position:absolute;top:22px;right:18px;z-index:600;display:flex;gap:5px;padding:5px;border-radius:11px;background:#eef8f6eF;box-shadow:0 3px 12px #173b3b66}.tools button,.mobile{height:36px;min-width:36px;border:1px solid var(--mid);border-radius:8px;background:white;color:var(--dark);font-size:20px;cursor:pointer}.tools button.active{background:var(--mid);color:white}.scalebar{position:absolute;z-index:500;right:10px;bottom:10px;padding:5px 9px;background:#145960ed;color:white;border-radius:6px;font-weight:600}.loading{position:absolute;z-index:600;bottom:10px;left:350px;padding:6px 10px;background:#f3faf8;border-radius:6px}.mobile{display:none}.leaflet-popup-content h3{font-size:14px;margin:0 0 7px}.leaflet-popup-content p{margin:4px 0}.leaflet-popup-content{min-width:210px}.leaflet-control-scale{margin-left:350px!important;margin-bottom:10px!important}@media(max-width:700px){.header{left:8px;top:8px;min-height:72px;max-width:calc(100vw - 16px);padding-left:53px}.heading{padding:9px 10px 9px 20px}.heading h1{font-size:13px}.heading p{font-size:10px}.logo{width:68px;height:68px}.mobile{display:block;font-size:12px;margin-left:5px;padding:0 8px;z-index:2}.menu{top:90px;left:8px;bottom:8px;width:min(315px,calc(100vw - 16px));display:none}.menu.open{display:block}.tools{top:auto;bottom:48px;right:8px}.loading{left:8px;bottom:10px}.leaflet-control-scale{margin-left:8px!important}}

/* Karminowy interfejs i czerwone ramki. */
:root{--dark:#831630;--mid:#ac2039;--line:#c72c41;--bg:#fff7f7}.heading{background:linear-gradient(115deg,#7f1731,#b32d47);border:1.5px solid #d52f45}.menu,.tools,.result{border:1.5px solid #c72c41}.menu{background:#fff7f7f2}.menu h2,legend{color:#831630}fieldset{border:1.5px solid #c72c41;margin:8px 0}.menu select,.tools button,.mobile{border:1.5px solid #c72c41;color:#831630}.tools button.active{background:#a71f39;color:white}.tools button:disabled{opacity:.45}.scalebar{background:#831630ed}.grid-row input{accent-color:#a71f39}.result{position:absolute;z-index:560;top:94px;right:18px;width:min(325px,calc(100vw - 36px));max-height:55vh;overflow:auto;background:#fff9f9f5;border-radius:12px;box-shadow:0 5px 18px #40152255}.result[hidden]{display:none}.result-heading{display:flex;align-items:center;justify-content:space-between;padding:8px 11px;background:linear-gradient(110deg,#831630,#b42b45);color:white}.result-heading h2{font-size:14px;margin:0}.result-heading button{border:1.5px solid #f4a6ad;background:transparent;color:white;border-radius:6px;font-size:20px;cursor:pointer}.result #resultBody{padding:8px 12px;font-size:12px}.result #resultBody p{margin:5px 0}.result-group{border-top:1px solid #e8c2c7;padding:6px 0}.result-group h3{font-size:12px;margin:0 0 3px;color:#831630}.result-codes{overflow-wrap:anywhere}.grid-section h3{font-size:12px;color:#831630;margin:7px 0 2px}@media(max-width:700px){.result{top:90px;right:8px;width:min(280px,calc(100vw - 16px));max-height:35vh}.tools{max-width:calc(100vw - 16px);flex-wrap:wrap;justify-content:flex-end}}

.scalebar select{border:1.5px solid #e87785;border-radius:5px;padding:3px;background:#fff;color:#6e1229;font:inherit;min-width:90px}.leaflet-container.identify-crosshair,.leaflet-container.identify-crosshair .leaflet-interactive{cursor:crosshair!important}

.radial-menu{position:absolute;z-index:1000;width:170px;height:170px;transform:translate(-50%,-50%);border:1.5px solid #c72c41;border-radius:50%;background:#fff7f7ed;box-shadow:0 5px 20px #48101d55}.radial-menu[hidden]{display:none}.radial-menu button{position:absolute;width:37px;height:37px;border:1.5px solid #c72c41;border-radius:50%;background:#fff;color:#831630;font-size:20px;cursor:pointer}.radial-menu button:hover,.radial-menu button:focus{background:#a71f39;color:white}.radial-menu button:disabled{opacity:.4}.radial-menu button:nth-child(1){left:66px;top:5px}.radial-menu button:nth-child(2){left:116px;top:27px}.radial-menu button:nth-child(3){left:128px;top:75px}.radial-menu button:nth-child(4){left:102px;top:122px}.radial-menu button:nth-child(5){left:32px;top:122px}.radial-menu button:nth-child(6){left:5px;top:75px}.radial-menu button:nth-child(7){left:17px;top:27px}.radial-center{position:absolute;left:68px;top:66px;width:34px;height:34px;display:grid;place-items:center;color:#831630;font-size:24px;pointer-events:none}

.radial-menu{width:170px;height:170px;background:rgba(255,255,255,.08);border:2px solid rgba(171,31,55,.6);box-shadow:0 2px 12px #48101d33}.radial-menu button{width:auto;height:auto;min-height:38px;padding:7px 9px;border:1.5px solid #c72c41;border-radius:9px;background:rgba(255,246,247,.8);color:#74152b;font:600 12px/1.2 "Segoe UI",Arial,sans-serif;white-space:nowrap}.radial-menu button[data-radial="point"]{left:50%;top:0;transform:translate(-50%,-45%)}.radial-menu button[data-radial="draw"]{left:auto;right:-2px;top:50%;transform:translate(55%,-50%)}.radial-menu button[data-radial="show"]{left:50%;top:auto;bottom:0;transform:translate(-50%,45%)}.radial-menu button[data-radial="clear"]{left:-2px;top:50%;transform:translate(-55%,-50%)}.radial-center{left:66px;top:66px;width:36px;height:36px;border:1px solid rgba(167,31,57,.45);border-radius:50%;background:rgba(255,255,255,.3);color:#831630}

.radial-menu.choosing{border:0;background:transparent;box-shadow:none}.radial-menu.choosing>.radial-center,.radial-menu.choosing>button[data-radial]{display:none}.radial-choices{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:240px;max-width:calc(100vw - 16px);padding:9px;border:1.5px solid #c72c41;border-radius:11px;background:rgba(255,247,248,.94);box-shadow:0 5px 18px #48101d55}.radial-choices[hidden]{display:none}.radial-choices-head{font-size:13px;font-weight:700;color:#831630;margin-bottom:5px}.radial-grid-choices{max-height:min(42vh,300px);overflow:auto}.radial-grid-choices label{display:flex;align-items:center;gap:6px;font-size:12px;line-height:1.2;padding:4px 1px;color:#4c2530}.radial-grid-choices input{accent-color:#a71f39;flex:none}.radial-error{color:#a31932;font-size:11px;min-height:1em}.radial-actions{display:flex;gap:6px;justify-content:flex-end}.radial-menu .radial-actions button{position:static;transform:none;min-height:32px;font-size:12px}.radial-menu .radial-actions button:first-child{background:#9d2038;color:white}

.identify-menu{position:absolute;z-index:550;left:345px;top:128px;bottom:20px;width:290px;overflow:auto;padding:14px;background:#fff7f7f2;border:1.5px solid #c72c41;border-radius:14px;box-shadow:0 5px 20px #40152255}.identify-menu h2{font-size:15px;margin:0 0 10px;color:#831630}.identify-tools{display:grid;grid-template-columns:1fr 1fr;gap:6px}.identify-tools button,.identify-show{border:1.5px solid #c72c41;border-radius:7px;background:white;color:#831630;padding:7px;font:600 12px "Segoe UI",Arial,sans-serif;cursor:pointer}.identify-tools button.active,.identify-show{background:#a71f39;color:white}.identify-tools button:disabled{opacity:.45;cursor:default}.identify-menu fieldset{margin-top:10px}.identify-menu .grid-row{font-size:12px}.identify-error{min-height:1em;color:#a31932;font-size:11px;margin:4px 0}.identify-show{width:100%}@media(max-width:700px){.identify-menu{display:none;top:90px;bottom:8px;left:calc(50vw + 3px);width:calc(50vw - 11px);padding:8px}.menu{width:calc(50vw - 11px);padding:8px}.menu.open~.identify-menu{display:block}.identify-tools{grid-template-columns:1fr}.identify-menu .grid-row{font-size:11px;line-height:1.2}}

/* Jedno menu, dwie sekcje jedna pod drugą. */
.menu{width:315px}.menu-section{margin:0 0 10px;border:1.5px solid #c72c41;border-radius:9px;background:#fffafa}.menu-section>summary{padding:9px 10px;cursor:pointer;color:#831630;font-weight:700;font-size:14px}.menu-section[open]>summary{border-bottom:1px solid #e8c2c7}.menu-section-body{padding:9px}.menu-section-body fieldset{margin:8px 0}.identify-content .grid-row{font-size:12px}.identify-content .identify-tools{grid-template-columns:1fr 1fr}@media(max-width:700px){.menu{width:min(315px,calc(100vw - 16px));padding:8px}.identify-content .identify-tools{grid-template-columns:1fr 1fr}}

/* Jedna otwarta sekcja mieści się w pionowym obszarze ekranu HD. */
.menu{padding:8px}.menu-section{margin:0 0 6px}.menu-section>summary{padding:7px 9px}.menu-section:not([open])>summary{background:#e9e9e9;color:#707070;border-radius:7px}.menu-section:not([open]){border-color:#bcbcbc;background:#f2f2f2}.menu-section-body{padding:7px}.menu-section-body fieldset{padding:5px;margin:5px 0}.menu select{padding:5px;margin:3px 0 6px}.menu .hint,.menu .note{margin:5px 0;font-size:11px;line-height:1.25}#grids,#identifyGridChoices{display:grid;grid-template-columns:1fr 1fr;column-gap:7px;align-items:start}.menu .grid-section h3{margin:4px 0 1px;font-size:11px}.menu .grid-row{padding:2px 0;gap:5px;font-size:11px;line-height:1.2}.menu .swatch{width:17px}.identify-tools{gap:4px}.identify-tools button,.identify-show{padding:5px}.identify-error:empty{display:none}@media(max-height:650px){.menu{overflow:auto}}

.identify-step{padding:5px 0 7px;border-bottom:1px solid #ebcbd0}.identify-step:last-child{border-bottom:0;padding-bottom:0}.identify-step>h3{display:flex;align-items:center;gap:7px;margin:0 0 5px;color:#831630;font-size:13px;line-height:1.25}.identify-step>h3 span{display:inline-grid;place-items:center;flex:none;width:21px;height:21px;border-radius:50%;background:#a71f39;color:#fff;font-size:12px}.identify-step .identify-tools{margin-top:3px}.identify-step #identifyGridChoices{padding:0 2px}.identify-step .identify-show{margin-top:2px}

/* Wyniki identyfikacji pozostają pod przyciskiem Pokaż. */
.identify-step .result{position:static;width:auto;max-height:none;margin:9px 0 0;overflow:visible;border:1px solid #d6b0b7;border-radius:8px;background:#fff;box-shadow:none}.identify-step .result[hidden]{display:none}.identify-step .result-heading{padding:6px 8px;border-radius:7px 7px 0 0}.identify-step .result-heading h2{font-size:13px}.identify-step .result-heading button{font-size:17px}.identify-step .result #resultBody{padding:6px 9px;font-size:13px;line-height:1.45}.identify-step .result-group h3{font-size:13px}.identify-step .result-codes{font-size:13px;line-height:1.5;font-weight:600}.print-result{margin:7px 9px 0;padding:6px 12px;border:1.5px solid #c72c41;border-radius:7px;background:white;color:#831630;font:600 12px "Segoe UI",Arial,sans-serif;cursor:pointer}.print-result:disabled{opacity:.45;cursor:default}

.context-box{margin:0 0 7px;padding:8px;border:1.5px solid #c72c41;border-radius:9px;background:#fffafa}.context-box h2{margin:0 0 5px;color:#831630;font-size:14px}.context-box fieldset{display:flex;flex-wrap:wrap;gap:2px 10px;padding:4px 6px;margin:4px 0 0}.menu .context-row{display:flex;align-items:center;gap:4px;font-size:11px;line-height:1.2}.context-row input{accent-color:#a71f39}.context-box select{font-size:11px}

/* Informacja o charakterze mapy widoczna także po zwinięciu menu. */
.map-notice{position:fixed;z-index:650;left:350px;bottom:10px;max-width:calc(100vw - 540px);padding:5px 9px;border:1px solid #c72c41;border-radius:6px;background:#fff7f7ed;color:#831630;box-shadow:0 2px 8px #40152233;font:12px/1.3 "Segoe UI",Arial,sans-serif;pointer-events:none}@media(max-width:700px){.map-notice{left:8px;bottom:10px;max-width:calc(100vw - 175px);font-size:11px}}

/* Cieniowane sekcje i wyraźne grupy skal. */
.menu{background:linear-gradient(155deg,rgba(255,250,250,.98),rgba(247,229,232,.96));border:2px solid #c72c41;box-shadow:0 7px 22px #40152266,inset 0 1px 3px #fff}
.context-box,.menu-section{background:linear-gradient(155deg,#fff,#fff1f3);border:1.5px solid #c72c41;box-shadow:0 3px 8px #75172b35,inset 0 1px 2px #fff;overflow:hidden}
.context-box h2{margin:-8px -8px 7px;padding:7px 9px;color:#fff;background:linear-gradient(110deg,#78152d,#b6344d);text-shadow:0 1px 2px #44081780}
.menu-section>summary,.menu-section:not([open])>summary{color:#fff;background:linear-gradient(110deg,#831630,#b8344d);text-shadow:0 1px 2px #44081780;box-shadow:inset 0 1px 1px #ffffff55}
.menu-section[open]>summary{border-bottom:1px solid #701027}.menu-section:not([open]){border-color:#a33246;background:#fff5f6}.menu-section:not([open])>summary{background:linear-gradient(110deg,#9b4355,#bf7885)}
.menu-section-body fieldset,.context-box fieldset{background:linear-gradient(150deg,#fff,#fff4f5);border-color:#d87b88;box-shadow:inset 0 1px 4px #a33a4c18}
.menu .grid-section h3{padding:3px 5px;margin:3px 0 2px;border:1px solid #e1a7af;border-radius:5px;background:linear-gradient(100deg,#f6d6dc,#fff0f2);box-shadow:0 1px 3px #75172b20;font-size:11px}
.menu .grid-row{border:1px solid transparent;border-radius:5px;padding:2px 3px;color:#48242b}.menu .grid-row:has(input:checked){background:#f8e1e5;border-color:#dfa2ad;box-shadow:inset 0 1px 2px #ad45521c}.menu .grid-row:hover{background:#fcebf0}.menu .grid-row input{flex:none}.menu .swatch{border-top-width:4px}
.identify-step{margin:4px 0;padding:6px;border:1px solid #e5bdc3;border-radius:7px;background:linear-gradient(145deg,#fff,#fff3f5);box-shadow:0 2px 5px #75172b1c}.identify-step:last-child{border-bottom:1px solid #e5bdc3;padding-bottom:6px}

/* Większe przyciski nawigacji mapy. */
.tools{gap:6px;padding:6px;border:2px solid #c72c41;border-radius:14px;background:linear-gradient(145deg,#fff8f9,#f0d9de);box-shadow:0 5px 14px #58122566,inset 0 1px 2px #fff}.tools button{display:grid;place-items:center;width:50.4px;height:50.4px;min-width:50.4px;padding:0;border:2px solid #a91f39;border-radius:10px;color:#831630;background:linear-gradient(145deg,#fff,#f8e4e8);box-shadow:0 2px 5px #5f142b44,inset 0 1px 2px #fff;cursor:pointer}.tools button svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.tools button:hover{background:linear-gradient(145deg,#fce8ed,#efcdd5);color:#671126}.tools button:focus-visible{outline:3px solid #f18d9e;outline-offset:2px}.tools button:active{transform:translateY(1px);box-shadow:inset 0 2px 5px #75172b33}

/* Zróżnicowanie narzędzi w drugim kroku identyfikacji. */
.identify-tools button{min-height:34px;border-width:1.5px;box-shadow:0 2px 5px #75172b26;font-size:12px;transition:background .15s,box-shadow .15s}.identify-tools #info{background:linear-gradient(145deg,#fff,#fbe5e9);border-color:#bb4660;color:#75132b}.identify-tools #draw{background:linear-gradient(145deg,#fff,#eee8f7);border-color:#826196;color:#543665}.identify-tools #finish{background:linear-gradient(145deg,#fff,#e8f2e9);border-color:#5c8964;color:#315e39}.identify-tools #clear{background:linear-gradient(145deg,#bc2942,#8a142e);border:2px solid #721023;color:#fff;font-weight:700;box-shadow:0 3px 7px #75172b55,inset 0 1px 2px #f3a4b480}.identify-tools #clear:hover{background:linear-gradient(145deg,#d13750,#98142f)}.identify-tools button.active{background:linear-gradient(145deg,#a8253d,#76152c)!important;border-color:#681026!important;color:#fff!important;box-shadow:inset 0 2px 4px #4b081c66}.identify-tools button:focus-visible{outline:3px solid #e77e91;outline-offset:2px}.identify-tools button:disabled{opacity:.45;box-shadow:none}

/* Suwak wybiera wyłącznie ustalone skale mapy. */
.scalebar{width:250px;max-width:calc(100vw - 20px);padding:7px 12px 6px;background:linear-gradient(120deg,#78152d,#b12c46);border:1.5px solid #d95369;border-radius:9px;box-shadow:0 4px 12px #4b102c66;color:#fff}.scalebar label{display:block;font-size:12px;line-height:1.2}.scalebar output{font-weight:700}.scalebar input[type=range]{display:block;width:100%;height:18px;margin:2px 0 0;accent-color:#fff;cursor:pointer}.scalebar input[type=range]:focus-visible{outline:2px solid #fff;outline-offset:2px}.scale-ticks{display:flex;justify-content:space-between;font-size:9px;line-height:1;color:#fff}.map-notice{max-width:calc(100vw - 630px)}@media(max-width:700px){.scalebar{width:210px;bottom:8px;right:8px}.map-notice{bottom:82px;max-width:calc(100vw - 16px)}}

.menu .map-notice{position:static;max-width:none;margin:9px 2px 2px;padding:6px 8px;border:1px solid #d9a2ad;border-radius:6px;background:linear-gradient(135deg,#fffafa,#f9e7ea);color:#6f2937;box-shadow:inset 0 1px 2px #fff;font:11px/1.35 "Segoe UI",Arial,sans-serif;pointer-events:auto}

/* Zwarty układ identyfikacji pozostawia miejsce na informację pod menu. */
.menu .identify-content{padding:5px 7px}.menu .identify-step{margin:2px 0;padding:4px 6px}.menu .identify-step:last-child{padding-bottom:4px}.menu .identify-step>h3{margin-bottom:3px}.menu .identify-content .grid-row{padding:1px 3px}.menu .identify-tools button,.menu .identify-show{min-height:30px;padding:4px}.menu .map-notice{margin-top:6px}

/* Wyraźne oznaczenie siatek historycznych. */
.menu .grid-row.grid-historical{background:#eee9e5;color:#5e544d;border:1px dashed #b8aaa0}.menu .grid-row.grid-historical:has(input:checked){background:#eadbd4;border-color:#9e7867}.menu .grid-row.grid-current{background:#fdf8f8;border-left:3px solid #a71f39}.menu .grid-row.grid-current:has(input:checked){background:#f8dce2}

.utm-grid-choice{margin:6px 0 2px;padding:5px;border:1px solid #83a5bd;border-radius:6px;background:#eef6fa;color:#24516e;font-weight:600}.utm-grid-choice input{accent-color:#326f97}

/* Wyniki identyfikacji w lewym dolnym rogu mapy. */
.result{position:fixed;top:auto;right:auto;left:350px;bottom:12px;width:min(325px,calc(100vw - 370px));max-height:min(55vh,500px);overflow:auto}.result-heading{border-radius:10px 10px 0 0}.print-result svg{width:17px;height:17px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}@media(max-width:700px){.result{left:8px;bottom:84px;top:auto;right:auto;width:min(300px,calc(100vw - 16px));max-height:40vh;z-index:700}}
