:root{--blue:#003399;--ink:#061b3d;--cyan:#27c4e5;--line:#dce5ef;--muted:#596c83}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#f6f8fb;font-family:Arial,Helvetica,sans-serif;font-size:15px}header{height:86px;border-top:5px solid var(--blue);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - 1440px)/2))}.brand{text-decoration:none;color:var(--blue);display:flex;gap:22px;align-items:center}.brand b{font-size:32px;letter-spacing:-1px}.brand span{font-size:13px;border-left:1px solid var(--line);padding-left:22px;color:var(--ink);max-width:180px;line-height:1.4}.demo{font-size:10px;letter-spacing:1.5px;background:#eef4ff;color:var(--blue);padding:9px 12px;border-radius:4px}main{max-width:1496px;margin:auto;padding:32px 28px}.intro{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:26px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--blue);font-weight:700}h1{font-size:clamp(25px,2.6vw,38px);letter-spacing:-1px;margin:10px 0 12px;line-height:1.15}.intro p{color:var(--muted);margin:0;line-height:1.5}.key{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--muted);padding-bottom:4px}.key i{width:11px;height:11px;border-radius:3px;background:#81b9d7;margin-left:9px}.key .selected{background:var(--cyan)}.workspace{height:720px;max-height:calc(100vh - 240px);min-height:530px;display:grid;grid-template-columns:340px 1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 14px 45px #061b3d09}aside{display:flex;flex-direction:column;border-right:1px solid var(--line);min-height:0;z-index:5;background:#fff}.filters{padding:24px 22px 15px;border-bottom:1px solid var(--line)}label{font-size:12px;display:block;font-weight:700;margin-bottom:9px}.search{position:relative;margin-bottom:18px}.search span{position:absolute;left:12px;top:8px;color:var(--blue);font-size:24px}input,select{width:100%;font:inherit;font-size:13px;border:1px solid #cad7e6;border-radius:5px;background:white;color:var(--ink);height:43px;padding:0 12px}input{padding-left:37px}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}.summary{margin-top:15px;font-size:12px;color:var(--muted);line-height:1.5}.results{overflow:auto;flex:1;padding:5px 12px}.result{display:block;text-align:left;width:100%;border:0;border-bottom:1px solid #eaf0f6;border-radius:4px;background:white;cursor:pointer;padding:15px 11px;color:var(--ink)}.result:hover{background:#edf7ff}.result strong{display:block;font-size:14px;line-height:1.4}.result small{display:block;font-size:11px;line-height:1.5;margin-top:5px;color:var(--muted)}.result .arrow{float:right;color:var(--blue);font-size:18px}.sidefoot{padding:12px 22px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;display:flex;gap:8px;align-items:center}.dot{width:6px;height:6px;background:var(--blue);border-radius:50%}.map-wrap{position:relative;min-width:0;isolation:isolate}#map{height:100%;background:#eaf1f6}.toolbar{position:absolute;left:18px;top:18px;z-index:450;display:flex;gap:5px}.toolbar button{height:38px;min-width:38px;border:1px solid #d2deec;background:white;color:var(--blue);border-radius:5px;font-size:17px;cursor:pointer;box-shadow:0 3px 12px #061b3d08}.toolbar #reset{font-size:14px;padding:0 13px}.toolbar button:disabled{color:#a9b5c3;cursor:default}.map-note{position:absolute;bottom:50px;left:50%;transform:translateX(-50%);z-index:400;background:#ffffffed;padding:10px 15px;border:1px solid white;border-radius:30px;color:var(--blue);font-size:11px;white-space:nowrap;pointer-events:none}.map-legend{position:absolute;left:16px;bottom:13px;z-index:400;font-size:10px;color:#435871;display:flex;align-items:center;gap:7px;background:#fffffff2;padding:7px 10px;border-radius:4px}.map-legend span{width:10px;height:10px;background:#d5dce4}.leaflet-control-zoom{border:1px solid #cdd9e5!important;box-shadow:0 4px 15px #061b3d0c!important}.leaflet-control-zoom a{color:var(--blue)!important}.leaflet-popup-content-wrapper{border-radius:8px;border-top:4px solid var(--cyan)}.leaflet-popup-content{font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.5;color:var(--ink);margin:17px 20px}.leaflet-popup-content h3{font-size:16px;margin:0 0 10px;line-height:1.4}.leaflet-popup-content p{margin:7px 0}.leaflet-popup-content a{color:var(--blue)}.quality{font-size:12px;line-height:1.6;color:var(--muted);margin-top:20px}.quality summary{cursor:pointer;color:var(--blue);font-weight:700}.quality p{max-width:1100px}.quality a{color:var(--blue)}#detail{overflow:auto;flex:1;padding:18px 22px}#detail button{background:transparent;border:0;padding:0;color:var(--blue);font-size:12px;cursor:pointer}#detail h2{font-size:23px;margin:20px 0 7px;line-height:1.25}#detail .region{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--blue)}.data-label{font-size:10px;font-weight:bold;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);margin:19px 0 5px}.data-value{font-size:13px;line-height:1.5;overflow-wrap:anywhere}.code{font-size:11px;background:#edf3fa;padding:8px;border-radius:4px}.comuni{list-style:none;margin:10px 0 0;padding:0;border-top:2px solid var(--cyan)}.comuni li{padding:10px 0;border-bottom:1px solid #edf1f7;font-size:12px;line-height:1.4;text-transform:capitalize}.comuni li small{display:block;color:#906219;font-size:10px;margin-top:4px}.notice{padding:10px;border-left:3px solid #b1802a;background:#fff9ec;font-size:11px;line-height:1.5;margin-top:15px}.empty{padding:20px;font-size:13px;color:var(--muted);line-height:1.6}[hidden]{display:none!important}@media(max-width:800px){header{height:72px;padding:0 18px}.brand b{font-size:26px}.brand span{display:none}.demo{font-size:8px;padding:7px}main{padding:24px 14px}.intro{display:block;margin-bottom:18px}.intro p{font-size:13px}.key{margin-top:17px;margin-left:-9px}.workspace{height:auto;min-height:0;max-height:none;display:flex;flex-direction:column}.map-wrap{height:480px;order:0}aside{order:1;max-height:580px;border-right:0;border-top:1px solid var(--line)}.filters{padding:18px}.results{max-height:260px;flex:auto}.summary{font-size:11px}.map-note{font-size:10px;max-width:90%;white-space:normal;text-align:center}.map-legend{font-size:8px;max-width:75%;bottom:16px}#detail{max-height:370px;flex:auto}.quality{font-size:11px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* POSSO cartography — quiet geographic context, clear thematic territories. */
body{background:radial-gradient(ellipse at 85% 0%,#e9f4f9 0,transparent 47%),#f5f7fa}header{border-top-width:4px;box-shadow:0 1px 0 #dde5ef80}.intro{margin-bottom:24px}.eyebrow{letter-spacing:2.2px}.workspace{border-radius:18px;border:1px solid #d6e1eb;box-shadow:0 18px 60px #1437640e;max-height:calc(100vh - 235px);min-height:620px}aside{border-color:#e1e8f0;background:#fff}.filters{padding:25px 23px 19px;background:linear-gradient(150deg,#fff 45%,#f5f9fc)}label{font-size:11px;letter-spacing:.15px;color:#27415e}.search{margin-bottom:20px}input,select{border-color:#d6e0eb;border-radius:8px;height:45px;box-shadow:0 2px 5px #0b345004}input:focus,select:focus{border-color:#459fca;outline:none;box-shadow:0 0 0 3px #27c4e51c}.summary{background:#edf4fa;border-radius:6px;padding:9px 10px;color:#395878;font-size:11px;letter-spacing:.1px}.results{padding:8px 12px}.result{position:relative;padding:16px 13px;border-radius:8px;border-bottom:1px solid #edf1f6;transition:background .18s,transform .18s}.result:hover{background:#eef7fc;transform:translateX(2px)}.result strong{font-size:14px;font-weight:600}.result small{font-size:11px}.result .arrow{background:#f0f5fa;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:16px}.result:hover .arrow{background:#003399;color:#fff}.sidefoot{background:#fbfcfe;font-size:9px;letter-spacing:.1px}aside ::-webkit-scrollbar{width:5px}aside ::-webkit-scrollbar-thumb{background:#ccdae6;border-radius:4px}aside ::-webkit-scrollbar-track{background:#f8fafc}#map{background:radial-gradient(ellipse at 44% 44%,#f1f8fa 0%,#e2f0f4 55%,#d2e6ee 100%)}.map-wrap{background:#e1eef4}.map-wrap:after{position:absolute;inset:0;pointer-events:none;content:"";z-index:350;box-shadow:inset 0 0 85px #4d92ab09;border-radius:0 18px 18px 0}.italy-coast{filter:drop-shadow(0 3px 5px #325b7b24)}.ats-area{transition:fill-opacity .18s,fill .18s,stroke .18s}.selected-area{filter:drop-shadow(0 2px 4px #00339936)}.leaflet-interactive:focus-visible{outline:none;stroke:#003399;stroke-width:3}.sea-label span{display:block;white-space:nowrap;font:italic 11px Georgia,serif;letter-spacing:3px;color:#7098aa;opacity:.72;transform-origin:center;pointer-events:none}.land-label span{display:block;white-space:nowrap;transform:translate(-50%,-50%);font-size:8px;font-weight:500;letter-spacing:2.3px;color:#8e9d98;pointer-events:none}.map-caption{position:absolute;z-index:450;left:22px;top:22px;display:flex;align-items:center;gap:8px;font-size:9px;font-weight:700;letter-spacing:1.7px;color:#315273;pointer-events:none}.map-caption-dot{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 4px #27c4e512}.map-caption-sub{margin-left:5px;padding-left:11px;border-left:1px solid #a8c3d2;font-weight:400;letter-spacing:0;text-transform:none;color:#65869d;font-size:11px}.toolbar{top:48px;left:20px;gap:0;border:1px solid #cfdee9;border-radius:10px;background:#ffffffed;padding:4px;box-shadow:0 4px 18px #2449620b;backdrop-filter:blur(12px)}.toolbar button{border:0;box-shadow:none;background:transparent;height:32px;min-width:33px;border-radius:6px;color:#234b77;font-size:16px}.toolbar button:hover:not(:disabled){background:#eaf4fb}.toolbar #reset{border-left:1px solid #e2eaf1;border-radius:0 6px 6px 0;margin-left:4px;padding-left:14px;font-size:11px}.toolbar button:disabled{color:#afbfcd}.leaflet-top.leaflet-right{top:13px;right:12px}.leaflet-control-zoom{border-radius:10px!important;overflow:hidden;padding:3px;background:#ffffffed;backdrop-filter:blur(12px)}.leaflet-control-zoom a{border:0!important;border-radius:6px!important;background:transparent!important;font-weight:400!important;font-size:21px!important}.leaflet-control-zoom a:hover{background:#eaf4fb!important}.compass{position:absolute;right:35px;top:115px;display:flex;flex-direction:column;align-items:center;gap:6px;z-index:400;pointer-events:none}.compass span{font-size:9px;color:#446582;font-weight:700;letter-spacing:1px}.map-note{bottom:26px;font-size:10px;padding:10px 16px;box-shadow:0 4px 18px #23496209;backdrop-filter:blur(10px);border-color:#d8e7ee;color:#3e617f;background:#ffffffdf;display:flex;align-items:center;gap:8px}.note-icon{font-size:15px;color:var(--blue)}.map-legend{bottom:27px;left:20px;display:block;background:#fffffff0;border:1px solid #d6e4ec;box-shadow:0 4px 20px #284d6b08;border-radius:10px;padding:13px 14px;backdrop-filter:blur(12px);color:#526d83;font-size:9px;line-height:1.5}.legend-title{font-size:8px;letter-spacing:1.1px;font-weight:700;color:#315273;margin-bottom:9px}.legend-swatches{display:flex;align-items:center;margin:0 0 9px;gap:2px}.legend-swatches i{width:9px;height:11px;background:#72a7c8}.legend-swatches i:nth-child(2){background:#b8dce5}.legend-swatches i:nth-child(3){background:#3d729f}.legend-swatches i:nth-child(4){background:#91c7d7}.legend-swatches i:nth-child(5){background:#597f9f}.legend-swatches i:nth-child(6){background:#5aa6bb}.legend-swatches i:first-child{border-radius:2px 0 0 2px}.legend-swatches i:nth-child(6){border-radius:0 2px 2px 0}.legend-swatches em{font-style:normal;margin-left:7px}.legend-row{display:flex;gap:7px;align-items:center;margin-top:5px}.map-legend .legend-row span{width:9px;height:9px;border-radius:2px;background:#d5dce4;flex-shrink:0}.map-legend .legend-row .legend-active{background:var(--cyan);border:1px solid var(--blue)}.leaflet-control-attribution{font-size:8px!important;background:#ffffffa6!important;color:#6d879a!important}.leaflet-control-attribution a{color:#537d9c!important}.leaflet-control-scale{margin:0 17px 24px 0!important}.leaflet-control-scale-line{background:#ffffff8c;border-color:#7a9caf;font-size:9px;color:#597b92;border-width:0 1px 2px;border-radius:0 0 2px 2px;padding:2px 6px}.leaflet-popup-content-wrapper{border-radius:13px;border:1px solid #d9e5ef;border-top:4px solid var(--cyan);box-shadow:0 12px 35px #143b5924}.leaflet-popup-tip{box-shadow:3px 3px 8px #143b5910}.leaflet-popup-content{margin:20px 22px 19px;font-size:12px}.leaflet-popup-content h3{font-size:22px;font-weight:600;letter-spacing:-.5px;margin:7px 0 4px;color:#092c5a}.popup-eyebrow{font-size:8px;font-weight:bold;letter-spacing:1.3px;color:#527794}.popup-region{font-size:9px;letter-spacing:1px;color:#537693;margin:0 0 14px!important}.leaflet-popup-content p{line-height:1.6}.leaflet-popup-content a{display:inline-block;background:#edf5fb;border-radius:5px;text-decoration:none;font-size:10px;font-weight:600;padding:8px 10px;margin-top:7px}.leaflet-container a.leaflet-popup-close-button{top:9px;right:9px;color:#7a95ac;font-size:20px}.leaflet-tooltip{border:1px solid #d7e5ef;border-radius:6px;box-shadow:0 3px 15px #143b5915;color:#163b65;font-size:11px;padding:7px 11px}.leaflet-tooltip:before{display:none}#detail{padding:20px 23px}#detail h2{color:#092c5a;font-size:25px;letter-spacing:-.5px}.data-label{font-size:9px;margin-top:21px;letter-spacing:1px}.code{border:1px solid #dce8f1;background:#f2f7fb}.comuni{border-color:#27c4e5}.comuni li{padding:12px 0}.quality{margin-top:20px;color:#6c7e91}.quality summary{font-size:11px;font-weight:500;color:#637e98}
@media(min-width:801px) and (max-width:1150px){.map-note{bottom:168px;font-size:9px;width:max-content;max-width:85%;white-space:normal}.map-legend{padding:10px 12px}.workspace{grid-template-columns:310px 1fr}}
@media(max-width:800px){.workspace{min-height:0;max-height:none;border-radius:14px}.map-wrap{height:540px}.map-caption{left:17px;top:19px;font-size:8px}.toolbar{left:14px;top:42px}.map-legend{left:12px;bottom:26px;font-size:8px;padding:10px 11px;max-width:210px}.legend-title{font-size:7px}.map-note{bottom:157px;font-size:9px;max-width:88%;width:max-content;padding:9px 12px;white-space:normal}.map-caption-sub{font-size:10px}.compass{right:29px;top:111px}.sea-label span{font-size:9px;letter-spacing:1.5px}.land-label span{font-size:7px;letter-spacing:1.5px}.filters{padding:20px}.leaflet-control-scale{margin-right:12px!important}.key{font-size:10px}.intro p{font-size:13px}.map-wrap:after{border-radius:14px 14px 0 0}.leaflet-control-attribution{font-size:7px!important}.leaflet-popup-content{margin:17px 18px}.leaflet-popup-content h3{font-size:20px}}@media(prefers-reduced-motion:reduce){.result,.ats-area{transition:none}}
@media(max-width:800px){.map-note{display:none}}
/* Embed-ready presentation. */
main{padding-top:32px}.intro{align-items:center}.intro .registry-note{font-size:11px;line-height:1.6;color:#607a91;margin-top:9px;max-width:820px}.workspace{max-height:calc(100vh - 205px)}@media(max-width:800px){main{padding-top:24px}.intro .registry-note{font-size:10px;line-height:1.6}.workspace{max-height:none}}
/* Hover never changes the SVG order or the shape's hit area. */
.ats-area{transition:fill-opacity .12s,stroke .12s;cursor:pointer}.ats-tooltip{pointer-events:none!important;padding:10px 13px;min-width:100px;max-width:260px;background:#fffffff7;border-color:#ccdeea;box-shadow:0 5px 20px #143b591a}.ats-tooltip strong{display:block;color:#0c3766;font-size:12px;font-weight:600;line-height:1.35}.ats-tooltip span{display:block;color:#668097;font-size:9px;line-height:1.4;margin-top:5px;letter-spacing:.3px}.hovered-area{stroke-linejoin:round}@media(prefers-reduced-motion:reduce){.ats-area{transition:none}}
.is-wheel-zooming .ats-area{pointer-events:none!important;transition:none!important}.is-wheel-zooming .leaflet-tooltip{visibility:hidden}.is-wheel-zooming .leaflet-map-pane{transition:none!important}
/* Keep complete ATS names inside click popups and hover tooltips. */
.ats-tooltip,.ats-tooltip strong,.ats-tooltip span{white-space:normal;overflow-wrap:anywhere;word-break:normal}.ats-tooltip{max-width:min(280px,calc(100vw - 70px));width:max-content;min-width:0}.leaflet-popup-content-wrapper{max-width:100%}.leaflet-popup-content,.leaflet-popup-content h3,.leaflet-popup-content p,.leaflet-popup-content a{white-space:normal;overflow-wrap:anywhere;word-break:normal;min-width:0}.leaflet-popup-content h3{font-size:19px;line-height:1.3;letter-spacing:-.25px;padding-right:4px}.popup-eyebrow{padding-right:10px;overflow-wrap:anywhere}#detail h2,.result strong{overflow-wrap:anywhere;white-space:normal}@media(max-width:480px){.leaflet-popup-content{max-width:calc(100vw - 106px);margin:17px 18px}.leaflet-popup-content h3{font-size:17px}.ats-tooltip{max-width:230px}}

.toolbar #reset{border-left:0;margin-left:0;border-radius:6px;padding:0 12px}.boundary-check{margin-top:16px}.boundary-check summary{display:list-item;font-size:11px;color:#003399;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.verification-list{padding-left:18px;margin:10px 0;font-size:12px;line-height:1.8}

.map-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;flex-shrink:0;width:360px;max-width:100%}.map-stat{background:#eef4f8;border:1px solid #dce8f0;border-radius:9px;padding:14px 13px 12px;min-height:91px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}.map-stat strong{display:block;color:#003399;font-size:25px;line-height:1.1;letter-spacing:-.6px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.map-stat span{display:block;color:#5a7086;font-size:10px;line-height:1.4;margin-top:9px}.map-stat small{display:block;font-size:9px;line-height:1.4;color:#6b8297;margin-top:4px}.intro>div:first-child{min-width:0}.embed-topbar{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:22px}.embed-topbar .embed-intro{flex:1;min-width:0;margin:0}.embed-topbar .embed-intro p:last-child{margin-bottom:0}@media(min-width:801px) and (max-width:1100px){.map-stats{width:320px;gap:8px}.map-stat{padding:12px 10px}.map-stat strong{font-size:23px}}@media(max-width:800px){.map-stats{width:100%;gap:8px;margin-top:18px}.map-stat{padding:12px 9px 10px;min-height:84px}.map-stat strong{font-size:clamp(17px,4.8vw,21px);letter-spacing:-.4px}.map-stat span{font-size:9px;margin-top:8px}.map-stat small{font-size:8px}.embed-topbar{display:block;margin-bottom:18px}.embed-topbar .embed-intro{margin:0}}
