html,body{height:100%;min-height:0;overflow:hidden}
.app{position:fixed;inset:auto 0 auto 0;top:var(--orbi-vtop,0px);height:var(--orbi-vh,100dvh);min-height:0;margin:0;width:100%}
.chat-main{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;overflow:hidden}.chat-wall{min-height:0;overscroll-behavior:contain}
.composer-wrap{padding:8px max(12px,env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));min-width:0;max-height:70%;overflow:auto;scrollbar-width:thin}
.composer{flex-wrap:nowrap;gap:6px;padding:7px;align-items:flex-end}.composer textarea{order:0;flex:1 1 0;min-height:44px;max-height:110px;padding:11px 3px;font-size:16px;line-height:1.4}
.composer .icon-button{flex:0 0 44px;width:44px;height:44px}.composer .send{border-radius:50%;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.composer .send.is-recording{background:linear-gradient(#ef7d91,#d83d65);box-shadow:0 0 0 6px #f5b5c34d}
.footnote{line-height:1.4;margin-top:5px;font-size:10px}.recording{margin-bottom:8px}.recording-preview{max-height:25dvh}.recording-preview.circle{height:min(144px,25dvh);width:min(144px,25dvh)}
.side-bottom{padding-bottom:calc(14px + env(safe-area-inset-bottom))}
@media(max-width:720px){.app{height:var(--orbi-vh,100dvh)}.composer-wrap{padding-top:6px}.chat-main{height:100%}}
