/* Mobile is the primary product surface; desktop keeps the supporting layout. */
@media (max-width:700px) {
  body.in-chat { position:fixed; inset:0; overflow:hidden; }
  body.in-chat .app-header { display:none; }
  body.in-chat .chat-pane { height:var(--visual-height,100dvh); min-height:0; border-radius:0; }
  body.in-chat .chat-header { padding:calc(8px + env(safe-area-inset-top)) 12px 8px; flex-shrink:0; }
  body.in-chat .chat-header .back, body.in-chat .chat-header .settings { min-width:44px; min-height:44px; }
  body.in-chat .messages { min-height:0; padding:16px; }
  body.in-chat .composer-wrap { flex-shrink:0; padding:0 12px max(10px,env(safe-area-inset-bottom)); }
  body.in-chat .chat-tools { flex-wrap:nowrap; overflow-x:auto; gap:6px; padding:4px 0 8px; }
  body.in-chat .tool { flex:0 0 auto; min-height:44px; padding:10px 12px; white-space:nowrap; font-size:12px; }
  body.in-chat .compose { padding:5px; gap:4px; }
  body.in-chat .compose textarea { font-size:16px; min-height:44px; padding:10px 8px; }
  body.in-chat .send { min-width:56px; min-height:44px; padding:10px; }
  body.in-chat .status:empty { display:none; }
  body.in-chat .composer-wrap .fine { margin-top:5px; }
  .modal { width:100%; max-width:none; max-height:calc(var(--visual-height,100dvh) - 12px); margin:auto 0 0; border-radius:24px 24px 0 0; padding:28px 22px max(24px,env(safe-area-inset-bottom)); overflow-y:auto; }
  .modal input, .modal select, .modal textarea { font-size:16px; }
  .modal .field textarea { max-height:30dvh; min-height:120px; }
  .modal .close { min-width:44px; min-height:44px; }
  .modal .quiet { min-height:44px; }
}
.inline-translation { margin-top:12px; padding-top:12px; border-top:1px solid #b8aac766; font-size:.92em; line-height:1.65; }
.user .inline-translation { border-top-color:#ffffff55; }
.translation-toggle { font-size:12px; min-height:40px; padding:6px 12px; color:#78628f; }
.typing-indicator { color:#78628f; font-size:13px; margin:8px 0 22px; }
.send-failure { display:flex; align-items:center; justify-content:flex-end; gap:8px; color:#a5475b; font-size:12px; margin-bottom:18px; }
.privacy-details { margin:16px 0; font-size:13px; line-height:1.65; text-align:left; }
.privacy-details summary { cursor:pointer; min-height:44px; display:flex; align-items:center; text-decoration:underline; }
.privacy-details p { margin:12px 0; }
.archive-consent { display:flex; align-items:flex-start; gap:10px; margin:16px 0; font-size:13px; line-height:1.6; }
.archive-consent input { flex:0 0 20px; width:20px; min-height:20px; margin-top:3px; }
.archive-notice { flex-shrink:0; display:flex; align-items:center; gap:8px; padding:4px 16px; background:#f5eefb; font-size:12px; }
.archive-notice .quiet { flex-shrink:0; font-size:12px; }
.voice-controls { display:flex; align-items:center; justify-content:flex-end; gap:8px; margin:0 0 8px; }
.voice-controls select { font-size:13px; padding:8px; min-height:44px; max-width:110px; }
.voice-button { border:1px solid #d6cede; border-radius:14px; padding:8px 14px; min-height:44px; background:#f5eefb; font-size:14px; }
.voice-button[aria-pressed="true"] { border-color:#a5475b; color:#853649; background:#fbeef2; }
.voice-unavailable { font-size:11px; color:#78628f; margin:0 0 8px; }
