@media (max-width: 760px) {
  .sidebar-top { gap: 8px; padding: 10px 14px; flex: none; }
  .sidebar-top .sidebar-actions { grid-column: 2; grid-row: 2; }
  .sidebar-actions .secondary { font-size: 12px; padding: 9px 10px; }
  .sidebar-top .runtime-status { grid-column: 1; grid-row: 2; }
  .sidebar { max-height: 35dvh; }
  /* Mobile must keep durable conversations reachable. The base stylesheet
     used to hide this list completely, leaving users unable to reopen history. */
  .session-list {
    display: flex;
    flex: none;
    gap: 7px;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 14px 12px;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .session-list::-webkit-scrollbar {
    display: none;
  }

  .session-list > .session-item,
  .session-list > .session-row {
    flex: 0 0 min(270px, 82vw);
    scroll-snap-align: start;
  }

  .session-list > .session-item {
    margin-bottom: 0;
  }

  .session-row {
    width: min(270px, 82vw);
    margin-bottom: 0;
  }

  .session-item {
    touch-action: manipulation;
    user-select: none;
    -webkit-user-select: none;
  }
}

@media (max-width: 430px) {
  .model-tier-badge { display: none; }
}

@media (max-width: 760px) and (max-height: 560px) {
  .sidebar { max-height: 100px; }
  .sidebar-top { display: none; }
  .fineprint { display: none; }
  .messages { padding-block: 12px; }
}

@media (max-width: 760px) {
  .keyboard-open .sidebar { display: none; }
  .keyboard-open .app { grid-template-rows: minmax(0, 1fr); }
  .keyboard-open .fineprint { display: none; }
}
