.mobile-bottom-nav { display: none; }
.sidebar-backdrop { display: none; }
.runtime-note { margin: 14px 2px 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.runtime-health-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

@media (pointer: coarse) {
  .nav-item, .mobile-nav-item, .reveal-button, .text-action, .compact-button, .timeline-row, .document-card-button { min-height: 48px; }
}

@media (max-width: 720px) {
  body { padding-bottom: calc(68px + env(safe-area-inset-bottom)); }
  .page { padding-bottom: calc(104px + env(safe-area-inset-bottom)); }
  .topbar { padding-left: 12px; padding-right: 12px; gap: 9px; }
  .search-trigger { min-width: 0; width: auto; flex: 1; }
  .search-trigger kbd { display: none; }
  .topbar-status { display: none; }
  .lock-button, .mobile-menu { flex: 0 0 42px; width: 42px; height: 42px; }

  .sidebar { width: min(84vw, 310px); padding-bottom: calc(88px + env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; }
  .sidebar-backdrop { position: fixed; inset: 0; z-index: 35; border: 0; background: rgba(3,5,8,.64); opacity: 0; pointer-events: none; display: block; transition: opacity .14s ease; }
  body.menu-open .sidebar-backdrop { opacity: 1; pointer-events: auto; }

  .mobile-bottom-nav { position: fixed; left: 0; right: 0; bottom: 0; z-index: 32; min-height: calc(62px + env(safe-area-inset-bottom)); padding: 5px 7px calc(5px + env(safe-area-inset-bottom)); border-top: 1px solid rgba(42,54,67,.82); background: rgba(15,20,27,.96); backdrop-filter: blur(20px); display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 3px; }
  .mobile-nav-item { min-width: 0; min-height: 52px; padding: 5px 2px; border: 1px solid transparent; border-radius: 10px; background: transparent; color: var(--muted); display: grid; place-items: center; align-content: center; gap: 3px; cursor: pointer; }
  .mobile-nav-item > span:first-child { font-size: 16px; line-height: 1; }
  .mobile-nav-item > span:last-child { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; font-weight: 750; }
  .mobile-nav-item.active, .mobile-nav-item[aria-current="page"] { color: var(--accent-hover); border-color: rgba(45,212,191,.16); background: rgba(45,212,191,.07); }
  .mobile-search { color: var(--accent-hover); }

  .hero-row { gap: 16px; }
  .foundation-notice { min-width: 0; width: 100%; }
  .quick-grid { gap: 9px; }
  .quick-card { min-height: 92px; padding: 13px; }
  .quick-icon { width: 36px; height: 36px; flex-basis: 36px; }
  .entity-card { min-height: 118px; }
  .detail-panel { padding: 16px; }
  .search-dialog { padding-top: max(16px, env(safe-area-inset-top)); align-content: start; }
  .search-box { max-height: calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); }
  .search-results { max-height: calc(100dvh - 118px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); }
  .lock-screen { padding: max(14px, env(safe-area-inset-top)) 14px max(14px, env(safe-area-inset-bottom)); overflow-y: auto; }
  .lock-card { margin: auto; max-height: none; }
}

@media (max-width: 460px) {
  .search-trigger span:nth-child(2) { max-width: 34vw; }
  .mobile-nav-item > span:last-child { font-size: 9px; }
  .runtime-health-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .sidebar-backdrop { transition: none; }
}
