:root{color:#1d232b;background:#f4f7f8;--app-height: 100vh;--safe-top: 0px;--safe-right: 0px;--safe-bottom: 0px;--safe-left: 0px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}@supports (padding: env(safe-area-inset-bottom)){:root{--safe-top: env(safe-area-inset-top);--safe-right: env(safe-area-inset-right);--safe-bottom: env(safe-area-inset-bottom);--safe-left: env(safe-area-inset-left)}}html{width:100%;height:100%;min-height:100%;-webkit-text-size-adjust:100%;overflow-x:hidden;overscroll-behavior:none}*{box-sizing:border-box}html,body{width:100%;margin:0;min-width:0;min-height:var(--app-height, 100vh);overflow-x:hidden;overscroll-behavior:none}#root{width:100%;min-height:var(--app-height, 100vh)}button,input,textarea,select{font:inherit;max-width:100%;min-width:0}button{cursor:pointer;touch-action:manipulation}button,input,textarea,select{-webkit-tap-highlight-color:transparent}.auth-shell{min-height:var(--app-height, 100vh);display:grid;place-items:center;padding:24px;overflow:auto;background:linear-gradient(135deg,rgba(44,111,121,.12),transparent 42%),linear-gradient(315deg,rgba(200,174,96,.14),transparent 38%),#f4f7f8}.auth-panel{width:min(420px,100%);background:#fff;border:1px solid #d9e2e4;border-radius:8px;padding:24px;display:grid;gap:16px;box-shadow:0 20px 60px #1a2a311f}.brand-row,.profile,.section-title,.chat-header,.composer,.search-row,.password-box{display:flex;align-items:center}.brand-row{gap:12px}.brand-mark{width:44px;height:44px;border-radius:8px;display:grid;place-items:center;background:#2c6f79;color:#fff;font-size:20px;font-weight:800}h1,h2,p{margin:0}h1{font-size:28px}h2{font-size:20px}p,span{color:#65737b;font-size:13px}label{display:grid;gap:6px;color:#3d4a52;font-size:13px}.hint{color:#77878d;line-height:1.45}.security-notice{border:1px solid #f0c36a;border-radius:6px;background:#fff7dd;color:#5f4700;padding:10px 12px;font-size:13px;line-height:1.45}.compact-notice{padding:8px 10px}input,textarea,select{width:100%;border:1px solid #cbd8dc;border-radius:6px;padding:10px 12px;outline:none;background:#fff;color:#1d232b}textarea{min-height:76px;resize:vertical;line-height:1.45}input:focus,textarea:focus{border-color:#2c6f79;box-shadow:0 0 0 3px #2c6f7924}.primary,.ghost,.icon-button{border:0;border-radius:6px;min-height:40px}.primary{background:#2c6f79;color:#fff;padding:0 16px;font-weight:700}.primary:disabled{background:#9db5bb;cursor:not-allowed}.icon-button:disabled{color:#97a5aa;cursor:not-allowed}.ghost{background:#e9eff1;color:#26333a;padding:0 14px}.danger-ghost{background:#fff0f0;color:#9f2f2f}.reset-key-panel,.settings-panel,.settings-form{display:grid;gap:10px}.segmented-control{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;border-radius:6px;background:#e9eff1}.segmented-control button{border:0;border-radius:5px;min-height:34px;background:transparent;color:#3d4a52}.segmented-control button.active{background:#fff;color:#2c6f79;font-weight:700}.settings-panel{border:1px solid #d9e2e4;border-radius:6px;padding:10px;background:#f7fafb}.settings-feedback{border-radius:6px;padding:9px 10px;font-size:13px;line-height:1.4}.settings-feedback.success{background:#e8f7ef;color:#21693f}.settings-feedback.error{background:#fff0f0;color:#9f2f2f}.confirm-row{display:flex;align-items:center;gap:8px;line-height:1.4}.confirm-row input{width:16px;height:16px;flex:0 0 16px}.danger-button{border:0;border-radius:6px;min-height:40px;background:#bf3f3f;color:#fff;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:700}.compact{min-height:34px}.small{min-height:36px}.icon-button{width:40px;flex:0 0 40px;display:grid;place-items:center;background:#e9eff1;color:#26333a}.icon-button.danger{background:#bf3f3f;color:#fff}.icon-button.active{background:#dff2ef;color:#2c6f79}.error,.status{border-radius:6px;padding:10px 12px;font-size:13px}.error{background:#fff0f0;color:#9f2f2f}.status{margin:12px 18px 0;background:#fff8df;color:#715900}.app-shell,.mobile-shell{width:100%;min-height:var(--app-height, 100vh);display:grid;grid-template-columns:340px minmax(0,1fr);background:#f4f7f8;overflow:hidden}.sidebar{min-width:0;min-height:var(--app-height, 100vh);border-right:1px solid #d7e0e3;background:#fff;display:grid;grid-template-rows:auto auto auto 1fr;gap:12px;padding:16px;overflow:hidden}.admin-shell{width:100%;min-height:var(--app-height, 100vh);background:#f4f7f8;color:#1d232b}.admin-header{min-height:76px;padding:16px 24px;border-bottom:1px solid #d7e0e3;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-header-actions{display:flex;align-items:center;gap:8px}.icon-text-button{display:inline-flex;align-items:center;justify-content:center;gap:6px}.admin-status{margin:12px 24px 0}.admin-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;padding:18px 24px 28px}.admin-nav{align-content:start;display:grid;gap:8px}.admin-nav button{min-height:44px;border:1px solid #d7e0e3;border-radius:6px;background:#fff;color:#2d3a41;padding:0 12px;display:flex;align-items:center;gap:8px;text-align:left}.admin-nav button.active{border-color:#2c6f79;background:#e8f5f4;color:#215f67;font-weight:800}.admin-content,.admin-section{min-width:0}.admin-section{display:grid;gap:14px}.admin-section-heading{min-height:44px;border-bottom:1px solid #d7e0e3;display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-form-grid,.admin-room-grid{display:grid;gap:10px}.admin-form-grid{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.admin-room-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-field{display:grid;gap:5px;color:#26343b;font-size:13px;font-weight:700}.admin-field span{color:#667780;font-size:12px;font-weight:400;line-height:1.35}.admin-field input,.admin-field textarea{width:100%}.admin-room-list{gap:12px}.admin-list{max-width:520px}.admin-search-row{max-width:560px}.admin-member-list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));max-height:180px;padding:10px;border:1px solid #d7e0e3;border-radius:6px;background:#fff}.admin-group-manager{display:grid;gap:10px;max-width:680px}.admin-group-detail,.admin-user-list{display:grid;gap:8px}.admin-user-row{min-height:44px;border:1px solid #d7e0e3;border-radius:6px;background:#fff;padding:8px 10px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.admin-user-row span{min-width:0;overflow-wrap:anywhere}.account-tools{display:grid;gap:8px}.profile{justify-content:space-between;gap:12px}.profile strong{display:block;overflow-wrap:anywhere}.profile-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.search-row,.password-box{gap:8px}.user-results,.member-list,.conversation-list,.active-group-tools{display:grid;gap:8px}.user-results button,.conversation-card,.active-group-tools button{border:1px solid #d9e2e4;border-radius:6px;background:#fff;padding:10px;text-align:left}.user-results button{display:flex;align-items:center;justify-content:space-between}.conversation-list{overflow:auto;align-content:start;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.conversation-card{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:8px;align-items:center}.conversation-card.active{border-color:#2c6f79;background:#eef8f8}.conversation-main{border:0;background:transparent;padding:0;min-height:46px;text-align:left;display:grid;gap:4px}.conversation-main strong{display:flex;align-items:center;justify-content:space-between;gap:8px;overflow-wrap:anywhere}.conversation-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-delete{width:34px;min-height:34px;flex-basis:34px;color:#8f4343;background:#fff0f0}.conversation-main>span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unread-badge{min-width:20px;height:20px;padding:0 6px;border-radius:999px;display:inline-grid;place-items:center;background:#d92d20;color:#fff;font-size:12px;font-weight:800;line-height:1}.admin-tools{border-top:1px solid #e3eaec;border-bottom:1px solid #e3eaec;padding:12px 0;display:grid;gap:10px}.section-title{gap:8px;color:#2c3a41;font-weight:700;font-size:14px}.member-list{max-height:120px;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.member-list label{display:flex;align-items:center;gap:8px}.member-list input{width:auto}.invite-title{margin-top:6px}.invite-list{display:grid;gap:6px}.invite-list button{width:100%;border:1px solid #d7e0e3;border-radius:6px;background:#fff;color:#26343b;padding:8px 10px;text-align:left;overflow-wrap:anywhere}.room-admin-form{gap:8px}.room-link-list{display:grid;gap:6px}.room-admin-card{border:1px solid #d7e0e3;border-radius:6px;background:#fff;padding:10px;display:grid;gap:8px}.room-copy-button{width:100%;border:1px solid #d7e0e3;border-radius:6px;background:#f8fafb;padding:8px 10px;display:grid;gap:3px;text-align:left}.room-copy-button strong,.room-copy-button span{min-width:0;overflow-wrap:anywhere}.room-copy-button strong{color:#26343b;font-size:14px}.room-admin-card textarea{min-height:72px;resize:vertical}.room-card-actions,.room-guest-row,.room-password-row{display:flex;gap:8px;align-items:center}.room-card-actions button{flex:1 1 0}.room-password-row input{flex:1 1 auto}.room-password-row button{flex:0 0 auto}.room-guest-list{display:grid;gap:6px;padding-top:4px}.room-guest-row input{min-width:0;flex:1 1 auto}.room-guest-row button{flex:0 0 auto}.room-shell{width:100%;min-height:var(--app-height, 100vh);display:grid;place-items:center;padding:16px;background:#f4f7f8}.room-chat{width:min(760px,100%);height:min(820px,calc(var(--app-height, 100vh) - 32px));min-height:560px;border:1px solid #d9e2e4;border-radius:8px;background:#f9fbfb;overflow:hidden}.active-group-tools{padding-top:8px;border-top:1px solid #e3eaec}.active-group-tools button:disabled{color:#8a989e;cursor:not-allowed}.chat{width:100%;min-width:0;height:var(--app-height, 100vh);min-height:var(--app-height, 100vh);display:flex;flex-direction:column}.chat-header{min-height:72px;justify-content:space-between;gap:16px;padding:14px 18px;background:#fff;border-bottom:1px solid #d7e0e3}.chat-header p{margin-top:4px;max-width:56vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.back-button{display:none}.chat-title{min-width:0;flex:1}.chat-title h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-actions{display:flex;align-items:center;gap:8px}.group-inline{display:flex;gap:8px;overflow-x:auto;padding:8px 18px;background:#fff;border-bottom:1px solid #d7e0e3}.group-inline button{white-space:nowrap;border:1px solid #d9e2e4;border-radius:6px;background:#fff;padding:6px 10px}.remote-audio{display:none}.call-bar{margin:12px 18px 0;border:1px solid #d4e6e1;border-radius:8px;background:#eef8f5;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.call-bar strong{display:block;color:#24333a;font-size:14px}.call-bar span{display:block;margin-top:2px}.call-bar.ringing{border-color:#f0d3a0;background:#fff8e8}.call-actions{display:flex;align-items:center;gap:8px}.password-box{width:min(360px,42vw)}.messages{width:100%;flex:1 1 auto;min-height:0;padding:18px;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px}.load-more{align-self:center;border:1px solid #d9e2e4;border-radius:999px;background:#fff;color:#53646c;padding:6px 12px;font-size:13px}.message{min-width:0;max-width:min(620px,78%);align-self:flex-start}.message.mine{align-self:flex-end}.message-meta{color:#68777e;font-size:12px;margin-bottom:4px;overflow-wrap:anywhere;display:flex;align-items:center;gap:6px}.message-meta span{min-width:0;overflow-wrap:anywhere}.message-share-button{width:28px;height:28px;border:0;border-radius:999px;background:#eef4f5;color:#2c6f79;display:grid;place-items:center;flex:0 0 28px;padding:0}.message-share-button:hover{background:#dcebed}.message-body,.voice-bubble,.file-bubble,.media-preview{border-radius:8px;background:#fff;border:1px solid #d7e0e3}.message-body{padding:10px 12px;overflow-wrap:anywhere;white-space:pre-wrap;-moz-tab-size:4;tab-size:4;line-height:1.45}.message.mine .message-body{background:#dff2ef;border-color:#c3dfda}.media-preview{display:block;max-width:min(360px,100%);max-height:360px;object-fit:contain}.image-preview-button{border:0;border-radius:8px;background:transparent;padding:0;max-width:min(360px,100%);display:block;text-align:left}.image-preview-button .media-preview{cursor:zoom-in}.image-preview-backdrop{background:#0a0e12d1}.image-preview-dialog{width:min(960px,100%);height:min(760px,calc(var(--app-height, 100vh) - 36px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px}.image-preview-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px}.image-preview-large{width:100%;height:100%;min-height:0;object-fit:contain;border-radius:8px;background:#0f1519}.image-preview-status{margin:0}.video-preview{width:min(360px,100%);background:#101418}.voice-bubble{width:min(240px,100%);min-width:132px;max-width:240px;height:44px;padding:0 13px;display:flex;align-items:center;gap:10px;color:#26333a}.message.mine .voice-bubble,.voice-bubble.mine{background:#dff2ef;border-color:#c3dfda;flex-direction:row-reverse}.file-bubble{width:min(320px,100%);min-height:58px;padding:10px 12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;color:#26333a;text-decoration:none}.message.mine .file-bubble{background:#dff2ef;border-color:#c3dfda}.file-bubble strong,.file-bubble small{display:block;min-width:0}.file-bubble strong{overflow-wrap:anywhere;line-height:1.3}.file-bubble small{margin-top:2px;color:#667780;font-size:12px}.voice-bubble audio{display:none}.voice-waves{flex:1;min-width:54px;display:flex;align-items:center;gap:4px}.voice-waves i{width:3px;height:10px;border-radius:999px;background:currentColor;opacity:.45}.voice-waves i:nth-child(2){height:16px;opacity:.65}.voice-waves i:nth-child(3){height:22px;opacity:.85}.voice-bubble.playing .voice-waves i{animation:voice-wave .85s ease-in-out infinite}.voice-bubble.playing .voice-waves i:nth-child(2){animation-delay:.12s}.voice-bubble.playing .voice-waves i:nth-child(3){animation-delay:.24s}.voice-duration{color:inherit;font-size:14px;font-weight:700}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#161f245c;display:grid;place-items:center;padding:18px}.share-dialog{width:min(460px,100%);max-height:min(720px,calc(var(--app-height, 100vh) - 36px));overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:#fff;border:1px solid #d9e2e4;border-radius:8px;padding:18px;display:grid;gap:14px;box-shadow:0 24px 80px #0e191f47}.share-dialog-header,.copy-row{display:flex;align-items:center;gap:10px}.share-dialog-header{justify-content:space-between}.share-dialog-header p{margin-top:3px;line-height:1.45}.copy-row input{flex:1 1 auto}.copy-row .icon-button{flex:0 0 42px}.share-result,.guest-content{display:grid;gap:12px}.share-shell .share-panel{width:min(520px,100%)}.guest-media{max-width:100%;max-height:62dvh}@keyframes voice-wave{0%,to{transform:scaleY(.55)}50%{transform:scaleY(1)}}.muted{color:#69777d}.composer{width:100%;flex:0 0 auto;gap:10px;padding:14px 18px;background:#fff;border-top:1px solid #d7e0e3}.action-panel{width:100%;flex:0 0 auto;display:grid;grid-template-columns:repeat(3,minmax(72px,120px));gap:12px;padding:14px 18px 18px;background:#fff;border-top:1px solid #d7e0e3;justify-content:start}.action-panel button,.action-panel label{border:0;background:transparent;display:grid;justify-items:center;gap:8px;color:#3d4a52}.action-panel button svg,.action-panel label svg{width:56px;height:56px;padding:14px;border-radius:12px;background:#f1f0eb}.action-panel input{display:none}.composer input,.composer textarea{min-width:0}.composer textarea{flex:1 1 auto;width:auto;min-height:44px;max-height:120px;height:44px;padding:10px 12px;resize:none;line-height:1.35;white-space:pre-wrap;overflow-y:auto}.hold-record-button{flex:1 1 auto;min-width:0;min-height:44px;border:1px solid #cbd8dc;border-radius:6px;background:#f8fafb;color:#26333a;font-weight:800;letter-spacing:0;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;display:inline-flex;align-items:center;justify-content:center;gap:10px}.hold-record-button.recording{border-color:#2c6f79;background:#2c6f79;color:#fff;box-shadow:inset 0 0 0 999px #ffffff0a}.hold-record-button:disabled{background:#eef2f3;color:#98a6ab;cursor:not-allowed}.hold-record-waves{display:inline-flex;align-items:center;gap:3px;height:22px;color:inherit}.hold-record-waves i{width:3px;height:8px;border-radius:999px;background:currentColor;animation:hold-record-wave .76s ease-in-out infinite}.hold-record-waves i:nth-child(2){height:14px;animation-delay:.08s}.hold-record-waves i:nth-child(3){height:20px;animation-delay:.16s}.hold-record-waves i:nth-child(4){height:14px;animation-delay:.24s}.hold-record-waves i:nth-child(5){height:8px;animation-delay:.32s}@keyframes hold-record-wave{0%,to{transform:scaleY(.45);opacity:.58}50%{transform:scaleY(1);opacity:1}}.send-button{width:48px;padding:0;display:grid;place-items:center}@media(max-width:820px){body{height:var(--app-height, 100vh);min-height:var(--app-height, 100vh);overflow:hidden}#root{height:var(--app-height, 100vh);min-height:var(--app-height, 100vh)}input,textarea,select{font-size:16px}h1{font-size:24px}h2{font-size:18px}.auth-shell{min-height:var(--app-height, 100vh);padding:calc(12px + var(--safe-top)) calc(12px + var(--safe-right)) calc(12px + var(--safe-bottom)) calc(12px + var(--safe-left));place-items:start center}.auth-panel{width:100%;max-height:calc(var(--app-height, 100vh) - 24px - var(--safe-top) - var(--safe-bottom));padding:18px;overflow:auto;-webkit-overflow-scrolling:touch}.brand-row{align-items:flex-start}.app-shell,.mobile-shell{width:100%;max-width:100vw;grid-template-columns:1fr;height:var(--app-height, 100vh);min-height:var(--app-height, 100vh)}.room-shell{padding:0;min-height:var(--app-height, 100vh)}.room-chat{width:100%;height:var(--app-height, 100vh);min-height:var(--app-height, 100vh);border:0;border-radius:0}.sidebar{width:100%;max-width:100vw;height:var(--app-height, 100vh);min-height:var(--app-height, 100vh);border-right:0;border-bottom:0;grid-template-rows:auto auto auto 1fr;padding:calc(12px + var(--safe-top)) calc(12px + var(--safe-right)) calc(12px + var(--safe-bottom)) calc(12px + var(--safe-left));overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.admin-shell{height:var(--app-height, 100vh);min-height:var(--app-height, 100vh);overflow:auto;-webkit-overflow-scrolling:touch}.admin-header{padding:calc(12px + var(--safe-top)) calc(12px + var(--safe-right)) 12px calc(12px + var(--safe-left));align-items:flex-start;flex-direction:column}.admin-header-actions{width:100%}.admin-header-actions button{flex:1 1 0}.admin-status{margin:10px 12px 0}.admin-layout{grid-template-columns:1fr;gap:12px;padding:12px calc(12px + var(--safe-right)) calc(12px + var(--safe-bottom)) calc(12px + var(--safe-left))}.admin-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-nav button{min-height:48px;justify-content:center;padding:0 8px;font-size:13px}.admin-section-heading{align-items:stretch;flex-direction:column;padding-bottom:10px}.admin-form-grid,.admin-room-grid{grid-template-columns:1fr}.room-password-row{align-items:stretch;flex-direction:column}.admin-member-list{grid-template-columns:1fr;max-height:220px}.mobile-shell.chat-open .sidebar{display:none}.mobile-shell:not(.chat-open) .chat{display:none}.conversation-list{grid-auto-flow:row;grid-auto-columns:auto;overflow-y:auto}.chat{width:100%;max-width:100vw;height:var(--app-height, 100vh);min-height:var(--app-height, 100vh);overflow:hidden}.chat-header{min-height:56px;align-items:center;flex-direction:row;gap:8px;padding:calc(8px + var(--safe-top)) calc(10px + var(--safe-right)) 8px calc(10px + var(--safe-left))}.back-button{display:grid}.chat-header p{max-width:100%}.chat-actions{flex:0 0 auto}.password-box{display:none}.call-bar{margin:8px 10px 0;align-items:flex-start;flex-wrap:wrap;max-width:calc(100vw - 20px)}.call-bar>div{min-width:0}.call-bar strong,.call-bar span{overflow-wrap:anywhere}.call-actions{flex-shrink:0}.message{max-width:90%}.messages{padding:12px;gap:10px}.message-meta{font-size:11px}.message-share-button{width:30px;height:30px}.message-body{padding:10px 12px;font-size:15px}.media-preview{max-width:min(280px,100%);max-height:300px}.image-preview-button{max-width:min(280px,100%)}.image-preview-backdrop{align-items:stretch;padding:calc(10px + var(--safe-top)) calc(10px + var(--safe-right)) calc(10px + var(--safe-bottom)) calc(10px + var(--safe-left))}.image-preview-dialog{width:100%;height:auto;max-height:calc(var(--app-height, 100vh) - 20px - var(--safe-top) - var(--safe-bottom))}.image-preview-toolbar{justify-content:stretch}.image-preview-toolbar .icon-text-button{flex:1 1 0}.voice-bubble{width:min(220px,100%);min-width:150px;height:46px;border-radius:8px}.composer{width:100%;max-width:100vw;position:relative;padding:10px calc(10px + var(--safe-right)) 10px calc(10px + var(--safe-left));gap:8px;padding-bottom:calc(10px + var(--safe-bottom))}.composer input,.composer textarea{flex:1 1 auto;width:auto}.send-button{width:44px;flex:0 0 44px}.action-panel{width:100%;max-width:100vw;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px calc(12px + var(--safe-right)) calc(16px + var(--safe-bottom)) calc(12px + var(--safe-left))}.composer .icon-button{width:44px;flex-basis:44px;min-height:44px}.action-panel button svg,.action-panel label svg{width:52px;height:52px;padding:13px}.modal-backdrop{align-items:end;padding:10px}.share-dialog{width:100%;max-height:calc(var(--app-height, 100vh) - 20px);padding:16px}}@media(max-width:380px){.chat-header{gap:6px;padding:8px}.composer{gap:6px;padding:8px calc(8px + var(--safe-right)) calc(8px + var(--safe-bottom)) calc(8px + var(--safe-left))}.composer .icon-button{width:40px;flex-basis:40px;min-height:40px}.send-button{width:40px;flex-basis:40px}.message{max-width:94%}.messages{padding:10px 8px}.voice-bubble{min-width:132px}.action-panel{padding:10px calc(8px + var(--safe-right)) calc(14px + var(--safe-bottom)) calc(8px + var(--safe-left))}.action-panel button svg,.action-panel label svg{width:48px;height:48px;padding:12px}}
