@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap');
:root{color-scheme:dark;--ink:#eef4fc;--muted:#9caabc;--line:#ffffff18;--accent:#75e7cf;--mono:'IBM Plex Mono',monospace}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#060c15;color:var(--ink);font:13px 'DM Sans',Arial,sans-serif}button,select,a,summary{-webkit-tap-highlight-color:transparent;outline-offset:4px}button,select{font:inherit;color:inherit}button,summary,select{cursor:pointer}button{border:0}a{color:inherit}[hidden]{display:none!important}.earth-stage{position:fixed;inset:0;background:radial-gradient(ellipse at 55% 48%,#12243b 0%,#080f1b 48%,#030710 100%)}#globe{display:block;width:100%;height:100%;touch-action:none;cursor:grab}#globe:active{cursor:grabbing}#loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#101d2be8;padding:14px 20px;border:1px solid var(--line);border-radius:10px;font-size:12px;max-width:80vw;text-align:center;pointer-events:none}.glass{background:#101a28dc;backdrop-filter:blur(24px);border:1px solid #a4bed525;box-shadow:0 8px 36px #0004}header{position:fixed;top:25px;left:30px;right:30px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;pointer-events:auto;text-shadow:0 2px 15px #0008;font:800 26px/.95 'Barlow Condensed',sans-serif;letter-spacing:.1px}.brand-mark{color:var(--accent);font:38px Arial}.accent{color:var(--accent)}.brand small{display:block;font:8px var(--mono);letter-spacing:2px;color:#b1c1d3;margin-top:7px}.source-button{pointer-events:auto;border-radius:24px;padding:12px 17px;color:#c8d4e3;font-size:11px}.source-button span{margin-left:10px;color:var(--accent)}.flight-menu{position:fixed;top:112px;left:30px;width:320px;border-radius:15px;max-height:calc(100dvh - 150px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#3a4c60 transparent}.menu-header{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;border-bottom:1px solid var(--line);font:9px var(--mono);letter-spacing:1.3px;color:#a9bdcc}.live-dot{display:inline-block;background:var(--accent);width:5px;height:5px;border-radius:50%;margin-right:7px;box-shadow:0 0 10px #75e7cf50}.menu-header button{background:transparent;color:#b9c8d7;font-size:23px;line-height:1;width:25px;height:25px;border-radius:4px}.menu-body{padding:19px 19px 18px}h1{font-size:18px;font-weight:500;letter-spacing:-.5px;margin:0 0 7px}.menu-intro{font-size:11px;line-height:1.6;color:var(--muted);margin:0 0 22px}.field-row{display:grid;grid-template-columns:1fr 1.15fr;gap:10px}label{display:block;color:#9daec1;font-size:10px;margin:0 0 7px}select{width:100%;min-width:0;background:#1b2939;border:1px solid #3b4c5f;border-radius:6px;padding:10px 6px;font-size:11px;color:#eef4fc}.range-box{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(115deg,#183b3c88,#112c3444);border:1px solid #75e7cf23;border-radius:9px;padding:17px 15px;margin:19px 0 12px}#category{font:8px var(--mono);color:#99c2bc;letter-spacing:.8px}.range-value{display:flex;align-items:baseline;gap:8px;margin:5px 0}.range-value strong{font:600 46px/1 'Barlow Condensed',sans-serif;letter-spacing:-.5px}#unitText{font:11px var(--mono);color:#a4c9c4}#equivalent{font:10px var(--mono);color:#8ba9b1}.range-symbol{font-size:37px;transform:rotate(-25deg);color:var(--accent);opacity:.65}.source-row{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin-bottom:12px}.source-row a{color:var(--accent);text-decoration:none}.conditions{font-size:9px;color:#8e9faf;line-height:1.7;margin-bottom:20px}.conditions summary{display:list-item;list-style-position:inside}.conditions p{margin:8px 0 0}.origin-field{border-top:1px solid var(--line);padding-top:16px}.origin-field select{padding:11px 9px}.click-hint{color:#8b9db0;font-size:10px;margin:9px 0 17px}.share{width:100%;background:#26384a;border:1px solid #4b607248;border-radius:6px;padding:10px 12px;text-align:left;color:#d8e4ed;font-size:10px}.share span{float:right;color:var(--accent)}button:hover{background-color:#30455a}button:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent)}.collapsed-menu{position:fixed;top:112px;left:30px;border-radius:12px;padding:14px 17px;display:flex;align-items:center;gap:18px;text-align:left}.collapsed-menu strong{display:block;font-size:13px;font-weight:500}.collapsed-menu small{display:block;font:9px var(--mono);color:var(--accent);margin-top:5px}.plane-icon{font-size:24px;color:var(--accent)}.globe-help{position:fixed;top:100px;left:56%;transform:translateX(-50%);white-space:nowrap;font-size:10px;color:#9eb0c4;text-shadow:0 2px 7px #000;pointer-events:none}.globe-help i{font-style:normal;margin:0 10px;color:#5e758e}.mouse-icon{font-size:17px;vertical-align:-1px;margin-right:4px}.map-controls{position:fixed;right:30px;bottom:117px;display:flex;flex-direction:column;gap:14px;align-items:flex-end}.units{display:flex;padding:4px;border-radius:8px}.units button{font:9px var(--mono);padding:8px 10px;background:transparent;border-radius:4px;color:#acbdcc}.units .selected{background:#d4f2e9;color:#163d38}.zoom-controls{border-radius:10px;overflow:hidden;display:flex;flex-direction:column;width:42px}.zoom-controls button{width:40px;height:40px;background:transparent;font-size:22px;color:#c5d3e2}.zoom-controls button+button{border-top:1px solid var(--line)}.zoom-controls button:hover{background:#30455a}.eyebrow{font:8px var(--mono);letter-spacing:1.3px;color:#829bb0}footer{position:fixed;bottom:14px;left:30px;right:30px;display:flex;justify-content:space-between;color:#647b91;font-size:8px;pointer-events:none}footer i{font-style:normal;padding:0 5px}dialog{color-scheme:dark;background:#101c2b;color:#eef4fc;border:1px solid #526b8248;border-radius:14px;padding:32px;max-width:610px;width:calc(100% - 30px);max-height:85dvh;overflow-y:auto;box-shadow:0 25px 100px #0009}dialog::backdrop{background:#02070dcc;backdrop-filter:blur(8px)}dialog h2{font:600 35px 'Barlow Condensed',sans-serif;margin:14px 0}dialog h3{font-size:14px;margin-top:24px}dialog p{font-size:12px;line-height:1.8;color:#a0b3c5}dialog small{font-size:10px;color:#8199af}#closeSources{position:absolute;right:13px;top:10px;background:transparent;font-size:25px;color:#bdc9d5}#sourceList a{display:block;text-decoration:none;padding:11px 0;border-bottom:1px solid var(--line);color:var(--accent);font-size:11px}#toast{position:fixed;top:26px;left:50%;transform:translateX(-50%);padding:13px 22px;background:#dbf9ed;color:#143b34;border-radius:8px;box-shadow:0 6px 30px #0004;opacity:0;pointer-events:none;font-size:12px;transition:opacity .2s}#toast.visible{opacity:1}
@media(max-height:760px) and (min-width:701px){.flight-menu{top:95px;max-height:calc(100dvh - 145px)}.menu-body{padding:14px 17px}.menu-intro{margin-bottom:15px}.range-box{margin:14px 0 10px;padding:12px 14px}.conditions{margin-bottom:13px}.collapsed-menu{top:95px}.globe-help{top:90px}}
@media(max-width:700px){header{top:18px;left:18px;right:18px}.brand{font-size:21px;gap:8px}.brand-mark{font-size:30px}.brand small{font-size:6px;letter-spacing:1.3px}.source-button{font-size:0;width:36px;height:36px;padding:0}.source-button span{font-size:18px;margin:0}.flight-menu{left:14px;top:auto;bottom:96px;width:calc(100% - 80px);max-width:320px;max-height:44dvh;border-radius:12px}.menu-header{padding:9px 14px;font-size:8px}.menu-body{padding:14px}.menu-intro{display:none}h1{font-size:15px;margin:0 0 14px}.range-box{margin:13px 0 10px;padding:11px 13px}.range-value strong{font-size:37px}.conditions{margin-bottom:13px}.origin-field{padding-top:12px}.click-hint{margin:7px 0 12px}.collapsed-menu{top:84px;left:18px;padding:11px 14px;gap:13px}.globe-help{top:auto;bottom:20px;left:50%;font-size:8px;width:100%;text-align:center}.globe-help i{margin:0 4px}.globe-help .mouse-icon{display:none}.map-controls{right:14px;bottom:105px;gap:10px}.units{flex-direction:column}.units button{padding:8px}.eyebrow{font-size:7px}footer{bottom:4px;left:14px;right:14px;font-size:6px}.operational-note{max-width:200px;text-align:right}#toast{top:75px;max-width:90%;white-space:nowrap;font-size:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.map-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.map-label{position:absolute;top:0;left:0;white-space:nowrap;line-height:18px;text-shadow:0 1px 3px #000,0 0 4px #000,0 0 8px #000c;pointer-events:none}.map-label.city{font:500 11px/18px 'DM Sans',Arial,sans-serif;color:#f4f8ff}.map-label.city{padding-left:9px}.map-label.city::before{content:'';position:absolute;left:0;top:50%;width:4px;height:4px;background:#cce7fa;border-radius:50%;transform:translate(-50%,-50%)}.map-label.city.capital::before{width:6px;height:6px;border:1px solid #cce7fa;background:#102131;box-shadow:inset 0 0 0 1px #102131}.map-label.country{font:500 10px/20px var(--mono);text-transform:uppercase;letter-spacing:1.1px;color:#c9d9e9b8}.layers-control{position:fixed;top:87px;right:30px;text-align:right}.layers-button{border-radius:8px;width:42px;height:42px;padding:9px;display:inline-flex;align-items:center;justify-content:center;color:#d7e7f5}.layers-button img{display:block;width:24px;height:24px}.layers-panel{position:absolute;right:0;top:45px;width:242px;text-align:left;border-radius:12px;padding:17px}.layers-panel h2{font-size:13px;font-weight:500;margin:0 0 16px}.layers-panel label{display:flex;align-items:center;gap:9px;color:#d1dfed;margin:13px 0;font-size:11px;cursor:pointer}.layers-panel input{accent-color:var(--accent);width:14px;height:14px;margin:0;cursor:pointer}.layers-panel p{font-size:9px;color:#97b2c6;border-top:1px solid var(--line);padding-top:13px;line-height:1.7;margin:14px 0 8px}.layers-panel small{font-size:9px;line-height:1.7;color:#7893ab}@media(max-width:700px){.layers-control{top:85px;right:14px}.layers-button{width:42px;height:42px;padding:9px}.layers-panel{width:224px;top:43px}.map-label.city{font-size:10px}.map-label.country{font-size:9px;letter-spacing:.7px}}
/* Keep navigation clear of the footer. */
.map-controls{bottom:48px}
@media(max-width:700px){.map-controls{bottom:52px}}
@media(max-width:700px) and (max-height:520px){.map-controls{flex-direction:row;align-items:center;gap:8px}.map-controls .units{flex-direction:row}.map-controls .zoom-controls{flex-direction:row;width:auto}.map-controls .zoom-controls button+button{border-top:0;border-left:1px solid var(--line)}}
.time-reference{border-top:1px solid var(--line);padding-top:14px;margin-bottom:18px}.time-toggle{display:flex;align-items:center;gap:8px;color:#cce9e2;font-size:11px;margin:0 0 12px;cursor:pointer}.time-toggle input{width:14px;height:14px;margin:0;accent-color:var(--accent);cursor:pointer}.time-toggle:has(input:disabled){color:#8297aa;cursor:default}.cruise-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;gap:8px}.cruise-row strong{font:500 11px var(--mono);color:#bdf1e5}.cruise-row a{color:var(--accent);font-size:9px;text-decoration:none}#cruiseRegime{display:block;font-size:9px;color:#8fa9bd;margin-top:6px}.time-note{font-size:9px;line-height:1.65;color:#8fa4b7;margin:9px 0}.time-reference details{font-size:9px;line-height:1.7;color:#acbfce}.time-reference summary{cursor:pointer}.time-reference ol{list-style:none;padding:7px 0 0;margin:0;display:flex;gap:6px;flex-wrap:wrap}.time-reference li{font:9px var(--mono);border:1px solid #75e7cf25;border-radius:4px;padding:5px 6px;color:#b7d6d0}.map-label.hour{opacity:.72;font:500 10px/18px var(--mono);color:#cafff1;background:#0b242de8;border:1px solid #85e9d46b;border-radius:4px;padding:0 6px;text-shadow:none}
.layers-control{display:flex;flex-direction:column;align-items:flex-end;gap:9px}.layers-panel{right:52px;top:0}.language-button{flex-shrink:0}#languageDialog{max-width:460px}#closeLanguage{position:absolute;right:14px;top:10px;background:transparent;color:inherit;font-size:25px}#languageDialog h2{font-size:30px;padding-right:20px}#languageDialog button:not(#closeLanguage){border:1px solid #69819744;border-radius:8px;padding:12px 16px;background:#26384a;color:#e4eef5;font-size:13px}#languageDialog button.primary{background:#b9eedc;color:#12382e;border:0}#locationActions,#suggestionActions{display:flex;gap:10px;flex-wrap:wrap}#languageForm select{font-size:15px;margin-bottom:16px;padding:12px}#languageForm button{width:100%}#languageDialog .language-memory{font-size:11px;color:#8ca3b7}html[dir=rtl] .field-row,html[dir=rtl] .menu-body{text-align:right}html[dir=rtl] .layers-panel{text-align:right}html[dir=rtl] .brand,html[dir=rtl] .range-value,html[dir=rtl] .map-label,html[dir=rtl] #sourceList{direction:ltr}html[dir=rtl] .range-value{justify-content:flex-end}.time-toggle{display:flex}.menu-header>span{font-size:9px}#rangeBasis{line-height:1.9}@media(max-width:700px){.layers-panel{right:50px;top:0;max-width:calc(100vw - 82px)}#languageDialog{padding:24px}#locationActions button,#suggestionActions button{width:100%}}
.source-button .button-label{margin:0;color:inherit}.share .button-label{float:none;color:inherit}.share .button-arrow{float:right;color:var(--accent)}@media(max-width:700px){.source-button .button-label{display:none}.source-button .button-arrow{font-size:18px;margin:0}}

/* The menu keeps its title and collapse control visible while its content scrolls. */
.menu-header{position:sticky;top:0;z-index:2;background:#101a28;box-shadow:0 4px 12px #0002}.flight-menu{transform-origin:top left;isolation:isolate}.collapsed-menu{transform-origin:top left}
/* Comparison tabs use the same color as their corresponding map arc. */
.arc-strip{display:flex;gap:6px;align-items:stretch;overflow-x:auto;padding:11px 14px 10px;border-bottom:1px solid var(--line);scrollbar-width:thin;scrollbar-color:#44596c transparent}
.arc-tab-wrap{--arc-color:#65ffe0;display:flex;flex:0 0 auto;min-width:0;max-width:155px;align-items:center;border:1px solid color-mix(in srgb,var(--arc-color) 48%,transparent);border-radius:7px;background:color-mix(in srgb,var(--arc-color) 9%,#101a28);color:var(--arc-color)}
.arc-tab-wrap.active{background:color-mix(in srgb,var(--arc-color) 21%,#101a28);border-color:var(--arc-color)}
.arc-tab{background:transparent;color:inherit;max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:8px 9px;font:500 10px var(--mono)}
.arc-remove{background:transparent;color:inherit;font-size:17px;line-height:1;padding:5px 8px 6px 2px;opacity:.8}.arc-add{flex:0 0 34px;border:1px dashed #6e879e;border-radius:7px;background:#1b2939;color:#dbe9f6;font-size:20px;line-height:1}.arc-strip button:hover{background-color:#ffffff1c}
.arc-strip button:focus-visible{outline:2px solid #fff;outline-offset:-3px}
.menu-actions{display:flex;align-items:center;gap:4px}.menu-actions button{display:inline-flex;align-items:center;justify-content:center}.menu-actions #timeSettingsButton{width:28px;height:28px;color:#b9c8d7}.menu-actions #timeSettingsButton[aria-expanded=true]{color:var(--accent);background:#253c48}.time-settings{position:absolute;top:100%;right:8px;width:278px;max-width:calc(100vw - 40px);padding:15px;background:#152334;border:1px solid #69819766;border-radius:10px;box-shadow:0 14px 34px #000a;letter-spacing:normal;font:11px/1.5 'DM Sans',Arial,sans-serif;color:#e5eef8;z-index:10}.time-settings h2{font:600 13px 'DM Sans',Arial,sans-serif;margin:0 0 12px}.time-settings fieldset{padding:0;margin:0;border:0}.time-settings legend{color:#a7b8c8;font-size:10px;margin-bottom:8px}.time-settings label{display:flex;align-items:center;gap:8px;color:#dce8f3;font-size:11px;margin:9px 0;cursor:pointer}.time-settings input{accent-color:var(--accent);margin:0}.time-settings p{color:#a4b9ca;font-size:10px;line-height:1.55;margin:10px 0 0}.time-settings #timeSettingsStatus:empty{display:none}.time-settings #timeSettingsStatus{color:#e4d5ad}
.map-label.hour.hour-group{display:flex;flex-direction:column;align-items:center;gap:3px;padding:0;background:transparent;border:0;opacity:1}.hour-badge{display:inline-block;font:500 10px/18px var(--mono);padding:0 5px;border:1px solid;border-radius:4px;background:#0b242df0;white-space:nowrap}
/* Subtle top shade keeps the logo legible over bright terrain. */
.earth-stage::after{content:'';position:absolute;inset:0 0 auto;height:125px;background:linear-gradient(to bottom,rgba(0,0,0,.66) 0%,rgba(0,0,0,.28) 48%,transparent 100%);pointer-events:none}
@media(max-width:700px){.earth-stage::after{height:100px}}
.airport-picker{position:relative}.airport-picker input{width:100%;min-width:0;background:#1b2939;border:1px solid #3b4c5f;border-radius:6px;padding:11px 9px;font:11px 'DM Sans',Arial,sans-serif;color:#eef4fc;outline-offset:4px}.airport-picker input:focus-visible{outline:2px solid var(--accent)}.airport-picker input::placeholder{color:#8ea3b6}.airport-picker ul{position:absolute;z-index:5;bottom:calc(100% + 5px);left:0;right:0;max-height:205px;overflow-y:auto;margin:0;padding:4px;list-style:none;border:1px solid #536b80;border-radius:8px;background:#172638;box-shadow:0 10px 28px #000a}.airport-picker li{padding:9px 8px;border-radius:5px;color:#e5eff8;font-size:10px;line-height:1.4;cursor:pointer}.airport-picker li:hover,.airport-picker li[aria-selected=true]{background:#2c4c57;color:#d1fff4}.airport-status{color:#a9c5d4;font-size:10px;line-height:1.4;margin:6px 0 0}.airport-status:empty{display:none}.airport-credit{display:block;margin-top:7px;font-size:9px;color:#8ba0b1}.airport-credit a{color:#a9d9d1;text-decoration:none}

/* Keep the controls around the aircraft details in place while details scroll. */
.flight-menu{display:flex;flex-direction:column;overflow:visible}
.flight-menu .menu-header,.flight-menu .arc-strip,.flight-menu .menu-footer{flex:0 0 auto}
.flight-menu .menu-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#3a4c60 transparent}
.flight-menu .menu-footer{position:relative;z-index:3;padding:0 19px 18px}
@media(max-height:760px) and (min-width:701px){.flight-menu .menu-footer{padding:0 17px 14px}}
@media(max-width:700px){.flight-menu{max-height:calc(100dvh - 110px)}.flight-menu .menu-footer{padding:0 14px 14px}}
/* In very short landscape windows, retain access to every control. */
@media(max-height:480px){.flight-menu{overflow-y:auto}.flight-menu .menu-body{overflow:visible;min-height:auto}.flight-menu .menu-header{position:relative}}
.flight-menu .menu-header{border-radius:14px 14px 0 0}

.departure-row{display:flex;gap:8px;align-items:stretch}.departure-row .airport-picker{flex:1;min-width:0}.share-control{position:relative;flex:0 0 40px}.share-icon{display:flex;align-items:center;justify-content:center;width:40px;height:100%;min-height:38px;border:1px solid #3b4c5f;border-radius:6px;background:#26384a;color:#c9eee7}.share-icon[aria-expanded=true]{background:#355463}.share-menu{position:absolute;bottom:calc(100% + 6px);right:0;width:170px;padding:5px;border:1px solid #536b80;border-radius:8px;background:#172638;box-shadow:0 10px 28px #000a;z-index:10}.share-menu button{display:block;width:100%;padding:11px 10px;text-align:start;border-radius:5px;background:transparent;color:#e5eff8;font-size:11px}.share-menu button:hover,.share-menu button:focus-visible{background:#2c4c57}.menu-footer .click-hint{margin-bottom:0}

.share-hint{margin:0;padding:0 10px 7px;color:#9caec0;font-size:9px;line-height:1.4}

.help-button{font:600 21px/1 'DM Sans',Arial,sans-serif;color:#c9eee7}#sources{width:calc(100% - 30px);max-width:610px;padding:28px}#sources>h2{font-size:29px;margin:0 35px 20px 0}#sources .info-card{padding:18px;border:1px solid #69819740;border-radius:10px;background:#19293a;margin-top:12px}#sources .info-card h3{font-size:15px;margin:0 0 8px}#sources .info-card p{margin:8px 0;font-size:11px;line-height:1.6}#sources .support-card a{display:inline-block;margin-top:4px;color:var(--accent);font-size:13px;text-decoration:none}#sourceList{max-height:240px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#536b80 transparent;margin:14px 0;padding-right:8px}#sourceList a:first-child{border-top:1px solid var(--line)}@media(max-width:700px){#sources{padding:22px}#sources>h2{font-size:25px}#sources .info-card{padding:15px}}

/* Keep the unit and map-control groups aligned. */
.map-controls .units,.map-controls .zoom-controls{width:72px}
.map-controls .units button{flex:1}
.map-controls .zoom-controls button{width:100%;display:flex;align-items:center;justify-content:center}
@media(max-width:700px){.map-controls .units,.map-controls .zoom-controls{width:42px}}
@media(max-width:700px) and (max-height:520px){.map-controls .units,.map-controls .zoom-controls{width:122px}.map-controls .zoom-controls button{flex:1;min-width:0}}

/* All map tools share one column, with help at the bottom. */
.map-controls{flex-direction:column;align-items:stretch;gap:9px;width:72px}
.map-controls .layers-control{position:relative;top:auto;right:auto;width:100%;gap:9px;align-items:stretch}
.map-controls .layers-button{width:100%;flex-shrink:0}
.map-controls .layers-panel{right:calc(100% + 10px);top:0;text-align:left;z-index:5}
@media(max-width:700px){.map-controls{width:42px;gap:8px}.map-controls .layers-control{gap:8px}.map-controls .layers-panel{right:calc(100% + 8px);top:0}}
@media(max-width:700px) and (max-height:520px){.map-controls{flex-direction:column;bottom:30px;gap:4px;width:42px}.map-controls .layers-control{gap:4px}.map-controls .layers-button{height:30px;padding:4px}.map-controls .layers-button img,.map-controls .layers-button svg{width:20px;height:20px}.map-controls .units,.map-controls .zoom-controls{width:42px}.map-controls .units{flex-direction:row;padding:2px}.map-controls .units button{padding:5px 0;font-size:8px}.map-controls .zoom-controls{flex-direction:column}.map-controls .zoom-controls button{height:30px;flex:auto}.map-controls .zoom-controls button+button{border-left:0;border-top:1px solid var(--line)}}
/* Soft entrance for the language and support dialogs. */
:is(#languageDialog,#sources)[open]{animation:modal-entrance 280ms cubic-bezier(.22,1,.36,1) both}
:is(#languageDialog,#sources)[open]::backdrop{animation:modal-backdrop 220ms ease-out both}
@keyframes modal-entrance{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes modal-backdrop{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){:is(#languageDialog,#sources)[open],:is(#languageDialog,#sources)[open]::backdrop{animation:none}}
/* Approved horizontal brand lockup; crop only the artwork's outer padding. */
.brand{display:block;line-height:0;text-shadow:none}
.brand-logo{display:block;position:relative;width:min(320px,calc(100vw - 60px));aspect-ratio:1870/365;overflow:hidden}
.brand-logo img{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:700px){.brand-logo{width:min(270px,calc(100vw - 36px))}}
