.ski-controls{position:absolute;top:18px;right:18px;z-index:800;width:284px;border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:0 8px 28px #0002;color:var(--ink);font-size:12px}
.ski-controls>summary{display:flex;align-items:center;gap:9px;padding:13px 15px;cursor:pointer;list-style:none;font-weight:700;font-size:13px}
.ski-controls>summary::-webkit-details-marker{display:none}
.ski-controls>summary:after{content:'⌄';margin-left:auto;font-size:17px}
.ski-controls[open]>summary:after{content:'⌃'}
.ski-symbol{color:#28a2b3;font-size:18px;line-height:1}
.ski-controls-body{padding:0 15px 14px;border-top:1px solid var(--line)}
.ski-layer-options{display:grid;grid-template-columns:1fr 1fr;gap:10px 8px;padding:13px 0}
.ski-layer-options label{display:flex;gap:7px;align-items:center;cursor:pointer;font-size:11px}
.ski-layer-options input{accent-color:#218c9a;width:15px;height:15px;margin:0;flex-shrink:0}
.ski-controls form{display:flex;gap:6px;margin:1px 0 10px}
.ski-controls input[type=search]{min-width:0;width:100%;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:9px;font:inherit}
.ski-controls form button{padding:7px 10px;background:#267b86;color:white;border-radius:8px;font-weight:700}
.ski-status{font-size:11px;font-weight:700;line-height:1.6}
.ski-zoom-hint{font-size:10px;line-height:1.6;color:var(--muted);margin:3px 0 10px}
.ski-key{display:flex;gap:9px;flex-wrap:wrap;font-size:10px;margin-bottom:10px}
.ski-key span{display:flex;align-items:center;gap:4px}
.ski-key i{display:inline-block;width:18px;border-top:3px solid #087e91}
.ski-key .other{border-color:#7455aa}
.ski-key .inactive{border-color:#93a1a0;border-top-style:dashed}
.ski-footer{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted)}
.ski-footer button,.ski-coverage a{color:var(--green);text-decoration:underline;padding:2px 0;font-size:10px}
.ski-coverage{font-size:10px;line-height:1.65;margin-top:9px;border-top:1px solid var(--line);padding-top:8px}
.ski-coverage>summary{cursor:pointer;color:var(--muted)}
.ski-coverage p{margin:7px 0}
.ski-marker{display:flex!important;align-items:center;justify-content:center;gap:3px;background:#194a55;border:1.5px solid #8bdee7;border-radius:7px;color:#f0fcfd;box-shadow:0 2px 5px #0005}
.ski-marker svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
.ski-marker b{font:700 11px 'DM Sans',sans-serif}
.ski-marker.ski-inactive{background:#3d4746;border-color:#8d9a99;color:#e0e7e5}
.ski-marker.ski-selected{outline:3px solid #fff;outline-offset:2px}
.ski-marker:focus-visible{outline:3px solid #fff;outline-offset:3px}
.ski-tooltip{background:#153b43;border:1px solid #89c9d1;color:white;font-family:'DM Sans',sans-serif;border-radius:6px;padding:6px 9px}
.ski-tooltip.leaflet-tooltip-top:before{border-top-color:#89c9d1}
.ski-popup-content{font-family:'DM Sans',sans-serif;font-size:12px;line-height:1.6;min-width:190px}
.ski-popup .leaflet-popup-content{margin:16px 18px;width:240px!important;max-width:calc(100vw - 100px)}
.ski-popup-content h3{font-size:18px;line-height:1.25;margin:8px 0}
.ski-popup-content p{margin:7px 0}
.ski-eyebrow{font-size:9px;letter-spacing:.05em;color:#26808d;font-weight:700}
.ski-popup-note{font-size:10px;color:var(--muted)}
.ski-popup-links{display:flex;gap:12px;flex-wrap:wrap;font-size:11px}
.ski-popup-links a{color:var(--green);font-weight:600}
.ski-map-ready .map-data-status{padding:10px 13px;max-width:270px;top:18px}
.ski-map-ready .map-data-status>span,.ski-map-ready .map-data-status p,.ski-map-ready .map-top-label{display:none}
.ski-map-ready .map-data-status strong{font-size:11px}
html[data-theme=dark] .ski-controls{background:#15231fed;border-color:#3b5245}
html[data-theme=dark] .ski-controls input[type=search]{background:#1b2c24}
html[data-theme=dark] :is(.ski-footer button,.ski-coverage a,.ski-popup-links a){color:#b5dfc1}
html[data-theme=dark] :is(.ski-symbol,.ski-eyebrow){color:#8cdae4}
html[data-theme=dark] .ski-key i{border-color:#55d8e5}
html[data-theme=dark] .ski-key .other{border-color:#b29ce5}
html[data-theme=dark] .ski-key .inactive{border-color:#93a1a0}
@media(max-width:950px){.ski-controls{top:12px;right:12px;max-width:calc(100% - 24px)}.ski-controls:not([open]){width:auto;min-width:120px}.ski-controls[open]{max-height:calc(100% - 92px);overflow-y:auto}.ski-map-ready .map-data-status{top:61px;right:auto;max-width:260px}.ski-map-ready .leaflet-control-attribution{max-width:100%;font-size:8px}}
@media(max-height:600px){.ski-controls{max-height:calc(100% - 65px);overflow-y:auto}.ski-map-ready .map-data-status{display:none}}
.map-view-label{display:block;padding-top:12px;font-size:11px;font-weight:700}.map-view-label select{display:block;width:100%;margin-top:6px;padding:9px;border-radius:8px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}.ski-controls[open]{max-height:calc(100% - 40px);overflow-y:auto}
.outdoor-layer-group{min-width:0;border:0;border-top:1px solid var(--line);margin:0;padding:9px 0 2px}.outdoor-layer-group legend{padding:0;font-size:11px;font-weight:700}.outdoor-layer-group .ski-layer-options{padding:9px 0 5px}.outdoor-layer-note{margin:2px 0 7px;font-size:10px;line-height:1.45;color:var(--muted)}
.ski-master{display:flex;gap:8px;align-items:center;border-top:1px solid var(--line);padding-top:12px;font-size:11px;font-weight:700}.ski-master input{accent-color:#218c9a;width:15px;height:15px;margin:0}
.map-source-layers{min-width:0;border:0;border-top:1px solid var(--line);margin:12px 0 0;padding:10px 0 2px}.map-source-layers legend{padding:0;font-size:11px;font-weight:700}.map-source-help{margin:4px 0 8px;font-size:10px;color:var(--muted)}.map-source-layers #map-source-options{display:grid;gap:4px;margin:8px 0}.map-source-layers #map-source-options label{display:flex;align-items:center;gap:8px;padding:6px 7px;border-radius:7px;background:var(--surface,#fff);cursor:pointer}.map-source-layers #map-source-options input{width:15px;height:15px;margin:0;accent-color:#218c9a}.map-source-layers #map-source-options span{flex:1;font-size:11px}.map-source-layers #map-source-options small{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.map-source-layers #map-source-options .muted{font-size:10px}.map-source-layers #map-all-sources{margin:0 0 8px;font-size:10px}
