:root { --campus-bottom-nav-height: 66px; }
body.has-campus-bottom-nav { padding-bottom: calc(var(--campus-bottom-nav-height) + env(safe-area-inset-bottom)); }
.campus-bottom-nav {
  position: fixed;
  z-index: 40;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  grid-template-columns: repeat(var(--campus-bottom-nav-count, 3), minmax(0, 1fr));
  min-height: calc(var(--campus-bottom-nav-height) + env(safe-area-inset-bottom));
  padding: 6px max(8px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
  border-top: 1px solid rgba(215, 222, 238, .92);
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 -10px 28px rgba(28, 42, 82, .1);
  backdrop-filter: blur(18px);
}
.campus-bottom-nav a {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 52px;
  place-items: center;
  align-content: center;
  gap: 3px;
  border-radius: 12px;
  color: #8791a6;
  text-decoration: none;
  transition: color .16s ease, background .16s ease, transform .16s ease;
}
.campus-bottom-nav a:active { transform: scale(.96); }
.campus-bottom-nav a[hidden] { display: none; }
.campus-bottom-nav svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.campus-bottom-nav span { overflow: hidden; max-width: 100%; font-size: 10px; font-weight: 800; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
.campus-bottom-nav a.is-active { color: var(--brand, var(--task-brand, var(--route-brand, #2d3af0))); background: #f1f4ff; }
.campus-bottom-nav a.is-active::before { position: absolute; top: 1px; width: 18px; height: 3px; border-radius: 999px; content: ""; background: currentColor; }
body.has-campus-bottom-nav .composer-wrap { bottom: calc(var(--campus-bottom-nav-height) + env(safe-area-inset-bottom)); }
body.has-campus-bottom-nav .conversation { padding-bottom: calc(206px + env(safe-area-inset-bottom)); }

@media (prefers-reduced-motion: reduce) {
  .campus-bottom-nav a { transition: none; }
}
