:root{--controls-scale:1;--panels-scale:1;--legend-scale:1;--weather-scale:1}
.size-options>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;cursor:pointer;list-style:none}
.size-options>summary::-webkit-details-marker{display:none}
.size-options>summary:after{content:'+';font-size:20px;font-weight:400}
.size-options[open]>summary:after{content:'−'}
.size-options>summary>span{flex:1;font-weight:600}
.size-options>summary small{color:#a6b7bc;font-size:.75em;font-weight:400}
.size-options-body{padding:12px 2px 0}
.size-presets{display:flex;gap:6px;margin:12px 0 16px}
.size-presets button{flex:1;min-width:0}
.weather-dialog .size-presets button[aria-pressed=true]{background:#316958;border-color:#9eb9aa}
.weather-dialog .map-controls-panel .size-option{margin:0 0 12px}
.size-option>span{display:flex;align-items:center;justify-content:space-between;gap:12px}
.size-option output{color:#bad8be;font-variant-numeric:tabular-nums;min-width:4em;text-align:right}
.size-option input[type=range]{display:block;width:100%;height:36px;margin:0;accent-color:#bad8be}
.size-save-status{min-height:1.5em;margin-bottom:0!important}
.weather-dialog .airport-label-data{font-size:calc(12px * var(--weather-scale));gap:calc(5px * var(--weather-scale))}
.weather-dialog .airport-report-age{font-size:calc(11px * var(--weather-scale))}
.weather-dialog .airport-label-data .airport-wind-arrow{width:calc(16px * var(--weather-scale));height:calc(16px * var(--weather-scale))}
.weather-dialog .airport-label-data .airport-wx-symbols svg{width:calc(18px * var(--weather-scale));height:calc(18px * var(--weather-scale))}
.weather-dialog .airport-label-data .airport-wx-symbols{align-items:center;font-size:calc(17px * var(--weather-scale));line-height:1}
.weather-dialog .airport-wx-symbols>span{display:flex;align-items:center;line-height:1;width:calc(20px * var(--weather-scale));height:calc(20px * var(--weather-scale));min-width:0}
.weather-dialog .airport-category-change{font-size:calc(11px * var(--weather-scale))}
.airport-city-label button[data-pinned=true] .airport-label-name:before{font-size:.6em}
.leaflet-tooltip{font-size:calc(12px * var(--controls-scale))}
.weather-dialog .map-controls-panel{width:calc(380px * var(--panels-scale));max-width:calc(100% - 18px)}
.weather-dialog .map-controls-panel :is(button,input,select,summary,label){font-size:calc(14px * var(--controls-scale))}
.weather-dialog .map-controls-panel :is(p,.hint){font-size:calc(13px * var(--controls-scale))}
.weather-dialog .map-controls-panel h2{font-size:calc(21px * var(--controls-scale))}
.weather-dialog .map-controls-panel h3{font-size:calc(18px * var(--controls-scale))}
.weather-dialog .map-controls-panel :is(button,select,input[type=search],summary){min-height:max(44px,calc(48px * var(--controls-scale)))}
.weather-dialog .map-controls-panel button{padding:calc(10px * var(--controls-scale))}
.weather-dialog .map-controls-panel .actions button{font-size:calc(12px * var(--controls-scale))}
.weather-dialog .map-controls-launcher button{font-size:calc(14px * var(--controls-scale));min-height:max(44px,calc(48px * var(--controls-scale)));padding:calc(10px * var(--controls-scale)) calc(16px * var(--controls-scale))}
.weather-dialog .map-controls-launcher .icon{width:calc(24px * var(--controls-scale));height:calc(24px * var(--controls-scale))}
.weather-dialog .map-controls-launcher #home-view .icon{display:block}
.weather-dialog .leaflet-control-zoom a{width:max(44px,calc(48px * var(--controls-scale)));height:max(44px,calc(48px * var(--controls-scale)));line-height:max(44px,calc(48px * var(--controls-scale)));font-size:calc(26px * var(--controls-scale))}
.map-title{left:calc(24px + max(44px,48px * var(--controls-scale)))}
.map-title h1{font-size:calc(19px * var(--controls-scale))}
.map-title span{font-size:calc(11px * var(--controls-scale))}
#airport-panel{width:calc(380px * var(--panels-scale));max-width:calc(100% - 28px)}
#airport-content h2{font-size:calc(22px * var(--panels-scale))}
#airport-content h3{font-size:calc(15px * var(--panels-scale))}
#airport-content p{font-size:calc(13px * var(--panels-scale))}
#airport-content pre{font-size:calc(12px * var(--panels-scale))}
#airport-content button,#airport-close{font-size:calc(14px * var(--controls-scale));min-height:max(44px,calc(48px * var(--controls-scale)))}
#airport-content .runway-panel{font-size:calc(13px * var(--panels-scale))}
.weather-dialog .metar-legend{font-size:calc(10px * var(--legend-scale));line-height:1.5;row-gap:4px}
.weather-dialog .metar-legend span:before{width:calc(8px * var(--legend-scale));height:calc(8px * var(--legend-scale))}
.weather-dialog .map-radar-summary{font-size:calc(11px * var(--legend-scale))}
.map-province-name{font-size:calc(10px * var(--legend-scale))}
#notice{font-size:calc(13px * var(--controls-scale))}
@media(max-width:600px){.weather-dialog .map-controls-launcher button{font-size:calc(12px * var(--controls-scale));padding:calc(8px * var(--controls-scale)) calc(10px * var(--controls-scale))}.map-title{left:calc(20px + max(44px,48px * var(--controls-scale)));max-width:calc(100% - 220px * var(--controls-scale))}.map-title h1{font-size:calc(15px * var(--controls-scale))}.map-title span{font-size:calc(9px * var(--controls-scale))}.weather-dialog .metar-legend{font-size:calc(9px * var(--legend-scale))}:root[data-large-controls=true] .map-title{display:none}.size-options>summary small{display:none}}
