/* Full-screen mobile map with independently scrollable, non-modal drawers. */
#mobileMapControlsHandle,#mobileFlightHandle{display:none}.mobileMapDrawer[hidden],.mobileFlightDrawer[hidden]{display:none!important}
#mapDialog.mobileDrawerMap{position:fixed!important;inset:0!important;margin:0!important;padding:0!important;width:100%!important;max-width:none!important;height:100dvh!important;max-height:none!important;overflow:hidden!important;border:0;border-radius:0;display:flex!important;flex-direction:column;background:#0b182b}
#mapDialog.mobileDrawerMap:not([open]){display:none!important}
#mobileMapViewport{display:contents}
#mapDialog.mobileDrawerMap>#mobileMapViewport{display:block;position:relative;flex:1;min-height:0;width:100%;overflow:hidden}
#mapDialog.mobileDrawerMap .mapBody{display:block!important;flex:1;min-height:0;width:100%;height:100%;padding:0;overflow:hidden}
#mapDialog.mobileDrawerMap .mapCanvas{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important}
#mapDialog.mobileDrawerMap #map{height:100%!important;min-height:0!important;width:100%!important}
#mapDialog.mobileDrawerMap .mapRadiusLegend{bottom:66px!important;pointer-events:none}
#mapDialog.mobileDrawerMap .mapCredits{z-index:950;bottom:64px}
#mapDialog.mobileDrawerMap #mobileMapControlsHandle{display:flex;position:absolute;z-index:1050;bottom:0;left:50%;transform:translateX(-50%);flex-direction:column;align-items:center;gap:3px;width:min(320px,86%);min-height:44px;padding:4px 20px max(6px,env(safe-area-inset-bottom));border:1px solid #526b85;border-bottom:0;border-radius:20px 20px 0 0;background:#11243af5;color:#eef6ff;font-size:13px;font-weight:650;box-shadow:0 -6px 24px #0004}
.mobileGrabber{display:block;width:34px;height:4px;border-radius:5px;background:#8fa9bc;margin-bottom:2px}
#mapDialog.mobileDrawerMap #mobileFlightHandle{display:flex;position:absolute;right:0;top:36%;z-index:1040;flex-direction:column;align-items:center;gap:5px;width:40px;min-width:40px;min-height:114px;padding:9px 5px;border:1px solid #526b85;border-right:0;border-radius:13px 0 0 13px;background:#11243af5;color:#eaf7ff;box-shadow:-4px 2px 15px #0004}
#mobileFlightHandle>span:first-child{font-size:24px;line-height:1}#mobileFlightHandle>span:last-child{writing-mode:vertical-rl;font-size:12px}
#mapDialog.mobileDrawerMap .mobileMapDrawer{display:flex;flex-direction:column;position:absolute;z-index:1100;left:0;right:0;bottom:0;max-height:65dvh;padding:0 12px max(12px,env(safe-area-inset-bottom));border:1px solid #47627c;border-bottom:0;border-radius:22px 22px 0 0;background:#101f33;box-shadow:0 -10px 45px #0007;animation:mobileSheetIn .18s ease-out}
.mobileDrawerHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;min-height:44px;border-bottom:1px solid #2c4259;cursor:grab}.mobileDrawerHeader h2{margin:0;font-size:17px;color:#eef6ff}.mobileDrawerHeader .mobileDrawerClose{width:auto;min-width:60px;min-height:44px;padding:8px 4px;border:0;background:transparent;color:#9de5d5;font-size:13px}
.mobileMapTabs{display:flex;gap:5px;padding:10px 0;flex:none}.mobileMapTabs button{flex:1;min-height:40px;border:1px solid #3b536c;border-radius:10px;background:#182c43;color:#c7d8e8;font-size:13px}.mobileMapTabs button[aria-selected=true]{background:#315577;border-color:#99cee9;color:#fff;box-shadow:inset 0 2px 4px #0005}
.mobileDrawerScroll{overflow:auto;overscroll-behavior:contain;min-height:0;padding-bottom:4px;touch-action:pan-y}.mobileDrawerScroll [role=tabpanel][hidden]{display:none!important}
#mapDialog.mobileDrawerMap .mobileFlightDrawer{position:absolute;inset:0 0 0 auto;z-index:1110;width:min(410px,92vw);height:100%;display:flex;flex-direction:column;padding:0 12px max(12px,env(safe-area-inset-bottom));background:#101f33;border-left:1px solid #47627c;box-shadow:-12px 0 36px #0007;animation:mobileFlightIn .18s ease-out}
.mobileFlightScroll{overflow:auto;overscroll-behavior:contain;min-height:0;flex:1;touch-action:pan-y;padding-top:10px}
#mapDialog.mobileDrawerMap #flightDataSidebar{display:flex!important;flex-direction:column!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;margin:0!important;padding:0!important;border:0;overflow:visible!important;background:transparent}
#mapDialog.mobileDrawerMap #flightDataContents{display:flex!important;flex-direction:column;gap:8px;overflow:visible;min-height:0}#mapDialog.mobileDrawerMap #flightDataSidebar>.sidebarPanelHeader{display:none}#mapDialog.mobileDrawerMap #aircraftDetails{overflow:visible!important;max-height:none!important}
#mapDialog.mobileDrawerMap #modeSidebar{display:block;width:100%;max-width:none;margin:0;padding:4px;border:0;background:none}#mapDialog.mobileDrawerMap #modeSidebarContents{display:block}#mapDialog.mobileDrawerMap #modeSidebar>.sidebarPanelHeader,#mapDialog.mobileDrawerMap #mapBtn{display:none!important}
#mapDialog.mobileDrawerMap #mobileMapView .mapHead{display:flex!important;flex-wrap:wrap;position:static!important;gap:10px;padding:0!important;margin:0!important;border:0;width:100%;height:auto;transform:none!important}
#mapDialog.mobileDrawerMap .mapHead>#mapTitle{display:none}#mapDialog.mobileDrawerMap .mapHead .mapActions{display:flex!important;flex-wrap:wrap;width:100%;gap:8px;padding:0;margin:0}
#mapDialog.mobileDrawerMap .mapHead .mapDimensions{display:grid!important;grid-template-columns:44px repeat(4,minmax(0,1fr))!important;gap:5px;width:100%}
#mapDialog.mobileDrawerMap .mapHead .mapDimensions{grid-template-columns:44px repeat(4,minmax(0,1fr))!important}
#mapDialog.mobileDrawerMap .mapHead .mapDimensions>button{height:44px;min-height:44px;min-width:0;width:100%;grid-column:auto!important;grid-row:auto!important}
#mapDialog.mobileDrawerMap .mapHead .mapActions>button{position:static!important;display:flex;align-items:center;justify-content:center;width:calc((100% - 24px)/4)!important;min-width:0;min-height:46px;height:46px;margin:0;padding:8px;border:1px solid #536d86!important;border-radius:10px;grid-column:auto!important;grid-row:auto!important}
#mapDialog.mobileDrawerMap .mapHead .mapActions>button[hidden]{display:none!important}#mapDialog.mobileDrawerMap .mapHead .mapActions>input[hidden]{display:none!important}
#mapDialog.mobileDrawerMap .mapHead>.mapMaximize,#mapDialog.mobileDrawerMap .mapHead>.mapClose{position:static!important;width:calc(50% - 5px);min-height:44px;grid-row:auto!important;grid-column:auto!important;margin:0;display:flex;align-items:center;justify-content:center;border:1px solid #536d86;border-radius:10px}
#mapDialog.mobileDrawerMap #mapFiltersDisclosure{display:block!important;position:static;width:100%;padding:0;margin:0}#mapDialog.mobileDrawerMap #mapFiltersDisclosure>summary{display:none}#mapDialog.mobileDrawerMap .mapFiltersContent{display:block}#mapDialog.mobileDrawerMap .manualMapFilters{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%!important}
#mapDialog.mobileDrawerMap .mapFilterDropdown>summary{height:40px;min-height:40px;display:flex;align-items:center;font-size:12px}#mapDialog.mobileDrawerMap .filterChoices{position:static;max-height:180px;overflow:auto}#mapDialog.mobileDrawerMap .manualFlightSearch{grid-column:1/-1}#mapDialog.mobileDrawerMap #mapFlightNumberFilter{height:40px;min-height:40px;width:100%}
.mobileMapQuickTools{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #2c4259}
#mapDialog.mobileDrawerMap .mobileMapQuickTools>button,#mapDialog.mobileDrawerMap .mobileMapQuickTools>.leaflet-control-zoom{position:static!important;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;margin:0!important;padding:9px!important;border:1px solid #536d86;border-radius:10px;background:#182c43;color:#e2f4ff;transform:none!important}
#mapDialog.mobileDrawerMap .mobileMapQuickTools svg{width:24px;height:24px;pointer-events:none}#mapDialog.mobileDrawerMap .mobileMapQuickTools>button[hidden]{display:none!important}
#mapDialog.mobileDrawerMap .mobileMapQuickTools>.leaflet-control-zoom{display:flex;width:auto!important;min-width:88px!important;padding:0!important;overflow:hidden}
#mapDialog.mobileDrawerMap .mobileMapQuickTools .leaflet-control-zoom a{display:block;width:44px!important;height:44px!important;line-height:44px!important;font-size:24px!important;background:#182c43;color:#e2f4ff;border:0;border-radius:0;box-shadow:none}
#mapDialog.mobileDrawerMap .mobileMapQuickTools .leaflet-control-zoom a+a{border-left:1px solid #536d86}
#mapDialog.mobileDrawerMap .mobileMapQuickTools>#describeIssueBtn{position:static!important;width:100%!important;height:auto!important;min-height:42px!important;background:#ffc85a;color:#172033;box-shadow:none}
#mapDialog.mobileDrawerMap.mobileControlsOpen #mobileMapControlsHandle{visibility:hidden}
#mapDialog.mobileDrawerMap button:focus-visible{outline:2px solid #b4e9ff;outline-offset:2px}
[data-control-kind=map]{--control-ink:#91caff}[data-control-kind=track]{--control-ink:#8ce2c9}[data-control-kind=status]{--control-ink:#f0cc87}button[data-control-kind] svg{color:var(--control-ink);filter:none}
#mapDialog.mobileDrawerMap .mapHead .mapDimensions{grid-template-columns:repeat(5,minmax(0,1fr))!important}
#mapDialog.mobileDrawerMap .mapHead .mapDimensions>button,#mapDialog.mobileDrawerMap .mapHead .mapActions>button[data-control-label],#mapDialog.mobileDrawerMap .mobileMapQuickTools>button[data-control-label]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:54px!important;min-height:54px!important;padding:7px 3px!important}
#mapDialog.mobileDrawerMap button[data-control-label]::after{content:attr(data-control-label);font-size:10px;line-height:1.2;font-weight:550;white-space:nowrap;color:#dae6f2}
#mapDialog.mobileDrawerMap .mapHead .mapDimensions>button:not([data-control-label]){color:#91caff;font-size:14px}
#mapDialog.mobileDrawerMap .mobileMapQuickTools>button[data-control-label]{width:calc((100% - 24px)/4)!important;min-width:0!important}
#mapDialog.mobileDrawerMap .mapActions svg,#mapDialog.mobileDrawerMap .mobileMapQuickTools svg{width:25px;height:25px;stroke-width:1.7}
#mapDialog.mobileDrawerMap .mobileMapQuickTools>.leaflet-control-zoom{width:100%!important}
#mapDialog.mobileDrawerMap .mobileMapQuickTools .leaflet-control-zoom a{flex:1;width:50%!important;color:#91caff}
@keyframes mobileSheetIn{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes mobileFlightIn{from{transform:translateX(100%)}to{transform:translateX(0)}}@media(prefers-reduced-motion:reduce){.mobileMapDrawer,.mobileFlightDrawer{animation:none!important}}

#mapDialog.mobileDrawerMap #skyCameraBtn.skyCameraControl{position:absolute!important;top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));right:auto;bottom:auto;width:44px;height:44px;min-width:44px;min-height:44px;padding:9px;border-radius:12px;border:1px solid #6ea9a4;background:#112c3beF;color:#8ce2c9;z-index:1010;box-shadow:0 3px 15px #0005}#mapDialog.mobileDrawerMap #skyCameraBtn svg{width:24px;height:24px;stroke-width:1.7}#mapDialog.mobileDrawerMap #skyCameraBtn::after{content:none}
#mobileAppMenuButton{display:none}.mobileAppMenu[hidden]{display:none!important}
#mapDialog.mobileDrawerMap #skyCameraBtn.skyCameraControl{left:auto;right:max(10px,env(safe-area-inset-right))}
#mapDialog.mobileDrawerMap #mobileAppMenuButton{position:absolute;display:grid;place-items:center;top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));z-index:1010;width:44px;height:44px;min-width:44px;min-height:44px;padding:9px;border:1px solid #6d9cbe;border-radius:12px;background:#112c3bef;color:#a5d6ff;box-shadow:0 3px 15px #0005}
#mobileAppMenuButton svg,.mobileMenuLinks svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
#mapDialog.mobileDrawerMap .mobileAppMenu{position:absolute;inset:0 auto 0 0;z-index:1120;display:flex;flex-direction:column;width:min(330px,88vw);height:100%;overflow:auto;padding:0 16px max(16px,env(safe-area-inset-bottom));border-right:1px solid #47627c;background:#101f33;box-shadow:12px 0 36px #0007;animation:mobileMenuIn .18s ease-out}
.mobileAppMenu .mobileDrawerHeader h2{font-size:16px;white-space:nowrap}.mobileAppMenu .mobileDrawerClose{min-width:44px}
#mobileMenuIdentity{font-size:12px;color:#a9bfd4;overflow-wrap:anywhere;padding:18px 0;border-bottom:1px solid #2c4259}
.mobileMenuLinks{display:flex;flex-direction:column;gap:10px;padding:18px 0}.mobileMenuLinks a,.mobileMenuLinks #trackerLogoutBtn{box-sizing:border-box;display:flex;align-items:center;justify-content:flex-start;gap:14px;width:100%;min-height:50px;padding:12px;border:1px solid #365671;border-radius:11px;background:#192e46;color:#deefff;text-decoration:none;font:550 15px/1.4 system-ui;cursor:pointer}.mobileMenuLinks a:hover,.mobileMenuLinks #trackerLogoutBtn:hover{background:#244363}.mobileMenuLinks a:focus-visible{outline:2px solid #b4e9ff;outline-offset:2px}.mobileMenuLinks #trackerLogoutBtn svg{color:#8ce2c9}#mobileMenuError{color:#ffb2b2;font-size:12px;overflow-wrap:anywhere}
#mapDialog.mobileDrawerMap .mapHead>#closeMap{display:none!important}#mapDialog.mobileDrawerMap .mapHead>#maximizeMap{width:100%}
html:has(#mapDialog.mobileDrawerMap) #mobileOpenMap{display:none!important}
@keyframes mobileMenuIn{from{transform:translateX(-100%)}to{transform:translateX(0)}}@media(prefers-reduced-motion:reduce){.mobileAppMenu{animation:none!important}}

/* Compact edge panels leave more of the sky/map visible. */
#mapDialog.mobileDrawerMap .mobileMapDrawer{max-height:55dvh;padding-left:8px;padding-right:8px;border-radius:16px 16px 0 0}
#mapDialog.mobileDrawerMap #mobileMapControlsHandle{min-height:36px;width:min(240px,70%);font-size:12px;padding-top:3px;padding-bottom:max(4px,env(safe-area-inset-bottom));gap:1px}
#mapDialog.mobileDrawerMap #mobileFlightHandle{width:32px;min-width:32px;min-height:94px;padding:5px 3px;gap:2px}
#mapDialog.mobileDrawerMap .mobileFlightDrawer{width:min(360px,86vw);padding-left:8px;padding-right:8px}
#mapDialog.mobileDrawerMap .mobileAppMenu{width:min(280px,84vw);padding-left:10px;padding-right:10px}
.mobileAppMenu .mobileDrawerHeader h2{font-size:14px}.mobileMenuLinks{gap:6px;padding:10px 0}.mobileMenuLinks a,.mobileMenuLinks #trackerLogoutBtn{min-height:44px;padding:8px;gap:10px}#mobileMenuIdentity{padding:10px 0}
.mobileMapTabs{padding:6px 0}.mobileMapTabs button{min-height:34px}.mobileDrawerHeader h2{font-size:15px}
#mapDialog.mobileDrawerMap .mapHead .mapDimensions>button,#mapDialog.mobileDrawerMap .mapHead .mapActions>button[data-control-label],#mapDialog.mobileDrawerMap .mobileMapQuickTools>button[data-control-label]{height:46px!important;min-height:46px!important;padding:4px 2px!important;gap:2px}
#mapDialog.mobileDrawerMap .mapHead .mapActions{gap:5px}.mobileMapQuickTools{margin-top:6px;padding-top:6px;gap:5px}
#mapDialog.mobileDrawerMap .leaflet-control-zoom{display:none!important}
#mobileFeedbackHandle[hidden]{display:none!important}
#mapDialog.mobileDrawerMap #mobileFeedbackHandle{position:absolute;top:0;left:50%;transform:translateX(-50%);z-index:1040;max-width:calc(100% - 120px);touch-action:none}
#mapDialog.mobileDrawerMap #mobileFeedbackHandle #describeIssueBtn{position:static!important;inset:auto!important;transform:none!important;min-height:34px!important;height:auto!important;width:auto!important;margin:0!important;padding:5px 12px!important;border-radius:0 0 12px 12px;font-size:11px;background:#e8bc64;color:#172033;box-shadow:0 3px 12px #0004;touch-action:none}
#issueReportDialog.mobileFeedbackPanel{box-sizing:border-box;transform:none!important;position:fixed;inset:0 0 auto!important;margin:0 auto!important;width:min(520px,100%)!important;max-width:100%!important;max-height:65dvh!important;padding:12px 16px!important;border-radius:0 0 16px 16px!important;overflow:auto;animation:mobileFeedbackIn .18s ease-out}
.mobileFeedbackPanel #issueReportHeading{font-size:16px;margin:0 40px 10px 0;touch-action:none;cursor:grab}.mobileFeedbackPanel #issueReportForm{gap:6px}.mobileFeedbackPanel #issueDescription{min-height:60px;height:70px}.mobileFeedbackPanel #issueScreenshotPreview{max-height:90px;object-fit:contain}.mobileFeedbackPanel label{font-size:12px}.mobileFeedbackPanel #issueReportStatus{font-size:12px;margin:4px 0}
@keyframes mobileFeedbackIn{from{transform:translateY(-100%)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){dialog.mobileFeedbackPanel{animation:none!important}}

/* Rest: grab rail only. Tap: a short-lived label. Swipe: the full panel. */
#mobileMenuRail{display:none}
#mapDialog.mobileDrawerMap #mobileMapControlsHandle,#mapDialog.mobileDrawerMap #mobileFlightHandle,#mapDialog.mobileDrawerMap #mobileMenuRail,#mapDialog.mobileDrawerMap #mobileFeedbackRail{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:5px;border:0;background:#11243acb;color:#eef6ff;min-width:0;box-shadow:none;touch-action:none}
#mapDialog.mobileDrawerMap #mobileMapControlsHandle{width:100px;min-height:24px;padding:6px 12px max(6px,env(safe-area-inset-bottom));border-radius:12px 12px 0 0}
#mapDialog.mobileDrawerMap #mobileFlightHandle,#mapDialog.mobileDrawerMap #mobileMenuRail{position:absolute;top:36%;z-index:1040;width:24px;min-height:90px;height:90px;padding:10px 6px;border-radius:12px 0 0 12px;flex-direction:row}
#mapDialog.mobileDrawerMap #mobileMenuRail{left:0;right:auto;border-radius:0 12px 12px 0}
#mapDialog.mobileDrawerMap #mobileFeedbackHandle{width:auto;max-width:calc(100% - 120px)}
#mapDialog.mobileDrawerMap #mobileFeedbackRail{width:100px;min-height:24px;padding:6px 12px;border-radius:0 0 12px 12px;flex-direction:column}
#mapDialog.mobileDrawerMap #mobileFeedbackHandle #describeIssueBtn{display:none!important}
#mapDialog.mobileDrawerMap .edgeGrabber{display:block;flex:none;width:34px;height:4px;min-height:4px;background:#b9cbd8;border-radius:4px;margin:0;font-size:0;line-height:0}
#mapDialog.mobileDrawerMap #mobileFlightHandle .edgeGrabber,#mapDialog.mobileDrawerMap #mobileMenuRail .edgeGrabber{width:4px;height:34px;min-height:34px}
#mapDialog.mobileDrawerMap .edgeLabel{display:none;white-space:nowrap;font-size:12px;line-height:1.2;writing-mode:horizontal-tb}
#mapDialog.mobileDrawerMap .edgePeek .edgeLabel{display:block}
#mapDialog.mobileDrawerMap #mobileMapControlsHandle.edgePeek,#mapDialog.mobileDrawerMap #mobileFeedbackRail.edgePeek{width:160px;min-height:42px}
#mapDialog.mobileDrawerMap #mobileFlightHandle.edgePeek,#mapDialog.mobileDrawerMap #mobileMenuRail.edgePeek{width:44px;height:112px}
#mapDialog.mobileDrawerMap #mobileFlightHandle .edgeLabel,#mapDialog.mobileDrawerMap #mobileMenuRail .edgeLabel{writing-mode:vertical-rl}
#mapDialog.mobileDrawerMap.mobileFlightOpen #mobileFlightHandle{visibility:visible;right:100%;z-index:1150}
#mapDialog.mobileDrawerMap.mobileMenuOpen #mobileMenuRail{visibility:hidden}
#issueReportDialog.mobileFeedbackPanel #closeIssueReport{min-width:44px;min-height:44px}

#mapDialog.mobileDrawerMap #mobileMapControlsHandle:not(.edgePeek),#mapDialog.mobileDrawerMap #mobileFlightHandle:not(.edgePeek),#mapDialog.mobileDrawerMap #mobileMenuRail:not(.edgePeek),#mapDialog.mobileDrawerMap #mobileFeedbackRail:not(.edgePeek){background:transparent}
#mapDialog.mobileDrawerMap .edgeGrabber{box-shadow:0 0 2px #000c,0 1px 4px #0008}
#mapDialog.mobileDrawerMap .mapHead #maximizeMap{display:none!important}
#mobileNearbySummary[hidden]{display:none!important}
#mobileNearbySummary{flex:none;padding:7px 2px 2px}
#mapDialog.mobileDrawerMap #mobileNearbySummary #radiusHeading{margin:0;font-size:12px;line-height:1.4;font-weight:600;letter-spacing:.02em}
#mapDialog.mobileDrawerMap #mobileNearbySummary #state{margin:2px 0 0;font-size:12px;line-height:1.4;font-weight:550;letter-spacing:normal;text-shadow:none;color:#8ce2c9}

#mobileMapRecenter{display:none}
#mobileMapActionsToggle{display:none}
#mapDialog.mobileDrawerMap #mobileMapActionsToggle{position:absolute;display:grid;place-items:center;top:calc(max(10px,env(safe-area-inset-top)) + 44px);left:max(10px,env(safe-area-inset-left));z-index:1010;width:36px;height:36px;min-width:36px;min-height:36px;padding:7px;margin:0;border:1px solid #6d9cbe;border-radius:10px;background:rgb(17 44 59 / 50%);color:#a5d6ff;box-shadow:0 2px 8px #0004}
#mobileMapActionsToggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#mapDialog.mobileMapActionsExpanded #mobileMapActionsToggle svg{transform:rotate(180deg)}
#mapDialog.mobileDrawerMap .mobileCollapsibleAction{transition:transform .2s ease,opacity .2s ease,visibility 0s;transform:translateX(0)}
#mapDialog.mobileDrawerMap:not(.mobileMapActionsExpanded) .mobileCollapsibleAction{transform:translateX(64px);opacity:0;visibility:hidden;pointer-events:none;transition:transform .2s ease,opacity .2s ease,visibility 0s .2s}
#mapDialog.mobileDrawerMap:is(.mobileControlsOpen,.mobileFlightOpen,.mobileMenuOpen) #mobileMapActionsToggle{visibility:hidden}
#mapDialog.mobileDrawerMap #mobileTrackingView .trackingModes{display:none}
@media(prefers-reduced-motion:reduce){#mapDialog.mobileDrawerMap .mobileCollapsibleAction{transition:none!important}}
#mapDialog.mobileDrawerMap #mobileAppMenuButton,#mapDialog.mobileDrawerMap #skyCameraBtn.skyCameraControl,#mapDialog.mobileDrawerMap #mobileMapRecenter{width:36px;height:36px;min-width:36px;min-height:36px;padding:7px;border-radius:10px;box-shadow:0 2px 8px #0004}
#mapDialog.mobileDrawerMap #mobileAppMenuButton svg,#mapDialog.mobileDrawerMap #skyCameraBtn svg,#mapDialog.mobileDrawerMap #mobileMapRecenter svg{width:20px;height:20px}
#mapDialog.mobileDrawerMap #mobileMapRecenter{position:absolute;display:grid;place-items:center;top:calc(max(10px,env(safe-area-inset-top)) + 44px);right:max(10px,env(safe-area-inset-right));z-index:1010;border:1px solid #6d9cbe;background:#112c3bef;color:#8ce2c9}
#mobileMapRecenter svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}

/* A persistent rail follows the sheet's top edge through all three stops. */
#mapDialog.mobileDrawerMap .mobileMapDrawer{height:var(--mobile-sheet-height,55dvh);max-height:none;animation:none}
#mapDialog.mobileDrawerMap .mobileMapDrawer .mobileDrawerScroll{flex:1}
#mapDialog.mobileDrawerMap.mobileControlsOpen #mobileMapControlsHandle{visibility:visible;bottom:var(--mobile-sheet-height,0px);z-index:1150}
#mapDialog.mobileDrawerMap.mobileControlsOpen #mobileMapControlsHandle .edgeLabel{display:none}
/* Covered shortcuts cannot cross sheet controls during a drag or a snap. */
#mapDialog.mobileDrawerMap.mobileControlsOpen :is(#skyCameraBtn,#mobileMapRecenter,#concordeFlightBtn,#concordeSoundToggle,#mapPhotoCaptureBtn,#mobileAppMenuButton,#mobileFlightHandle,#mobileFeedbackRail){visibility:hidden}
#mapDialog.mobileDrawerMap.mobileFlightOpen :is(#skyCameraBtn,#mobileMapRecenter,#concordeFlightBtn,#concordeSoundToggle,#mapPhotoCaptureBtn,#mobileFeedbackRail){visibility:hidden}
/* Short landscape maps still reserve space below the right-hand shortcut stack. */
#mapDialog.mobileDrawerMap #mobileFlightHandle{top:max(36%,calc(max(10px,env(safe-area-inset-top)) + 132px))}
#mapDialog.mobileDrawerMap:has(#concordeSoundToggle:not([hidden])) #mobileFlightHandle{top:max(36%,calc(max(10px,env(safe-area-inset-top)) + 176px))}
/* The upsell owns a row; the map and all its edge handles share the remaining space. */
#mapDialog.mobileDrawerMap #mobileAppMenu #trackerLoginLink{position:static;display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:44px;padding:8px;border:1px solid #77bff1;border-radius:10px;background:rgb(101 191 255 / 50%);color:#07101f;font:750 14px/20px system-ui;text-decoration:none;box-shadow:none}
#mapDialog.mobileDrawerMap>#premiumBanner{position:relative!important;box-sizing:border-box;width:100%;grid-column:auto;z-index:1000;height:auto;min-height:48px;margin:0;padding:7px max(10px,env(safe-area-inset-right)) 7px max(10px,env(safe-area-inset-left));order:0;flex:none;max-width:none}
#mapDialog.mobileDrawerMap #premiumBanner span{display:none}#mapDialog.mobileDrawerMap #premiumBanner strong{font-size:12px}#mapDialog.mobileDrawerMap #premiumBanner a{min-width:92px;padding:7px 10px}

/* Hide the feedback grabber while its panel is open. */
body:has(#issueReportDialog[open]) #mapDialog.mobileDrawerMap #mobileFeedbackRail{visibility:hidden}

/* A stronger visual hint; the floating targets and gestures retain their dimensions. */
#mapDialog.mobileDrawerMap .edgeGrabber{width:34px;height:6px;min-height:6px;background:#9dafbe}
#mapDialog.mobileDrawerMap #mobileFlightHandle .edgeGrabber,#mapDialog.mobileDrawerMap #mobileMenuRail .edgeGrabber{width:6px;height:34px;min-height:34px}
#mapDialog.mobileDrawerMap.mobileGrabberIntro .edgeGrabber{animation:mobileGrabberWiggle 1s ease-in-out 4}
#mapDialog.mobileDrawerMap.mobileGrabberIntro #mobileFlightHandle .edgeGrabber{animation-name:mobileGrabberWiggleSide}
@keyframes mobileGrabberWiggle{0%,100%{transform:none}20%,60%{transform:translateX(-3px) rotate(-5deg)}40%,80%{transform:translateX(3px) rotate(5deg)}}
@keyframes mobileGrabberWiggleSide{0%,100%{transform:none}20%,60%{transform:translateY(-3px) rotate(-5deg)}40%,80%{transform:translateY(3px) rotate(5deg)}}
@media(prefers-reduced-motion:reduce){#mapDialog.mobileDrawerMap.mobileGrabberIntro .edgeGrabber{animation:none}}

/* Mobile credits use the right corner; branding replaces the scale on the left. */
#mapDialog.mobileDrawerMap .mapCredits{left:auto!important;right:max(5px,env(safe-area-inset-right));bottom:max(5px,env(safe-area-inset-bottom));max-width:calc(50% - 58px);font-size:clamp(8px,2vw,11px)}
#mapDialog.mobileDrawerMap .mapVisibleCredit{white-space:normal!important}
#mapDialog.mobileDrawerMap .mapCreditsPanel{left:auto;right:0}
#mapDialog.mobileDrawerMap:has(#mobileMapControlsHandle.edgePeek) .mapCredits{max-width:calc(50% - 88px)}
#mobileMapBrand{display:none}
#mapDialog.mobileDrawerMap.mobileMapBranding .leaflet-control-scale{display:none}
#mapDialog.mobileDrawerMap.mobileMapBranding #mobileMapBrand{position:absolute;display:block;left:max(5px,env(safe-area-inset-left));bottom:max(5px,env(safe-area-inset-bottom));width:calc(50% - 55px - max(5px,env(safe-area-inset-left)));height:auto;color:#174f8b;z-index:1000;pointer-events:none}
#mobileMapBrand svg{display:block;width:100%;height:auto}
#mapDialog.mobileDrawerMap:is(.mobileControlsOpen,.mobileFlightOpen,.mobileMenuOpen) #mobileMapBrand{visibility:hidden}
#mapDialog.mobileDrawerMap.mobileMapBranding:has(#mobileMapControlsHandle.edgePeek) #mobileMapBrand{width:calc(50% - 85px - max(5px,env(safe-area-inset-left)))}
@media(orientation:landscape){#mapDialog.mobileDrawerMap.mobileMapBranding #mobileMapBrand{max-width:135px}}
@media(max-height:450px){#mapDialog.mobileDrawerMap:has(#mapVisibleCredit:not([hidden])){--map-action-step:38px}}
#mapDialog.mobileDrawerMap .leaflet-control-scale-line{background:rgb(17 44 59 / 50%);color:#eef6ff;border-color:#b9cbd8;text-shadow:0 1px 2px #07101f}


/* Keep the flight drawer header compact, with one existing content separator. */
#mobileFlightDrawer .mobileDrawerHeader{justify-content:flex-start;border-bottom:0}
#mapDialog #mobileFlightDrawer .mobileDrawerHeader #mediaPinBtn{margin-left:0;margin-right:auto}

/* Orange signals that Flight Data has an aircraft behind the floating handle. */
#mapDialog.mobileDrawerMap:has(#aircraftDetails[data-aircraft-selected="true"]) #mobileFlightHandle .edgeGrabber{background:#ff8c00}

/* Mobile action order is Nostalgia, ETA, photograph, then optional sound. */
#mapDialog.mobileDrawerMap.mobileEtaOnMap #desktopEtaBtn{position:absolute;display:grid;place-items:center;z-index:1010;right:max(10px,env(safe-area-inset-right));top:calc(max(10px,env(safe-area-inset-top)) + 132px);width:36px;height:36px;min-width:36px;min-height:36px;margin:0;padding:3px;border:1px solid #6d9cbe;border-radius:10px;background:rgb(17 44 59 / 50%);color:#8ce2c9;font-size:10px;font-weight:700;line-height:12px;white-space:normal;box-shadow:0 2px 8px #0004}
#mapDialog.mobileDrawerMap.mobileEtaOnMap #mapPhotoCaptureBtn{top:calc(max(10px,env(safe-area-inset-top)) + 176px)}
#mapDialog.mobileDrawerMap.mobileEtaOnMap #concordeSoundToggle{top:calc(max(10px,env(safe-area-inset-top)) + 220px)}
#mapDialog.mobileDrawerMap:is(.mobileControlsOpen,.mobileFlightOpen,.mobileMenuOpen) #desktopEtaBtn{visibility:hidden}
/* Left Flight Data drawer and matching floating grab handle. */
#mapDialog.mobileDrawerMap.mobileFlightLeft #mobileFlightHandle{top:36%!important;left:0;right:auto;border-radius:0 12px 12px 0}
#mapDialog.mobileDrawerMap.mobileFlightLeft .mobileFlightDrawer{inset:0 auto 0 0;border-left:0;border-right:1px solid #47627c;box-shadow:12px 0 36px #0007;animation-name:mobileFlightInLeft}
#mapDialog.mobileDrawerMap.mobileFlightLeft.mobileFlightOpen #mobileFlightHandle{left:100%;right:auto}
#mapDialog.mobileDrawerMap.mobileFlightLeft.mobileFlightOpen #mobileAppMenuButton,#mapDialog.mobileDrawerMap.mobileFlightLeft.mobileMenuOpen #mobileFlightHandle{visibility:hidden}
@keyframes mobileFlightInLeft{from{transform:translateX(-100%)}to{transform:translateX(0)}}

body.compactEtaControls.mobileEtaLegacyFallback .radiusControl:has(#predictionSlider){display:block}
