/* =========================================
   Izziekitty's Saloon - Messages App Styles
   ========================================= */

body, html { background-color: #5f27cd; overflow: hidden; }

#bg-container {
    width: 100vw; height: 100vh; background-image: url('images/lemonmakeup.webp'); 
    background-size: cover; background-position: center; display: flex; justify-content: center; align-items: center; position: relative;
}

.chat-app { 
    width: 95%; max-width: 1300px; height: 92vh; 
    background: rgba(255, 255, 255, 0.95); border-radius: 30px; border: 5px solid #9b59b6; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.3); display: flex; overflow: hidden; 
}

.inbox-sidebar { width: 30%; min-width: 300px; background: #f8c291; border-right: 3px solid #e58e26; display: flex; flex-direction: column; overflow-y: auto; }
.inbox-header { 
    padding: 15px; background: #e55039; color: white; font-size: 1.5rem; text-align: center; font-weight: bold;
    display: flex; justify-content: space-between; align-items: center;
}

/* Native Collapsible Sections */
details { margin: 0; padding: 0; }
details summary {
    background: #fa983a; color: white; padding: 10px 15px; font-weight: bold; font-size: 1.1rem; 
    border-top: 2px solid #e58e26; border-bottom: 2px solid #e58e26; 
    display: flex; align-items: center; justify-content: space-between; cursor: pointer; list-style: none;
}
details summary::-webkit-details-marker { display: none; } /* Hides default triangle */
details summary .summary-title { display: flex; align-items: center; gap: 8px; }
details summary .icon-chevron { transition: transform 0.2s; }
details[open] summary .icon-chevron { transform: rotate(90deg); }

.contact-list { padding: 10px; }

.search-box { padding: 10px; background: #fad390; border-bottom: 2px solid #e58e26; }
.search-input-wrapper { display: flex; align-items: center; gap: 8px; background: white; border-radius: 15px; border: 2px solid #e58e26; padding: 0 10px; }
.search-input-wrapper input { width: 100%; padding: 10px 0; border: none; outline: none; background: transparent; font-family: inherit; font-size: 1rem; }

.contact { 
    background: white; padding: 12px 15px; border-radius: 15px; margin-bottom: 8px; 
    cursor: pointer; border: 2px solid transparent; transition: all 0.2s; display: flex; justify-content: space-between; align-items: center; 
}
.contact:hover, .contact.active { border-color: #e55039; transform: scale(1.02); }
.contact.active { background: #fff0e6; }
.contact-info { display: flex; align-items: center; gap: 10px; }
.contact-name { font-weight: bold; color: #2c3e50; font-size: 1.1rem; }
.unread-badge { background: #ff4757; color: white; font-size: 0.85rem; font-weight: bold; padding: 3px 8px; border-radius: 15px; box-shadow: 0 2px 4px rgba(0,0,0,0.2); }

.chat-window { width: 70%; display: flex; flex-direction: column; background: #ffffff; position: relative;}
.chat-header { padding: 15px 20px; background: #9b59b6; color: white; font-size: 1.5rem; font-weight: bold; border-bottom: 3px solid #8e44ad; display: flex; justify-content: space-between; align-items: center;}
.chat-history { flex: 1; padding: 20px; overflow-y: auto; display: flex; flex-direction: column; gap: 15px; background: #f1f2f6; }
.message-row { display: flex; align-items: center; gap: 8px; width: 100%; }
.message-row.me { justify-content: flex-end; }
.message-row.them { justify-content: flex-start; }

.bubble-wrapper { display: flex; flex-direction: column; max-width: 70%; }
.bubble-wrapper.me { align-items: flex-end; }
.bubble-wrapper.them { align-items: flex-start; }
.sender-name { font-size: 0.8rem; font-weight: bold; color: #8e44ad; margin-bottom: 2px; margin-left: 5px;}
.bubble { padding: 12px 18px; border-radius: 20px; font-size: 1.1rem; line-height: 1.4; word-wrap: break-word; }
.bubble.them { background: #7bed9f; color: #2f3542; border-bottom-left-radius: 5px; }
.bubble.me { background: #70a1ff; color: white; border-bottom-right-radius: 5px; }
.msg-time { font-size: 0.75rem; color: #a4b0be; margin-top: 4px; padding: 0 6px; font-weight: bold; }
.message-row .delete-btn { opacity: 0; margin: 0 5px; }
.message-row:hover .delete-btn { opacity: 1; }

.chat-input-area { padding: 20px; background: white; border-top: 3px solid #dfe4ea; display: flex; gap: 10px; }
.chat-input-area input { flex: 1; padding: 15px; border-radius: 25px; border: 2px solid #bdc3c7; font-family: inherit; font-size: 1.1rem; }
.chat-input-area button { background: #9b59b6; color: white; border: none; border-radius: 25px; padding: 0 25px; font-weight: bold; cursor: pointer; font-size: 1.1rem; transition: transform 0.2s; display: inline-flex; align-items: center; gap: 8px;}
.chat-input-area button:hover { transform: scale(1.05); }
.chat-input-area button:disabled { background: #ccc; cursor: not-allowed; transform: none; }

.overlay-msg { text-align: center; padding: 40px; margin: auto; }
.overlay-msg h2 { color: #ff4757; font-size: 2rem; display: flex; justify-content: center; align-items: center; gap: 10px; }
.overlay-msg a { display: inline-flex; justify-content: center; align-items: center; gap: 8px; margin-top: 15px; background: #3742fa; color: white; text-decoration: none; padding: 12px 25px; border-radius: 20px; font-weight: bold; font-size: 1.2rem; }

/* Modals */
.modal-overlay { display: none; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0,0,0,0.8); z-index: 2000; justify-content: center; align-items: center; }
.modal-box { background: white; border-radius: 20px; padding: 30px; width: 400px; border: 5px solid #0984e3; box-shadow: 0 15px 40px rgba(0,0,0,0.4); display: flex; flex-direction: column; gap: 15px;}
.modal-box h2 { margin: 0 0 10px 0; color: #0984e3; border-bottom: 3px dashed #b2bec3; padding-bottom: 10px;}
.modal-box input[type="text"], .modal-box select { width: 100%; padding: 10px; border-radius: 10px; border: 2px solid #dfe4ea; font-family: inherit; font-size: 1rem; box-sizing: border-box; }
.modal-btn { background: #00b894; color: white; border: none; padding: 10px; border-radius: 10px; font-weight: bold; cursor: pointer; font-family: inherit; font-size: 1.1rem; }
.modal-btn.cancel { background: #ff7675; }

/* SVGs */
.msg-icon { display: inline-block; width: 1.2em; height: 1.2em; background-color: currentColor; vertical-align: text-bottom; }

.icon-bottles { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='rotate(20 8 12)'%3E%3Crect x='5' y='10' width='6' height='10' rx='2'/%3E%3Cpath d='M6 10V8c0-1 1-2 2-2s2 1 2 2v2'/%3E%3Cpath d='M7 6V4a1 1 0 0 1 2 0v2'/%3E%3C/g%3E%3Cg transform='rotate(-20 16 12)'%3E%3Crect x='13' y='10' width='6' height='10' rx='2'/%3E%3Cpath d='M14 10V8c0-1 1-2 2-2s2 1 2 2v2'/%3E%3Cpath d='M15 6V4a1 1 0 0 1 2 0v2'/%3E%3C/g%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='rotate(20 8 12)'%3E%3Crect x='5' y='10' width='6' height='10' rx='2'/%3E%3Cpath d='M6 10V8c0-1 1-2 2-2s2 1 2 2v2'/%3E%3Cpath d='M7 6V4a1 1 0 0 1 2 0v2'/%3E%3C/g%3E%3Cg transform='rotate(-20 16 12)'%3E%3Crect x='13' y='10' width='6' height='10' rx='2'/%3E%3Cpath d='M14 10V8c0-1 1-2 2-2s2 1 2 2v2'/%3E%3Cpath d='M15 6V4a1 1 0 0 1 2 0v2'/%3E%3C/g%3E%3C/svg%3E") no-repeat center / contain; }
.icon-playpen { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='8' width='20' height='12' rx='2'/%3E%3Cpath d='M6 8v12'/%3E%3Cpath d='M10 8v12'/%3E%3Cpath d='M14 8v12'/%3E%3Cpath d='M18 8v12'/%3E%3Cpath d='M2 13h20'/%3E%3Cpath d='M4 8V4h2v4'/%3E%3Cpath d='M18 8V4h2v4'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='8' width='20' height='12' rx='2'/%3E%3Cpath d='M6 8v12'/%3E%3Cpath d='M10 8v12'/%3E%3Cpath d='M14 8v12'/%3E%3Cpath d='M18 8v12'/%3E%3Cpath d='M2 13h20'/%3E%3Cpath d='M4 8V4h2v4'/%3E%3Cpath d='M18 8V4h2v4'/%3E%3C/svg%3E") no-repeat center / contain; }
.icon-mailbox { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10V6a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v4H4z'/%3E%3Cpath d='M4 10v6a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-6'/%3E%3Cpath d='M10 18v4'/%3E%3Cpath d='M14 18v4'/%3E%3Cpath d='M6 6h12'/%3E%3Cpath d='M18 8V3h3v3h-3z'/%3E%3Ccircle cx='8' cy='6' r='1'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10V6a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v4H4z'/%3E%3Cpath d='M4 10v6a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-6'/%3E%3Cpath d='M10 18v4'/%3E%3Cpath d='M14 18v4'/%3E%3Cpath d='M6 6h12'/%3E%3Cpath d='M18 8V3h3v3h-3z'/%3E%3Ccircle cx='8' cy='6' r='1'/%3E%3C/svg%3E") no-repeat center / contain; }
.icon-send { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m22 2-7 20-4-9-9-4Z'/%3E%3Cpath d='M22 2 11 13'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m22 2-7 20-4-9-9-4Z'/%3E%3Cpath d='M22 2 11 13'/%3E%3C/svg%3E") no-repeat center / contain; }
.icon-search { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") no-repeat center / contain; }
.icon-envelope { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E") no-repeat center / contain; }
.icon-sad { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M16 16s-1.5-2-4-2-4 2-4 2'/%3E%3Cpath d='M9 9h.01'/%3E%3Cpath d='M15 9h.01'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M16 16s-1.5-2-4-2-4 2-4 2'/%3E%3Cpath d='M9 9h.01'/%3E%3Cpath d='M15 9h.01'/%3E%3C/svg%3E") no-repeat center / contain; }
.icon-stop { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2'/%3E%3Cline x1='15' y1='9' x2='9' y2='15'/%3E%3Cline x1='9' y1='9' x2='15' y2='15'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2'/%3E%3Cline x1='15' y1='9' x2='9' y2='15'/%3E%3Cline x1='9' y1='9' x2='15' y2='15'/%3E%3C/svg%3E") no-repeat center / contain; }
.icon-moon { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3C/svg%3E") no-repeat center / contain; }
.icon-chevron { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") no-repeat center / contain; }
.icon-group { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E") no-repeat center / contain; }
.icon-settings { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z'/%3E%3C/svg%3E") no-repeat center / contain; }
.icon-star { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E") no-repeat center / contain; }
.icon-star-filled { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E") no-repeat center / contain; }

/* --- MOBILE LAYOUT: MESSAGES --- */
@media (max-width: 768px) {
    .chat-app {
        flex-direction: column; 
        width: 95%;
        height: 95vh;
        border-width: 3px;
    }

    .inbox-sidebar {
        width: 100%;
        min-width: 100%;
        height: 40%; 
        border-right: none;
        border-bottom: 3px solid #e58e26;
    }

    .chat-window {
        width: 100%;
        height: 60%; 
    }
    
    .bubble {
        font-size: 1rem; 
    }
}

/* --- CUSTOM TEXT EMOJIS --- */
.custom-emoji {
    display: inline-block;
    height: 1.5em;
    width: 1.5em;
    vertical-align: -0.3em;
    margin: 0 0.1em;
}