/* Touch inputs keep a readable 16px size: iOS focus must not auto-zoom the page.
   User pinch zoom is deliberately preserved by the viewport configuration. */
@media(max-width:1000px),(pointer:coarse){
  input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select,
  .composer textarea,.chat-home .composer textarea,.question-cards textarea,
  .model-picker input,.chat-settings-popover select,.file-toolbar select{font-size:16px!important}
}
html{max-width:100%;overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.chat-settings-popover .planning-setting{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0 0;margin-top:12px;border-top:1px solid var(--line);font-size:12px;cursor:pointer}
.planning-setting strong{font-weight:500;display:block}.planning-setting small{font-size:11px;font-weight:400;line-height:1.5;color:var(--muted);display:block;max-width:175px;margin-top:3px}
.chat-settings-popover .planning-setting input{appearance:none;-webkit-appearance:none;flex:0 0 36px;width:36px;height:22px;min-height:22px;margin:0;padding:0;border:1px solid #b5b5ac;border-radius:20px;background:#d4d4cd;position:relative;cursor:pointer;box-shadow:none}
.planning-setting input:before{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:white;box-shadow:0 1px 3px #0002;transition:transform .15s}
.chat-settings-popover .planning-setting input:checked{background:#8b702d;border-color:#8b702d}.planning-setting input:checked:before{transform:translateX(14px)}
.planning-setting input:focus-visible{outline:2px solid #a88a35;outline-offset:3px}
.planning-indicator{flex:0 0 auto;padding:4px 7px;font-size:10px;line-height:1.4;border:1px solid #c8b579;border-radius:20px;color:#6e581f;background:#f5efdb}
@media(prefers-reduced-motion:reduce){.planning-setting input:before{transition:none}}
@media(max-width:1000px){
  body:has(#app-view:not([hidden])){overflow:hidden;overscroll-behavior:none}
  #app-view:not([hidden]){position:fixed;top:var(--app-top,0px);left:0;right:0;width:100%;max-width:100%;height:var(--app-height,100dvh);min-height:0;overflow:hidden;padding-top:env(safe-area-inset-top,0px)}
  .app-shell.chat-active{grid-template-rows:48px minmax(0,1fr)}
  .topbar{min-width:0;max-width:100%;min-height:0;height:48px;padding-inline:max(10px,env(safe-area-inset-left,0px)) max(10px,env(safe-area-inset-right,0px))}
  .main-content,.chat-view,.chat-view.chat-home,.messages,.message,.message-content,.composer{min-width:0;max-width:100%}
  .main-content{overscroll-behavior-y:contain;overflow-x:hidden;-webkit-overflow-scrolling:touch}
  .chat-active .main-content{padding-inline:10px;padding-bottom:env(safe-area-inset-bottom,0px)}
  .chat-active .chat-view{width:100%;margin-inline:0;padding-inline:0}
  .messages{overscroll-behavior:contain;overflow-x:hidden;overflow-wrap:anywhere;-webkit-overflow-scrolling:touch}
  .message-content a,.message-content p,.message-content li{overflow-wrap:anywhere}
  .message-content pre,.message-content .table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
  .composer{width:100%;margin-bottom:8px;flex-shrink:0;overflow:visible;border-radius:14px}
  .composer textarea{width:100%;min-width:0;line-height:1.45;padding:12px;min-height:48px;max-height:min(26vh,150px)}
  .composer-row{display:flex;align-items:center;flex-wrap:nowrap;gap:4px;min-width:0;width:100%;padding:3px 7px 7px}
  .composer .attach-button,.composer-settings-button,.composer .send-button{flex:0 0 36px;width:36px;height:36px}
  .planning-control{flex:0 0 auto;gap:3px;padding:2px;font-size:11px}
  .composer-row .composer-model{flex:1 1 0;min-width:0;max-width:none;margin-left:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .composer-row .composer-funding{flex:0 1 78px;min-width:0;max-width:78px;margin-right:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}
  .composer .send-button{margin-left:auto}
  .chat-header{min-height:36px;padding-block:6px;gap:6px}.chat-header h1{font-size:13px;line-height:1.35;font-weight:500}
  .artifact-panel{top:calc(var(--app-top,0px) + 48px);height:calc(var(--app-height,100dvh) - 48px);bottom:auto}
  .artifact-panel.preview-expanded{top:var(--app-top,0px);height:var(--app-height,100dvh)}
  dialog{max-width:calc(100% - 20px);max-height:calc(var(--app-height,100dvh) - 24px);overflow:auto}
  .chat-settings-popover{max-height:calc(var(--app-height,100dvh) - 160px);overflow-y:auto;overscroll-behavior:contain}
  .toast-region{bottom:calc(env(safe-area-inset-bottom,0px) + 12px)}
  .keyboard-open .chat-home .messages,.keyboard-open .chat-home .home-recent{display:none}
  .keyboard-open .chat-home{justify-content:flex-end;padding-bottom:0}
  .keyboard-open .chat-active .main-content{padding-bottom:0}
}
@media(max-width:360px){.composer-row .composer-funding{display:none}.composer-row{gap:2px}.planning-control{font-size:10px}}
