/* Suvilabs v1.20.2 — Mobile UI precision, based on real Claude app patterns.
 * Tokens reuse active Suvilabs theme; no browser/status-bar imitation, and no user details hardcoded.
 */
@media (max-width:900px) {
  :root { --suvi-touch:44px; }
  .app { height:var(--suvi-visible-h,100dvh); max-height:var(--suvi-visible-h,100dvh); min-height:0; }
  .app .main { height:100%; min-height:0; min-width:0; overflow:hidden; }
  .sidebar-scrim { display:block; padding:0; border:0; cursor:pointer; width:100%; height:100%; }
  html.suvi-drawer-open { overflow:hidden; }
  html.suvi-drawer-open body { overscroll-behavior:none; }
  .app .sidebar { height:var(--suvi-visible-h,100dvh); bottom:auto; max-height:var(--suvi-visible-h,100dvh); width:min(89vw,360px) !important; padding-top:env(safe-area-inset-top,0px); overflow:hidden; }
  .sidebar .sb-head { min-height:64px; padding:12px 16px; }
  .sidebar .sb-head .btn.mobile-only { min-width:44px; min-height:44px; }
  .sidebar .sb-search { margin:6px 16px 14px; }
  .sidebar .sb-nav { margin:0 12px; }
  .sidebar .sb-nav .sb-link { min-height:48px; gap:12px; padding:11px 14px; }
  .sidebar .sb-section, .sidebar .sb-mobile-recent { font-weight:600; letter-spacing:.01em; }
  .sidebar .sb-list { min-height:0; flex:1 1 0; }
  .sidebar .conv-item { min-height:50px; }
  .sidebar .conv-item>a { min-height:50px; font-size:13px; }
  .sidebar .conv-item .more { min-width:40px; min-height:40px; }
  .sidebar .sb-foot { padding:8px 14px max(12px,env(safe-area-inset-bottom,0px)); }
  .sidebar .sb-settings-link,.sidebar .user-chip { min-height:50px; }
  .sidebar .sb-new-bottom { min-height:48px; border-radius:999px; }
  /* One mode bar with horizontal navigation; avoid a second nested mobile menu. */
  .unified-chat { min-width:0; overflow:hidden; }
  .chat-mode-bar { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; min-height:52px; gap:4px; padding:5px 12px; width:100%; }
  .chat-mode-bar::-webkit-scrollbar { display:none; }
  .chat-mode-bar>.btn { flex:0 0 auto; min-height:42px; white-space:nowrap; }
  .chat-mode-bar>.btn.sm { border-radius:999px; padding-inline:13px; font-size:13px; }
  .unified-chat>.chat { flex:1; min-height:0; }
  .unified-chat>.chat>.topbar { display:none; }
  .chat .thread { min-height:0; -webkit-overflow-scrolling:touch; scroll-padding-bottom:12px; }
  .chat .thread-inner { max-width:740px; padding:16px 16px 28px; gap:20px; }
  .chat .msg.user .bubble { max-width:min(90%,600px); border-radius:17px 17px 6px 17px; font-size:14px; line-height:1.6; }
  .chat .msg .prose { line-height:1.7; overflow-wrap:anywhere; }
  .chat .composer-wrap { width:100%; min-width:0; padding:7px 12px max(10px,env(safe-area-inset-bottom,0px)); overflow:visible; flex:0 0 auto; }
  .chat .composer { width:100%; max-width:740px; min-width:0; border-radius:20px; }
  .chat .composer textarea { font-size:16px; line-height:1.55; min-height:48px; padding:13px 14px 5px; max-height:min(32dvh,200px); resize:none; }
  .chat .composer-bar { display:flex; flex-wrap:nowrap; align-items:center; gap:5px; padding:5px 8px 9px; }
  .chat .composer-bar .tools { display:flex; min-width:0; flex:1 1 auto; flex-wrap:nowrap; gap:4px; overflow-x:auto; scrollbar-width:none; }
  .chat .composer-bar .tools::-webkit-scrollbar { display:none; }
  .chat .composer-bar .tools .btn.icon,.chat .composer-bar .tools .pill-btn { min-width:40px; min-height:40px; height:40px; }
  .chat .composer-bar .send-btn { min-width:42px; min-height:42px; width:42px; height:42px; flex:0 0 auto; }
  /* Plugin/skill actions remain reachable inside tools instead of squeezing send action. */
  .chat .composer-bar .plugin-command-button,.chat .composer-bar .skill-command-button { min-height:40px; min-width:40px; max-width:46px; padding:0 10px; justify-content:center; }
  .chat .composer-bar .plugin-command-button span,.chat .composer-bar .skill-command-button span { display:none; }
  .chat .composer-bar .spacer,.chat .composer-hint { display:none; }
  .chat .jump-down { bottom:100%; }
  .chat-empty { min-height:0; }
  .chat-empty .welcome { flex:1 1 auto; min-height:0; overflow-y:auto; justify-content:flex-start; gap:16px; padding:clamp(24px,6vh,74px) 18px 30px; }
  .chat-empty .welcome-plan { position:static; align-self:center; font-size:12px; }
  .chat-empty .welcome-symbol { margin:4px 0 0; }
  .chat-empty .welcome h1 { max-width:17ch; font-size:clamp(27px,7vw,37px); line-height:1.22; font-weight:550; }
  .chat-empty .welcome p { max-width:36ch; font-size:13px; line-height:1.7; }
  .chat-empty .starters { width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:8px auto 0; }
  .chat-empty .starters .chip { min-height:49px; padding:9px 11px; font-size:12px; text-align:left; border-radius:14px; }
  .chat-empty .starters .chip .starter-chevron { margin-left:auto; }
  /* Settings: full mobile content, never a desktop 200px sidebar compressed to 130px. */
  .page.settings-home { height:100%; min-height:0; overflow-y:auto; }
  .settings-home .page-topbar { position:sticky; top:0; z-index:6; min-height:58px; }
  .settings-home-inner { max-width:560px; margin:0 auto; padding:14px 16px max(35px,env(safe-area-inset-bottom,0px)); }
  .settings-account { min-width:0; min-height:82px; padding:14px; }
  .settings-account .settings-account-copy { min-width:0; overflow:hidden; }
  .settings-account .settings-account-copy strong { font-size:13px; overflow-wrap:anywhere; }
  .settings-upgrade { gap:14px; align-items:flex-start; margin:14px 0 17px; padding:17px; }
  .settings-upgrade .settings-upgrade-copy { flex:1 1 auto; min-width:0; }
  .settings-upgrade .btn { min-height:44px; }
  .settings-home-group { margin:0 0 14px; border-radius:17px; }
  .settings-home-row { min-height:62px; gap:14px; padding:12px 15px; }
  .settings-home-row strong { font-size:15px; line-height:1.35; }
  .settings-home-row small { font-size:12px; line-height:1.45; }
  .settings-haptics-row { cursor:default; }
  .settings-home .settings-logout { min-height:60px; }
  .preferences-page { height:var(--suvi-visible-h,100dvh) !important; max-height:var(--suvi-visible-h,100dvh) !important; }
  .preferences-page .preferences-header { min-height:60px; padding:8px 12px; }
  .preferences-page .settings-body { flex:1; overflow-y:auto; padding:20px 18px max(40px,env(safe-area-inset-bottom,0px)) !important; }
  .preferences-page .settings-body>.anim-fade { width:100%; }
  .preferences-page .preference-row { min-height:65px; padding:14px 0; flex-wrap:wrap; gap:8px 12px; }
  .preferences-page .preference-row>div:first-child { flex:1 1 150px; }
  .preferences-page .preference-row .preference-control { max-width:100%; min-height:36px; }
  .preferences-page .preference-select { min-height:40px; font-size:16px; }
  .preferences-page .settings-body :is(button,select,a,input) { touch-action:manipulation; }
}
@media (max-width:390px) {
  .chat-empty .welcome { gap:12px; padding:22px 14px 24px; }
  .chat-empty .welcome h1 { font-size:27px; }
  .chat-empty .starters { gap:7px; }
  .chat-empty .starters .chip { font-size:11px; padding:8px 9px; min-height:44px; }
  .chat .composer-wrap { padding-inline:8px; }
  .settings-upgrade { flex-direction:column; }
  .settings-upgrade .btn { align-self:flex-start; }
}
@media (max-height:620px) and (max-width:900px) {
  .chat-empty .welcome { padding-top:12px; }
  .chat-empty .welcome h1 { font-size:25px; }
  .chat-empty .welcome p { display:none; }
  .chat-empty .starters { margin-top:3px; }
  .chat-empty .starters .chip { min-height:40px; }
}
@media (prefers-reduced-motion:reduce) {
  .sidebar { transition:none!important; }
  .chat-empty .welcome>* { animation:none!important; }
}
