/* ============================================================
   Shared bottom tab bar (used on both / and /today.html).
   ============================================================ */

.tabbar {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  display: flex;
  align-items: stretch;
  height: calc(60px + env(safe-area-inset-bottom, 0px));
  padding-bottom: env(safe-area-inset-bottom, 0px);
  background: rgba(255, 255, 255, 0.92);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
  border-top: 0.5px solid #d1d1d6;
  z-index: 100;
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Inter', system-ui, sans-serif;
}

@media (prefers-color-scheme: dark) {
  .tabbar {
    background: rgba(22, 20, 15, 0.92);
    border-top-color: #2e2a22;
  }
}

/* On the editorial Today page, match the cream paper tone */
body:has(.page) .tabbar {
  background: rgba(246, 241, 231, 0.92);
  border-top-color: #d8cfb9;
}
@media (prefers-color-scheme: dark) {
  body:has(.page) .tabbar {
    background: rgba(22, 20, 15, 0.92);
    border-top-color: #2e2a22;
  }
}

.tab {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  text-decoration: none;
  color: #8e8e93;
  padding: 6px 0;
  transition: color 0.15s ease;
  -webkit-tap-highlight-color: transparent;
}
.tab svg { display: block; }
.tab span {
  font-size: 10px;
  letter-spacing: 0.02em;
  font-weight: 500;
}
.tab.active { color: #0a84ff; }
.tab:active { opacity: 0.7; }

@media (prefers-color-scheme: dark) {
  .tab { color: #98989d; }
  .tab.active { color: #0a84ff; }
}
