<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">:root {
  --primary-color: #23872c;
  --secondary-color: #e5ebf1;
  --message-out: #e1f3fb;
  --message-in: linear-gradient(120deg, #23272b 0%, #181b1f 70%, #00000080 100%);  
  --text-secondary: #fff;
  --border-color: #e7e8ec;
  --online-color: #4bb34b;
  
  /* ÐÐ¾Ð²Ñ‹Ðµ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð½Ñ‹Ðµ Ñ†Ð²ÐµÑ‚Ð° */
  --highlight-shadow: rgba(255, 200, 0, 0.8);
  --loading-bg: rgba(0, 0, 0, 0.8);
  --search-date-bg: #f5f5f5;
  --gallery-bg: rgba(0, 0, 0, 0.9);
  --recording-red: #e93c3c;
  --recording-shadow: rgba(227, 60, 60, 0.7);
  --audio-wave: #7d6eff;
  --audio-wave-end: #bd7dff;
  --videonote-border: #e1f3fb;
  --videonote-bg: #d5e7fa;
  --modal-bg: rgba(32, 38, 60, 0.94);
  --close-btn-color: #b7cdf9;
  --modal-date-color: #d2e2fb;
  --arrow-bg: rgba(240, 246, 255, 0.21);
  --arrow-color: #4377c9;
  --gallery-count-color: #9eb5d8;
  --gallery-btn-bg: #e1f3fb;
  --gallery-btn-color: #1a61bd;
  --preview-cancel-bg: #f7d8e6;
  --preview-cancel-color: #d33;
  --preview-send-bg: linear-gradient(90deg,#68b6f9,#51a7e7 100%);
  --play-btn-shadow: rgba(80, 140, 230, 0.11);
  --date-divider-color: #7a98bc;
  --date-divider-shadow: #f6f9ff;
  --whapp-gallery-bg: #101015ee;
  --whapp-topbar-color: #ffe16b;
  --whapp-content-bg: #232235;
  --whapp-item-bg: #181827;
  --whapp-badge-bg: rgba(30, 20, 80, 0.9);
  --whapp-badge-color: #ffe16b;
  --search-panel-bg: rgba(37, 31, 66, 0.94);
  --search-highlight-bg: #ffd700b3;
  --search-highlight-color: #291d00;
  --loading-spinner: #7d7cf5;
  --upload-error: #e95e5e;
  --menu-shadow: rgba(50, 70, 120, 0.13);
  --menu-hover-bg: #f5f7fb;
  --menu-hover-color: #2c5fbb;
  --voice-modal-bg: rgba(15, 16, 32, 0.92);
  --voice-circle-bg: #f33;
  --voice-circle-shadow: #f335;
  --voice-stop-btn-color: #d22;
  --notification-enabled: #efb900;
  --notification-disabled: #ccc;
  --notification-active: #3fa33e;
  --notification-active-bg: #e7ffeb;
  --fake-wave-start: #7d6eff;
  --fake-wave-end: #bd7dff;
  --message-loading-color: #7d7cf5;
  --spinner-border: #ddd;
  --mic-animation-color: #e73a3a;
  --cancel-hover-bg: #ffeaea;
  --cancel-hover-color: #d33;
  --voice-controls-bg: #fff2;
  --voice-stop-bg: #fff;
}

/* ÐžÑÑ‚Ð°Ð»ÑŒÐ½Ð¾Ð¹ CSS Ð±ÐµÐ· Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ */
body {
  background: linear-gradient(135deg, #f5f7fa 0%, #e4e8eb 100%);
  margin: 0;
  padding: 0;
  font-family: 'Roboto', sans-serif;
}
#notif-btn{
    margin-left: auto;
    background: #fffbe700!important;
}
.message.highlight {
  box-shadow: 0 0 10px var(--highlight-shadow);
  transition: box-shadow 0.3s ease-out;
}
.message.highlight {
  box-shadow: 0 0 10px var(--highlight-shadow);
  transition: box-shadow 0.3s ease-out;
}
.profile-status {
    font-size: 14px;
    color: var(--text-secondary);
      padding-left: 0 !important;
    margin-top: 10px;
    position: relative;
}
#search-button {
    /* margin-left: auto; */
    margin-right: 0;
}
    * { box-sizing: border-box; }

    html, body {
      margin: 0;
      padding: 0;
      height: 100dvh;
      overflow: hidden;
      color: var(--text-color);
    }
.status-text {
    font-size: 0.9em;
    margin-top: 4px;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-left: 10px;
}
.message-loading-indicator {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: var(--loading-bg);
  color: white;
  padding: 15px 25px;
  border-radius: 5px;
  z-index: 1000;
}
/* Ð¡Ñ‚Ð¸Ð»Ð¸ Ð´Ð»Ñ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¸Ñ‚ÐµÐ»ÐµÐ¹ Ð´Ð°Ñ‚ */
.date-divider {
  display: flex;
  align-items: center;
  margin: 15px 0;
  color: var(--text-secondary);
  font-size: 14px;
}

.date-divider::before,
.date-divider::after {
  content: "";
  flex: 1;
  border-bottom: 1px solid var(--border-color);
  margin: 0 10px;
}

.date-text {
  padding: 0 10px;
}

/* Ð¡Ñ‚Ð¸Ð»Ð¸ Ð´Ð»Ñ Ð¿Ð¾Ð¸ÑÐºÐ° */
.search-date-header {
  padding: 10px 15px;
  background-color: var(--search-date-bg);
  color: var(--text-secondary);
  font-size: 14px;
  font-weight: 500;
  position: sticky;
  top: 0;
  z-index: 1;
}

.search-result {
  padding: 10px 15px;
  border-bottom: 1px solid var(--border-color);
  cursor: pointer;
  display: flex;
  gap: 10px;
}

.search-result:hover {
  background-color: #f9f9f9;
}

.search-result-time {
  color: var(--text-secondary);
  font-size: 13px;
  min-width: 40px;
}

.search-result-content {
  flex: 1;
}
.empty-message, .error-message {
  text-align: center;
  padding: 20px;
  color: #666;
}

.media-item {
  transition: transform 0.2s;
}

.media-item:hover {
  transform: scale(1.03);
}
/* Ð”Ð¾Ð±Ð°Ð²ÑŒÑ‚Ðµ Ð² ÐºÐ¾Ð½ÐµÑ† Ñ„Ð°Ð¹Ð»Ð° */
.media-gallery {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--gallery-bg);
  z-index: 100;
  display: none;
  flex-direction: column;
}

.media-gallery.active {
  display: flex;
}

.media-header {
  padding: 15px;
  color: white;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.media-content {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 10px;
  padding: 15px;
  overflow-y: auto;
}

.media-item {
  position: relative;
  border-radius: 5px;
  overflow: hidden;
  cursor: pointer;
  aspect-ratio: 1;
}

.media-item img, .media-item video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.media-item-type {
  position: absolute;
  bottom: 5px;
  right: 5px;
  background: rgba(0, 0, 0, 0.7);
  color: white;
  padding: 2px 5px;
  border-radius: 3px;
  font-size: 12px;
}

.search-panel {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: white;
  padding: 15px;
  z-index: 100;
  display: none;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.search-panel.active {
  display: block;
}

.search-results {
  max-height: 300px;
  overflow-y: auto;
  margin-top: 10px;
  border-top: 1px solid #eee;
}

.search-result {
  padding: 10px;
  border-bottom: 1px solid #eee;
  cursor: pointer;
}

.search-result:hover {
  background: #f5f5f5;
}

.load-more {
  text-align: center;
  padding: 10px;
  color: var(--primary-color);
  cursor: pointer;
}

.loading-indicator {
  text-align: center;
  padding: 10px;
  color: var(--text-secondary);
}
#text-input {
  flex: 1;
  padding: 12px 15px;
  border-radius: 20px;
  border: 1px solid var(--border-color);
  font-size: 15px;
  resize: none;
  overflow-y: auto;
  line-height: 1.4;
  max-height: 150px;
  min-height: 40px;
  box-sizing: border-box;
  background: white;

  scrollbar-width: none;       /* Firefox */
  -ms-overflow-style: none;    /* Internet Explorer 10+ */
}

#text-input::-webkit-scrollbar {
  display: none;               /* Chrome, Safari Ð¸ Edge */
}

.message-text {
  max-width: 100%;      
  word-wrap: break-word;  
  overflow-wrap: break-word; 
  white-space: pre-wrap;  
  box-sizing: border-box; 
}
.messages {
  display: flex;
  flex-direction: column;
  align-items: flex-start; /* Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ */
}
.status-indicator {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: gray;
}
.messages {
  overflow-wrap: break-word;
  word-break: break-word;
}

/* ÐšÐ¾Ð½Ñ‚ÐµÐ¹Ð½ÐµÑ€ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ */
.message {
  display: flex;
  flex-direction: column;
  align-self: flex-start;
  max-width: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  box-sizing: border-box;
}

/* Ð’Ñ…Ð¾Ð´ÑÑ‰ÐµÐµ Ð¸ Ð¸ÑÑ…Ð¾Ð´ÑÑ‰ÐµÐµ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ðµ â€” Ð½Ðµ Ð±Ð¾Ð»ÑŒÑˆÐµ 85% ÑˆÐ¸Ñ€Ð¸Ð½Ñ‹ */
.kira,
.arisha {
  max-width: 85%;
}

/* Ð’Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ð¸Ð¹ Ð±Ð»Ð¾Ðº ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ */
.message-inner {
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
  white-space: pre-wrap;
  box-sizing: border-box;
}

/* Ð¢ÐµÐºÑÑ‚ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ */
.message-text {
  max-width: 100%;
  overflow-wrap: break-word;
  word-break: break-word;
  white-space: pre-wrap;
}
.status-online {
  background: #4caf50;
}

.status-offline {
  background: #999;
}

.typing-indicator {
  margin-top: 6px;
  color: #666;
  font-style: italic;
  height: 20px;
}

.typing-dots::after {
  content: " ";
  display: inline-block;
  width: 1em;
  text-align: left;
  animation: dots 1.2s steps(3, end) infinite;
}

@keyframes dots {
  0% { content: ""; }
  33% { content: "."; }
  66% { content: ".."; }
  100% { content: "..."; }
}

    .message-avatar {
      width: 32px;
      height: 32px;
      border-radius: 50%;
      object-fit: cover;
    }

    .app {
      display: flex;
      flex-direction: column;
      height: 100dvh;
      overflow: hidden;
      position: relative;
    }

    .sidebar {
      width: 340px;
      background: white;
      border-right: 1px solid var(--border-color);
      display: flex;
      flex-direction: column;
      z-index: 11;
      position: fixed;
      top: 0;
      bottom: 0;
      left: 0;
      transform: translateX(-100%);
      transition: transform 0.3s ease;
    }

    .sidebar.visible {
      transform: translateX(0);
    }

    .profile {
      padding: 30px 20px;
      text-align: center;
      border-bottom: 1px solid var(--border-color);
    }

    .profile-avatar {
      width: 120px;
      height: 120px;
      border-radius: 50%;
      object-fit: cover;
      border: 3px solid var(--primary-color);
      margin-bottom: 15px;
    }

    .profile-name {
      font-size: 20px;
      font-weight: 500;
      margin: 0;
    }

    .profile-status {
      font-size: 14px;
      color: var(--text-secondary);
      padding-left: 20px;
      margin-top: 10px;
      position: relative;
    }

    .profile-form {
      margin-top: 15px;
    }

    .profile-form input {
      width: 100%;
      padding: 10px 15px;
      margin-bottom: 10px;
      border: 1px solid var(--border-color);
      border-radius: 8px;
      font-size: 14px;
    }

    .profile-form button {
      width: 100%;
      padding: 10px;
      background-color: var(--primary-color);
      color: white;
      border: none;
      border-radius: 8px;
      font-weight: 500;
      cursor: pointer;
    }

    .chat {
      flex: 1;
      display: flex;
      flex-direction: column;
      height: 100%;
      overflow: hidden;
      background-color: #e7ebf0;
    }

    .chat-header {
      display: flex;
      align-items: center;
      padding: 12px 20px;
      background: white;
      z-index: 2;
      box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    }

    .menu-button {
      margin-right: 15px;
      background: none;
      border: none;
      font-size: 20px;
      color: var(--primary-color);
      cursor: pointer;
    }

    .chat-title {
      font-size: 18px;
      font-weight: 500;
    }

    .messages {
      flex: 1;
      overflow-y: auto;
      padding: 15px 20px;
      padding-bottom: 80px;
      display: flex;
      flex-direction: column;
      background-attachment: fixed;
    }

    .message {
      margin-bottom: 15px;
      max-width: 70%;
      position: relative;
    }

    .message-inner {
      padding: 12px 15px;
      border-radius: 12px;
      background: var(--message-in);
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    }

    .kira {
      align-self: flex-start;
    }

    .kira .message-inner {
      background-color: var(--message-in);
      border-top-left-radius: 0;
    }

    .arisha {
      align-self: flex-end;
    }

    .arisha .message-inner {
      background-color: var(--message-out);
      border-top-right-radius: 0;
    }

    .message-sender {
      font-weight: 500;
      font-size: 13px;
      color: var(--primary-color);
      margin-bottom: 5px;
    }

    .message-text {
      font-size: 15px;
      line-height: 1.4;
    }

    .message-time {
      font-size: 12px;
      text-align: right;
      color: var(--text-secondary);
      margin-top: 5px;
    }

    .chat-form {
      display: flex;
      padding: 15px;
      background: white;
      border-top: 1px solid var(--border-color);
      position: sticky;
      bottom: 0;
      z-index: 10;
    }

    .chat-form input[type="text"] {
      flex: 1;
      padding: 12px 15px;
      border-radius: 20px;
      border: 1px solid var(--border-color);
      font-size: 15px;
    }

    .file-button, .send-button {
      background: none;
      border: none;
      color: var(--primary-color);
      font-size: 20px;
      margin: 0 10px;
      cursor: pointer;
    }

    @media (max-width: 768px) {
      .sidebar {
        width: 100vw;
      }
    }

.mic-button, .videonote-button {
  background: none;
  border: none;
  color: var(--primary-color);
  font-size: 20px;
  margin-right: 10px;
  cursor: pointer;
}
.videonote-preview {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}
.voice-player {
  display: flex;
  align-items: center;
  gap: 8px;
}
.mic-button.recording, .videonote-button.recording {
  color: var(--recording-red);
  animation: pulse 1s infinite;
}
@keyframes pulse {
  0% { filter: drop-shadow(0 0 0 var(--recording-red)); }
  50% { filter: drop-shadow(0 0 8px var(--recording-red)); }
  100% { filter: drop-shadow(0 0 0 var(--recording-red)); }
}

.mic-button, .videonote-button {
  background: none;
  border: none;
  color: var(--primary-color);
  font-size: 20px;
  margin-right: 10px;
  cursor: pointer;
}

.mic-button.recording, .videonote-button.recording {
  color: var(--recording-red);
  animation: pulse 1s infinite;
}
@keyframes pulse {
  0% { filter: drop-shadow(0 0 0 var(--recording-red)); }
  50% { filter: drop-shadow(0 0 8px var(--recording-red)); }
  100% { filter: drop-shadow(0 0 0 var(--recording-red)); }
}

.voice-player {
  display: flex;
  align-items: center;
  gap: 8px;
}

.videonote-preview {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}
.mic-button, .videonote-button {
  background: none;
  border: none;
  color: var(--primary-color);
  font-size: 20px;
  margin-right: 10px;
  cursor: pointer;
}
.mic-button.recording, .videonote-button.recording {
  color: var(--recording-red);
  animation: pulse 1s infinite;
}
@keyframes pulse {
  0% { filter: drop-shadow(0 0 0 var(--recording-red)); }
  50% { filter: drop-shadow(0 0 8px var(--recording-red)); }
  100% { filter: drop-shadow(0 0 0 var(--recording-red)); }
}
.voice-player {
  display: flex;
  align-items: center;
  gap: 8px;
}
.videonote-preview, .preview-block video {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}
.preview-block {
  background: #f7f8fa;
  border: 1px solid #c4c8d0;
  border-radius: 14px;
  padding: 10px 14px;
  margin: 8px 0 0 0;
  display: flex;
  align-items: center;
  gap: 12px;
  position: relative;
  max-width: 320px;
}
.preview-actions {
  display: flex;
  gap: 10px;
}
.preview-block .cancel-btn,
.preview-block .send-btn {
  border: none;
  border-radius: 8px;
  padding: 4px 10px;
  font-size: 15px;
  cursor: pointer;
}
.preview-block .cancel-btn { background: #eee; color: #d33; }
.preview-block .send-btn { background: #5181b8; color: #fff; }
/* Ð‘Ð¾Ð»ÑŒÑˆÐ¾Ð¹ Ð²Ð¸Ð´ÐµÐ¾ÐºÑ€ÑƒÐ¶Ð¾Ðº Ð² ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸ÑÑ… */
.videonote-preview {
  width: 160px;
  height: 160px;
  min-width: 120px;
  min-height: 120px;
  max-width: 220px;
  max-height: 220px;
  border-radius: 50%;
  box-shadow: 0 2px 16px 0 rgba(0,0,0,0.18);
  border: 5px solid var(--videonote-border);
  object-fit: cover;
  background: var(--videonote-bg);
  margin: 10px auto 4px auto;
  display: block;
  transition: box-shadow 0.3s;
}
.kira .videonote-preview, .arisha .videonote-preview {
  margin-left: auto;
  margin-right: auto;
}
.videonote-preview:focus, .videonote-preview:hover {
  box-shadow: 0 4px 32px 0 rgba(81,129,184,0.22);
}

/* Ð’ Ð³Ð°Ð»ÐµÑ€ÐµÐµ Ñ‚Ð¾Ð¶Ðµ ÑÐ´ÐµÐ»Ð°Ñ‚ÑŒ ÐºÑ€ÑƒÐ¶ÐºÐ¸ ÐºÑ€ÑƒÐ¿Ð½ÐµÐµ */
.media-item .videonote-preview,
.search-result .videonote-preview {
  width: 90px;
  height: 90px;
  min-width: 70px;
  min-height: 70px;
  border: 3px solid var(--videonote-border);
}
.voice-player {
  width: 220px;
  max-width: 100%;
  margin: 8px auto 4px auto;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 24px;
  background: linear-gradient(90deg, var(--message-out) 60%, #f6fafe 100%);
  box-shadow: 0 1px 8px rgba(81,129,184,0.09);
  position: relative;
}
.voice-player audio {
  width: 170px;
  background: transparent;
  outline: none;
  border-radius: 16px;
}
.voice-player::-webkit-media-controls-panel {
  background: transparent;
  border-radius: 12px;
}
.voice-player audio::-webkit-media-controls-panel {
  background: transparent;
  border-radius: 12px;
}
.voice-player audio::-webkit-media-controls-timeline {
  background: #bee1f7;
  border-radius: 6px;
}
.voice-player audio::-webkit-media-controls-play-button {
  color: var(--primary-color);
}
.preview-block {
  background: linear-gradient(135deg,#fafdff 50%,#e6f1fb 100%);
  border: 2px solid #bee1f7;
  box-shadow: 0 4px 20px 0 rgba(120,172,228,0.10);
  border-radius: 18px;
  padding: 18px 22px;
  margin: 16px 0 0 0;
  display: flex;
  align-items: center;
  gap: 22px;
  position: relative;
  max-width: 340px;
  min-height: 110px;
  z-index: 101;
  animation: previewFadeIn 0.33s;
}
@keyframes previewFadeIn { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: none; } }
.preview-block audio,
.preview-block video {
  display: block;
  border-radius: 12px;
  margin: 0 8px 0 0;
}
.preview-block video {
  border-radius: 50%;
  width: 110px !important;
  height: 110px !important;
  box-shadow: 0 2px 16px rgba(81,129,184,0.15);
  border: 4px solid var(--videonote-border);
  background: var(--videonote-bg);
}
.preview-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.preview-block .cancel-btn,
.preview-block .send-btn {
  border: none;
  border-radius: 8px;
  padding: 9px 17px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  margin-top: 4px;
  box-shadow: 0 1px 4px rgba(81,129,184,0.07);
  transition: background .18s, color .18s, box-shadow .18s;
}
.preview-block .cancel-btn {
  background: #f7d8e6;
  color: var(--preview-cancel-color);
}
.preview-block .cancel-btn:hover {
  background: #ffb7db;
  color: #b31c40;
}
.preview-block .send-btn {
  background: var(--preview-send-bg);
  color: #fff;
}
.preview-block .send-btn:hover {
  background: linear-gradient(90deg,#4796e9,#268fe0 100%);
  color: #fff;
}
.videonote-player {
  position: relative;
  width: 170px;
  height: 170px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.videonote-preview {
  width: 170px;
  height: 170px;
  border-radius: 50%;
  box-shadow: 0 4px 24px 0 rgba(80,140,230,0.13);
  border: 6px solid var(--videonote-border);
  background: #e8f5ff;
  object-fit: cover;
  display: block;
  transition: box-shadow 0.2s;
}
.circle-play-btn {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 58px;
  height: 58px;
  transform: translate(-50%,-50%);
  border: none;
  background: none;
  cursor: pointer;
  z-index: 2;
  transition: filter 0.12s;
  box-shadow: 0 2px 8px 0 rgba(80,140,230,0.11);
  outline: none;
  opacity: 0.94;
}
.circle-play-btn svg {
  pointer-events: none;
  display: block;
}
.circle-play-btn:active {
  filter: brightness(0.96);
}
.circle-play-btn.paused { opacity: 1; }
.circle-play-btn:not(.paused) { opacity: 0.8; }

.videonote-progress {
  position: absolute;
  left: 50%; top: 50%;
  width: 80px;
  height: 80px;
  transform: translate(-50%,-50%) rotate(-90deg);
  pointer-events: none;
  z-index: 2;
}
.videonote-progress circle {
  transition: stroke-dashoffset 0.2s linear;
  stroke-linecap: round;
}
/* --- Ð”Ð°Ñ‚Ñ‹ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ð¹ --- */
.date-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 18px 0 10px 0;
  color: var(--date-divider-color);
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-shadow: 0 1px 4px #fff,0 2px 20px #e7ebf5;
  position: relative;
}
.date-divider::before, .date-divider::after {
  content: "";
  flex: 1;
  border-bottom: 1px solid #e0e6f1;
  margin: 0 14px;
}
.date-text {
  background: #f3f6fb;
  border-radius: 8px;
  padding: 4px 18px;
  box-shadow: 0 2px 8px var(--date-divider-shadow);
}
/* --- ÐœÐ¾Ð´Ð°Ð»ÑŒÐ½Ð°Ñ Ð³Ð°Ð»ÐµÑ€ÐµÑ --- */
.media-gallery-modal {
  display: none;
  position: fixed;
  inset: 0;
  background: var(--modal-bg);
  z-index: 1000;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  animation: modalFadeIn 0.22s;
}
@keyframes modalFadeIn { from { opacity: 0; } to { opacity: 1; } }
.media-gallery-modal.active {
  display: flex;
}
.media-gallery-header {
  display: flex;
  justify-content: space-between;
  width: 90vw;
  max-width: 700px;
  align-items: center;
  color: #fff;
  padding: 14px 24px 0 24px;
}
.media-gallery-close {
  font-size: 2rem;
  color: var(--close-btn-color);
  background: none;
  border: none;
  cursor: pointer;
  margin-right: 12px;
}
.media-gallery-date {
  font-size: 1rem;
  color: var(--modal-date-color);
}
.media-gallery-view {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 70vh;
  width: 100vw;
  max-width: 700px;
  position: relative;
}
#media-gallery-media {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}
.media-gallery-media img,
.media-gallery-media video,
.media-gallery-media audio {
  max-width: 70vw;
  max-height: 66vh;
  border-radius: 22px;
  box-shadow: 0 4px 44px 0 rgba(56,114,230,0.18);
  background: #fff;
  margin: 0 auto;
  display: block;
  cursor: zoom-in;
}
.media-gallery-arrow {
  background: var(--arrow-bg);
  color: var(--arrow-color);
  border: none;
  font-size: 2.7rem;
  border-radius: 40%;
  width: 54px; height: 54px;
  cursor: pointer;
  margin: 0 12px;
  transition: background .16s, color .16s;
}
.media-gallery-arrow:hover {
  background: #e1f3fb;
  color: #1a61bd;
}
.media-gallery-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 90vw;
  max-width: 700px;
  color: #e6eefd;
  font-size: 1.06rem;
  padding: 14px 26px 18px 26px;
}
#media-gallery-goto {
  background: var(--gallery-btn-bg);
  color: var(--gallery-btn-color);
  border-radius: 8px;
  border: none;
  padding: 7px 13px;
  cursor: pointer;
  font-weight: 500;
  margin: 0 10px;
}
#media-gallery-goto:hover {
  background: #cbe1fa;
}
#media-gallery-count {
  color: var(--gallery-count-color);
  margin-left: 16px;
  font-size: 0.97em;
}
@media (max-width: 600px) {
  .media-gallery-header, .media-gallery-footer, .media-gallery-view {
    width: 99vw !important;
    max-width: 100vw !important;
    padding-left: 4vw;
    padding-right: 4vw;
  }
  .media-gallery-media img, .media-gallery-media video {
    max-width: 95vw !important;
    max-height: 65vh !important;
  }
}

/* ÐšÑ€Ð°ÑÐ½Ñ‹Ð¹ Ð¼Ð¸Ð³Ð°ÑŽÑ‰Ð¸Ð¹ ÐºÑ€ÑƒÐ¶Ð¾Ðº Ð½Ð° ÐºÐ½Ð¾Ð¿ÐºÐµ */
.rec-dot {
  display: inline-block;
  margin-left: 6px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--recording-red);
  box-shadow: 0 0 4px var(--recording-shadow);
  animation: rec-blink 1s infinite;
  vertical-align: middle;
}

@keyframes rec-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: .3; }
}

/* Ð¡Ñ‚Ð¸Ð»Ð¸ Ð´Ð»Ñ Ð±Ð»Ð¾ÐºÐ° Ð¿Ñ€ÐµÐ´Ð¿Ñ€Ð¾ÑÐ¼Ð¾Ñ‚Ñ€Ð° */
.preview-block {
  background: #f9f8ff;
  border-radius: 18px;
  box-shadow: 0 2px 10px rgba(120,110,210,.05);
  padding: 18px 20px 12px 20px;
  margin: 10px;
  gap: 12px;
}

/* ÐšÐ°ÑÑ‚Ð¾Ð¼Ð½Ñ‹Ð¹ Ð°ÑƒÐ´Ð¸Ð¾Ð¿Ð»ÐµÐµÑ€ (Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»Ð¸Ð·Ð¼) */
audio.custom-audio {
  width: 220px;
  height: 32px;
  background: #fff;
  border-radius: 10px;
  outline: none;
  margin: 0 0 0 4px;
}
audio.custom-audio::-webkit-media-controls-panel {
  background-color: #edeaff;
  border-radius: 10px;
}
audio.custom-audio::-webkit-media-controls-play-button {
  filter: hue-rotate(320deg);
}
audio.custom-audio::-webkit-media-controls-timeline {
  background-color: #e2d3ff;
  border-radius: 8px;
}
audio.custom-audio::-webkit-media-controls-volume-slider {
  background-color: #dedcff;
}
audio.custom-audio:focus {
  outline: 1.5px solid #a2b5ff;
}

/* Ð¡Ñ‚Ð¸Ð»Ð¸ ÐºÑ€ÑƒÐ¶ÐºÐ° */
video.custom-videonote {
  box-shadow: 0 2px 10px rgba(110,90,255,.08);
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 8px;
}

/* ÐŸÑ€Ð¸Ð¼ÐµÑ€ Ð²Ð¾Ð»Ð½Ñ‹ Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´Ð¿Ñ€Ð¾ÑÐ¼Ð¾Ñ‚Ñ€Ð° */
.waveform-preview {
  width: 180px;
  height: 28px;
  margin: 0 auto;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.wave {
  width: 100%;
  height: 60%;
  background: linear-gradient(90deg, var(--fake-wave-start) 0%, var(--fake-wave-end) 100%);
  border-radius: 10px 10px 20px 20px;
  animation: fakeWave 1s infinite alternate;
}
@keyframes fakeWave {
  0%   { height: 35%; }
  100% { height: 85%; }
}

/* ÐšÐ½Ð¾Ð¿ÐºÐ¸ Ð¿Ñ€ÐµÐ´Ð¿Ñ€Ð¾ÑÐ¼Ð¾Ñ‚Ñ€Ð° */
.preview-actions .send-btn,
.preview-actions .cancel-btn {
  padding: 7px 16px;
  border-radius: 16px;
  border: none;
  font-weight: 500;
  cursor: pointer;
}
.preview-actions .send-btn {
  background: linear-gradient(90deg,#8e7dff,#bd7dff);
  color: #fff;
}
.preview-actions .cancel-btn {
  background: #eee;
  color: #6c53a3;
}
video.custom-video {
  box-shadow: 0 2px 8px rgba(110,90,255,.06);
  border-radius: 14px;
  background: #f6f2ff;
  margin: 6px 0;
}
.videonote-modal {
  position: fixed;
  z-index: 1002;
  inset: 0;
  background: #111b 75%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  transition: background 0.3s;
}
#videonote-live {
  width: 360px;
  height: 360px;
  max-width: 90vw;
  max-height: 90vw;
  background: #222;
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid #a489fd;
  box-shadow: 0 4px 60px 0 #bbaaff55;
  margin-bottom: 28px;
  aspect-ratio: 1 / 1;
}
.videonote-controls {
  display: flex;
  gap: 26px;
  align-items: center;
  justify-content: center;
}
#start-videonote.record-btn {
  width: 68px;
  height: 68px;
  border: none;
  background: radial-gradient(circle at 55% 60%, #b28cff 60%, #6c54e6 100%);
  border-radius: 50%;
  box-shadow: 0 2px 12px #7b7fef33;
  position: relative;
  cursor: pointer;
  transition: box-shadow 0.2s;
}
#start-videonote.recording {
  box-shadow: 0 0 0 12px #b28cff44, 0 2px 12px #7b7fef33;
  animation: pulse-record 1.2s infinite;
}
@keyframes pulse-record {
  0% { box-shadow: 0 0 0 8px #b28cff44, 0 2px 12px #7b7fef33; }
  50% { box-shadow: 0 0 0 24px #b28cff33, 0 2px 24px #7b7fef44; }
  100% { box-shadow: 0 0 0 8px #b28cff44, 0 2px 12px #7b7fef33; }
}
.videonote-controls button {
  background: none;
  border: none;
  color: #fff;
  font-size: 28px;
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 0.2s;
}
.videonote-controls button:hover { opacity: 1; }
.videonote-controls .record-btn::after {
  content: '';
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%,-50%);
  width: 32px; height: 32px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 1px 6px #b7b2ee33;
}
#start-videonote.recording::after {
  background: #e1463b;
}
@media (max-width:500px){
  #videonote-live { width: 90vw; height: 90vw; }
}
/* --- Ð“Ð°Ð»ÐµÑ€ÐµÑ WhatsApp Style --- */
.media-gallery {
  position: fixed;
  z-index: 2222;
  left: 0; right: 0; top: 0; bottom: 0;
  background: var(--whapp-gallery-bg);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  padding-top: 35px;
  overflow: hidden;
  animation: fadeIn .25s;
}
@keyframes fadeIn { from {opacity:0} to {opacity:1} }

.media-gallery-topbar {
  display: flex;
  align-items: center;
  width: 98vw;
  max-width: 440px;
  font-weight: 500;
  font-size: 20px;
  color: #fff;
  justify-content: space-between;
  margin-bottom: 16px;
  padding: 0 10px 2px 10px;
}

.close-btn {
  background: none;
  border: none;
  color: #fff;
  font-size: 28px;
  cursor: pointer;
  transition: color .15s;
}
.close-btn:hover { color: var(--whapp-topbar-color); }

.media-gallery-content {
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(104px,1fr));
  gap: 9px;
  background: var(--whapp-content-bg);
  border-radius: 16px 16px 24px 24px;
  box-shadow: 0 6px 32px 0 rgba(20,10,54,0.22);
  padding: 16px 10px 14px 10px;
  width: 98vw;
  max-width: 440px;
  max-height: 75vh;
  overflow-y: auto;
}
.media-item {
  position: relative;
  border-radius: 13px;
  overflow: hidden;
  background: var(--whapp-item-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  cursor: pointer;
  transition: box-shadow .12s;
  box-shadow: 0 2px 8px rgba(20,10,54,0.07);
}
.media-item:hover { box-shadow: 0 4px 18px #8568f134; }
.media-item img, .media-item video {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 12px;
  background: #eee;
}
.media-item .media-type-badge {
  position: absolute; bottom: 5px; right: 5px;
  background: var(--whapp-badge-bg);
  color: var(--whapp-badge-color);
  font-size: 13px;
  border-radius: 6px;
  padding: 2px 6px;
  pointer-events: none;
}
.media-item audio {
  width: 95%;
  margin: 8px auto 2px auto;
  border-radius: 10px;
  background: #f7f7ff;
}
.media-item .voice-icon {
  font-size: 34px;
  color: #8c91b4;
  margin-top: 9px;
}

/* --- ÐœÐ¾Ð´Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ð¿Ñ€Ð¾ÑÐ¼Ð¾Ñ‚Ñ€ --- */
.media-modal { display: none; position: fixed; inset: 0; z-index: 4444;}
.media-modal.active { display: flex; }
.media-modal-bg {
  position: absolute; inset: 0;
  background: var(--whapp-gallery-bg);
  animation: fadeIn .22s;
}
.media-modal-center {
  position: relative;
  z-index: 2;
  width: 98vw; max-width: 480px;
  margin: auto; display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
#media-modal-inner img, #media-modal-inner video, #media-modal-inner audio {
  max-width: 88vw; max-height: 72vh;
  border-radius: 18px;
  background: #fff;
  margin-bottom: 14px;
}
#media-modal-inner audio { background: #fff; margin-top: 30px;}
#media-modal-inner video { background: #161624; }
@media (max-width: 530px) {
  .media-gallery-content, .media-gallery-topbar { max-width: 99vw;}
  .media-modal-center { max-width: 99vw; }
}
.search-panel {
  position: fixed; top: 0; left: 0; right: 0; bottom: 0;
  background: var(--search-panel-bg); z-index: 1600; display: none;
  flex-direction: column; align-items: center; justify-content: flex-start;
  animation: fadeIn .2s;
}
.search-panel.active { display: flex; }
.search-header {
  display: flex; gap: 10px; align-items: center;
  width: 100%; max-width: 450px; margin: 32px auto 10px auto;
}
#search-input {
  flex: 1; font-size: 18px; padding: 11px 17px;
  border-radius: 13px; border: none; outline: none;
  background: #fff; color: #252151; font-family: inherit;
  box-shadow: 0 1px 6px #19195018;
}
#close-search {
  background: none; color: var(--whapp-topbar-color); border: none; font-size: 26px;
  cursor: pointer; padding: 5px 14px 5px 4px;
}
.search-results {
  width: 100%; max-width: 480px; margin: 0 auto; margin-top: 18px;
  background: none;
  display: flex; flex-direction: column; gap: 6px;
}
.search-result {
  background: #fff;
  border-radius: 14px; box-shadow: 0 1px 8px #13103218;
  padding: 13px 15px; margin-bottom: 2px;
  display: flex; align-items: center; gap: 13px;
  transition: background .13s;
  font-size: 15.5px;
}
.search-result:hover { background: #ffe16b33; }
.search-thumb {
  width: 48px; height: 48px; border-radius: 9px; object-fit: cover;
  background: #eee;
}
.search-snippet { flex: 1; }
.search-highlight {
  background: var(--search-highlight-bg);
  border-radius: 5px; padding: 1px 2px;
  color: var(--search-highlight-color); font-weight: bold;
}
.goto-message-btn {
  margin-left: auto; font-size: 13px;
  background: var(--whapp-topbar-color); color: #252151; border: none;
  border-radius: 8px; padding: 5px 12px; cursor: pointer; font-weight: 500;
  transition: background .15s;
}
.goto-message-btn:hover { background: #ffd500; color: #1d1a33; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

.message-loading {
  color: var(--message-loading-color);
  font-size: 15px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 6px 0;
}
.loading-spinner {
  width: 18px;
  height: 18px;
  border: 3px solid var(--spinner-border);
  border-top: 3px solid var(--message-loading-color);
  border-radius: 50%;
  display: inline-block;
  animation: spin 1s linear infinite;
}
@keyframes spin { 100% { transform: rotate(360deg); } }
.message.uploading { opacity: 0.6; pointer-events: none; }
.upload-error {
  color: var(--upload-error);
  margin-top: 5px;
  font-size: 13px;
}
.media-item {
    position: relative;
    width: 100%;
    padding-bottom: 100%; /* ÐºÐ²Ð°Ð´Ñ€Ð°Ñ‚ */
    border-radius: 13px;
    overflow: hidden;
    background: var(--whapp-item-bg);
    box-shadow: 0 2px 8px rgba(20,10,54,0.07);
    cursor: pointer;
    transition: box-shadow .12s;
}

/* ÐšÐ¾Ð½Ñ‚ÐµÐ½Ñ‚ Ð²Ð½ÑƒÑ‚Ñ€Ð¸ - Ð°Ð±ÑÐ¾Ð»ÑŽÑ‚Ð½Ñ‹Ð¹ ÐºÐ²Ð°Ð´Ñ€Ð°Ñ‚ */
.media-item &gt; img,
.media-item &gt; video {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 13px;
}

/* Ð¦ÐµÐ½Ñ‚Ñ€Ð¾Ð²ÐºÐ° voice-icon */
.media-item .voice-icon {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    pointer-events: none; /* Ñ‡Ñ‚Ð¾Ð±Ñ‹ Ð½Ðµ Ð±Ð»Ð¾ÐºÐ¸Ñ€Ð¾Ð²Ð°Ð» ÐºÐ»Ð¸ÐºÐ¸ */
    font-size: 2.1em;     /* Ð¸Ð»Ð¸ ÑÐ²Ð¾Ð¹ Ñ€Ð°Ð·Ð¼ÐµÑ€ */
    color: #fff;
    background: rgba(28, 28, 45, 0.62);
    border-radius: 50%;
    padding: 0.4em;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(20,10,54,0.15);
}
.media-gallery-content {
    /* Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ðµ ÑÑ‚Ð¸Ð»Ð¸ ... */
    scrollbar-width: thin;
    scrollbar-color: #393969 var(--whapp-content-bg);
}

/* Chrome/Edge/Safari */
.media-gallery-content::-webkit-scrollbar {
    width: 8px;
}
.media-gallery-content::-webkit-scrollbar-thumb {
    background: #393969;
    border-radius: 8px;
}
.media-gallery-content::-webkit-scrollbar-thumb:hover {
    background: #56569e;
}
.media-gallery-content::-webkit-scrollbar-track {
    background: var(--whapp-content-bg);
}
#zoom-photo-overlay.active { display: flex !important; }
#zoom-photo-img.zoomed { cursor: grabbing; }

.more-menu-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.more-button {
  background: none;
  border: none;
  color: var(--primary-color);
  font-size: 22px;
  cursor: pointer;
  margin-right: 5px;
  padding: 6px 10px;
}

.more-menu {
  display: none;
  position: absolute;
  bottom: 45px;
  right: 0;
  background: #fff;
  border-radius: 13px;
  box-shadow: 0 4px 16px var(--menu-shadow);
  padding: 10px 0;
  z-index: 30;
  min-width: 120px;
  flex-direction: column;
  gap: 2px;
  animation: fadeIn .15s;
}

.more-menu button {
  display: flex;
  align-items: center;
  width: 100%;
  background: none;
  border: none;
  color: var(--primary-color);
  font-size: 17px;
  gap: 10px;
  padding: 8px 18px 8px 16px;
  cursor: pointer;
  transition: background .12s;
  border-radius: 8px;
}

.more-menu button:hover {
  background: var(--menu-hover-bg);
  color: var(--menu-hover-color);
}

.more-menu span {
  font-size: 15px;
  margin-left: 4px;
  color: #333;
}
.videonote-preview {
    border-radius: 50%;
    width: 1000px!important ;
    height: 1000px!important ;
    object-fit: cover;
}
.voice-indicator {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 22px;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 2px 12px #5485d22a;
  margin: 14px 0 0 0;
  position: relative;
  justify-content: flex-start;
  max-width: 340px;
}

 .theme-selector-container {
    width: 100%;
    margin-bottom: 15px;
  }
  
  .theme-title {
    font-size: 15px;
    color: var(--text-secondary);
    margin: 10px 0 8px 0;
    text-align: center;
  }
  
  .theme-cards {
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
  }
  
  .theme-card {
    width: 90px;
    height: 110px;
    border-radius: 12px;
    background: white;
    border: 1px solid var(--border-color);
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 8px;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
  }
  
  .theme-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  }
  
  .theme-card.active {
    border: 2px solid var(--primary-color);
    background-color: #f0f7ff;
  }
  
  .theme-preview {
    width: 70px;
    height: 70px;
    border-radius: 8px;
    margin-bottom: 8px;
    border: 1px solid #eee;
    position: relative;
    overflow: hidden;
  }
  
  .theme-name {
    font-size: 13px;
    color: var(--text-color);
    text-align: center;
  }
  
  /* ÐŸÑ€ÐµÑŒÑŽ Ñ‚ÐµÐ¼ */
  .default-theme {
    background: linear-gradient(135deg, #e7ebf0 0%, #d5dce5 100%);
  }
  
  .hearts-theme {
    background: linear-gradient(135deg, #fff0f0 0%, #ffd6d6 100%);
  }
  
  .hearts-theme::before {
    content: "â¤ï¸â¤ï¸";
    position: absolute;
    font-size: 18px;
    opacity: 0.7;
    animation: float 6s infinite linear;
  }
  
  .hearts-theme::after {
    content: "â¤ï¸";
    position: absolute;
    font-size: 24px;
    bottom: 5px;
    right: 5px;
    opacity: 0.6;
    animation: pulse 2s infinite alternate;
  }
  
  .devils-theme {
    background: linear-gradient(135deg, #f0f0ff 0%, #e0e0ff 100%);
  }
  
  .devils-theme::before {
    content: "ðŸ‘¿ðŸ‘¿";
    position: absolute;
    font-size: 16px;
    opacity: 0.7;
    animation: float 8s infinite linear reverse;
  }
  
  .devils-theme::after {
    content: "ðŸ‘¿";
    position: absolute;
    font-size: 22px;
    top: 5px;
    left: 5px;
    opacity: 0.6;
    animation: shake 3s infinite;
  }
  
  @keyframes float {
    0% { transform: translate(0, 0) rotate(0deg); }
    100% { transform: translate(50px, -50px) rotate(360deg); }
  }
  
  @keyframes pulse {
    0% { transform: scale(1); }
    100% { transform: scale(1.2); }
  }
  
  @keyframes shake {
    0%, 100% { transform: rotate(-5deg); }
    50% { transform: rotate(5deg); }
  }
  


.mic-animation {
  display: flex;
  align-items: center;
  font-size: 26px;
  color: var(--mic-animation-color);
  position: relative;
  animation: pulse-record 1.1s infinite;
}
@keyframes pulse-record {
  0% { filter: drop-shadow(0 0 0 var(--mic-animation-color)); }
  50% { filter: drop-shadow(0 0 7px var(--mic-animation-color)); }
  100% { filter: drop-shadow(0 0 0 var(--mic-animation-color)); }
}
.rec-dot {
  display: inline-block;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--recording-red);
  margin-left: 6px;
  box-shadow: 0 0 6px var(--recording-shadow);
  animation: rec-blink 1s infinite;
}
@keyframes rec-blink {
  0%,100% { opacity: 1; }
  50% { opacity: .35; }
}
.recording-text {
  font-size: 16px;
  font-weight: 500;
  color: var(--mic-animation-color);
  margin-left: 7px;
}
.cancel-recording {
  background: none;
  border: none;
  color: #444;
  font-size: 22px;
  cursor: pointer;
  margin-left: 20px;
  padding: 3px 7px;
  border-radius: 50%;
  transition: background 0.13s;
}
.cancel-recording:hover {
  background: var(--cancel-hover-bg);
  color: var(--cancel-hover-color);
}
.mic-recording {
  color: #fff !important;
  background: var(--recording-red) !important;
  box-shadow: 0 0 8px 2px #e5393570;
  animation: mic-pulse 1.1s infinite;
}
@keyframes mic-pulse {
  0% { box-shadow: 0 0 8px 2px #e5393570; }
  50% { box-shadow: 0 0 16px 8px #e5393550; }
  100% { box-shadow: 0 0 8px 2px #e5393570; }
}
.voice-record-modal {
  position: fixed;
  z-index: 4000;
  left: 0; top: 0; width: 100vw; height: 100vh;
  display: flex; align-items: center; justify-content: center;
  background: var(--voice-modal-bg);
  flex-direction: column;
  transition: opacity 0.2s;
}

.voice-circle {
  width: 160px; height: 160px;
  background: var(--voice-circle-bg);
  border-radius: 50%;
  box-shadow: 0 0 48px 8px var(--voice-circle-shadow);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 32px;
  animation: pulse-red 1.15s infinite;
  position: relative;
}
@keyframes pulse-red {
  0%   { box-shadow: 0 0 24px 8px var(--voice-circle-shadow); }
  50%  { box-shadow: 0 0 64px 16px var(--voice-circle-shadow); }
  100% { box-shadow: 0 0 24px 8px var(--voice-circle-shadow); }
}

.voice-circle i {
  color: #fff; font-size: 54px;
}

.voice-timer {
  color: #fff; font-size: 28px; margin-bottom: 32px; font-variant-numeric: tabular-nums;
  letter-spacing: 1px;
  font-family: 'Roboto Mono', monospace;
}

.voice-controls {
  display: flex; gap: 18px;
  justify-content: center;
}

.theme-preview {
    width: 70px;
    height: 70px;
    border-radius: 8px;
    margin-bottom: 8px;
    border: 1px solid #000000;
    position: relative;
    overflow: hidden;
}

.theme-card.active {
    border: 2px solid var(--primary-color);
    background-color: #232428;
    color: #fff;
}

.default-theme {
    background: linear-gradient(135deg, #509128 0%, #56c33c 100%);
}
.theme-card {
    width: 90px;
    height: 110px;
    border-radius: 12px;
    background: #232429;
    border: 1px solid var(--border-color);
    display: flex;
    color: #fff;
    flex-direction: column;
    align-items: center;
    padding: 8px;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
}

.voice-cancel-btn, .voice-stop-btn {
  font-size: 21px; border-radius: 18px; border: none; outline: none;
  padding: 14px 32px; cursor: pointer; font-weight: 500;
  transition: background 0.18s, color 0.18s;
}
.voice-cancel-btn {
  background: var(--voice-controls-bg); color: #fff;
}
.voice-stop-btn {
  background: var(--voice-stop-bg); color: var(--voice-stop-btn-color); font-weight: bold;
}
.voice-cancel-btn:hover { background: #fff3; }
.voice-stop-btn:hover { background: #fff4; }
.menu-button#notif-btn {
  transition: color .2s, background .2s;
}
.menu-button#notif-btn.enabled {
  color: var(--notification-enabled);
}
.menu-button#notif-btn.disabled {
  color: var(--notification-disabled);
  opacity: .6;
  cursor: not-allowed;
}
.menu-button#notif-btn.active {
  color: var(--notification-active);
  background: var(--notification-active-bg);
}

.chat {
  background: linear-gradient(120deg, #184d47 0%, #5b9279 50%, #28332a 100%);
  background-size: 200% 200%;
  animation: greenFlow 8s ease-in-out infinite;
}

@keyframes greenFlow {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.chat-form {
    display: flex;
    padding: 15px;
    background: #000000;
    border-top: 1px solid #4d4d4d;
    position: sticky;
    bottom: 0;
    z-index: 10;
}
.chat-form {
    display: flex;
    padding: 18px;
    background: linear-gradient(120deg, #111217 0%, #222328 40%, #2a2c31 80%, #151619 100%);
    background-size: 200% 200%;
    /* animation: nightFlow 8s ease-in-out infinite; */
    border-top: 1.5px solid #28292d;
    position: sticky;
    bottom: 0;
    z-index: 10;
    box-shadow: 0 -3px 32px 0 rgba(10, 12, 20, 0.19);
    /* transition: background 0.3s; */
}
@keyframes nightFlow {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

#text-input {
    flex: 1;
    padding: 15px 18px;
    border-radius: 16px;
    border: 1.5px solid #23242a;
    font-size: 16px;
    resize: none;
    overflow-y: auto;
    line-height: 1.5;
    max-height: 150px;
    min-height: 44px;
    box-sizing: border-box;
    background: linear-gradient(120deg, #23242a 0%, #18181d 100%);
    color: #f5f6fa;
    box-shadow: 0 2px 12px 0 rgba(18, 20, 24, 0.13);
    transition: 
        border 0.22s,
        box-shadow 0.22s,
        background 0.22s;
    outline: none;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

/* Placeholder â€” ÑÑ‚Ð¸Ð»ÑŒÐ½Ñ‹Ð¹ Ð¸ Ð½ÐµÐ±Ñ€Ð¾ÑÐºÐ¸Ð¹ */
#text-input::placeholder {
    color: #7b7e89;
    opacity: 1;
    font-size: 15px;
    font-style: italic;
    letter-spacing: 0.01em;
}

/* Ð£Ð±Ñ€Ð°Ñ‚ÑŒ ÑÐºÑ€Ð¾Ð»Ð»Ð±Ð°Ñ€ Ð² Webkit Ð±Ñ€Ð°ÑƒÐ·ÐµÑ€Ð°Ñ… */
#text-input::-webkit-scrollbar {
    display: none;
}
.more-menu {
    background: #19191e!important;
}
.more-menu .file-button:hover, .more-menu .send-button:hover {
    background: #393939!important;
    color: #507b3b!important;
}
.preview-block {
    background: #19191e !important;
    border: 2px solid #00000000!important;
}
.preview-actions .send-btn {
    background: linear-gradient(90deg, #568d75, #23872c);
    color: #fff;
}

.preview-actions .cancel-btn {
    background: #c10a0a;
    color: #000000;
}
.preview-block .send-btn:hover {
    background: linear-gradient(90deg, #11813a, #26e070 100%);
    color: #ffffff;
}
.preview-block .cancel-btn:hover {
    background: #4d0000;
    color: #fff;
}
.modal-record&gt;video {
border: 6px solid rgb(255 255 255)!important;

}
.modal-record&gt;div&gt;button {
    color: rgb(255 255 255)!important;
background: rgb(34, 34, 34)!important;
}

#typing-indicator-main {
    position: relative;
    width: 0;
    min-height: 0;
}
.message-text {
color: #fff;
}
#typing-indicator {
    position: absolute;
    left: 0;
    bottom: 0;
    /* Ð¦ÐµÐ½Ñ‚Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ Ð¿Ð¾ ÑˆÐ¸Ñ€Ð¸Ð½Ðµ, ÐµÑÐ»Ð¸ Ð½ÑƒÐ¶Ð½Ð¾ */
    /* left: 50%; transform: translateX(-50%); */
    font-size: 1em;
    color: #000;
    font-style: italic;
    white-space: nowrap;
    pointer-events: none;
    z-index: 2;
}
.typing-indicator {
    margin-top: 25px;
    color: #666;
    font-style: italic;
    height: 21px;
    margin-left: 5px;
}
.typing-indicator span:nth-child(2) { animation-delay: 0.22s; }
.typing-indicator span:nth-child(3) { animation-delay: 0.44s; }

@keyframes typing-bounce {
    0%, 80%, 100% { opacity: 0.4; transform: translateY(0); }
    40% { opacity: 1; transform: translateY(-3px); }
}
.arisha .message-inner {
    background: linear-gradient(120deg, #262a2d 0%, #00000066 60%, #0000003d 100%);
    border-top-right-radius: 0;
}
.loading-indicator {
 color: #fff;
}
.chat-header {
      display: flex;
    padding: 18px;
    background: linear-gradient(120deg, #111217 0%, #222328 40%, #2a2c31 80%, #151619 100%);
    background-size: 200% 200%;
    /* animation: nightFlow 8s ease-in-out infinite; */
    border-top: 1.5px solid #28292d;
    position: sticky;
    bottom: 0;
    z-index: 10;
    box-shadow: 0 -3px 32px 0 rgba(10, 12, 20, 0.19);
    /* transition: background 0.3s; */
}

.status-text {
        color: #ffffff;
}
.chat-title {
    font-size: 18px;
    font-weight: 500;
    color: var(--primary-color);
}
.sidebar {
    background: linear-gradient(120deg, #111217 0%, #222328 40%, #2a2c31 80%, #151619 100%);
    background-size: 200% 200%;
}
.profile-name {
    color: #fff;
}

#quote-input {
    flex: 1;
    padding: 15px 18px;
    border-radius: 16px;
    border: 1.5px solid #23242a;
    font-size: 16px;
    resize: none;
    overflow-y: auto;
    line-height: 1.5;
    max-height: 150px;
    min-height: 44px;
    box-sizing: border-box;
    background: linear-gradient(120deg, #23242a 0%, #18181d 100%);
    color: #f5f6fa;
    box-shadow: 0 2px 12px 0 rgba(18, 20, 24, 0.13);
    transition: 
        border 0.22s,
        box-shadow 0.22s,
        background 0.22s;
    outline: none;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

/* Placeholder â€” ÑÑ‚Ð¸Ð»ÑŒÐ½Ñ‹Ð¹ Ð¸ Ð½ÐµÐ±Ñ€Ð¾ÑÐºÐ¸Ð¹ */
#quote-input::placeholder {
    color: #7b7e89;
    opacity: 1;
    font-size: 15px;
    font-style: italic;
    letter-spacing: 0.01em;
}

.profile {
    border-bottom: 1px solid #000000;
}

.sidebar {
    border-right: 1px solid #000000;
}

.heart, .devil {
    position: absolute;
    animation: float 10s infinite linear;
    pointer-events: none;
    z-index: 9999;
}

@keyframes float {
    0% { transform: translateY(0); opacity: 1; }
    100% { transform: translateY(-100vh); opacity: 0; }
}

body.hearts-theme {
  --primary-color: #ab3d7e; /* ÐÐ¾Ð²Ñ‹Ð¹ Ñ†Ð²ÐµÑ‚ Ð¿Ñ€Ð¸ Ñ‚ÐµÐ¼Ðµ */
}


body.hearts-theme .chat {
    background: linear-gradient(120deg, #ffb6d5 0%, #ff5fa2 50%, #ab3d7e 100%);
    background-size: 200% 200%;
    animation: pinkFlow 8s ease-in-out infinite;
}

body.hearts-theme {
  --primary-color: #ab3d7e; /* ÐÐ¾Ð²Ñ‹Ð¹ Ñ†Ð²ÐµÑ‚ Ð¿Ñ€Ð¸ Ñ‚ÐµÐ¼Ðµ */
}

body.devils-theme {
  --primary-color: #8c65ce; /* ÐÐ¾Ð²Ñ‹Ð¹ Ñ†Ð²ÐµÑ‚ Ð¿Ñ€Ð¸ Ñ‚ÐµÐ¼Ðµ */
}

body.devils-theme .chat {
    background: linear-gradient(120deg, #d1c4e9 0%, #a084e8 50%, #6c36a6 100%);
    background-size: 200% 200%;
    animation: purpleFlow 8s ease-in-out infinite;
}
body.devils-theme .send-button:hover {
    background: #393939!important;
    color: #8c65ce!important;
}
body.hearts-theme .send-button:hover {
    background: #393939!important;
    color: #ab3d7e!important;
}
body.devils-theme .file-button:hover {
    background: #393939!important;
    color: #8c65ce!important;
}
body.hearts-theme .file-button:hover {
    background: #393939!important;
    color: #ab3d7e!important;
}

@keyframes purpleFlow {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

/* ÐžÐ±Ð½Ð¾Ð²Ð¸Ð¼ Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸ÑŽ, Ñ‡Ñ‚Ð¾Ð±Ñ‹ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ Ð±Ñ‹Ð»Ð¾ ÑƒÐ½Ð¸ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¼ */
@keyframes pinkFlow {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}
.messages {
  overflow: auto;
  scrollbar-width: thin;         /* Firefox: Ð´ÐµÐ»Ð°ÐµÑ‚ ÑÐºÑ€Ð¾Ð»Ð» ÑƒÐ¶Ðµ */
  scrollbar-color: #111 #222;    /* Firefox: Ð¿Ð¾Ð»Ð·ÑƒÐ½Ð¾Ðº #111, Ñ‚Ñ€ÐµÐº #222 */
}

/* Chrome, Safari, Opera */
.messages::-webkit-scrollbar {
  width: 8px;               /* ÑˆÐ¸Ñ€Ð¸Ð½Ð° ÑÐºÑ€Ð¾Ð»Ð»Ð° */
  background: #222;         /* Ñ„Ð¾Ð½ (Ñ‚Ñ€ÐµÐº) */
}

.messages::-webkit-scrollbar-thumb {
  background: #111;         /* Ð¿Ð¾Ð»Ð·ÑƒÐ½Ð¾Ðº */
  border-radius: 6px;       /* ÑÐºÑ€ÑƒÐ³Ð»ÐµÐ½Ð¸Ðµ ÐºÑ€Ð°Ñ‘Ð² */
}

.messages::-webkit-scrollbar-corner {
  background: #222;         /* ÑƒÐ³Ð¾Ð»Ð¾Ðº Ð²Ð½Ð¸Ð·Ñƒ */
}

/* Ð£Ð±Ñ€Ð°Ñ‚ÑŒ ÑÑ‚Ñ€ÐµÐ»ÐºÐ¸ (Ð´ÐµÑÑÑ‚Ð¸Ð»ÐµÑ‚Ð¸ÑÐ¼Ð¸ Ð½Ðµ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶Ð°ÑŽÑ‚ÑÑ, Ð½Ð¾ Ð½Ð° Ð²ÑÑÐºÐ¸Ð¹ ÑÐ»ÑƒÑ‡Ð°Ð¹) */
.messages::-webkit-scrollbar-button {
  display: none;
  height: 0;
  width: 0;
}
</pre></body></html>