#browser-toggle { margin-left:auto; }
#browser-mobile-toggle { display:none!important; }
#browser-panel[hidden] { display:none; }
#browser-panel { grid-area:1/2; min-width:0; min-height:0; display:flex; flex-direction:column; gap:12px; padding:18px; border-left:1px solid var(--line); background:var(--panel); overflow:auto; }
.chat-workspace:has(#browser-panel:not([hidden])) { grid-template-columns:minmax(280px,1fr) minmax(360px,1.15fr); }
.browser-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.browser-heading strong { display:block; margin-top:5px; font-size:18px; }
.browser-eyebrow { font-size:9px; letter-spacing:.12em; color:var(--muted); }
#browser-panel button { border:1px solid var(--line); border-radius:9px; padding:8px 11px; background:var(--panel); color:inherit; font-size:11px; cursor:pointer; }
#browser-panel button:disabled { opacity:.45; cursor:default; }
#browser-start { background:var(--blue)!important; color:white!important; }
.browser-controls { display:flex; flex-wrap:wrap; gap:6px; }
#browser-record.recording { color:#bc2547; border-color:#bc2547; }
#browser-navigation { display:flex; gap:6px; }
#browser-address { min-width:0; flex:1; padding:9px; border:1px solid var(--line); border-radius:9px; font-size:12px; background:transparent; color:inherit; }
.browser-viewport { background:#141923; border:1px solid var(--line); border-radius:12px; min-height:190px; overflow:hidden; display:grid; place-items:center; flex:1; }
#browser-screen { max-width:100%; max-height:100%; width:100%; height:auto; object-fit:contain; }
#browser-empty { color:#bac3d7; padding:28px; text-align:center; max-width:330px; font-size:12px; line-height:1.7; }
#browser-status { margin:0; color:var(--muted); font-size:11px; }
#browser-panel small { color:var(--muted); font-size:10px; line-height:1.5; }
#browser-downloads a { display:block; font-size:12px; padding:6px 0; }
.browser-viewport.zoomed { display:block; overflow:auto; touch-action:pan-x pan-y; }
.browser-viewport.zoomed #browser-screen { width:200%; max-width:none; max-height:none; }
@media(max-width:850px) {
 #browser-mobile-toggle { display:inline-flex!important; }
 .chat-workspace:has(#browser-panel:not([hidden])) { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr); overflow:hidden; }
 #browser-panel { grid-area:1/1; padding:10px; gap:7px; border-left:0; border-bottom:1px solid var(--line); }
 .chat-workspace:has(#browser-panel:not([hidden])) > .chat { display:none; }
 .browser-heading strong { font-size:14px; }
 .browser-viewport { min-height:140px; flex:1 0 140px; }
 #browser-screen { display:block; max-height:none; flex:none; }
 #browser-screen[hidden] { display:none; }
 #browser-panel small { display:none; }
}
@media(max-width:600px) {
 #chat-view #composer { grid-template-columns:minmax(0,1fr) 88px; align-items:center; }
 #composer #message { grid-column:1; grid-row:1; min-height:44px; font-size:16px; }
 #composer .chat-delivery { grid-column:2; grid-row:1; }
 #composer #chat-delivery { width:88px; max-width:88px; font-size:11px; }
 #composer .actions { grid-column:1 / -1; grid-row:2; width:100%; display:flex; flex-wrap:nowrap; justify-content:space-between; gap:4px; }
 #composer .actions button { flex-shrink:0; min-height:44px; padding:0 10px; font-size:10px; }
 #composer #browser-mobile-toggle { width:44px; padding:0; align-items:center; justify-content:center; font-size:0; }
 #browser-mobile-toggle::before { content:'▣'; font-size:23px; }
 #composer #browser-mobile-toggle[aria-expanded=true] { background:var(--blue-soft); }
 #composer #chat-attach { width:44px; font-size:23px; }
 #composer #chat-view-workspace, #composer #voice-help { display:none; }
 #composer #voice-toggle { width:44px; }
 #composer #chat-attachments, #composer #chat-upload-status { grid-row:auto; }
 .browser-heading strong { font-size:13px; }
 .browser-eyebrow { font-size:8px; }
 #browser-panel .browser-heading button { min-height:36px; padding:6px 9px; }
 #browser-panel .browser-controls button { min-height:38px; padding:6px 9px; }
 #browser-address { font-size:16px; }
}
