/* Approved light chat surface; retain the existing dark theme. */
html:not([data-theme=dark]){--bg:#fff}
@media(prefers-color-scheme:dark){html[data-theme=system]{--bg:#0b0f0e}}
.app,.main{height:var(--chat-height,100dvh)}
.composer-wrap{position:relative;background:var(--bg);padding-top:6px;padding-bottom:max(3px,env(safe-area-inset-bottom))}
.composer-wrap form{flex-wrap:nowrap;gap:3px;padding:5px;border-radius:28px;border:1px solid color-mix(in srgb,var(--line) 55%,transparent);box-shadow:0 3px 14px #00000005}
.composer-wrap form:focus-within{border-color:var(--line);box-shadow:0 3px 14px #00000005}
.composer-wrap textarea{flex:1 1 auto;min-width:0;min-height:44px;max-height:164px;height:44px;padding:10px 2px;font:16px/24px Inter,system-ui,sans-serif}
.composer-plus,.composer-wrap .send{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;border:0;border-radius:50%;margin:0;cursor:pointer}
.composer-plus{background:transparent;color:var(--ink)}
.composer-wrap>small{font:10px/13px Inter,system-ui,sans-serif;display:block;margin:3px 0 0;color:var(--muted)}
.composer-wrap>small span{display:none}
.composer-menu{position:absolute;bottom:100%;left:max(9px,calc((100% - 760px)/2));z-index:35;width:min(260px,calc(100% - 18px));padding:7px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 30px #0002}
.composer-menu .search-toggle{width:100%;justify-content:flex-start;border:0;border-radius:10px;min-height:46px;color:var(--ink);padding:10px 12px}
.composer-menu .search-toggle:hover{background:var(--soft)}
.composer-chips{display:flex;gap:6px;flex-wrap:wrap;text-align:left}
.composer-chips:not(:empty){padding:0 8px 6px}
.composer-chip{border:0;border-radius:14px;padding:8px 10px;background:var(--soft);color:var(--ink);font-size:12px;max-width:100%;overflow-wrap:anywhere;cursor:pointer}
.search-notice{font-size:11px;margin:3px 8px}
.tools{opacity:1;gap:2px;align-items:center}.tools .tool,.response-more summary{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:6px;text-transform:none}
.response-more{position:relative}.response-more summary{cursor:pointer;list-style:none;color:var(--muted)}.response-more summary::-webkit-details-marker{display:none}
.response-more[open]{padding:0 6px 4px;background:var(--card);border:1px solid var(--line);border-radius:12px}.response-more[open] .tool{font:13px Inter,system-ui,sans-serif}
.row.user .bubble{border:0;border-radius:22px;background:var(--side)}
@media(max-width:760px){.composer-wrap{padding-left:9px;padding-right:9px}.tools .tool,.response-more summary{min-width:44px;min-height:44px}.messages{padding-bottom:8px}}

/* Keep the composer within the visible Safari viewport, including keyboard pan. */
.main{min-height:0;overflow:hidden}
.composer-wrap{flex:0 0 auto}
.messages{min-height:0;overscroll-behavior-y:contain}
@media(max-width:760px){
  html:has(#app:not(.hidden)),body:has(#app:not(.hidden)){overflow:hidden;overscroll-behavior:none}
  #app{position:fixed;top:0;left:0;right:0;bottom:auto;transform:translateY(var(--chat-top,0px));height:var(--chat-height,100dvh);overflow:hidden}
  #app .main{height:100%;min-height:0;display:flex;flex-direction:column}
  .messages{flex:1 1 0;overflow-y:auto;padding-top:16px}
  .welcome{min-height:0;display:block;padding:8px 2px}
  .welcome h1{font-size:clamp(23px,6.5vw,30px);line-height:1.15;letter-spacing:-.035em;overflow-wrap:anywhere}
  .command-label{font-size:10px;margin-bottom:12px!important}
  .welcome>p:not(.command-label){margin-top:14px;font-size:14px}
  .welcome-actions{margin-top:18px!important}
  .topbar{flex-shrink:0;gap:6px}
  .topbar .online{display:none}
  .workspace-title{flex:1;overflow:hidden}
  .composer-wrap{padding-bottom:max(3px,env(safe-area-inset-bottom));background:var(--bg)}
}
