/* Tab bar */
.tabs { position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; display: flex; justify-content: center;
  padding: 6px max(8px, env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
  background: var(--bar); backdrop-filter: saturate(1.4) blur(18px); -webkit-backdrop-filter: saturate(1.4) blur(18px); border-top: 1px solid var(--line); }
.tabs .in { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr;  /* as many equal tabs as there are modules on */ width: 100%; max-width: 520px; }
.tab { display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 6px 0 4px; color: var(--faint); font-size: 10.5px; font-weight: 600; letter-spacing: .02em; }
.tab svg { width: 24px; height: 24px; }
.tab[hidden] { display: none; }
