:root{color:#18202b;background:#eef2f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html,body,#root{min-height:100%}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}.app-shell{height:100dvh;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) 220px;gap:12px;padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));overflow:hidden}.toolbar,.conversation,.log-panel{background:#fff;border:1px solid #d8e0e7;border-radius:8px}.toolbar{padding:12px;display:grid;gap:12px}.connection,.tool-row,.session-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.settings-grid{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(180px,1fr) 120px minmax(220px,1fr);gap:10px}label,.settings-grid,.conversation,.log-panel,.log-entry,.session-line,.session-line span{min-width:0}label{display:grid;gap:5px;color:#53606d;font-size:12px}input,select{width:100%;min-height:38px;border:1px solid #c7d1db;border-radius:6px;padding:0 10px;color:#17202a;background:#fbfcfd}button{min-height:38px;border:0;border-radius:6px;padding:0 14px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;white-space:nowrap}button:disabled{opacity:.55;cursor:not-allowed}.primary{background:#1769aa;color:#fff}.danger{background:#bd3d35;color:#fff}.secondary{background:#e8edf2;color:#1d2a36}.status-dot{min-height:28px;display:inline-flex;align-items:center;border-radius:999px;padding:0 10px;background:#e8edf2;color:#465362;font-size:13px}.status-dot.connected{background:#dff3e8;color:#17633b}.status-dot.error{background:#fae4e2;color:#963029}.session-line{color:#667382;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.session-line span{overflow-wrap:anywhere}.conversation{min-height:0;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:12px}.empty-state{margin:auto;color:#7b8793}.bubble{max-width:78%;border-radius:8px;padding:10px 12px;border:1px solid transparent}.bubble.user{align-self:flex-start;background:#edf7f5;border-color:#c8e4dd}.bubble.assistant{align-self:flex-end;background:#f3f0fa;border-color:#ddd4ef}.bubble-meta{display:flex;gap:8px;align-items:center;color:#687381;font-size:12px;margin-bottom:6px}.bubble p{margin:0;white-space:pre-wrap;line-height:1.5;overflow-wrap:anywhere}.log-panel{min-height:0;display:grid;grid-template-rows:36px 1fr;overflow:hidden}.log-header{display:flex;align-items:center;padding:0 12px;border-bottom:1px solid #d8e0e7;color:#465362;font-weight:600}.log-body{overflow:auto;padding:8px 12px;background:#101820}.log-entry{display:grid;grid-template-columns:76px 1fr;gap:10px;color:#d3dbe4;font-size:12px;line-height:1.5}.log-entry span{color:#7f8b98}.log-entry code{white-space:pre-wrap;word-break:break-word}.log-entry.error code{color:#ffb5ad}.log-entry.success code{color:#aee2c2}.log-entry.send code{color:#9ed1ff}.log-entry.receive code{color:#d5c2ff}@media(max-width:900px){.app-shell{grid-template-rows:auto minmax(0,1fr) minmax(160px,28dvh)}.settings-grid{grid-template-columns:minmax(0,1fr)}.bubble{max-width:94%}}@media(max-width:640px){body{overflow:hidden}.app-shell{display:flex;flex-direction:column;height:100dvh;min-height:0;gap:8px;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));overflow:hidden}.toolbar{flex:0 0 auto;max-height:46dvh;overflow:auto;gap:10px;padding:10px}.connection,.tool-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px}.connection .status-dot,.tool-row button:first-child{grid-column:1 / -1}button{width:100%;justify-content:center;padding:0 10px}input,select,button{min-height:42px}.session-line{display:grid;gap:4px;line-height:1.35}.conversation{flex:1 1 0;min-height:120px;padding:12px;gap:10px}.bubble{max-width:100%}.bubble-meta{flex-wrap:wrap;gap:4px 8px}.log-panel{flex:0 0 clamp(140px,24dvh,180px);grid-template-rows:34px minmax(0,1fr)}.log-body{padding:8px}.log-entry{grid-template-columns:64px minmax(0,1fr);gap:8px}}@media(max-width:360px){.connection,.tool-row{grid-template-columns:minmax(0,1fr)}}
