/* GlassKit floating tab bar, adjusted to the user's supplied App Store reference.
   The library provides the glass material; these rules set size, contrast and selection. */
.glass-tab-bar-dock {
  width: min(520px, calc(100vw - 24px));
  max-width: calc(100vw - 24px);
  bottom: max(6px, env(safe-area-inset-bottom, 0px));
}
.glass-tab-bar.glass-tab-bar--floating {
  width: 100%;
  padding: 3px;
  gap: 0;
  border-color: rgba(0, 0, 0, 0.13);
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05), inset 0 0 0 1px rgba(255, 255, 255, 0.9);
}
.glass-tab-bar--floating .glass-tab-bar__item {
  flex: 1;
  min-width: 0;
  min-height: 48px;
  justify-content: center;
  gap: 2px;
  padding: 4px 8px;
}
.glass-tab-bar--floating .glass-tab-bar__icon,
.glass-tab-bar--floating .glass-tab-bar__icon svg {
  width: 22px;
  height: 22px;
}
.glass-tab-bar--floating .glass-tab-bar__icon svg {
  stroke: #111111;
  stroke-width: 2.3;
}
.glass-tab-bar--floating .glass-tab-bar__label {
  font-size: 11px;
  line-height: 14px;
  font-weight: 600;
  letter-spacing: 0;
  color: #111111;
}
.glass-tab-bar--floating .glass-tab-bar__item.is-active::before {
  background: rgba(0, 0, 0, 0.065);
}
.glass-tab-bar--floating .glass-tab-bar__item.is-active .glass-tab-bar__icon svg {
  stroke: #3484ff;
  filter: none;
}
.glass-tab-bar--floating .glass-tab-bar__item.is-active .glass-tab-bar__label {
  color: #3484ff;
}
.glass-tab-bar--floating .glass-tab-bar__item:not(.is-active):hover .glass-tab-bar__icon svg {
  stroke: #111111;
}
.glass-tab-bar--floating .glass-tab-bar__item:not(.is-active):hover .glass-tab-bar__label {
  color: #111111;
}
.glass-tab-bar--floating .glass-tab-bar__item:focus-visible {
  outline: 2px solid #3484ff;
  outline-offset: 1px;
}

/* Mobile browser navigation leaves the bottom edge to browser controls. */
.browser-top-nav #cabinet-tabs {
  position:sticky;top:env(safe-area-inset-top, 0px);bottom:auto;left:auto;
  transform:none;width:100%;max-width:none;gap:0;margin:0 0 26px;
  background:#fff;z-index:50;touch-action:pan-y pinch-zoom;
}
.browser-top-nav #cabinet-tabs::before { content:'';position:absolute;left:0;right:0;bottom:100%;height:env(safe-area-inset-top,0px);background:#fff; }
.browser-top-nav .glass-tab-bar.glass-tab-bar--floating {
  padding:0;gap:0;border:0;border-bottom:1px solid #e9edf2;border-radius:0;
  background:#fff;box-shadow:none;backdrop-filter:none;
}
.browser-top-nav .glass-tab-bar--floating .glass-tab-bar__item {
  min-height:48px;padding:12px 8px;border-radius:0;background:transparent;
}
.browser-top-nav .glass-tab-bar--floating .glass-tab-bar__icon { display:none; }
.browser-top-nav .glass-tab-bar--floating .glass-tab-bar__label {
  font-size:14px;line-height:20px;font-weight:600;color:#78828b;
}
.browser-top-nav .glass-tab-bar--floating .glass-tab-bar__item.is-active .glass-tab-bar__label { color:#2876ef; }
.browser-top-nav .glass-tab-bar--floating .glass-tab-bar__item.is-active::before {
  inset:auto 18px -1px;height:2px;border-radius:2px;background:#2876ef;
}
.browser-top-nav.has-cabinet .app-header { margin-bottom:10px; }
.browser-top-nav.has-cabinet .app-shell { padding-bottom:max(24px,env(safe-area-inset-bottom,0px)); }
.browser-top-nav .app-shell { scroll-padding-top:calc(60px + env(safe-area-inset-top,0px)); }
