@media (max-width:900px) {
  .app-shell { grid-template-columns: minmax(0,1fr); }
  .app-shell>.sidebar { display: none; }
  .topbar .mobile-menu { display: inline-flex; }
  .topbar { padding: 0 12px; height: 60px; min-height: 60px; gap: 4px; }
  .topbar .model-trigger { flex: 1; max-width: none; }
  .topbar .persona-trigger { display: none; }
  .topbar .conversation-options { display: none; }
  .drawer-dialog { width: min(320px,88vw); margin: 0; height: 100dvh; max-height: 100dvh; border-radius: 0; animation-name: drawer-in !important; }
  .drawer-dialog .sidebar { display: flex; width: 100%; height: 100%; background: transparent; border: none; padding-top: max(24px,env(safe-area-inset-top)); }
  .drawer-close { margin-left: auto; }
  .settings-page { padding: 22px 24px 30px; }
  .form-actions { bottom: -30px; }
  dialog.model-picker { top: auto; bottom: 0; left: 0; margin: 0; width: 100%; max-width: 100vw; max-height: 86dvh; border-radius: var(--radius-panel) var(--radius-panel) 0 0; animation-duration: var(--duration-panel); }
  .model-picker .dialog-body { padding-bottom: max(20px,env(safe-area-inset-bottom)); }
  .sheet-handle { display: block; width: 32px; height: 3px; border-radius: 3px; background: var(--line-strong); margin: 12px auto 0; flex-shrink: 0; }
  .message-actions .icon-button { width: 44px; min-width: 44px; }
  .chat-row .icon-button { width: 44px; min-width: 44px; }
}
@media (max-width:540px) {
  .topbar .model-trigger strong { font-size: 14px; }
  .topbar .model-trigger small { font-size: 12px; }
  .settings-page { padding: 20px 20px 28px; }
  .settings-tabs { gap: 19px; margin-bottom: 28px; flex-wrap: nowrap; overflow-x: auto; }
  .settings-tabs a { white-space: nowrap; }
  .settings-tabs a { font-size: 13px; }
  .settings-form .form-grid { grid-template-columns: minmax(0,1fr); }
  .section-heading.row { align-items: flex-start; }
  .section-heading h2 { font-size: 18px; }
  .list-row { gap: 6px; }
  .list-row .actions { gap: 0; }
  .messages { padding: 28px 20px 20px; }
  .message { margin-bottom: 27px; }
  .user .message-content { max-width: 88%; padding: 11px 14px; }
  .assistant .message-content { font-size: 15px; }
  .empty-chat { padding: 28px 26px 9vh; }
  .empty-chat h1 { font-size: 25px; }
  .composer-area { padding: 10px 14px max(12px,env(safe-area-inset-bottom)); }
  .composer { padding: 7px 7px 7px 14px; gap: 8px; }
  .composer-foot { font-size: 12px; padding: 0 4px; gap: 8px; }
  .keyboard-hint { display: none; }
  .form-actions { bottom: -28px; }
  .form-actions .button { padding: 10px 13px; }
  .dirty-indicator { flex-basis: 100%; }
  .auth-inner .brand { margin-bottom: 42px; }
  .auth-view { padding: 38px 28px; }
  dialog { width: calc(100vw - 24px); }
  .dialog-body { padding-left: 20px; padding-right: 20px; }
  .catalog-toolbar { top: -20px; }
  .model-list .list-row { align-items: flex-start; }
  .info-grid { grid-template-columns: 1fr; gap: 4px; }
  .info-grid dd { margin-bottom: 12px; }
  .picker-key-hint { visibility: hidden; }
}
@media (max-height:500px) { .empty-chat { padding: 20px; } .empty-chat .brand-mark { display: none; } .empty-chat .empty-meta { margin-top: 0; } .composer-foot { display: none; } }
@keyframes drawer-in { from { opacity: 0; transform: translateX(-20px); } to { opacity: 1; transform: translateX(0); } }
