.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.bottom-sheet{--viewport-bottom-offset: 0px;--chat-controls-height: 76px;position:fixed;inset:0;z-index:30;pointer-events:none}.messages-preview{position:fixed;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:calc(var(--viewport-bottom-offset) + var(--chat-controls-height) + 12px);display:flex;flex-direction:column;gap:8px;max-height:min(38dvh,320px);overflow-y:auto;overscroll-behavior:contain;pointer-events:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.state-collapsed .messages-preview{display:none}.state-expanded .messages-preview{max-height:min(58dvh,520px)}.keyboard-visible .messages-preview{max-height:min(28dvh,210px)}.message-bubble{display:flex;align-items:flex-start;gap:8px;width:fit-content;max-width:min(88%,680px);padding:10px 14px;border:1px solid rgba(255,255,255,.5);border-radius:14px;background:#f8f8f8e0;color:#202124;box-shadow:0 4px 16px #0000002e;animation:message-enter .16s ease-out}.message-user{align-self:flex-end;background:#4863cfe6;color:#fff}.message-assistant{align-self:flex-start}.message-avatar{flex:0 0 auto;font-size:20px;line-height:1.4}.message-text{min-width:0;margin:0;font-size:clamp(14px,3.8vw,17px);line-height:1.65;overflow-wrap:anywhere;text-wrap:pretty}@keyframes message-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.typing-indicator .message-text{display:flex;align-items:center;gap:5px;min-height:28px}.typing-dot{width:7px;height:7px;border-radius:50%;background:#5f6368;animation:typing-bounce 1.2s infinite}.typing-dot:nth-child(2){animation-delay:.12s}.typing-dot:nth-child(3){animation-delay:.24s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}.chat-controls{position:fixed;left:0;right:0;bottom:0;transform:translateY(calc(-1 * var(--viewport-bottom-offset)));pointer-events:none}.input-container{margin:0;padding:10px max(12px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));display:flex;align-items:center;gap:8px;min-height:64px;border-top:1px solid rgba(255,255,255,.5);background:#f4f4f4db;box-shadow:0 -3px 14px #00000024;pointer-events:auto}.bottom-sheet-file{display:none}.attachment-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.bottom-sheet-attach,.bottom-sheet-camera,.attachment-remove,.chat-retry{min-width:44px;min-height:44px;border:1px solid rgba(0,0,0,.14);background:#fffffff0;color:#202124;cursor:pointer}.bottom-sheet-attach,.bottom-sheet-camera,.attachment-remove{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:20px;line-height:1}.bottom-sheet-input{box-sizing:border-box;flex:1 1 auto;min-width:0;min-height:44px;padding:10px 14px;border:1px solid rgba(32,33,36,.2);border-radius:22px;background:#fffffff5;color:#202124;font:inherit;font-size:16px}.bottom-sheet-input:focus-visible,.bottom-sheet-attach:focus-visible,.bottom-sheet-camera:focus-visible,.bottom-sheet-send:focus-visible,.attachment-remove:focus-visible,.chat-retry:focus-visible{outline:3px solid #3155c6;outline-offset:2px}.bottom-sheet-send{flex:0 0 auto;min-width:68px;min-height:44px;padding:10px 16px;border:0;border-radius:22px;background:#4863cf;color:#fff;font:inherit;font-size:16px;font-weight:700;cursor:pointer}.bottom-sheet-send:disabled,.bottom-sheet-input[readonly],.bottom-sheet-attach:disabled,.bottom-sheet-camera:disabled,.chat-retry:disabled{cursor:wait;opacity:.65}.bottom-sheet-attach:active,.bottom-sheet-camera:active,.bottom-sheet-send:active,.attachment-remove:active,.chat-retry:active{transform:scale(.96)}.attachment-preview,.chat-status{display:none;margin:0 max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));pointer-events:auto}.attachment-preview.is-visible,.chat-status.is-visible{display:flex;justify-content:flex-end}.attachment-pill,.attachment-error,.chat-status{align-items:center;gap:8px;width:fit-content;max-width:min(88vw,520px);padding:8px 10px;border-radius:12px;background:#f8f8f8f0;color:#202124;box-shadow:0 3px 12px #00000029}.attachment-pill{display:flex}.attachment-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-error,.chat-status.is-error{color:#8c1d18}.chat-retry{border-radius:10px;padding:8px 12px;font-weight:700}.chat-status.is-visible{margin-left:auto}@media(orientation:landscape)and (max-height:600px){.messages-preview,.keyboard-visible .messages-preview{max-height:min(30dvh,140px)}.input-container{padding-top:6px;padding-bottom:max(6px,env(safe-area-inset-bottom))}}@media(max-width:390px){.input-container{gap:6px}.attachment-actions{gap:4px}.bottom-sheet-send{min-width:58px;padding-inline:12px}}@media(prefers-color-scheme:dark){.message-assistant,.attachment-pill,.attachment-error,.chat-status{background:#222222eb;color:#f1f3f4}.input-container{background:#1c1c1ce0;border-top-color:#ffffff38}.bottom-sheet-input,.bottom-sheet-attach,.bottom-sheet-camera,.attachment-remove,.chat-retry{background:#363636f5;border-color:#ffffff42;color:#fff}.chat-status.is-error,.attachment-error{color:#ffb4ab}}@media(prefers-contrast:more){.message-bubble,.input-container,.bottom-sheet-input{border-width:2px;border-color:currentColor}}@media(prefers-reduced-motion:reduce){.message-bubble,.typing-dot{animation:none}}
