.avatar-preview-wrapper{position:relative;display:inline-block;overflow:hidden}.avatar-preview-wrapper img{font-size:0;color:transparent;text-indent:-9999px;display:inline-block}.avatar-preview-wrapper img[src=""]:not([alt=""]),.avatar-preview-wrapper img:not([src]),.avatar-preview-wrapper img.broken-image{display:none!important;visibility:hidden!important;opacity:0!important;width:0!important;height:0!important}.avatar-preview-wrapper.early-adopter .sparkle{position:absolute;font-size:20px;pointer-events:none;animation:sparkle-float 3s ease-in-out infinite;opacity:0}.avatar-preview-wrapper.early-adopter .sparkle-1{top:5%;left:10%;animation-delay:0s}.avatar-preview-wrapper.early-adopter .sparkle-2{top:15%;right:10%;animation-delay:1s}.avatar-preview-wrapper.early-adopter .sparkle-3{bottom:20%;left:15%;animation-delay:2s}@keyframes sparkle-float{0%{opacity:0;transform:translateY(0) scale(.5) rotate(0)}20%{opacity:1;transform:translateY(-10px) scale(1) rotate(180deg)}80%{opacity:1;transform:translateY(-20px) scale(1) rotate(360deg)}to{opacity:0;transform:translateY(-30px) scale(.5) rotate(540deg)}}.avatar-preview-wrapper.early-adopter svg{filter:drop-shadow(0 0 8px rgba(255,215,0,.3))}@media (max-width: 768px){.avatar-preview-wrapper.early-adopter .sparkle{font-size:16px}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.user-profile-modal-content{padding-bottom:24px}@supports (padding-bottom: env(safe-area-inset-bottom)){.user-profile-modal-content{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}}.user-profile-action-buttons{margin-top:24px;margin-bottom:24px;display:flex;gap:12px;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0px)}ion-modal.user-profile-modal ion-content{--padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px)) }.message-reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;align-items:center}.reaction-bubble{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:12px;background:var(--ion-color-light);border:1px solid var(--ion-color-light-shade);font-size:14px;cursor:pointer;transition:all .2s ease;color:var(--ion-text-color)}body.dark .reaction-bubble{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}.reaction-bubble:hover{transform:scale(1.1);background:var(--ion-color-light-tint)}.reaction-bubble.user-reacted{background:var(--ion-color-primary);border-color:var(--ion-color-primary-shade);color:#fff}.reaction-emoji{font-size:16px;line-height:1}.reaction-count{font-size:12px;font-weight:600;color:var(--ion-color-medium)}.reaction-bubble.user-reacted .reaction-count{color:#fff}.add-reaction-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--ion-color-light);border:1px solid var(--ion-color-light-shade);cursor:pointer;transition:all .2s ease;font-size:18px;color:var(--ion-color-medium)}body.dark .add-reaction-btn{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:var(--ion-color-light)}.add-reaction-btn:hover{background:var(--ion-color-light-tint);transform:scale(1.1)}.emoji-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px}.emoji-option{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:24px;border-radius:8px;background:transparent;border:none;cursor:pointer;transition:all .2s ease}.emoji-option:hover{background:var(--ion-color-light);transform:scale(1.2)}body.dark .emoji-option:hover{background:rgba(255,255,255,.1)}body.rainbow-theme .reaction-bubble.user-reacted[data-reaction-index="0"]{background:var(--ion-color-primary)!important;border-color:var(--ion-color-primary-shade)!important;color:var(--ion-color-primary-contrast)!important}body.rainbow-theme .reaction-bubble.user-reacted[data-reaction-index="1"]{background:var(--ion-color-quaternary)!important;border-color:var(--ion-color-quaternary-shade)!important;color:var(--ion-color-quaternary-contrast)!important}body.rainbow-theme .reaction-bubble.user-reacted[data-reaction-index="2"]{background:var(--ion-color-secondary)!important;border-color:var(--ion-color-secondary-shade)!important;color:var(--ion-color-secondary-contrast)!important}body.rainbow-theme .reaction-bubble.user-reacted[data-reaction-index="3"]{background:var(--ion-color-quinary)!important;border-color:var(--ion-color-quinary-shade)!important;color:var(--ion-color-quinary-contrast)!important}body.rainbow-theme .reaction-bubble.user-reacted[data-reaction-index="4"]{background:var(--ion-color-senary)!important;border-color:var(--ion-color-senary-shade)!important;color:var(--ion-color-senary-contrast)!important}body.rainbow-theme .reaction-bubble.user-reacted[data-reaction-index="5"]{background:var(--ion-color-tertiary)!important;border-color:var(--ion-color-tertiary-shade)!important;color:var(--ion-color-tertiary-contrast)!important}body.rainbow-theme .reaction-bubble.user-reacted[data-reaction-index="6"]{background:var(--ion-color-primary)!important;border-color:var(--ion-color-primary-shade)!important;color:var(--ion-color-primary-contrast)!important}body.rainbow-theme .reaction-bubble.user-reacted[data-reaction-index="7"]{background:var(--ion-color-quaternary)!important;border-color:var(--ion-color-quaternary-shade)!important;color:var(--ion-color-quaternary-contrast)!important}body.rainbow-theme .reaction-bubble.user-reacted .reaction-count{color:inherit!important;opacity:.9}.chat-content{--background: var(--ion-background-color);--padding-bottom: 0}.chat-loading,.chat-empty{display:flex;justify-content:center;align-items:center;height:100%;padding:20px;text-align:center}.messages-container{padding:16px 16px 20px;display:flex;flex-direction:column;gap:8px;min-height:100%}.message{display:flex;gap:8px;align-items:flex-end;max-width:80%}.message-sent{align-self:flex-end;flex-direction:row-reverse}.message-received{align-self:flex-start}.message-avatar{width:32px;height:32px;min-width:32px;min-height:32px;margin-bottom:4px;flex-shrink:0}.message-bubble{background:var(--ion-color-primary);color:var(--ion-color-primary-contrast);padding:10px 14px;border-radius:18px;max-width:100%;word-wrap:break-word;overflow-wrap:break-word;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,.1);user-select:none;-webkit-user-select:none}.message-sent .message-bubble{background:var(--ion-color-primary);color:var(--ion-color-primary-contrast);border-bottom-right-radius:4px}.message-received .message-bubble{background:var(--ion-color-secondary)!important;color:var(--ion-color-secondary-contrast)!important;border-bottom-left-radius:4px}.message-bubble p{margin:0 0 4px;line-height:1.4;white-space:pre-wrap;word-break:break-word}.message-time{font-size:12px;opacity:.7;display:block;text-align:right}.chat-footer{position:relative;z-index:10}.chat-input-container{display:flex;align-items:flex-end;gap:8px;padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom));background:var(--ion-background-color);border-top:1px solid var(--ion-border-color)}.chat-input-container ion-textarea{flex:1;--padding-start: 12px;--padding-end: 12px;--padding-top: 8px;--padding-bottom: 8px;--background: var(--ion-color-step-150, #f3f4f6);--color: var(--ion-text-color);border-radius:20px;margin:0}body.dark .chat-input-container ion-textarea{--background: #374151;--color: #f9fafb}.chat-input-container ion-button{--border-radius: 50%;--padding-start: 12px;--padding-end: 12px;width:44px;height:44px;margin:0;flex-shrink:0}ion-modal{--height: 100%}ion-modal ion-content{--keyboard-offset: 0}.group-chat-content{--background: var(--ion-background-color);--padding-bottom: 0}.group-chat-loading,.group-chat-empty{display:flex;justify-content:center;align-items:center;height:100%;padding:20px;text-align:center}.group-messages-container{padding:16px 16px 20px;display:flex;flex-direction:column;gap:12px;min-height:100%}.group-message{display:flex;gap:8px;align-items:flex-start;max-width:85%}.group-message-sent{align-self:flex-end;flex-direction:row-reverse}.group-message-sent .group-message-avatar{display:none}.group-message-received{align-self:flex-start}.group-message-avatar{width:32px;height:32px;min-width:32px;min-height:32px;margin-top:4px;flex-shrink:0}.group-message-content{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.group-message-sender{font-size:12px;font-weight:600;color:var(--ion-color-primary);padding:0 4px;margin-bottom:2px}.group-message-sent .group-message-sender{display:none}.group-message-bubble{padding:10px 14px;border-radius:18px;word-wrap:break-word;overflow-wrap:break-word;max-width:100%;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,.1);user-select:none;-webkit-user-select:none}.group-message-sent .group-message-bubble{background:var(--ion-color-primary);color:var(--ion-color-primary-contrast);border-bottom-right-radius:4px}.group-message-received .group-message-bubble{background:var(--ion-color-secondary)!important;color:var(--ion-color-secondary-contrast)!important;border-bottom-left-radius:4px}.group-message-bubble p{margin:0 0 4px;line-height:1.4;white-space:pre-wrap;word-break:break-word}.group-message-time{font-size:12px;opacity:.7;display:block;text-align:right;margin-top:2px}.group-chat-footer{position:relative;z-index:10}.group-chat-input-container{display:flex;align-items:flex-end;gap:8px;padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom));background:var(--ion-background-color);border-top:1px solid var(--ion-border-color)}.group-chat-input-container ion-textarea{flex:1;--padding-start: 12px;--padding-end: 12px;--padding-top: 8px;--padding-bottom: 8px;--background: var(--ion-color-step-150, #f3f4f6);--color: var(--ion-text-color);border-radius:20px;margin:0}body.dark .group-chat-input-container ion-textarea{--background: #374151;--color: #f9fafb}.group-chat-input-container ion-button{--border-radius: 50%;--padding-start: 12px;--padding-end: 12px;width:44px;height:44px;margin:0;flex-shrink:0}
