@font-face{font-family:TaigaRoboto;src:url('./fonts/roboto/Roboto.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
/* Android MapScreen: dp maps to CSS px inside the browser's safe viewport. */
.app-shell--screen-map,.map-native-search{font-family:TaigaRoboto,Roboto,Arial,sans-serif}
.app-shell--screen-map .map-top-strip{top:calc(env(safe-area-inset-top) + 8px);left:calc(env(safe-area-inset-left) + 12px);max-width:calc(100% - 84px);gap:8px;pointer-events:none}
.map-native-weather{display:inline-flex;align-items:center;width:max-content;padding:10px 14px;border-radius:18px;background:#171717cc;color:#fff;font-size:15px;line-height:20px;box-shadow:0 3px 7px #0004}
.app-shell--screen-map .map-top-strip .map-status-chip{font-size:12px;font-weight:400;max-width:100%;white-space:normal}
.app-shell--screen-map .map-tool-cluster-shell{top:calc(env(safe-area-inset-top) + 12px);right:env(safe-area-inset-right);bottom:auto;z-index:18;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.map-native-layer-handle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:14px;height:78px;min-height:78px;padding:0;border:1px solid #2d342f;border-right:0;border-radius:999px 0 0 999px;background:#171717d9;box-shadow:0 3px 7px #0004;touch-action:pan-y;cursor:pointer}
.map-native-layer-handle>span{width:3px;height:3px;border-radius:50%;background:#89a887}
.map-native-tilt{margin-right:16px;padding:7px 12px;border-radius:999px;background:#12151855;color:#d1d7d2;font-size:10px;line-height:12px;letter-spacing:1.2px}
.map-native-layers{width:244px;max-width:calc(100vw - 32px);max-height:calc(var(--app-viewport-height,100dvh) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 120px);overflow:auto;margin-right:16px;padding:10px;border:1px solid #344239;border-radius:16px;background:#171a18ee;color:#fff;box-shadow:0 4px 10px #0005;overscroll-behavior:contain;touch-action:pan-y}
.map-native-layers h2{margin:0 0 4px;font-size:14px;font-weight:500;line-height:20px;letter-spacing:.1px}
.map-native-layers__hint{margin:0 0 4px;color:#91a597;font-size:9px;line-height:12px;letter-spacing:1.5px}
.map-native-layer-row{height:34px;display:flex;align-items:center;gap:6px;margin:4px 0;padding:0 5px;border-radius:9px;font-size:11px;line-height:16px;cursor:pointer}
.map-native-layer-row.is-checked{background:#1f3424}.map-native-layer-row.is-disabled{color:#68756b;cursor:default}
.map-native-layer-row input{appearance:none;-webkit-appearance:none;position:relative;width:18px;height:18px;flex:none;margin:0 4px;border:2px solid #9db89a;border-radius:2px;background:transparent;cursor:inherit}
.map-native-layer-row input:checked{background:#89a887;border-color:#89a887}.map-native-layer-row input:checked::after{content:'';position:absolute;left:3px;top:0;width:5px;height:9px;border:solid #183222;border-width:0 2px 2px 0;transform:rotate(45deg)}
.map-native-layer-row input:disabled{opacity:.4}
.map-native-side-controls{position:absolute;right:calc(env(safe-area-inset-right) + 16px);bottom:calc(env(safe-area-inset-bottom) + 144px);z-index:12;display:flex;flex-direction:column;gap:14px;pointer-events:none}
.map-native-button{display:grid;place-items:center;flex:none;width:48px;height:48px;min-height:48px;padding:0;border:0;border-radius:28px;background:#171717;color:#fff;box-shadow:0 3px 8px #0005;font-family:TaigaRoboto,Roboto,Arial,sans-serif;font-size:10px;font-weight:400;letter-spacing:1.2px;line-height:14px;cursor:pointer;touch-action:manipulation;pointer-events:auto;-webkit-tap-highlight-color:transparent}
.map-native-button svg{width:24px;height:24px}.map-native-button:disabled{opacity:.55;cursor:default}.map-native-button:active{background:#303630}
.map-native-button:focus-visible,.map-native-layer-handle:focus-visible,.map-native-layer-row input:focus-visible{outline:2px solid #b6d7af;outline-offset:3px}
.map-native-layer-actions{display:flex;justify-content:space-between;gap:8px;margin-top:4px}
.map-native-layer-actions .map-native-button{width:42px;height:42px;min-height:42px;border:1px solid #2d342f;border-radius:50%;font-weight:600}
.map-native-layer-actions .map-native-button[aria-pressed=true]{background:#1f3424;border-color:#3b6542;color:#e2f2de}
.map-native-layer-actions .map-native-button svg{width:18px;height:18px}
.map-native-legend{margin:4px 0;font-size:9px;color:#91a597}.map-native-legend>div{display:flex;gap:6px;margin-top:5px}.map-native-legend i{font-style:normal;color:#fff;display:flex;align-items:center;gap:3px}.map-native-legend i::before{content:'';height:3px;width:20px;background:var(--speed);border-radius:2px}
.map-native-more{display:block;width:100%;min-height:32px;margin:6px 0 -4px;border:0;background:transparent;color:#91a597;font:inherit;font-size:11px;text-align:left;cursor:pointer}
.app-shell--screen-map .map-field-panel-shell{top:calc(env(safe-area-inset-top) + 12px);right:calc(env(safe-area-inset-right) + 16px);bottom:auto;z-index:19;max-width:calc(100% - 32px)}
.app-shell--screen-map .map-field-panel{position:relative;inset:auto;width:min(340px,calc(100vw - 32px));max-height:calc(var(--app-viewport-height,100dvh) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 120px);margin:0;border-radius:16px;background:#171a18f5;box-shadow:0 4px 10px #0005}
.map-field-panel__heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.map-field-panel__heading h2{font-size:14px;margin:0}.map-field-panel__heading button{min-width:44px;min-height:44px;border:0;background:transparent;color:#fff;font-size:24px}
.app-shell--screen-map .map-track-recorder-shell{left:16px;right:80px;bottom:calc(env(safe-area-inset-bottom) + 252px);max-width:340px}
.app-shell--screen-map .track-recorder--active{background:#171717cc;border:0;border-radius:18px;box-shadow:0 3px 7px #0004;color:#d6edcc}
.app-shell--screen-map .track-recorder--active .track-recorder__stop{display:none}
.map-native-ruler{position:absolute;left:16px;bottom:calc(env(safe-area-inset-bottom) + 116px);max-width:calc(100% - 96px);z-index:13;padding:12px;border-radius:18px;background:#171717dd;color:#d6edcc;font-size:12px}
.map-native-ruler button{min-height:36px;padding:4px 8px;border:0;background:transparent;color:#d6edcc;font:inherit}.map-native-ruler button:disabled{opacity:.4}
.map-native-ruler{width:260px;border-radius:20px;padding:12px 16px;background:#171717cc;box-shadow:0 4px 10px #0005;max-height:calc(100dvh - 250px);overflow:auto}.map-native-ruler header{display:flex;align-items:center;justify-content:space-between;gap:2px;color:white}.map-native-ruler header>span{white-space:nowrap}.map-native-ruler header button{font-size:11px;padding:4px}.map-native-ruler-segments{max-height:100px;overflow:auto;color:#ccc;line-height:22px}.map-native-ruler strong{display:block;border-top:1px solid #fff3;margin-top:6px;padding-top:8px;color:white;font-weight:400;font-size:14px}.map-native-ruler-area{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:6px;color:#81c784}.map-native-ruler-area button{border:1px solid #fff6;border-radius:20px;min-height:32px;font-size:11px}.map-native-ruler-area button[aria-pressed=true]{color:#81c784;border-color:#4caf50}.native-altitude-card{width:100%;display:flex;flex-direction:column;gap:8px}.native-altitude-card>span,.native-altitude-card small{font-size:11px;color:#8e9b92}.native-altitude-card>strong{font-size:30px;font-weight:400;color:white;line-height:36px}.native-altitude-card p{margin:0;color:#a9d7a7;font-size:14px}.native-altitude-card>div{display:flex;justify-content:space-between;font-size:11px;color:#879087}.app-shell--screen-map .track-recorder--active{display:block;width:250px;max-width:100%;padding:16px 18px;border-radius:26px;background:#15171bc0}.track-recorder--active .track-recorder__stats{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px;font-size:11px}
.app-shell--screen-map .map-center-info-shell{bottom:calc(env(safe-area-inset-bottom) + 118px)}
.map-native-position{position:absolute;bottom:calc(env(safe-area-inset-bottom) + 118px);left:50%;transform:translateX(-50%);z-index:11;padding:10px 14px;border-radius:18px;background:#171717cc;color:#d6edcc;white-space:nowrap;text-align:center;font-size:11px;line-height:16px;pointer-events:none}
.map-native-position span{display:block;margin-bottom:3px;font-size:9px;letter-spacing:1.5px;color:#9fc39a}
.app-shell--screen-map .bottom-nav{width:min(calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)),760px);height:80px;bottom:calc(env(safe-area-inset-bottom) + 12px);padding:0;gap:0;border:0;border-radius:24px;background:#111a13;box-shadow:none;backdrop-filter:none}
.app-shell--screen-map .nav-button{height:100%;padding:6px 2px;border-radius:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;background:transparent;color:#3a5040;line-height:16px}
.app-shell--screen-map .nav-button--active{color:#89a887;background:transparent}
.app-shell--screen-map .nav-button svg{width:28px;height:28px}.app-shell--screen-map .nav-label{font-size:11px;line-height:16px;letter-spacing:0}
.app-shell--screen-map .nav-button .map-native-nav-icon{fill:currentColor;stroke:none}
.app-shell--screen-map .nav-button::after{content:'';width:28px;height:3px;flex:none;margin-top:4px;border-radius:2px;background:transparent}
.app-shell--screen-map .nav-button--active::after{background:#89a887}
.app-shell--screen-map .mapboxgl-ctrl-bottom-left{bottom:calc(env(safe-area-inset-bottom) + 102px);left:4px;display:flex;align-items:center}
.app-shell--screen-map .mapboxgl-ctrl-bottom-right{bottom:calc(env(safe-area-inset-bottom) + 102px);right:4px}
.app-shell--screen-map .mapboxgl-ctrl-attrib{font-family:Arial,sans-serif;font-size:12px;color:#111}.app-shell--screen-map .mapboxgl-ctrl-attrib-button{min-height:24px}
.map-native-search{width:min(520px,100%);max-width:100%;max-height:calc(var(--app-viewport-height,100dvh) - 24px);margin:auto auto 0;border:0;border-radius:28px 28px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom));background:#172019;color:#d6edcc;overflow:auto}
.map-native-search::backdrop{background:#0006}.map-native-search h2{font-size:14px;font-weight:500;margin:20px 0 12px}.map-native-search__modes{display:flex;gap:8px;flex-wrap:wrap}
.map-native-search button{min-height:44px;border:1px solid #3a5040;border-radius:8px;padding:8px 12px;background:transparent;color:#d6edcc;font:inherit;font-size:12px;cursor:pointer}
.map-native-search [aria-pressed=true]{background:#223d27}.map-native-search label{display:block;font-size:12px;margin:16px 0 8px}.map-native-search input{display:block;width:100%;min-height:52px;margin-top:6px;padding:12px;border:1px solid #89a887;border-radius:5px;background:transparent;color:#d6edcc;font-size:16px}
.map-native-search form>button{width:100%;margin-top:8px}.map-native-search .map-native-search__submit{background:#3f6b47;border-color:#3f6b47;border-radius:24px}.map-native-search [data-coordinate-error]{font-size:12px;color:#ffb4ab}
@media(max-height:560px){.map-native-side-controls{bottom:calc(env(safe-area-inset-bottom) + 104px);gap:6px;flex-direction:row}.map-native-layers{max-height:calc(var(--app-viewport-height,100dvh) - 108px)}.map-native-ruler{bottom:164px}.map-native-position{left:16px;transform:none;bottom:106px}.app-shell--screen-map .map-track-recorder-shell{bottom:164px}}
.app-shell--screen-map:has(.map-native-ruler) .map-native-position,.app-shell--screen-map:has(.map-native-ruler) .map-track-recorder-shell,.guest-app:has(.map-native-ruler) .guest-altitude{display:none}
