* { box-sizing: border-box; }
html { color: var(--app-ink); background: #f5f8fb; font-family: var(--app-font); }
body { margin: 0; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
.app-ui-body { min-width: 320px; background: radial-gradient(circle at 0 100%, #fff0e8 0, transparent 28rem), radial-gradient(circle at 100% 100%, #e5fbff 0, transparent 32rem), #f7f9fb; }
.app-ui-frame { width: min(100%, var(--app-content-width)); min-height: 100svh; margin: 0 auto; background: rgb(255 255 255 / 88%); box-shadow: 0 0 45px rgb(15 35 62 / 10%); }
.app-ui-main { min-height: calc(100svh - var(--app-header-height)); }
.app-icon { width: 1.35em; height: 1.35em; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.app-header { position: relative; z-index: 30; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; height: var(--app-header-height); padding: 0 2rem; color: #fff; background: linear-gradient(110deg, var(--app-navy-950), var(--app-navy-900)); }
.app-header--map { grid-template-columns: auto minmax(0, 1fr) minmax(14rem, 22rem) auto; gap: 1rem; }
.app-brand { display: inline-flex; width: fit-content; align-items: center; gap: .65rem; color: #fff; text-decoration: none; }
.app-brand img { width: 64px; height: 64px; object-fit: contain; }
.app-brand__wordmark { display: grid; font-size: 1.3rem; font-style: italic; font-weight: 900; line-height: .8; }
.app-brand__wordmark strong:last-child { color: var(--app-orange); }
.desktop-navigation { display: flex; height: 100%; align-items: stretch; gap: 1.5rem; }
.desktop-navigation__item { position: relative; display: flex; min-width: 120px; align-items: center; justify-content: center; gap: .65rem; color: #fff; text-decoration: none; }
.desktop-navigation__item::after { position: absolute; right: 10%; bottom: 0; left: 10%; height: 3px; border-radius: 3px 3px 0 0; background: var(--app-cyan); content: ''; opacity: 0; transform: scaleX(.5); transition: .18s ease; }
.desktop-navigation__item:hover, .desktop-navigation__item.is-active { color: var(--app-cyan); }
.desktop-navigation__item.is-active::after { opacity: 1; transform: scaleX(1); }
.app-header__actions { display: flex; align-items: center; justify-self: end; gap: .7rem; }
.launch-selector { position: relative; min-width: 0; color: var(--app-ink); }
.launch-selector__trigger { display: flex; width: 100%; min-height: 42px; min-width: 0; align-items: center; gap: .55rem; padding: .5rem .8rem; border: 1px solid rgb(255 255 255 / 28%); border-radius: 999px; color: rgb(255 255 255 / 82%); background: rgb(255 255 255 / 8%); font: inherit; font-size: .76rem; font-weight: 680; text-align: left; cursor: pointer; }
.launch-selector__trigger:hover, .launch-selector__trigger[aria-expanded='true'] { border-color: rgb(255 255 255 / 52%); color: #fff; background: rgb(255 255 255 / 13%); }
.launch-selector__trigger:focus-visible { outline: 2px solid var(--app-cyan); outline-offset: 2px; }
.launch-selector__trigger > [data-launch-selector-label] { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.launch-selector__search-icon { flex: 0 0 auto; font-size: 1.15rem; line-height: 1; }
.launch-selector__popover { position: absolute; z-index: 70; top: calc(100% + .55rem); right: 0; width: min(24rem, calc(100vw - 1.5rem)); padding: .55rem; border: 1px solid var(--app-border); border-radius: .9rem; color: var(--app-ink); background: rgb(255 255 255 / 99%); box-shadow: 0 16px 38px rgb(3 20 38 / 28%); }
.launch-selector__popover[hidden] { display: none; }
.launch-selector__input { width: 100%; min-height: 40px; padding: .5rem .65rem; border: 1px solid var(--app-border); border-radius: .65rem; color: var(--app-ink); background: #fff; font: inherit; font-size: .76rem; }
.launch-selector__input:focus { border-color: var(--app-blue); outline: 2px solid rgb(8 105 247 / 20%); outline-offset: 1px; }
.launch-selector__options { max-height: min(22rem, 52svh); margin-top: .4rem; overflow-y: auto; overscroll-behavior: contain; }
.launch-selector__fixed-options { display: grid; padding-bottom: .35rem; margin-bottom: .35rem; border-bottom: 1px solid var(--app-border); }
.launch-selector__results { display: grid; }
.launch-selector__options button { display: grid; width: 100%; min-height: 40px; align-content: center; gap: .1rem; padding: .45rem .6rem; border: 0; border-radius: .55rem; color: var(--app-ink); background: transparent; font: inherit; text-align: left; cursor: pointer; }
.launch-selector__options button:hover, .launch-selector__options button.is-active { background: var(--app-surface-soft); }
.launch-selector__options button[aria-selected='true'] { color: var(--app-blue); background: #edf5ff; }
.launch-selector__option-name { overflow: hidden; font-size: .74rem; font-weight: 760; text-overflow: ellipsis; white-space: nowrap; }
.launch-selector__option-context { overflow: hidden; color: var(--app-muted); font-size: .63rem; text-overflow: ellipsis; white-space: nowrap; }
.launch-selector__status { min-height: 1em; margin: .45rem .2rem .05rem; color: var(--app-muted); font-size: .64rem; }
.app-header--public-flight { grid-template-columns: 1fr auto; }
.public-flight-header__action { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; justify-self: end; padding: .65rem 1rem; border: 1px solid rgb(255 255 255 / 42%); border-radius: 999px; color: #fff; background: rgb(255 255 255 / 10%); font-size: .82rem; font-weight: 800; text-decoration: none; }
.public-flight-header__action:hover { color: var(--app-navy-950); background: var(--app-cyan); }
.app-upload-trigger { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: .45rem; padding: .65rem 1rem; border: 1px solid rgb(255 255 255 / 28%); border-radius: 999px; color: #fff; background: rgb(255 255 255 / 10%); font-weight: 800; cursor: pointer; }
.app-upload-trigger:hover { color: var(--app-navy-950); background: var(--app-cyan); }
.app-upload-trigger .app-icon { font-size: 1.05rem; }
.app-account { position: relative; }
.app-account__trigger { display: flex; min-width: 58px; min-height: 48px; align-items: center; justify-content: center; gap: .35rem; padding: .2rem; border: 0; border-radius: 999px; color: #fff; background: transparent; cursor: pointer; }
.initials-avatar { display: inline-grid; width: 42px; height: 42px; flex: 0 0 auto; place-items: center; overflow: hidden; border: 2px solid rgb(255 255 255 / 85%); border-radius: 50%; color: #fff; background: linear-gradient(145deg, color-mix(in srgb, var(--avatar-color, #0bbcc8) 85%, white), color-mix(in srgb, var(--avatar-color, #1769aa) 65%, black)); font-weight: 850; }
.initials-avatar--header { width: 46px; height: 46px; }
.initials-avatar--small { width: 30px; height: 30px; border-width: 1px; font-size: .72rem; }
.initials-avatar--profile { width: 190px; height: 190px; border-width: 5px; box-shadow: var(--app-shadow); font-size: 3.2rem; }
.app-account__menu { position: absolute; top: calc(100% + .65rem); right: 0; width: 190px; padding: .45rem; border: 1px solid var(--app-border); border-radius: .85rem; color: var(--app-ink); background: #fff; box-shadow: var(--app-shadow); }
.app-account__menu[hidden] { display: none; }
.app-account__menu a, .app-account__menu button { display: flex; width: 100%; min-height: 44px; align-items: center; gap: .65rem; padding: .65rem .75rem; border: 0; border-radius: .55rem; color: inherit; background: transparent; font-weight: 700; text-decoration: none; cursor: pointer; }
.app-account__menu a:hover, .app-account__menu button:hover { background: var(--app-surface-soft); }
.app-account__menu form { margin: 0; }
.flight-upload-dialog { width: 100vw; max-width: none; height: 100vh; max-height: none; padding: 0; border: 0; color: var(--app-ink); background: rgb(3 20 38 / 82%); }
.flight-upload-dialog[open] { display: grid; overflow: hidden; place-items: center; }
.flight-upload-dialog::backdrop { background: rgb(3 20 38 / 82%); }
.flight-upload-panel { display: flex; width: min(760px, calc(100% - 2rem)); max-height: calc(100svh - 2rem); flex-direction: column; padding: 0; overflow: hidden; margin: 1rem auto; border: 1px solid rgb(15 35 62 / 8%); border-radius: 1rem; background: #fff; box-shadow: 0 24px 72px rgb(0 0 0 / 42%); }
.flight-upload-panel > header { display: flex; flex: 0 0 auto; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.85rem 2.5rem 1.35rem; }
.flight-upload-eyebrow { margin: 0 0 .5rem; color: var(--app-blue); font-size: .7rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.flight-upload-panel h2 { margin: 0; font-size: 1.85rem; line-height: 1.1; }
.flight-upload-description { max-width: 38rem; margin: .55rem 0 0; color: var(--app-muted); font-size: .9rem; line-height: 1.45; }
.flight-upload-description strong { color: var(--app-blue); }
.flight-upload-close { display: inline-grid; width: 2.5rem; height: 2.5rem; flex: 0 0 2.5rem; padding: 0; border: 1px solid var(--app-border); border-radius: 999px; place-items: center; color: var(--app-ink); background: #fff; font-size: 1.65rem; line-height: 1; cursor: pointer; }
.flight-upload-content { display: grid; min-height: 0; gap: 1.25rem; padding: 0 2.5rem 1.5rem; overflow-y: auto; }
.flight-upload-recent { display: grid; gap: 1rem; padding: 1.25rem; border: 1px solid #bfdcff; border-radius: .8rem; background: linear-gradient(135deg, #f2f8ff, #eef7ff); }
.flight-upload-option-heading { display: flex; align-items: center; gap: 1rem; }
.flight-upload-option-heading h3, .flight-upload-history h3 { margin: 0; font-size: 1rem; line-height: 1.25; }
.flight-upload-option-heading p, .flight-upload-history p { margin: .25rem 0 0; color: var(--app-muted); font-size: .78rem; line-height: 1.4; }
.flight-upload-file-badge { display: grid; width: 62px; height: 62px; flex: 0 0 62px; place-items: center; align-content: center; border: 3px solid #d5e7ff; border-radius: 50%; color: var(--app-ink); background: #fff; }
.flight-upload-file-badge .app-icon { width: 1.9rem; height: 1.9rem; }
.flight-upload-file-badge small { margin-top: -.05rem; font-size: .58rem; font-weight: 850; }
.flight-upload-file-badge--zip { border-color: #e5e5e5; }
.flight-upload-picker { display: grid; gap: .75rem; cursor: pointer; }
.flight-upload-dropzone.is-dragging .flight-upload-drop-target { border-color: var(--app-blue); background: #fff; box-shadow: 0 0 0 3px rgb(8 105 247 / 10%); }
.flight-upload-drop-target { display: flex; min-height: 96px; align-items: center; justify-content: center; gap: 1rem; padding: 1rem; border: 1px dashed #9bbce8; border-radius: .65rem; color: var(--app-muted); background: rgb(255 255 255 / 72%); text-align: left; transition: border-color .15s ease, box-shadow .15s ease, background .15s ease; }
.flight-upload-drop-target > .app-icon { width: 2.4rem; height: 2.4rem; }
.flight-upload-drop-target span { display: grid; gap: .2rem; }
.flight-upload-drop-target strong { color: var(--app-muted); font-size: .86rem; }
.flight-upload-drop-target small { font-size: .72rem; }
.flight-upload-browse-mobile { display: none; }
.flight-upload-primary-action { display: inline-flex; width: 100%; min-height: 50px; align-items: center; justify-content: center; gap: .65rem; border-radius: .65rem; color: #fff; background: var(--app-blue); box-shadow: 0 7px 16px rgb(8 105 247 / 18%); font-size: .95rem; font-weight: 800; }
.flight-upload-primary-action .app-icon { font-size: 1.15rem; }
.flight-upload-security { display: flex; align-items: center; gap: .55rem; margin: 0; color: var(--app-muted); font-size: .68rem; line-height: 1.45; }
.flight-upload-security .app-icon { color: var(--app-blue); font-size: 1rem; }
.flight-upload-security strong { color: var(--app-ink); }
.flight-upload-divider { display: flex; align-items: center; gap: 1.15rem; color: var(--app-muted); font-size: .76rem; font-weight: 750; text-align: center; }
.flight-upload-divider::before, .flight-upload-divider::after { height: 1px; flex: 1 1 auto; background: var(--app-border); content: ''; }
.flight-upload-divider span { flex: 0 0 auto; }
.flight-upload-history { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 1rem; padding: 1rem 1.15rem; border: 1px solid var(--app-border); border-radius: .75rem; background: #fff; }
.flight-upload-dialog[data-upload-mode='history'] .flight-upload-history { border-color: var(--app-blue); background: linear-gradient(135deg, #f2f8ff, #eef7ff); box-shadow: 0 0 0 3px rgb(8 105 247 / 8%); }
.flight-upload-dialog[data-upload-mode='history'] .flight-upload-recent { border-color: var(--app-border); background: #fff; }
.flight-upload-history-copy { min-width: 0; }
.flight-upload-bulk-help { max-width: 25rem; }
.flight-upload-history-actions { display: grid; justify-items: end; gap: .45rem; }
.flight-upload-action, .flight-upload-cancel { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; padding: .55rem .85rem; border: 1px solid var(--app-blue); border-radius: .6rem; color: var(--app-blue); background: #fff; font-size: .76rem; font-weight: 750; text-decoration: none; cursor: pointer; white-space: nowrap; }
.flight-upload-action--secondary { min-height: 40px; padding: .5rem .8rem; }
.flight-upload-cancel { border-color: #f0bbbb; color: #a32121; background: #fff5f5; }
.flight-upload-cancel[hidden] { display: none; }
.flight-upload-panel input[type='file'] { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
.flight-upload-failures { min-height: 0; overflow: auto; }
.flight-upload-failures[hidden] { display: none; }
.flight-upload-failures h3 { margin: 0 0 .45rem; color: #a32121; font-size: .78rem; }
.flight-upload-failures ul { display: grid; gap: .35rem; padding: 0; margin: 0; list-style: none; }
.flight-upload-failures li { padding: .55rem .7rem; border-radius: .55rem; color: #8b1d1d; background: #fff0f0; font-size: .75rem; overflow-wrap: anywhere; }
.flight-upload-status { display: grid; flex: 0 0 auto; gap: .75rem; padding: 1rem 2.5rem 1.1rem; border-top: 1px solid var(--app-border); background: #fff; }
.flight-upload-progress { display: grid; gap: .55rem; }
.flight-upload-progress[hidden] { display: none; }
.flight-upload-progress > div { display: flex; justify-content: space-between; gap: 1rem; }
.flight-upload-progress > div strong { font-size: .8rem; }
.flight-upload-progress [data-upload-overall] { flex: 0 0 auto; color: var(--app-muted); font-size: .72rem; font-variant-numeric: tabular-nums; }
.flight-upload-progress progress { width: 100%; height: 8px; overflow: hidden; appearance: none; border: 0; border-radius: 999px; background: #e7e9ec; accent-color: var(--app-blue); }
.flight-upload-progress progress::-webkit-progress-bar { border-radius: 999px; background: #e7e9ec; }
.flight-upload-progress progress::-webkit-progress-value { border-radius: 999px; background: var(--app-blue); }
.flight-upload-progress progress::-moz-progress-bar { border-radius: 999px; background: var(--app-blue); }
.flight-upload-progress [data-upload-message] { margin: 0; color: var(--app-muted); font-size: .7rem; text-align: center; }
.flight-processing-state { display: flex; min-height: 42px; align-items: center; justify-content: center; color: var(--app-muted); text-align: center; }
.flight-processing-state[hidden] { display: none; }
.mobile-navigation { display: none; }
.content-page { position: relative; z-index: 2; width: min(calc(100% - 3rem), 1340px); margin: -1.8rem auto 0; padding-bottom: 2rem; }
.mountain-band { height: 150px; background: #f8fbfe url('/images/app-ui/mountains-premium-banner.png') 54% center / cover no-repeat; }
.mountain-band--short { height: 112px; }
.mountain-band--short + .content-page { margin-top: -1.5rem; }
.metric-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--app-border); border-radius: var(--app-radius); background: #fff; box-shadow: var(--app-shadow-sm); }
.metric { display: flex; min-width: 0; align-items: center; gap: 1.2rem; padding: 1.45rem 1.7rem; }
.metric + .metric { border-left: 1px solid var(--app-border); }
.metric__icon { display: grid; width: 58px; height: 58px; flex: 0 0 auto; place-items: center; border-radius: 50%; color: #fff; background: var(--metric-color); font-size: 1.55rem; }
.metric--blue { --metric-color: var(--app-blue); }.metric--green { --metric-color: var(--app-green); }.metric--purple { --metric-color: var(--app-purple); }.metric--orange { --metric-color: var(--app-orange); }
.metric > div { display: grid; min-width: 0; gap: .1rem; }
.metric strong { color: var(--metric-color); font-size: 1.7rem; line-height: 1; }
.metric span { font-size: .92rem; font-weight: 750; }
.metric small { color: var(--app-muted); font-size: .78rem; }
.section-heading { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: 1rem; }
.section-heading > div { display: flex; align-items: center; gap: .55rem; }
.section-heading h2 { margin: 0; font-size: .85rem; letter-spacing: .02em; text-transform: uppercase; }
.section-heading a { display: inline-flex; align-items: center; gap: .25rem; color: var(--app-blue); font-size: .78rem; font-weight: 750; text-decoration: none; }
.section-heading a .app-icon { width: 1em; }
.rail-card, .activity-feed-panel, .achievement-section, .achievement-types-card, .profile-card { border: 1px solid var(--app-border); border-radius: var(--app-radius); background: #fff; box-shadow: var(--app-shadow-sm); }
.achievement-badge { position: relative; display: inline-grid; width: 84px; height: 91px; flex: 0 0 auto; place-items: center; color: var(--badge-color); filter: drop-shadow(0 3px 3px rgb(4 18 32 / 25%)); isolation: isolate; }
.achievement-badge__artwork { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: 100%; object-fit: contain; }
.achievement-badge__label { position: absolute; z-index: 1; bottom: 1%; max-width: calc(100% - .35rem); padding: .12em .24em; overflow: hidden; border: 1px solid rgb(255 255 255 / 42%); border-radius: .3em; color: #fff; background: rgb(3 20 38 / 72%); font-size: 1.12rem; font-variant-numeric: tabular-nums; font-weight: 950; line-height: 1; text-overflow: ellipsis; text-shadow: 0 1px 2px rgb(0 0 0 / 72%); white-space: nowrap; }
.achievement-badge--green { --badge-color: #35a621; --badge-light: #91db55; --badge-dark: #126514; }.achievement-badge--blue { --badge-color: #0871dc; --badge-light: #51b6ff; --badge-dark: #073c86; }.achievement-badge--orange { --badge-color: #ff6419; --badge-light: #ffb326; --badge-dark: #a92708; }.achievement-badge--purple { --badge-color: #7137b1; --badge-light: #bc7ff1; --badge-dark: #3d176f; }
.progress-row { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .6rem; }
.progress-row progress { width: 100%; height: 8px; overflow: hidden; border: 0; border-radius: 999px; accent-color: var(--badge-color, var(--app-blue)); }
.progress-row strong { font-size: .72rem; }
.app-footer { display: flex; min-height: 62px; align-items: center; justify-content: space-between; gap: 1rem; padding: 0 2rem; border-top: 1px solid var(--app-border); color: var(--app-muted); background: #fff; font-size: .72rem; }
.app-footer nav { display: flex; gap: 1.5rem; }.app-footer a { text-decoration: none; }
.app-bottom-sheet__handle { display: none; }
.app-bottom-sheet__content { min-height: 0; overscroll-behavior: contain; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
:focus-visible { outline: 3px solid rgb(8 105 247 / 35%); outline-offset: 2px; }
@media (max-width: 900px) {
  .app-ui-frame { width: 100%; box-shadow: none; }
  .app-header { position: sticky; top: 0; height: var(--app-mobile-header-height); grid-template-columns: 1fr auto; padding: 0 .85rem; }
  .app-header--map { z-index: 39; grid-template-columns: auto minmax(0, 1fr) auto; gap: .42rem; }
  .app-brand img { width: 54px; height: 54px; }.app-brand__wordmark, .desktop-navigation { display: none; }
  .app-header__actions { gap: .3rem; }.app-upload-trigger { min-height: 40px; padding: .5rem .62rem; font-size: .72rem; }
  .app-header--map .app-brand img { width: 48px; height: 48px; }
  .app-header--map .launch-selector__trigger { min-height: 40px; padding: .45rem .58rem; font-size: .7rem; }
  .app-header--map .launch-selector__popover { position: fixed; top: calc(var(--app-mobile-header-height) - .5rem); right: .75rem; left: .75rem; width: auto; }
  .app-header--map .app-account__trigger { min-width: 44px; min-height: 44px; gap: .1rem; }
  .app-header--map .initials-avatar--header { width: 38px; height: 38px; }
  .app-ui-body .app-bottom-sheet { --app-bottom-sheet-handle-height: 24px; border-radius: 1.5rem 1.5rem 0 0; }
  .app-bottom-sheet > .app-bottom-sheet__handle { display: grid; width: 100%; height: var(--app-bottom-sheet-handle-height); flex: 0 0 auto; place-items: center; padding: 0; border: 0; border-radius: inherit; background: transparent; cursor: ns-resize; touch-action: none; }
  .app-bottom-sheet > .app-bottom-sheet__handle > span:first-child { width: 38px; height: 4px; border-radius: 999px; background: #a9adb3; }
  .public-flight-header__action { min-height: 40px; padding: .5rem .75rem; font-size: .72rem; }
  .initials-avatar--header { width: 40px; height: 40px; font-size: .85rem; }
  .app-ui-main { min-height: calc(100svh - var(--app-mobile-header-height) - var(--app-mobile-nav-height)); padding-bottom: var(--app-mobile-nav-height); }
  .mobile-navigation { position: fixed; z-index: 40; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: repeat(4, 1fr); height: calc(var(--app-mobile-nav-height) + env(safe-area-inset-bottom)); padding: .45rem .25rem max(.45rem, env(safe-area-inset-bottom)); color: #fff; background: var(--app-navy-950); box-shadow: 0 -5px 22px rgb(3 20 38 / 16%); }
  .mobile-navigation__item { display: grid; place-items: center; align-content: center; gap: .15rem; color: #fff; font-size: .64rem; text-decoration: none; }
  .mobile-navigation__item .app-icon { font-size: 1.35rem; }.mobile-navigation__item.is-active { color: var(--app-cyan); }
  .content-page { width: calc(100% - 1.25rem); margin-top: -1rem; padding-bottom: 1rem; }
  .mountain-band { height: 112px; }.mountain-band--short { height: 72px; }.mountain-band--short + .content-page { margin-top: -.6rem; }
  .metric-strip { grid-template-columns: repeat(3, 1fr); }
  .metric { justify-content: center; gap: .45rem; padding: .85rem .35rem; text-align: center; }
  .metric__icon { width: 34px; height: 34px; font-size: .95rem; }.metric strong { font-size: 1.05rem; }.metric span { font-size: .62rem; }.metric small { display: none; }
  .app-footer { min-height: 54px; flex-direction: column; justify-content: center; gap: .35rem; padding: .65rem 1rem calc(.65rem + var(--app-mobile-nav-height)); text-align: center; }
}
@media (min-width: 901px) and (max-width: 1320px) {
  .app-header--map { grid-template-columns: auto minmax(0, 1fr) minmax(11rem, 16rem) auto; padding-inline: 1rem; }
  .app-header--map .desktop-navigation { gap: .35rem; }
  .app-header--map .desktop-navigation__item { min-width: 88px; gap: .35rem; font-size: .76rem; }
}
@media (max-width: 360px) {
  .app-header--map { padding-inline: .55rem; }
  .app-header--map .app-brand img { width: 42px; height: 42px; }
  .app-header--map .app-upload-trigger { padding-inline: .5rem; font-size: .66rem; }
  .app-header--map .app-account__trigger .app-icon { display: none; }
  .app-header--map .launch-selector__search-icon { font-size: 1rem; }
}
@media (max-width: 600px) {
  .flight-upload-panel { width: calc(100% - 2rem); max-height: calc(100svh - 2rem); margin: 1rem; border-radius: 1.15rem; }
  .flight-upload-panel > header { padding: 1.35rem 1.5rem 1.1rem; }
  .flight-upload-eyebrow { margin-bottom: .55rem; font-size: .68rem; }
  .flight-upload-panel h2 { font-size: 1.75rem; }
  .flight-upload-description { margin-top: .65rem; font-size: .9rem; }
  .flight-upload-close { width: 2.4rem; height: 2.4rem; flex-basis: 2.4rem; }
  .flight-upload-content { gap: 1rem; padding: 0 1.5rem 1.15rem; }
  .flight-upload-recent { gap: .85rem; padding: 1rem; }
  .flight-upload-option-heading { gap: .85rem; }
  .flight-upload-option-heading h3, .flight-upload-history h3 { font-size: .95rem; }
  .flight-upload-file-badge { width: 58px; height: 58px; flex-basis: 58px; }
  .flight-upload-drop-target { min-height: 94px; gap: .75rem; padding: .8rem; }
  .flight-upload-drop-target > .app-icon { width: 2.15rem; height: 2.15rem; }
  .flight-upload-drop-target strong { font-size: .78rem; }
  .flight-upload-browse-desktop { display: none; }
  .flight-upload-browse-mobile { display: block; }
  .flight-upload-primary-action { min-height: 48px; font-size: .9rem; }
  .flight-upload-security { align-items: flex-start; font-size: .66rem; }
  .flight-upload-divider { gap: .75rem; font-size: .7rem; }
  .flight-upload-history { grid-template-columns: 48px minmax(0, 1fr) auto; gap: .45rem; padding: .75rem; }
  .flight-upload-history .flight-upload-file-badge { width: 48px; height: 48px; flex-basis: 48px; }
  .flight-upload-history .flight-upload-file-badge .app-icon { width: 1.55rem; height: 1.55rem; }
  .flight-upload-history h3 { font-size: .76rem; }
  .flight-upload-history p { margin-top: .16rem; font-size: .61rem; line-height: 1.3; }
  .flight-upload-bulk-limit { display: none; }
  .flight-upload-history-actions { grid-column: auto; justify-items: end; }
  .flight-upload-action--secondary { min-height: 36px; padding: .3rem .25rem; font-size: .5rem; }
  .flight-upload-cancel { padding: .42rem .55rem; font-size: .6rem; white-space: normal; }
  .flight-upload-status { padding: .95rem 1.5rem 1rem; }
  .flight-upload-progress > div { align-items: flex-start; }
  .flight-processing-state strong { font-size: .78rem; line-height: 1.4; }
}
@media (max-width: 390px) { .app-upload-trigger { padding-inline: .6rem; }.app-upload-trigger .app-icon { display: none; }.metric__icon { width: 30px; height: 30px; }.metric { gap: .25rem; }.metric strong { font-size: .95rem; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }
