/* Responsive presentation only. Desktop's two-pane layout starts at 1120px.
   Paper dimensions, rendering, saves and export handlers remain shared. */
@media (max-width:1119.98px) {
  .page:has(.chat-thread:not([hidden])) > .workspace-switch { gap:6px; }
  .workspace-switch button { min-height:44px; padding:9px 20px; font:inherit; font-size:14px; }
  .workspace-switch button[aria-pressed=true] { background:var(--active); color:var(--teal); }
  .document-dock .document-view-tools { gap:6px; flex-wrap:wrap; }
  .document-dock .document-view-tools button,
  .document-dock .document-view-menu summary,
  .document-dock .draft-controls button,
  .document-dock .resume-style select,
  .document-dock .resume-exports button,
  .document-reopen { min-height:44px; }
  .document-dock .document-view-tools button { min-width:44px; }
  .document-dock .document-view-menu summary { display:flex; align-items:center; padding:8px 12px; }
  .document-dock .document-view-menu[open] button { top:48px; }
  .document-dock .document-view-menu[open] button + button { top:96px; }
  .document-dock .resume-exports button { font-size:12px; }
  .document-dock .draft-controls button { font-size:13px; }
  .document-dock .resume-style select { font-size:16px; max-width:100%; }
  .document-dock .draft-editor { font-size:16px; resize:none; }
  .workspace-switch button:focus-visible,
  .document-view-menu summary:focus-visible,
  .quick-appearance summary:focus-visible { outline:2px solid var(--teal); outline-offset:3px; }
}

@media (max-width:900px) {
  .sidebar { padding-top:max(20px,env(safe-area-inset-top)); padding-bottom:max(20px,env(safe-area-inset-bottom)); padding-left:max(18px,env(safe-area-inset-left)); max-height:100dvh; overscroll-behavior:contain; }
  .chat-menu-trigger { width:44px; }
  .chat-menu-item { min-height:44px; }
  .header { grid-template-columns:44px minmax(0,1fr) auto; }
  .header > .brand-logo { display:block; width:100px; height:46px; max-width:100%; }
  .header-actions { min-width:0; gap:8px; }
  .header,.page:has(.chat-thread:not([hidden])) .header { padding-left:max(12px,env(safe-area-inset-left)); padding-right:max(12px,env(safe-area-inset-right)); }
  .quick-appearance summary { width:44px; height:44px; }
}

@media (max-width:767px) {
  body { overflow:hidden; }
  .page { height:100dvh; min-height:0; min-width:0; padding:0; }
  .header { flex:none; min-height:64px; gap:8px; padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left)); padding-top:max(8px,env(safe-area-inset-top)); }
  .header > .brand-logo { width:96px; height:44px; }
  #account-button { min-height:44px; max-width:84px; padding:8px 12px; }
  .welcome { flex:1; min-height:0; width:100%; align-items:stretch; justify-content:flex-start; padding:20px max(16px,env(safe-area-inset-right)) 20px max(16px,env(safe-area-inset-left)); overflow-y:auto; overscroll-behavior:contain; }
  .welcome > * { flex-shrink:0; }
  .eyebrow { font-size:10px; letter-spacing:1.4px; margin-bottom:12px; }
  .welcome h1 { font-size:clamp(28px,7.5vw,34px); max-width:360px; letter-spacing:-1.2px; }
  .subtitle { font-size:15px; margin-top:12px; }
  .suggestions { width:100%; max-width:none; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:22px; }
  .chip { min-width:0; min-height:132px; padding:14px 12px; gap:10px; font-size:14px; letter-spacing:-.2px; }
  .chip svg { width:22px; height:22px; }
  .chip small { font-size:12px; line-height:1.5; }
  .composer-area { flex:none; width:100%; min-width:0; max-height:min(60dvh,calc(100dvh - 120px)); overflow-y:auto; overscroll-behavior:contain; position:static; margin:0; padding:8px max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); background:var(--background); }
  .composer { padding:10px 12px; border-radius:18px; }
  #prompt { font-size:16px; max-height: min(180px,25dvh); }
  .composer-tools { margin-top:4px; }
  .send { width:44px; height:44px; }
  .footnote { margin:4px 0 0; font-size:10px; }
  .status { margin-bottom:8px; font-size:12px; }
  .composer-area > .document-panel { max-height:45dvh; overflow-y:auto; overscroll-behavior:contain; }
  .document-grid { grid-template-columns:minmax(0,1fr); }
  .document-field,.job-link-row { min-width:0; }
  .document-file { max-width:100%; }
  .job-link-row { flex-wrap:wrap; }
  .job-link-row input { min-width:0; width:100%; }
  #chat-attachment { display:flex; align-items:center; gap:8px; overflow-wrap:anywhere; font-size:13px; }
  #chat-attachment-name { flex:1; min-width:0; }
  #remove-chat-attachment { min-height:44px; padding:8px 10px; border:1px solid var(--border); border-radius:10px; background:var(--surface); color:var(--secondary-text); font:inherit; font-size:12px; }
  .page:has(.chat-thread:not([hidden])) { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto minmax(0,1fr) auto; gap:0; padding:0; }
  .page:has(.chat-thread:not([hidden])) > .header { grid-column:1; grid-row:1; padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left)); padding-top:max(8px,env(safe-area-inset-top)); }
  .page .chat-thread:not([hidden]) { grid-column:1; grid-row:3; width:100%; min-height:0; max-width:none; margin:0; padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left)); overflow-y:auto; overscroll-behavior:contain; }
  .page .chat-thread .messages { display:block; }
  .message-text { font-size:15px; line-height:1.7; }
  .message-user > .message-text { max-width:94%; }
  .message-actions button { min-width:44px; min-height:44px; }
  .context-actions { grid-template-columns:minmax(0,1fr); }
  .context-action,.discovery-answer { min-height:44px; }
  .page:has(.chat-thread:not([hidden])) > .composer-area { grid-column:1; grid-row:4; width:100%; max-width:none; position:static; margin:0; padding:8px max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); }
  .page.has-document-workspace:has(.chat-thread:not([hidden])) > .workspace-switch { display:flex; grid-column:1; grid-row:2; padding:0 max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left)); }
  .workspace-switch button { flex:1; border:1px solid var(--border); border-radius:10px; color:var(--text); background:var(--surface); }
  .page.has-document-workspace:has(.chat-thread:not([hidden])) > .document-dock { grid-column:1; grid-row:3/5; min-width:0; min-height:0; margin:0 max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); overflow:auto; overscroll-behavior:contain; }
  .page.has-document-workspace[data-workspace-pane=chat] > .document-dock { display:none!important; }
  .page.has-document-workspace[data-workspace-pane=document]:has(.chat-thread:not([hidden])) > .document-dock { display:block; }
  .page.has-document-workspace[data-workspace-pane=document] > .chat-thread,
  .page.has-document-workspace[data-workspace-pane=document] > .composer-area { display:none; }
  .document-dock > .draft-panel { height:auto; min-width:0; }
  .document-dock .draft-toolbar { padding:10px; }
  .document-dock .draft-toolbar h3 { white-space:normal; overflow-wrap:anywhere; }
  .document-dock .draft-controls { gap:6px; }
  .document-dock .resume-document { padding:10px; }
  .document-dock .resume-style { display:grid; gap:6px; }
  .document-dock .resume-style select { width:100%; min-width:0; }
  .document-dock .resume-pages { max-height:none; padding:8px; overflow:auto; }
  .document-dock .document-view-tools { padding:8px 0; }
  .document-dock .document-view-tools output { width:auto; min-width:48px; font-size:12px; }
  .document-dock .document-view-tools button:last-child { margin-left:auto; }
  .document-dock .resume-exports { grid-template-columns:minmax(0,1fr); gap:8px; }
  .document-dock .resume-exports .resume-google { grid-column:auto; }
  .document-dock .resume-export-note { font-size:11px; line-height:1.6; }
  .document-dock .draft-editor { width:calc(100% - 20px); margin:10px; padding:12px; min-height:240px; height:50dvh; }
  .document-dock .document-status { padding:0 10px; overflow-wrap:anywhere; }
  .draft-panel.document-focused { inset:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))!important; }
  .document-dock .document-focused .resume-pages { overflow:auto; min-height:100px; }
  .section-view { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:24px max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)); }
  .section-view h1 { font-size:30px; }
  .appearance,.empty-state { margin-top:24px; padding:18px; min-width:0; overflow-wrap:anywhere; }
  .theme-option { padding:10px 16px; }
  dialog { width:calc(100vw - 24px); max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); padding:20px; overflow-y:auto; overscroll-behavior:contain; }
  .auth-field input,.document-field textarea,.document-field input { min-width:0; font-size:16px; }
  .dialog-header { align-items:flex-start; }
  .dialog-header h2 { font-size:22px; }
  #close-auth { flex-shrink:0; width:44px; height:44px; }
  .auth-form { gap:14px; margin-top:16px; }
}

@media (max-width:359px) {
  .header { gap:4px; }
  .header > .brand-logo { width:76px; }
  .header-actions { gap:4px; }
  #account-button { max-width:72px; padding:8px; }
  .welcome { padding:14px max(12px,env(safe-area-inset-right)) 14px max(12px,env(safe-area-inset-left)); }
  .chip { padding:12px 10px; font-size:13px; }
  .chip small { font-size:12px; }
  .document-dock .document-view-tools { gap:4px; }
  .document-dock .document-view-tools button { padding:6px; }
}

@media (max-width:767px) and (max-height:500px) {
  .header,.page:has(.chat-thread:not([hidden])) > .header { min-height:52px; padding-top:4px; padding-bottom:4px; }
  .footnote { display:none; }
  .welcome { padding-top:12px; }
}
