: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,.login-grid{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:10px}.settings-grid label:nth-child(1),.settings-grid label:nth-child(4){grid-column:span 2}.login-grid{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;align-items:end;padding-top:10px;border-top:1px solid #d8e0e7}label,.settings-grid,.login-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}.primary.alt{background:#24764f}.primary.client{background:#6a4ea0}.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-scene{width:fit-content;max-width:100%;margin-bottom:6px;padding:2px 6px;border-radius:6px;background:#e7f2ff;color:#2e5f8e;font-size:12px;line-height:1.4;overflow-wrap:anywhere}.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:92px minmax(0,1fr);gap:10px;color:#d3dbe4;font-size:12px;line-height:1.5}.log-entry span{color:#7f8b98;white-space:nowrap}.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)}.settings-grid label:nth-child(1),.settings-grid label:nth-child(4){grid-column:auto}.login-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:92px minmax(0,1fr);gap:8px}}@media(max-width:360px){.connection,.tool-row{grid-template-columns:minmax(0,1fr)}}.audio-files-details{border-top:1px solid #d8e0e7;padding-top:8px;margin-top:4px}.audio-files-summary{cursor:pointer;font-weight:600;font-size:13px;color:#465362;padding:4px 0;-webkit-user-select:none;user-select:none}.audio-files-controls{display:flex;gap:8px;padding:8px 0}.audio-files-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-bottom:8px}.audio-files-filters select{min-height:32px}.audio-files-list{overflow:auto;max-height:200px}.audio-file-row{display:flex;align-items:center;gap:8px;padding:4px;border-bottom:1px solid #eef2f5;font-size:12px}.audio-file-row:last-child{border-bottom:none}.audio-file-name{flex:1 1 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1d2a36;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.audio-file-meta{flex:0 0 auto;color:#7b8793;white-space:nowrap}.audio-files-error{padding:8px 0;color:#963029;font-size:12px}.audio-files-empty{padding:12px;text-align:center;color:#7b8793;font-size:13px}.small-button{min-height:28px;padding:0 10px;font-size:12px}.tiny-button{min-height:24px;padding:0 8px;font-size:11px}.play-button{min-width:28px;flex:0 0 auto;padding:0 4px;font-size:13px;line-height:1}.audio-progress{flex:1 1 0;min-width:80px;height:16px;accent-color:#465362;cursor:pointer;margin:0;padding:0}
