<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">/* Ð”Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ðµ ÑÑ‚Ð¸Ð»Ð¸ Ð¿Ð¾Ð²ÐµÑ€Ñ… Pixel */

body {
    margin: 0;
    background: #f9f9f9;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    min-height: calc(100dvh - env(safe-area-inset-bottom));
}

/* Ð‘Ð¾ÐºÐ¾Ð²Ð¾Ðµ Ð¼ÐµÐ½ÑŽ */
/* Ð‘Ð¾ÐºÐ¾Ð²Ð¾Ðµ Ð¼ÐµÐ½ÑŽ (sidebar) - Ð¼Ð¾Ð±Ð¸Ð»ÑŒÐ½Ð°Ñ Ð»Ð¾Ð³Ð¸ÐºÐ° */
.sidebar {
    position: fixed;
    top: 0;
    left: -250px;
    width: 250px;
    height: 100dvh; /* Ð¿Ð¾ÐºÑ€Ñ‹Ð²Ð°ÐµÑ‚ Ð²ÑÑŽ Ð²Ð¸Ð´Ð¸Ð¼ÑƒÑŽ Ð²Ñ‹ÑÐ¾Ñ‚Ñƒ */
    background: #ffffff;
    border-right: 1px solid #e5e5e5;
    display: flex;
    flex-direction: column;
    transition: left 0.3s ease;
    z-index: 1010;
}
.sidebar.open {
    left: 0;  /* Ð²Ñ‹ÐµÐ·Ð¶Ð°ÐµÑ‚ Ð½Ð° Ð¼Ð¾Ð±Ð¸Ð»ÑŒÐ½Ñ‹Ñ… */
}

/* Ð¨Ð°Ð¿ÐºÐ° ÑÐ°Ð¹Ð´Ð±Ð°Ñ€Ð° */
.sidebar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
    font-size: 1.2rem;
    font-weight: bold;
}

/* ÐšÐ¾Ð½Ñ‚ÐµÐ½Ñ‚ ÑÐ°Ð¹Ð´Ð±Ð°Ñ€Ð° (ÑÐ¿Ð¸ÑÐ¾Ðº Ñ‡Ð°Ñ‚Ð¾Ð²) */
.sidebar-content {
    overflow-y: auto;
}

.sidebar-header.i {
    pointer-events: all;
}

.chat-list {
    padding-left: 1rem;
    padding-right: 1rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
.chat-list li {
    margin-left: 1rem;
    margin-right: 1rem;
    margin-bottom: 0.5rem;
    padding: 0.5rem 0.5rem;
    cursor: pointer;
    transition: background 0.5s;
    border-radius: 8px;
    font-size: 16px;
}
.chat-list li:hover {
    background: #f0f0f0;
}

/* Ð¤ÑƒÑ‚ÐµÑ€ ÑÐ°Ð¹Ð´Ð±Ð°Ñ€Ð° Ð²Ð½Ð¸Ð·Ñƒ */
.sidebar-footer {
    margin-top: auto;
    padding: 1rem;
    border-top: 1px solid #e5e5e5; /* Ð¿Ð¾ Ð¶ÐµÐ»Ð°Ð½Ð¸ÑŽ */
}

/* --- Ð”Ð•Ð¡KTOP: Ð¿Ð¾ÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÐ¼ ÑÐ°Ð¹Ð´Ð±Ð°Ñ€ Ð¿Ð¾ÑÑ‚Ð¾ÑÐ½Ð½Ð¾ --- */
@media (min-width: 992px) {
    .sidebar {
      left: 0 !important;  /* Ð·Ð°Ñ„Ð¸ÐºÑÐ¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð¾ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¹ */
      width: 250px;
      transition: none;    /* Ð±ÐµÐ· Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ð¸ */
    }
    #menuToggle {
      display: none !important; /* Ð¸ÐºÐ¾Ð½ÐºÑƒ-Ð³Ð°Ð¼Ð±ÑƒÑ€Ð³ÐµÑ€ ÑÐºÑ€Ñ‹Ð²Ð°ÐµÐ¼ */
    }
  }
.profile {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    transition: background 0.5s;
    border-radius: 8px;
    padding: 0.4rem;
    cursor: pointer;
}
.profile:hover {
    background: #f0f0f0;
}
.profile img {
    height: 32px;
    border-radius: 50%;
}
.settings-bottom {
    margin-bottom: 1rem;
    display: flex;
    justify-content: space-between;
}
.settings-bottom a {
    text-decoration: none;
    color: #333;
    font-size: 0.9rem;
    transition: background 0.5s;
    padding-top: 0.2rem;
    padding-bottom: 0.2rem;
    padding-left: 0.4rem;
    padding-right: 0.4rem;
    border-radius: 8px;
}
.settings-bottom a:hover {
    background-color: #f0f0f0;
}

/* ÐžÑÐ½Ð¾Ð²Ð½Ð°Ñ Ð¾Ð±Ð»Ð°ÑÑ‚ÑŒ Ñ‡Ð°Ñ‚Ð° */
.main {
    position: relative;
    width: 100%;
    height: 100dvh;
    display: flex;
    flex-direction: column; 
    overflow: hidden; /* ÑÐºÑ€Ñ‹Ð²Ð°ÐµÐ¼ Â«Ð²Ñ‹Ñ…Ð¾Ð´Â» ÑÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð¾Ð², Ð½ÐµÑ‚ Ð³Ð¾Ñ€Ð¸Ð·Ð¾Ð½Ñ‚.ÑÐºÑ€Ð¾Ð»Ð»Ð° */
}

/* ÐÐ° Ð´ÐµÑÐºÑ‚Ð¾Ð¿Ð°Ñ…: Ð´Ð²Ð¸Ð³Ð°ÐµÐ¼ .main Ð²Ð¿Ñ€Ð°Ð²Ð¾ Ñ€Ð¾Ð²Ð½Ð¾ Ð½Ð° ÑˆÐ¸Ñ€Ð¸Ð½Ñƒ ÑÐ°Ð¹Ð´Ð±Ð°Ñ€Ð°, 
    Ð¿Ñ€Ð¸ ÑÑ‚Ð¾Ð¼ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡Ð¸Ð²Ð°ÐµÐ¼ ÑˆÐ¸Ñ€Ð¸Ð½Ñƒ (Ð±ÐµÐ· Ð³Ð¾Ñ€Ð¸Ð·Ð¾Ð½Ñ‚Ð°Ð»ÑŒÐ½Ð¾Ð¹ Ð¿Ñ€Ð¾ÐºÑ€ÑƒÑ‚ÐºÐ¸). */
@media (min-width: 992px) {
    .main {
    margin-left: 250px;             /* ÑÐ´Ð²Ð¸Ð³ Ð²Ð¿Ñ€Ð°Ð²Ð¾ = ÑˆÐ¸Ñ€Ð¸Ð½Ð° ÑÐ°Ð¹Ð´Ð±Ð°Ñ€Ð° */
    max-width: calc(100% - 250px);  /* Ñ‡Ñ‚Ð¾Ð±Ñ‹ Ð½Ðµ Ð²Ñ‹Ð»ÐµÐ·Ð°Ñ‚ÑŒ Ð·Ð° Ð¿Ñ€ÐµÐ´ÐµÐ» ÑÐºÑ€Ð°Ð½Ð° */
    overflow-x: hidden;             /* Ð¿Ð¾Ð´ÑÑ‚Ñ€Ð°Ñ…Ð¾Ð²ÐºÐ° Ð¾Ñ‚ Ð³Ð¾Ñ€Ð¸Ð·Ð¾Ð½Ñ‚.ÑÐºÑ€Ð¾Ð»Ð»Ð° */
    }
}

/* Ð¨Ð°Ð¿ÐºÐ° Ñ‡Ð°Ñ‚Ð° */
.chat-header {
    flex: 0 0 auto;
    background: #f9f9f9;
    padding: 0.75rem 1rem;
    display: flex;
    align-items: center;
}

/* Ð¨Ð°Ð¿ÐºÐ° Ñ‡Ð°Ñ‚Ð° */
.chat-header {
    flex: 0 0 auto;
    background: #f9f9f9;
    padding: 0.75rem 1rem;
    display: flex;
    align-items: center;
    /* border-bottom: 1px solid #e5e5e5; */
}
.chat-header h2 {
    flex: 1;
    margin: 0;
    font-size: 1.1rem;
    text-align: center;
}
.chat-header button {
    background: none;
    border: none;
    font-size: 1.2rem;
    cursor: pointer;
}

/* ÐŸÑ€Ð¾ÐºÑ€ÑƒÑ‡Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ Ð¾Ð±Ð»Ð°ÑÑ‚ÑŒ Ñ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸ÑÐ¼Ð¸ */
.chat-messages {
    flex: 1 1 auto;
    /* Ð’Ð¼ÐµÑÑ‚Ð¾ Ð¾Ð±Ñ‹Ñ‡Ð½Ð¾Ð³Ð¾ overflow: auto. Ð”ÐµÐ»Ð°Ð¹Ñ‚Ðµ flex-ÐºÐ¾Ð½Ñ‚ÐµÐ¹Ð½ÐµÑ€ */
    display: flex;
    flex-direction: column;

    /* ÐŸÑ€Ð¾ÐºÑ€ÑƒÑ‚ÐºÐ° Ð¿Ð¾ Ð²ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»Ð¸ */
    overflow-y: auto;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    padding: 1rem;
    padding-bottom: 2.5rem;
    box-sizing: border-box;
    background: #f9f9f9;

    /* Ð¡ÐºÑ€Ñ‹Ð²Ð°ÐµÐ¼ ÑÐºÑ€Ð¾Ð»Ð», ÐºÐ°Ðº Ð¸ Ñ€Ð°Ð½ÑŒÑˆÐµ */
    scrollbar-width: none;       
    -ms-overflow-style: none;
}

.chat-messages::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none; 
    background: transparent;
}
.chat-messages::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none; 
    background: transparent; 
}

/* Ð¡Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ */
.message {
    display: inline-block;
    max-width: 70%;
    background: #e8e8e8;
    padding: 0.5rem 0.75rem;
    border-radius: 12px;
    margin-bottom: 0.5rem;
    word-wrap: break-word;
    align-self: flex-start; /* Ð˜Ð˜ ÑÐ»ÐµÐ²Ð° */
}
.message.user {
    background-color: #1D85FF;
    color: #ffffff;
    align-self: flex-end; 
    text-align: right;
}
.message.ai {
    background-color: transparent;
    align-self: flex-start;
    text-align: left;
    padding: 0;
}

/* Ð˜ÐºÐ¾Ð½ÐºÐ¸ Ð¿Ð¾Ð´ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸ÐµÐ¼ (ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ/Ð¾Ð·Ð²ÑƒÑ‡Ð¸Ñ‚ÑŒ) */
.message-icons {
    margin-top: 0.25rem;
    display: flex;
    gap: 0.5rem;
    opacity: 0;
    transition: opacity 0.3s;
    pointer-events: none;
}
.message:hover .message-icons,
.user-message-wrapper:hover .message-icons,
.message.ai:hover .message-icons {
    opacity: 1; 
    pointer-events: auto; 
}
.message-icons i {
    color: #a8a8a8;
    cursor: pointer;
    font-size: 0.9rem;
    transition: color 0.2s;
}
.message-icons i:hover {
    color: #1D85FF;
}

/* ÐŸÐ¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑÐºÐ¾Ðµ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ðµ (ÐºÐ¾Ð½Ñ‚ÐµÐ¹Ð½ÐµÑ€) */
.user-message-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}
.message.user {
    margin-bottom: 0;
}

.icons-user {
    color: #a8a8a8;          /* Ð¡Ð²ÐµÑ‚Ð»Ð¾-ÑÐµÑ€Ñ‹Ð¹ Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ */
}

.icons-user:hover {
    color: #ffffff !important;
}

.message.ai {
    background-color: transparent;
    align-self: flex-start; /* Ð¡Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð˜Ð˜ ÑÐ»ÐµÐ²Ð° */
    text-align: left;
}

/* Ð‘Ð»Ð¾Ðº Ñ Ð¸ÐºÐ¾Ð½ÐºÐ°Ð¼Ð¸ Ð¿Ð¾Ð´ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸ÐµÐ¼ */
.message-icons {
    margin-top: 0.25rem;
    display: flex;
    gap: 0.5rem; /* Ð•ÑÐ»Ð¸ Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚ÑÑ Ð½ÐµÑÐºÐ¾Ð»ÑŒÐºÐ¾ Ð¸ÐºÐ¾Ð½Ð¾Ðº */
    opacity: 0;                  /* Ð¸Ð·Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð¾ ÑÐºÑ€Ñ‹Ñ‚Ð¾ */
    transition: opacity 0.3s;    /* Ð¿Ð»Ð°Ð²Ð½Ð¾Ðµ Ð¿Ñ€Ð¾ÑÐ²Ð»ÐµÐ½Ð¸Ðµ */
    pointer-events: none;  /* Ñ‡Ñ‚Ð¾Ð±Ñ‹ Ð¸ÐºÐ¾Ð½ÐºÐ° Ð½Ðµ Ð¼ÐµÑˆÐ°Ð»Ð° ÐºÑƒÑ€ÑÐ¾Ñ€Ñƒ, Ð¿Ð¾ÐºÐ° Ð½Ðµ Ð²Ð¸Ð´Ð½Ð° */
}

.message:hover .message-icons {
    opacity: 1;
    pointer-events: auto;        /* Ð¿Ñ€Ð¸ Ð½Ð°Ð²ÐµÐ´ÐµÐ½Ð¸Ð¸ Ð¸ÐºÐ¾Ð½ÐºÐ° ÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑÑ ÐºÐ»Ð¸ÐºÐ°Ð±ÐµÐ»ÑŒÐ½Ð¾Ð¹ */
}

.user-message-wrapper:hover .message-icons,
.message.ai:hover .message-icons {
  opacity: 1;
  pointer-events: auto;
}

.message-icons i {
    color: #a8a8a8;          /* Ð¡Ð²ÐµÑ‚Ð»Ð¾-ÑÐµÑ€Ñ‹Ð¹ Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ */
    cursor: pointer;
    font-size: 0.9rem;    /* ÐŸÑ€Ð¸ Ð¶ÐµÐ»Ð°Ð½Ð¸Ð¸ Ð¿Ð¾Ð´ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ Ñ€Ð°Ð·Ð¼ÐµÑ€ */
    transition: color 0.2s;
}

.message-icons i:hover {
    color: #1D85FF;       /* ÐŸÑ€Ð¸ Ð½Ð°Ð²ÐµÐ´ÐµÐ½Ð¸Ð¸ â€” ÑÐ¸Ð½Ð¸Ð¹ Ñ†Ð²ÐµÑ‚ */
}

.message-icons.user-messages i:hover {
    color: #ffffff;       /* ÐŸÑ€Ð¸ Ð½Ð°Ð²ÐµÐ´ÐµÐ½Ð¸Ð¸ â€” ÑÐ¸Ð½Ð¸Ð¹ Ñ†Ð²ÐµÑ‚ */
}

.user-message-wrapper {
    display: flex;
    flex-direction: column;    /* Ð&nbsp;Ð°ÑÐ¿Ð¾Ð»Ð°Ð³Ð°ÐµÐ¼ ÑÐ»ÐµÐ¼ÐµÐ½Ñ‚Ñ‹ Ð²ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»ÑŒÐ½Ð¾ */
    align-items: flex-end;     /* ÐŸÑ€Ð¸Ð¶Ð¸Ð¼Ð°ÐµÐ¼ Ðº Ð¿Ñ€Ð°Ð²Ð¾Ð¼Ñƒ ÐºÑ€Ð°ÑŽ */
}
.message.user {
    margin-bottom: 0;
}

/* Ð”Ð»Ñ ÐºÐ½Ð¾Ð¿Ð¾Ðº ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð´Ð° Ð²Ð½ÑƒÑ‚Ñ€Ð¸ &lt;pre&gt;&lt;code&gt; */
.copy-code-btn {
    float: right;
    margin: 0.25rem;
    font-size: 0.85rem;
    color: #a8a8a8;
    cursor: pointer;
    transition: color 0.2s;
}
.copy-code-btn:hover {
    color: #1D85FF;
}

/* Ð§Ñ‚Ð¾Ð±Ñ‹ Ð¿Ñ€Ð¸ Ñ€ÐµÐ½Ð´ÐµÑ€Ðµ Markdown ÑÐ¾Ñ…Ñ€Ð°Ð½ÑÐ»ÑÑ Ð²Ð°Ñˆ ÑˆÑ€Ð¸Ñ„Ñ‚ */
/* .chat-messages, 
.chat-messages .message, 
.chat-messages .message * {
    font-family: inherit;
} */

/***************************************************
  ÐžÑÐ½Ð¾Ð²Ð½Ð¾Ð¹ Ð±Ð»Ð¾Ðº input
****************************************************/
/* ==========================
   Ð‘Ð›ÐžÐš Ð’Ð’ÐžÐ”Ð (chips-and-input)
========================== */
.chips-and-input {
    flex: 0 0 auto;
    position: sticky;
    bottom: calc(2.5rem + env(safe-area-inset-bottom));
    left: 0; 
    right: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    width: 95%;
    max-width: 800px;
    margin: 0 auto;
    padding: 0.75rem 1rem;
    border: 1px solid #e5e5e5;
    border-radius: 1rem;
    background: #ffffff;
    z-index: 1000;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

/* Ð’Ð½ÑƒÑ‚Ñ€Ð¸ .chips-and-input Ñ€Ð°ÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¾ .chat-input */
.chat-input {
    width: 100%;
}

/* ÐŸÐ¾Ð»Ðµ Ð²Ð²Ð¾Ð´Ð° Ð¸ ÐºÐ½Ð¾Ð¿ÐºÐ¸ */
.input-row {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}
.chat-input textarea {
    flex: 1; 
    min-height: 2rem;
    max-height: 8rem;
    resize: none;
    overflow-y: auto;
    font-size: 1rem;
    border: none;
    outline: none;
}

textarea {
    padding: 0 !important;
}

/***************************************************
  ÐšÐ½Ð¾Ð¿ÐºÐ° Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ (Ð¢ÐžÐ›Ð¬ÐšÐž Ð”Ð›Ð¯ sendBtn)
****************************************************/
.chat-input__send-btn {
    width: 2.5rem;
    height: 2.5rem;
    background: #1D85FF;
    border: none;
    color: #ffffff;
    font-size: 1rem;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;

    /* ÐŸÐ»Ð°Ð²Ð½Ñ‹Ðµ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ñ‹ (Ñ†Ð²ÐµÑ‚, Ð¼Ð°ÑÑˆÑ‚Ð°Ð±) */
    transition:
      background-color 0.3s ease,
      transform 0.3s ease,
      box-shadow 0.3s ease;

    position: relative;
    overflow: hidden;
}

/* ÐŸÐ»Ð°Ð²Ð½Ð¾Ðµ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð¾Ð² Ð¸ Ñ†Ð²ÐµÑ‚Ð° Ð¸ÐºÐ¾Ð½ÐºÐ¸ */
.chat-input__send-btn i {
    pointer-events: none;
    transition: transform 0.3s ease,
                font-size 0.3s ease,
                color 0.3s ease;
}

/* Hover */
.chat-input__send-btn:hover {
    background: #1568cc;
    transform: scale(1.05);
}
.chat-input__send-btn:hover i {
    transform: scale(1.1);
}

/* Active */
.chat-input__send-btn:active {
    background: #0e4d99;
    transform: scale(0.95);
}
.chat-input__send-btn:active i {
    transform: scale(0.9);
}

/* Disabled */
.chat-input__send-btn:disabled {
    background: #a8a8a8;
    cursor: not-allowed;
    transform: scale(1);
    box-shadow: none;
}
.chat-input__send-btn:disabled i {
    color: #ffffff;
    transform: scale(0.85);
    font-size: 0.9rem;
    position: relative;
    z-index: 1;
}

/* ================================================
   1) ÐÐÐ˜ÐœÐÐ¦Ð˜Ð¯ ÐšÐžÐ›Ð¬Ð¦Ð•Ð’Ð«Ð¥ Ð’ÐžÐ›Ð "THINKING" 
   (ÐÐºÑ‚Ð¸Ð²Ð¸Ñ€ÑƒÐµÑ‚ÑÑ, ÐºÐ¾Ð³Ð´Ð° Ð²Ñ‹ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÐµÑ‚Ðµ .thinking)
   ================================================ */
/*************************************************
   Ð‘ÐÐ—ÐžÐ’Ð«Ð• Ð¡Ð¢Ð˜Ð›Ð˜ ÐšÐÐžÐŸÐšÐ˜ (Ð’Ð°ÑˆÐ° ÑÑ‚Ð¸Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ)
*************************************************/
.chat-input__send-btn {
    width: 2.5rem;
    height: 2.5rem;
    background: #1D85FF;
    border: none;
    color: #ffffff;
    font-size: 1rem;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;

    /* ÐŸÐ»Ð°Ð²Ð½Ñ‹Ðµ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ñ‹ (Ñ†Ð²ÐµÑ‚, Ð¼Ð°ÑÑˆÑ‚Ð°Ð±) */
    transition:
      background-color 0.3s ease,
      transform 0.3s ease,
      box-shadow 0.3s ease;

    position: relative;
    overflow: hidden;
}

/* Ð˜ÐºÐ¾Ð½ÐºÐ° Ð²Ð½ÑƒÑ‚Ñ€Ð¸ */
.chat-input__send-btn i {
    pointer-events: none;
    transition: transform 0.3s ease, font-size 0.3s ease, color 0.3s ease;
}

/* Hover, Active, Disabled ÑÑ‚Ð¸Ð»Ð¸... (Ð¾Ð¿ÑƒÑ‰ÐµÐ½Ð¾ Ð´Ð»Ñ ÐºÑ€Ð°Ñ‚ÐºÐ¾ÑÑ‚Ð¸) */

/*************************************************
   1) Ð”Ð’Ð• ÐŸÐ¡Ð•Ð’Ð”ÐžÐ’ÐžÐ›ÐÐ« (::before, ::after)
*************************************************/
.chat-input__send-btn.thinking::before,
.chat-input__send-btn.thinking::after {
    content: "";
    position: absolute;
    left: 50%; 
    top: 50%;
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    border: 3px solid rgba(255,255,255,0.6);
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    animation: ringWave 1.5s infinite ease-out;
}

/* Ð’Ñ‚Ð¾Ñ€Ð°Ñ Ð²Ð¾Ð»Ð½Ð° ÑÐ¾ ÑÐ´Ð²Ð¸Ð³Ð¾Ð¼ Ð²Ð¾ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸ */
.chat-input__send-btn.thinking::after {
    animation-delay: 0.7s; 
}

/*************************************************
   2) Ð¢Ð&nbsp;Ð•Ð¢Ð¬Ð¯ Ð’ÐžÐ›ÐÐ Ñ‡ÐµÑ€ÐµÐ· Ð´Ð¾Ð¿. ÑÐ»ÐµÐ¼ÐµÐ½Ñ‚ .wave-third
*************************************************/
.chat-input__send-btn.thinking .wave-third {
    position: absolute;
    left: 50%; 
    top: 50%;
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    border: 3px solid rgba(255,255,255,0.6);
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    animation: ringWave 1.5s infinite ease-out;
    animation-delay: 1s; /* Ð·Ð°Ð¿ÑƒÑÐºÐ°ÐµÑ‚ÑÑ ÐµÑ‰Ñ‘ Ð¿Ð¾Ð·Ð¶Ðµ */
}

/*************************************************
   ÐÐÐ˜ÐœÐÐ¦Ð˜Ð¯: Ð&nbsp;Ð°ÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ðµ Ð¸ Ð¸ÑÑ‡ÐµÐ·Ð°Ð½Ð¸Ðµ ÐºÐ¾Ð»ÑŒÑ†Ð°
*************************************************/
@keyframes ringWave {
    0% {
        width: 0;
        height: 0;
        opacity: 0.6;
    }
    100% {
        width: 200%;
        height: 200%;
        opacity: 0;
    }
}

/* Â«ÐÐ¸Ð¶Ð½ÑÑÂ» Ñ‡Ð°ÑÑ‚ÑŒ: Ñ‚ÑƒÐ¼Ð±Ð»ÐµÑ€ DeepThink */
.deepthink-container {
    display: flex;
    align-items: start;
    gap: 0.5rem;
}

/* Ð¢ÑƒÐ¼Ð±Ð»ÐµÑ€ (Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡Ð°Ñ‚ÐµÐ»ÑŒ) */
.deepthink-toggle {
    position: relative;
    width: 40px;
    height: 22px;
    display: inline-block;
}
.deepthink-toggle input {
    opacity: 0;
    width: 0;
    height: 0;
}
.deepthink-toggle span.slider {
    position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: #a8a8a8;
    border-radius: 22px;
    transition: 0.4s;
}
.deepthink-toggle span.slider:before {
    position: absolute;
    content: "";
    height: 16px;
    width: 16px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    border-radius: 50%;
    transition: 0.4s;
}
.deepthink-toggle input:checked + .slider {
    background-color: #1D85FF; /* Ð¦Ð²ÐµÑ‚ Ð¿Ñ€Ð¸ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ð¾Ð¼ Ñ‚ÑƒÐ¼Ð±Ð»ÐµÑ€Ðµ */
}
.deepthink-toggle input:checked + .slider:before {
    transform: translateX(18px);
}
/* ÐÐ°Ð´Ð¿Ð¸ÑÑŒ Â«DeepThinkÂ» */
.deepthink-label {
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    color: #333;
    margin-bottom: 0;
}

label {
    margin-bottom: 0 !important;
}

.loader-container {
    display: flex;
    align-items: center;
    justify-content: center;

    /* ÐŸÑ€Ð¸Ð¼ÐµÑ€ Ñ„Ð¸ÐºÑÐ¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… Ñ€Ð°Ð·Ð¼ÐµÑ€Ð¾Ð² (Ð¸Ð»Ð¸ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐ¹Ñ‚Ðµ min-/max- Ð´Ð»Ñ Ð°Ð´Ð°Ð¿Ñ‚Ð¸Ð²Ð°) */
    width: 48px;
    height: 48px;
    overflow: hidden; /* Ð•ÑÐ»Ð¸ Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ñ loader Ð±Ð¾Ð»ÑŒÑˆÐ°Ñ */
}

.loader {
    width: 60px;
    aspect-ratio: 2;
    --_g: no-repeat radial-gradient(circle closest-side,#e5e5e5 90%,rgba(204, 204, 204, 0));
    background: 
    var(--_g) 0%   50%,
    var(--_g) 50%  50%,
    var(--_g) 100% 50%;
    background-size: calc(100%/3) 50%;
    animation: l3 1s infinite linear;
}
@keyframes l3 {
    20%{background-position:0%   0%, 50%  50%,100%  50%}
    40%{background-position:0% 100%, 50%   0%,100%  50%}
    60%{background-position:0%  50%, 50% 100%,100%   0%}
    80%{background-position:0%  50%, 50%  50%,100% 100%}
}

code {
    border-radius: 12px;
}
pre {
    border-radius: 12px;
}
p.code {
    border: none !important;
}

#menuToggle i {
    pointer-events: none;
}

/* ÐÐ´Ð°Ð¿Ñ‚Ð¸Ð²Ð½Ð¾ÑÑ‚ÑŒ: Ð½Ð° Ð±Ð¾Ð»ÑŒÑˆÐ¸Ñ… ÑÐºÑ€Ð°Ð½Ð°Ñ… Ð¼ÐµÐ½ÑŽ Ð¿Ð¾ÑÑ‚Ð¾ÑÐ½Ð½Ð¾ Ð²Ð¸Ð´Ð½Ð¾ */
/* --- 1. ÐÐ° Ð´ÐµÑÐºÑ‚Ð¾Ð¿Ð°Ñ… (ÑˆÐ¸Ñ€Ð¸Ð½Ð° Ð¾ÐºÐ½Ð° â‰¥ 992px) --- */
@media (min-width: 992px) {
    /* Ð”ÐµÐ»Ð°ÐµÐ¼ ÑÐ°Ð¹Ð´Ð±Ð°Ñ€ Ð²ÑÐµÐ³Ð´Ð° Ð²Ð¸Ð´Ð¸Ð¼Ñ‹Ð¼ */
    #sidebar {
        left: 0 !important;          /* Ð¸Ð»Ð¸ transform: translateX(0) !important; */
        width: 240px;                /* Ð¿Ñ€Ð¸Ð¼ÐµÑ€Ð½Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° */
        transition: none;            /* Ñ‡Ñ‚Ð¾Ð±Ñ‹ Ð½Ðµ Ð±Ñ‹Ð»Ð¾ Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ð¸ Ð½Ð° Ð´ÐµÑÐºÑ‚Ð¾Ð¿Ðµ */
    }

    /* ÐœÐµÐ½ÑŽToggle Ð¼Ð¾Ð¶Ð½Ð¾ ÑÐºÑ€Ñ‹Ñ‚ÑŒ (Ð½Ðµ Ð½ÑƒÐ¶Ð½Ð¾ Ð½Ð° Ð´ÐµÑÐºÑ‚Ð¾Ð¿Ðµ) */
    #menuToggle {
        display: none !important;
    }

    /* ÐžÑÐ½Ð¾Ð²Ð½ÑƒÑŽ Ñ‡Ð°ÑÑ‚ÑŒ ÑÐ´Ð²Ð¸Ð³Ð°ÐµÐ¼ Ð²Ð¿Ñ€Ð°Ð²Ð¾ Ð½Ð° ÑˆÐ¸Ñ€Ð¸Ð½Ñƒ ÑÐ°Ð¹Ð´Ð±Ð°Ñ€Ð° */
    .main {
        margin-left: 240px;          /* Ð¿Ð¾Ð´ÑÑ‚Ñ€Ð¾Ð¹Ñ‚Ðµ Ð¿Ð¾Ð´ Ñ€ÐµÐ°Ð»ÑŒÐ½ÑƒÑŽ ÑˆÐ¸Ñ€Ð¸Ð½Ñƒ ÑÐ°Ð¹Ð´Ð±Ð°Ñ€Ð° */
    }

    .message-icons {
        opacity: 1 !important;
        pointer-events: auto !important;
    }
}

/* --- 2. ÐÐ° Ð¼Ð¾Ð±Ð¸Ð»ÑŒÐ½Ñ‹Ñ… (ÑˆÐ¸Ñ€Ð¸Ð½Ð° Ð¾ÐºÐ½Ð° &lt; 992px) ---
    Ð¾ÑÑ‚Ð°Ñ‘Ñ‚ÑÑ Ð»Ð¾Ð³Ð¸ÐºÐ° .open / transform:
*/
#sidebar {
    /* Ñ‚Ðµ ÑÑ‚Ð¸Ð»Ð¸, ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ðµ ÑƒÐ¶Ðµ Ñƒ Ð²Ð°Ñ ÐµÑÑ‚ÑŒ */
    position: fixed; /* Ð¸Ð»Ð¸ Ð°Ð±ÑÐ¾Ð»ÑŽÑ‚, Ð·Ð°Ð²Ð¸ÑÐ¸Ñ‚ Ð¾Ñ‚ Ð²Ð°ÑˆÐµÐ¹ Ð²ÐµÑ€ÑÑ‚ÐºÐ¸ */
    top: 0;
    left: -240px;
    width: 240px;
    transition: left 0.3s;
}

#sidebar.open {
    left: 0;        /* Ð²Ñ‹ÐµÐ·Ð¶Ð°ÐµÑ‚ */
}

#chatTitle i {
    margin-left: 0.4rem;
    font-size: 16px;
    color: #a8a8a8;
}

/* ÐšÐ¾Ð½Ñ‚ÐµÐ¹Ð½ÐµÑ€, Ñ‡Ñ‚Ð¾Ð±Ñ‹ Ñ€Ð°Ð·Ð¼ÐµÑÑ‚Ð¸Ñ‚ÑŒ Ñ‡Ð¸Ð¿Ñ‹ Ð² Ñ€ÑÐ´ (ÐºÐ°Ðº Ð½ÑƒÐ¶Ð½Ð¾) */
.chips-container {
    display: flex;
    align-items: center;
    gap: 0.5rem; 
    /* ÐŸÐ¾Ð´Ð±ÐµÑ€Ñ‘Ñ‚Ðµ Ð½ÑƒÐ¶Ð½Ñ‹Ð¹ Ð¾Ñ‚ÑÑ‚ÑƒÐ¿ */
}

/* ÐžÐ±Ñ‰Ð¸Ð¹ ÑÑ‚Ð¸Ð»ÑŒ Ð´Ð»Ñ Â«Ð¿Ð»Ð°ÑˆÐºÐ¸Â»-ÐºÐ½Ð¾Ð¿ÐºÐ¸ */
.option-chip {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.3rem !important;
    padding: 0.4rem 0.8rem !important;

    font-size: 0.9rem !important;
    font-weight: 500 !important;
    color: #000 !important;
    background-color: transparent !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 12px !important;  /* Â«Ð¿Ð¸Ð»ÑŽÐ»ÑÂ» */
    cursor: pointer !important;

    transition: all 0.3s !important;
    height: 36px !important;
}

.option-chip.small {
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px !important;
    height: 36px !important;
    padding: 0.4rem !important;
}

.option-chip:disabled {
    color: #d0d0d0 !important;
    background-color: transparent !important; 
    border: 1px solid #ededed !important;
    cursor: not-allowed !important;
}

.option-chip:disabled:hover {
    color: #d0d0d0 !important;
    background-color: transparent !important; 
    border: 1px solid #ededed !important;
    cursor: not-allowed !important;
}

@media (hover: hover) and (pointer: fine) {
    /* Ð¡Ñ‚Ð¸Ð»Ð¸ hover/active Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ Ð´ÐµÑÐºÑ‚Ð¾Ð¿Ð° */
    .option-chip:hover {
        background-color: #e8f0fe !important; 
        border: 1px solid #b1cfff !important;
        color: #1D85FF !important;
    }
}

/* Ð¡Ð¾ÑÑ‚Ð¾ÑÐ½Ð¸Ðµ "Ð°ÐºÑ‚Ð¸Ð²Ð½Ð¾ÑÑ‚Ð¸" (Ð½Ð°Ð¶Ð°Ð»Ð¸/Ð²Ñ‹Ð±Ñ€Ð°Ð»Ð¸) */
.option-chip.active {
    background-color: #cde0ff !important; /* ÑÐ¸Ð½Ð¸Ð¹ Ñ„Ð¾Ð½ */
    color: #1D85FF !important;               /* Ð±ÐµÐ»Ñ‹Ð¹ Ñ‚ÐµÐºÑÑ‚ */
    border-color: #b1cfff !important;     /* Ñ‚Ð° Ð¶Ðµ Ð¾Ð±Ð²Ð¾Ð´ÐºÐ° */
}

/* Ð•ÑÐ»Ð¸ Ð¸ÐºÐ¾Ð½ÐºÑƒ Ñ…Ð¾Ñ‚Ð¸Ñ‚Ðµ Ð±Ð¾Ð»ÑŒÑˆÐµ/Ð¼ÐµÐ½ÑŒÑˆÐµ â€” Ð½Ð°ÑÑ‚Ñ€Ð°Ð¸Ð²Ð°Ð¹Ñ‚Ðµ Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ð¾ */
.option-chip i {
    font-size: 1rem !important; /* Ð¸Ð»Ð¸ Ð½Ð° Ð²Ð°ÑˆÐµ ÑƒÑÐ¼Ð¾Ñ‚Ñ€ÐµÐ½Ð¸Ðµ */
}

/* Ð¡Ñ‚Ð¸Ð»Ð¸ Ð´Ð»Ñ bubbles (Ð¿Ð¾Ð´ÑÐºÐ°Ð·Ð¾Ðº) */
/* greeting-block Ñ€Ð°ÑÑ‚ÑÐ³Ð¸Ð²Ð°ÐµÑ‚ÑÑ, Ð·Ð°Ð½Ð¸Ð¼Ð°Ñ Â«Ð²ÑÑ‘Â» Ð¿Ñ€Ð¾ÑÑ‚Ñ€Ð°Ð½ÑÑ‚Ð²Ð¾,
   Ñ‚Ð°Ðº Ñ‡Ñ‚Ð¾ .quick-bubbles Ð²Ð½Ð¸Ð·Ñƒ */
.greeting-block {
    flex: 1 1 auto; /* Ð¸Ð»Ð¸ ÐµÑÐ»Ð¸ ÐµÑÑ‚ÑŒ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ, Ð¸Ñ… ÐºÐ¾Ð½Ñ‚ÐµÐ¹Ð½ÐµÑ€ Ñ‚Ð¾Ð¶Ðµ flex:1 */
    /* Ð²Ñ‹ÑÐ¾Ñ‚Ð° auto Ð²Ð½ÑƒÑ‚Ñ€Ð¸ */
}

/* Ð¡Ð°Ð¼ Ð±Ð»Ð¾Ðº Ð¿Ð¾Ð´ÑÐºÐ°Ð·Ð¾Ðº (Ð±Ñ‹ÑÑ‚Ñ€Ñ‹Ñ… bubbles) */
.quick-bubbles {
    /* Ð¡Ñ‚Ð°Ð²Ð¸Ð¼ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸ÑŽ sticky, Ñ‡Ñ‚Ð¾Ð±Ñ‹ Â«Ð¿Ñ€Ð¸Ð»Ð¸Ð¿Ð½ÑƒÑ‚ÑŒÂ» ÐºÐ¾ Ð´Ð½Ñƒ .chat-messages */
    position: sticky;
    bottom: 0;            /* Ð½Ð¸Ð¶Ð½Ð¸Ð¹ ÐºÑ€Ð°Ð¹ chat-messages */
    z-index: 2;           /* Ð²Ñ‹ÑˆÐµ ÐºÐ¾Ð½Ñ‚ÐµÐ½Ñ‚Ð° */

    /* Ð¡Ñ‚Ð¸Ð»Ð¸ Ð´Ð»Ñ Ð²Ð½ÐµÑˆÐ½ÐµÐ³Ð¾ Ð²Ð¸Ð´Ð° */
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
    background: #f9f9f9;  /* Ð¸Ð»Ð¸ #ffffff, Ð½Ð° Ð²Ð°Ñˆ Ð²ÐºÑƒÑ */
    padding: 0.75rem 1rem; 
}

/* ÐŸÑƒÐ·Ñ‹Ñ€ÑŒÐºÐ¸ */
.bubble-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.45rem 0.75rem;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    background-color: #f8f9fa;
    color: #333;
    font-size: 0.9rem;
    cursor: pointer;
    transition: background-color 0.2s;
}
.bubble-btn:hover {
    background-color: #eaeaea;
}
.bubble-icon {
    font-size: 16px;
    background: #ebebeb;
    border-radius: 8px;
    height: 28px;
    width: 28px;
    padding: 4px 6px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* ÐÐ´Ð°Ð¿Ñ‚Ð¸Ð² */
@media (max-width: 768px) {
    .bubble-btn {
    font-size: 0.8rem;  
    padding: 0.4rem 0.6rem;
    }
    .bubble-icon {
    font-size: 14px;
    height: 24px;
    width: 24px;
    padding: 2px 4px;
    }
}

/* ========== Ð‘ÐÐ—ÐžÐ’Ð«Ð™ Ð¡Ð¢Ð˜Ð›Ð¬ Ð’Ð¡ÐŸÐ›Ð«Ð’ÐÐ®Ð©Ð•Ð“Ðž ÐžÐšÐÐ ========== */
.search-popup {
    position: absolute;        /* ÐŸÐ¾Ð·Ð¸Ñ†Ð¸Ð¾Ð½Ð¸Ñ€ÑƒÐµÐ¼ÑÑ Ð½Ð°Ð´ ÐºÐ½Ð¾Ð¿ÐºÐ¾Ð¹ */
    top: 0; 
    left: 0;
    min-width: 200px;
    padding: 0.75rem 1rem;
    background: #ffffff;
    border-radius: 0.5rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    z-index: 9999;

    /* ÐŸÐ›ÐÐ’ÐÐžÐ• ÐŸÐžÐ¯Ð’Ð›Ð•ÐÐ˜Ð•/Ð˜Ð¡Ð¡Ð§Ð•Ð—ÐÐžÐ’Ð•ÐÐ˜Ð• */
    transition: 
    opacity 0.3s ease,
    transform 0.3s ease;
    transform-origin: bottom center;  /* Ð¢Ð¾Ñ‡ÐºÐ° Â«ÑÐºÑƒÐºÐ¾Ð¶Ð¸Ð²Ð°Ð½Ð¸ÑÂ» */
}

/* Ð˜Ð·Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð¾ Â«ÑÐ¿Ñ€ÑÑ‚Ð°Ð½Ð¾Â» ÐºÐ»Ð°ÑÑÐ¾Ð¼ .hidden */
.hidden {
    opacity: 0;
    pointer-events: none;
    transform: scale(0.9);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.search-popup .popup-title {
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.search-popup .popup-divider {
    border: none; 
    border-top: 1px solid #ddd;
    margin: 0.25rem 0 0.5rem 0;
}

.popup-option {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0.25rem 0;
    font-size: 0.9rem;
}

.popup-confirm {
    display: block;
    width: 100%;
    margin-top: 0.5rem;
    padding: 0.4rem 0.6rem;
    border: none;
    border-radius: 0.3rem;
    background: #d0d0d0;
    color: #333;
    cursor: pointer;
    transition: background-color 0.2s;
    font-size: 0.9rem;
}

/* ÐšÐ¾Ð³Ð´Ð° ÐºÐ½Ð¾Ð¿ÐºÐ° Ð°ÐºÑ‚Ð¸Ð²Ð½Ð° */
.popup-confirm.active {
    background: #1D85FF;
    color: #ffffff;
}

.popup-confirm:hover {
    filter: brightness(0.95);
}

/* ÐšÐ¾Ð½Ñ‚ÐµÐ¹Ð½ÐµÑ€ Ð¼ÐµÑ‚ÐºÐ¸ + Ñ€Ð°Ð´Ð¸Ð¾ÐºÐ½Ð¾Ð¿ÐºÐ¸ */
.popup-option {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
    padding: 0.3rem 0.5rem;
    border-radius: 0.3rem;
    transition: background-color 0.2s;
    cursor: pointer;
}

/* ÐŸÑ€Ð¸ Ð½Ð°Ð²ÐµÐ´ÐµÐ½Ð¸Ð¸ ÑÐ»ÐµÐ³ÐºÐ° Ð¿Ð¾Ð´ÑÐ²ÐµÑ‡Ð¸Ð²Ð°ÐµÐ¼ Ñ„Ð¾Ð½ */
.popup-option:hover {
    background-color: #f0f0f0;
}

/* Ð&nbsp;Ð°Ð´Ð¸Ð¾ÐºÐ½Ð¾Ð¿ÐºÐ¸ (ÐµÑÐ»Ð¸ Ð±Ñ€Ð°ÑƒÐ·ÐµÑ€ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚ accent-color) */
.popup-option input[type="radio"] {
    accent-color: #1D85FF; /* ÑÑ‚Ð¸Ð»Ð¸Ð·ÑƒÐµÐ¼ ÑÐ°Ð¼Ñƒ Â«Ñ‚Ð¾Ñ‡ÐºÑƒÂ» */
    width: 1rem;
    height: 1rem;
    cursor: pointer;
}

/* Ð¡Ð°Ð¼ Ñ‚ÐµÐºÑÑ‚ (Ð¼Ð¾Ð¶Ð½Ð¾ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÑ‚ÑŒ ÑÑ‚Ð¸Ð»Ð¸, Ñ€Ð°Ð·Ð¼ÐµÑ€, Ñ†Ð²ÐµÑ‚Ð°) */
.option-title {
    font-size: 0.95rem;
    color: #333;
    line-height: 1.2;
}

.option-title em {
    font-style: normal;
    color: #1D85FF; /* Ð½Ð°Ð¿Ñ€Ð¸Ð¼ÐµÑ€, Ð²Ñ‹Ð´ÐµÐ»Ð¸Ñ‚ÑŒ Â«Pro modeÂ» Ñ†Ð²ÐµÑ‚Ð¾Ð¼ */
    margin-left: 4px; 
}

/* 
   Ð¡Ð°Ð¼Ð¾ Ð¿Ð¾Ð»Ðµ Ð²Ð²Ð¾Ð´Ð°:
   - ÐŸÑ€Ð¸ Ð´Ð¾ÑÑ‚Ð¸Ð¶ÐµÐ½Ð¸Ð¸ max-height: 300px Ð²ÐºÐ»ÑŽÑ‡Ð°ÐµÐ¼ Ð¿Ñ€Ð¾ÐºÑ€ÑƒÑ‚ÐºÑƒ
   - ÐšÐ»Ð°ÑÑ .max-limit Ð¿Ñ€Ð¸ Ð¿Ñ€ÐµÐ²Ñ‹ÑˆÐµÐ½Ð¸Ð¸ Ð»Ð¸Ð¼Ð¸Ñ‚Ð° 3000 ÑÐ¸Ð¼Ð²Ð¾Ð»Ð¾Ð² (ÐºÑ€Ð°ÑÐ½Ð°Ñ Ñ€Ð°Ð¼ÐºÐ°)
*/
#messageInput {
    width: 100%;
    max-height: 300px; 
    overflow-y: hidden; /* Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ ÑÐºÑ€Ñ‹Ð²Ð°ÐµÐ¼ ÑÐºÑ€Ð¾Ð»Ð»; ÑÐ¼. JS Ð½Ð¸Ð¶Ðµ */
    transition: height 0.2s; /* Ð¿Ð»Ð°Ð²Ð½Ð¾Ðµ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ Ð²Ñ‹ÑÐ¾Ñ‚Ñ‹ */
}

#messageInput.max-limit {
    border: 2px solid red;
    background: rgb(255, 0, 0, 0.1);
}

/* Ð¡Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ðµ Ð¾Ð± Ð¾ÑˆÐ¸Ð±ÐºÐµ "Ð¿Ñ€ÐµÐ²Ñ‹ÑˆÐµÐ½ Ð»Ð¸Ð¼Ð¸Ñ‚" */
#charLimitError {
    font-weight: 700;
    display: none; /* Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ ÑÐºÑ€Ñ‹Ñ‚Ð¾ */
    color: red;
    font-size: 16px;
    margin: 4px 0;
}

div:where(.swal2-container) div:where(.swal2-popup) {
    border-radius: 12px !important;
    max-width: 350px !important;
}

.swal2-confirm.swal2-styled {
    background-color: #1D85FF;
    border-radius: 8px !important;
}

div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel) {
    background-color: #f0f0f0 !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 8px !important;
    color: #000 !important;
}

.swal2-title {
    padding-top: 12px !important;
}

.swal2-input {
    border: 1px solid #e5e5e5 !important;
    border-radius: 8px !important;
}

.swal2-input:focus {
    border: 1px solid #e5e5e5 !important;
    box-shadow: none !important;
}

.swal2-actions {
    margin-top: 12px !important;
}

/* Ð&nbsp;Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÑŒÑÐºÐ¸Ð¹ ÐºÐ¾Ð½Ñ‚ÐµÐ¹Ð½ÐµÑ€ Ð´Ð»Ñ ÑÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð° Ñ‡Ð°Ñ‚Ð° */
.chat-list-item {
    position: relative;           /* Ð²Ð°Ð¶Ð½Ð¾ Ð´Ð»Ñ Ð¿ÑÐµÐ²Ð´Ð¾ÑÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð°-Ñ„ÐµÐ¹Ð´Ð° */
    display: flex;
    align-items: center;
    margin-bottom: 0.5rem;
    padding: 0.5rem;
    overflow: hidden;             /* ÑÐºÑ€Ñ‹Ð²Ð°ÐµÐ¼ "Ð»Ð¸ÑˆÐ½Ð¸Ð¹" Ñ‚ÐµÐºÑÑ‚ */
    height: 2rem;                 /* Ð¿Ð¾Ð´Ð±ÐµÑ€Ð¸Ñ‚Ðµ Ð½ÑƒÐ¶Ð½ÑƒÑŽ Ð²Ñ‹ÑÐ¾Ñ‚Ñƒ Ð¿Ð¾Ð´ ÑÐ²Ð¾Ð¹ Ð´Ð¸Ð·Ð°Ð¹Ð½ */
}

/* Ð¡Ð¾Ð±ÑÑ‚Ð²ÐµÐ½Ð½Ð¾ Ñ‚ÐµÐºÑÑ‚ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñ‡Ð°Ñ‚Ð° */
.chat-name {
    flex: 1;                      /* Ð·Ð°Ð½Ð¸Ð¼Ð°ÐµÑ‚ Ð²ÑÑŽ Ð´Ð¾ÑÑ‚ÑƒÐ¿Ð½ÑƒÑŽ ÑˆÐ¸Ñ€Ð¸Ð½Ñƒ */
    white-space: nowrap;          /* ÑƒÐ±Ð¸Ñ€Ð°ÐµÑ‚ Ð¿ÐµÑ€ÐµÐ½Ð¾ÑÑ‹ ÑÑ‚Ñ€Ð¾Ðº */
    overflow: hidden;             /* ÑÐºÑ€Ñ‹Ð²Ð°ÐµÐ¼ Ð²Ñ‹Ñ…Ð¾Ð´ÑÑ‰Ð¸Ð¹ Ð·Ð° Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‹ Ñ‚ÐµÐºÑÑ‚ */
    text-overflow: ellipsis;      /* ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð°Ñ Ð¾Ð±Ñ€ÐµÐ·ÐºÐ° Ñ "..." (Ð½Ð° ÑÐ»ÑƒÑ‡Ð°Ð¹, ÐµÑÐ»Ð¸ Ð½ÐµÑ‚ Ð³Ñ€Ð°Ð´Ð¸ÐµÐ½Ñ‚Ð°) */
    margin-right: 0.5rem;         /* Ð½ÐµÐ±Ð¾Ð»ÑŒÑˆÐ¾Ð¹ Ð¾Ñ‚ÑÑ‚ÑƒÐ¿ Ð¾Ñ‚ ÐºÐ½Ð¾Ð¿ÐºÐ¸ */
}

/* Ð“Ñ€Ð°Ð´Ð¸ÐµÐ½Ñ‚, ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¹ Ð¿Ð»Ð°Ð²Ð½Ð¾ Â«Ð·Ð°ÐºÑ€Ð°ÑˆÐ¸Ð²Ð°ÐµÑ‚Â» Ñ‚ÐµÐºÑÑ‚ Ð² Ð±ÐµÐ»Ñ‹Ð¹ 
    (ÑÐ¾Ð·Ð´Ð°Ñ‘Ñ‚ ÑÑ„Ñ„ÐµÐºÑ‚ Ð¿Ð»Ð°Ð²Ð½Ð¾Ð³Ð¾ Ð·Ð°Ñ‚ÑƒÑ…Ð°Ð½Ð¸Ñ) 
*/
.chat-list-item::after {
    content: "";
    position: absolute;
    right: 2.2rem; /* Ð½ÐµÐ¼Ð½Ð¾Ð³Ð¾ Â«Ð·Ð°Ð¿Ð°ÑÐ°Â» ÑÐ¿Ñ€Ð°Ð²Ð°, Ñ‡Ñ‚Ð¾Ð±Ñ‹ Ð¾ÑÑ‚Ð°Ð²Ð¸Ñ‚ÑŒ Ð¼ÐµÑÑ‚Ð¾ Ð¿Ð¾Ð´ Ð¸ÐºÐ¾Ð½ÐºÑƒ */
    top: 0;
    bottom: 0;
    width: 3rem;   /* ÑˆÐ¸Ñ€Ð¸Ð½Ð° "Ð·Ð°Ñ‚ÐµÐ¼Ð½Ñ‘Ð½Ð½Ð¾Ð³Ð¾" ÑƒÑ‡Ð°ÑÑ‚ÐºÐ°; Ð½Ð°ÑÑ‚Ñ€Ð°Ð¸Ð²Ð°Ð¹Ñ‚Ðµ Ð¿Ð¾Ð´ ÑÐ²Ð¾Ð¸ Ð½ÑƒÐ¶Ð´Ñ‹ */
    pointer-events: none; /* Ñ‡Ñ‚Ð¾Ð±Ñ‹ Ñ„ÐµÐ¹Ð´ Ð½Ðµ Ð¼ÐµÑˆÐ°Ð» ÐºÐ»Ð¸ÐºÑƒ */
    z-index: 1;
}

.chat-list-item.no-chats::after {
    background: transparent !important;
}

/* ÐšÐ½Ð¾Ð¿ÐºÐ° ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° Ð±Ñ‹Ñ‚ÑŒ Ð½Ð°Ð´ Ð³Ñ€Ð°Ð´Ð¸ÐµÐ½Ñ‚Ð¾Ð¼ */
.deleteChatBtn {
    position: relative;
    z-index: 1500;
    margin-left: 0.5rem; /* Ñ‡Ñ‚Ð¾Ð±Ñ‹ Ð¸ÐºÐ¾Ð½ÐºÐ° Ñ‡ÑƒÑ‚ÑŒ Ð¾Ñ‚Ð´ÐµÐ»ÑÐ»Ð°ÑÑŒ Ð¾Ñ‚ Ñ‚ÐµÐºÑÑ‚Ð° */
    transition: opacity 0.5s ease, color 0.5s ease;
    opacity: 0.35;
}

.deleteChatBtn:hover {
    opacity: 1;
    color: #ff0000;
}

/* Ð¡Ñ‚Ð¸Ð»Ð¸ Â«ÐºÐ½Ð¾Ð¿Ð¾ÐºÂ» Ð²Ð½ÑƒÑ‚Ñ€Ð¸ popup (Ñ‡Ñ‚Ð¾Ð±Ñ‹ Ð¿Ð¾Ñ…Ð¾Ð´Ð¸Ð»Ð¸ Ð½Ð° .option-chip) */
.option-chip-like {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.3rem !important;
    padding: 0.4rem 0.8rem !important;

    font-size: 0.9rem !important;
    font-weight: 500 !important;
    color: #000 !important;
    background-color: transparent !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 12px !important;  /* Â«Ð¿Ð¸Ð»ÑŽÐ»ÑÂ» */
    cursor: pointer !important;

    transition: all 0.3s !important;
    height: 36px !important;
}

.option-chip-like:hover {
    background-color: #e8f0fe !important; 
    border: 1px solid #b1cfff !important;
    color: #1D85FF !important;
}

/* ÐŸÑ€ÐµÐ²ÑŒÑŽ Ð¿Ñ€Ð¸ÐºÑ€ÐµÐ¿Ð»Ñ‘Ð½Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° (48Ã—48) */
.attachment-preview {
    display: flex;
    align-items: center;
    position: relative;
    margin-bottom: 8px;
}

/* Ð¡ÐºÑ€Ñ‹Ð²Ð°ÐµÐ¼, ÐºÐ¾Ð³Ð´Ð° Ð½ÑƒÐ¶Ð½Ð¾ */
.hidden {
    display: none !important;
}

/* Ð˜Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ðµ/Ð²Ð¸Ð´ÐµÐ¾/Ð¸ÐºÐ¾Ð½ÐºÐ° Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð° */
.attachment-thumbnail {
    width: 48px;
    height: 48px;
    object-fit: cover; 
    border-radius: 6px;
    background: #eee; /* Ñ„Ð¾Ð½ Ð½Ð° ÑÐ»ÑƒÑ‡Ð°Ð¹ Ð¾Ñ‚ÑÑƒÑ‚ÑÑ‚Ð²Ð¸Ñ ÐºÐ¾Ð½Ñ‚ÐµÐ½Ñ‚Ð° */
}

/* Ð˜ÐºÐ¾Ð½ÐºÐ° Ð´Ð»Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð¾Ð² */
.attach-doc-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    font-weight: 600;
    color: #333;
    background: #ccc;
}

/* ÐšÐ½Ð¾Ð¿ÐºÐ°-ÐºÑ€ÐµÑÑ‚Ð¸Ðº Â«&amp;times;Â» (ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ Ñ„Ð°Ð¹Ð») */
.attachment-remove {
    position: absolute;
    top: -6px;
    right: -6px;
    width: 20px;
    height: 20px;
    background: rgba(0,0,0,0.65);
    color: #ffffff;
    font-size: 14px;
    border-radius: 50%;
    text-align: center;
    line-height: 20px;
    cursor: pointer;
}
.attachment-remove:hover {
    background: rgba(255,0,0,0.75);
}

.record-btn {
    width: 2.5rem !important;
    height: 2.5rem !important;
    border: none;
    border-radius: 50%;
    background-color: #000000; 
    color: #ffffff;
    cursor: pointer;
    font-size: 1rem;
    display: flex;             /* Ñ„Ð»ÐµÐºÑ-ÐºÐ¾Ð½Ñ‚ÐµÐ¹Ð½ÐµÑ€ */
    align-items: center;       /* Ð¿Ð¾ Ð²ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»Ð¸ Ñ†ÐµÐ½Ñ‚Ñ€ */
    justify-content: center;   /* Ð¿Ð¾ Ð³Ð¾Ñ€Ð¸Ð·Ð¾Ð½Ñ‚Ð°Ð»Ð¸ Ñ†ÐµÐ½Ñ‚Ñ€ */
    transition: background-color 0.3s, transform 0.3s;
}

/* ÐŸÑ€Ð¸ Ð½Ð°Ð²ÐµÐ´ÐµÐ½Ð¸Ð¸ Ð¼ÐµÐ½ÑÐµÐ¼ Ð¾Ñ‚Ñ‚ÐµÐ½Ð¾Ðº */
.record-btn:hover {
    background-color: #202020;
    transform: scale(1.05);
}
/* ÐŸÑ€Ð¸ Ð·Ð°Ð¶Ð°Ñ‚Ð¸Ð¸ (active) */
.record-btn:active {
    background-color: #202020;
    transform: scale(0.95);
}

/* ÐšÐ½Ð¾Ð¿ÐºÐ° Ð¾Ñ‚Ð¼ÐµÐ½Ñ‹ Ð·Ð°Ð¿Ð¸ÑÐ¸ */
.cancel-btn {
    width: 2.5rem !important;
    height: 2.5rem !important;
    display: flex;             /* Ð°Ð½Ð°Ð»Ð¾Ð³Ð¸Ñ‡Ð½Ð¾ record-btn */
    align-items: center;
    justify-content: center;
    
    border: none;
    border-radius: 50%;
    background-color: transparent;
    color: #000;
    cursor: pointer;
    transition: transform 0.3s;
}

/* Ð¥Ð¾Ð²ÐµÑ€/Ð°ÐºÑ‚Ð¸Ð² */
.cancel-btn:hover {
    transform: scale(1.1);
}
.cancel-btn:active {
    transform: scale(1.1);
}

/* Ð˜ÐºÐ¾Ð½ÐºÐ¸ Ð²Ð½ÑƒÑ‚Ñ€Ð¸ */
.cancel-btn i,
.record-btn i {
    pointer-events: none; 
    font-size: 1.1rem;
}

/* ÐšÐ¾Ð³Ð´Ð° Ð¿Ð¾ÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÐ¼ spinner (fa-spin), Ð¼Ð¾Ð¶Ð½Ð¾ Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ Ñ‚ÐµÐ¼Ð½Ñ‹Ð¹ Ñ„Ð¾Ð½ Ð¸Ð»Ð¸ Ð´Ñ€ÑƒÐ³Ð¾Ð¹ */
.record-btn.spinner {
    background-color: #9e9e9e !important; /* Ð¡ÐµÑ€Ñ‹Ð¹, Ð¿Ð¾ÐºÐ° ÐºÑ€ÑƒÑ‚Ð¸Ð¼ÑÑ */
}

/* ÐŸÑ€Ð¸Ð¼ÐµÑ€: ÐµÑÐ»Ð¸ Ñ…Ð¾Ñ‚Ð¸Ñ‚Ðµ Â«ÐºÐ½Ð¾Ð¿ÐºÑƒ Ð¿Ð°ÑƒÐ·Ñ‹Â» â€“ 
    Ð¼Ð¾Ð¶Ð½Ð¾ Ð´ÐµÐ»Ð°Ñ‚ÑŒ Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ñ‹Ð¹ ÐºÐ»Ð°ÑÑ .paused, .running Ð¸ Ñ‚.Ð´. */
.record-btn.paused {
    background-color: #ff9800;
}

#audioCanvas {
    background: #f0f0f0;
    width:100%;
    height: 2.5rem;
    border-radius: 36px;
}

/* .spoiler-btn {
    border: none;
    background: transparent;
} */

/* ÐšÐ¾Ð½Ñ‚ÐµÐ¹Ð½ÐµÑ€ Ð´Ð»Ñ ÑÐ¿Ð¾Ð¹Ð»ÐµÑ€Ð° */
.spoiler-container {
    margin-bottom: 12px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* ÐšÐ½Ð¾Ð¿ÐºÐ° Â«Ð&nbsp;Ð°Ð·Ð¼Ñ‹ÑˆÐ»ÐµÐ½Ð¸ÑÂ» */
.spoiler-btn {
    border: none;
    background-color: transparent;
    color: #666;
    font-size: 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 4px; 
    padding: 0;
}

.spoiler-btn i {
    transition: transform 0.2s;
}

/* Ð¢ÐµÐ»Ð¾ ÑÐ¿Ð¾Ð¹Ð»ÐµÑ€Ð° */
.spoiler-content {
    display: none;
    background: #f0eeee;        /* Ñ‡ÑƒÑ‚ÑŒ Ñ‚ÐµÐ¼Ð½ÐµÐµ */
    border-radius: 12px;        /* Ñ€Ð°Ð´Ð¸ÑƒÑ Ð·Ð°ÐºÑ€ÑƒÐ³Ð»ÐµÐ½Ð¸Ñ */
    padding: 12px;
    margin-top: 8px;
    border-left: 4px solid #ccc; /* Ð²ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð¾Ð»Ð¾ÑÐ° ÑÐ»ÐµÐ²Ð° */
}

/* Ð’Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ð¸Ð¹ Ñ‚ÐµÐºÑÑ‚ Ñ€Ð°Ð·Ð¼Ñ‹ÑˆÐ»ÐµÐ½Ð¸Ð¹ */
.reasoning-text {
    font-size: 14px;
    line-height: 1.4;
    color: #555;
    /* Ð¼Ð¾Ð¶Ð½Ð¾ Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ padding-left, ÐµÑÐ»Ð¸ Ñ…Ð¾Ñ‚Ð¸Ñ‚Ðµ Ñ‡ÑƒÑ‚ÑŒ Ð¾Ñ‚Ð¾Ð´Ð²Ð¸Ð½ÑƒÑ‚ÑŒ Ñ‚ÐµÐºÑÑ‚ */
    padding-left: 8px;
}

/* Ð›Ð¾Ð°Ð´ÐµÑ€ Ð¿Ð¾Ð´ ÐºÐ½Ð¾Ð¿ÐºÐ¾Ð¹ (Ð¿Ð¾ÐºÐ° Ð¸Ð´Ñ‘Ñ‚ Ð¾Ñ‚Ð²ÐµÑ‚) */
.reasoning-loader {
    margin-top: 8px;
}

.modal-header {
    border-top-left-radius: 12px !important;
    border-top-right-radius: 12px !important;
}

.modal-footer {
    border-bottom-left-radius: 12px !important;
    border-bottom-right-radius: 12px !important;
}

.modal-content {
    border-radius: 12px !important;
}

.nav-pills .nav-item:not(:last-child) {
    padding-right: 0 !important;
}

.nav-pills .nav-item {
    margin-bottom: 0 !important;
}

.nav-pills .nav-link.active, .nav-pills .show &gt; .nav-link {
    background-color: #eaeaea;
    border-color: transparent !important;
}

.nav-pills .nav-link {
    padding: 0.3rem 0.6rem !important;
    border-radius: 12px !important;
}

.btn {
    border-radius: 12px !important;
    padding: 0.4rem 0.75rem !important;
}

.btn-danger {
    box-shadow: none !important;
    border-color: transparent !important;
}

.btn-secondary {
    background-color: #000000 !important;
    box-shadow: none !important;
    border-color: transparent !important;
}

.btn-secondary:hover {
    background-color: #202020 !important;
}

.btn-success {
    color: #ffffff !important;
    box-shadow: none !important;
    border-color: transparent !important;
}

.btn-success:disabled, .btn-success.disabled {
    color: #d1d1d1 !important;
    box-shadow: none !important;
    border-color: transparent !important;
}

.btn-link:hover {
    background-color: #eaeaea !important;
}

.nav-pills .nav-link:hover {
    background-color: #eaeaea !important;
}

/* ÐšÐ¾Ð³Ð´Ð° Ñƒ Ð¼Ð¾Ð´Ð°Ð»ÐºÐ¸ ÐµÑÑ‚ÑŒ ÐºÐ»Ð°ÑÑ .show, Ð´ÐµÐ»Ð°ÐµÐ¼ display: flex */
#hcaptchaModal.show {
    display: flex !important;              /* Ð¿ÐµÑ€ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÑÐµÐ¼ Bootstrap */
    align-items: center;
    justify-content: center;
}
/* Ð£Ð¼ÐµÐ½ÑŒÑˆÐ°ÐµÐ¼ (Ð¸Ð»Ð¸ ÑƒÐ±Ð¸Ñ€Ð°ÐµÐ¼) Ð¾Ñ‚ÑÑ‚ÑƒÐ¿, ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¹ Bootstrap Ð¾Ð±Ñ‹Ñ‡Ð½Ð¾ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÐµÑ‚ 
    Ð´Ð»Ñ Ñ†ÐµÐ½Ñ‚Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ .modal-dialog Ð¿Ñ€Ð¸ .modal-dialog-centered */
#hcaptchaModal .modal-dialog {
    margin: 0; /* Ð¿Ñ€Ð¸ Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ð¾ÑÑ‚Ð¸ Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð´Ð°Ñ‚ÑŒ ÑÐ²Ð¾Ð¸ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ, Ð½Ð°Ð¿Ñ€Ð¸Ð¼ÐµÑ€ auto */
}

/* ÐŸÐ¾Ð»Ð½Ð¾ÑÐºÑ€Ð°Ð½Ð½Ð¾Ðµ Ð¿Ð¾ÐºÑ€Ñ‹Ñ‚Ð¸Ðµ */
.modal-overlay {
    position: fixed;
    inset: 0; /* top:0; left:0; right:0; bottom:0; */
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 1);
    z-index: 9999;

    /* ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ ÑÐºÑ€Ñ‹Ð²Ð°ÐµÐ¼ (display:none) Ð¼Ð¾Ð¶Ð½Ð¾ Ð·Ð°Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ð½Ð° visibility:hidden; */
    display: none; /* Ð¸Ð»Ð¸ visibility: hidden; */

    /* Ð”Ð»Ñ Ð¿Ð»Ð°Ð²Ð½Ð¾Ð³Ð¾ Ð¿Ð¾ÑÐ²Ð»ÐµÐ½Ð¸Ñ */
    opacity: 0;
    transition: opacity 0.25s ease;
    
    /* Flex Ð´Ð»Ñ Ñ†ÐµÐ½Ñ‚Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑÐ¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ð³Ð¾ */
    flex-direction: column;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* ÐšÐ»Ð°ÑÑ, Ð¿Ñ€Ð¸ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð¼ Ð¼Ð¾Ð´Ð°Ð»ÑŒÐ½Ð¾Ðµ Ð¾ÐºÐ½Ð¾ ÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑÑ Ð²Ð¸Ð´Ð¸Ð¼Ñ‹Ð¼ */
.modal-overlay.show {
    display: flex;     /* Ð¸Ð»Ð¸ visibility: visible; */
    opacity: 1;        /* Ð¿Ð»Ð°Ð²Ð½Ð°Ñ Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ñ Ñ‡ÐµÑ€ÐµÐ· transition */
}

/* ÐšÐ¾Ð½Ñ‚ÐµÐ¹Ð½ÐµÑ€, Ñ‡Ñ‚Ð¾Ð±Ñ‹ ÐºÐ¾Ð½Ñ‚ÐµÐ½Ñ‚ Ð±Ñ‹Ð» Ð¿Ð¾ Ñ†ÐµÐ½Ñ‚Ñ€Ñƒ */
.modal-content-container {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* ÐšÐ°Ñ€Ñ‚Ð¾Ñ‡ÐºÐ° Ð´Ð»Ñ Ð¿Ð»Ð°Ð½Ð° */
.plan-card {
    width: 340px;
    max-width: 90%;
    border: 1px solid #ddd;
    border-radius: 12px; /* ÑÐºÑ€ÑƒÐ³Ð»Ñ‘Ð½Ð½Ñ‹Ðµ ÑƒÐ³Ð»Ñ‹ */
    padding: 24px;
    font-family: Arial, sans-serif;

    /* ÐÐ°Ñ‡Ð°Ð»ÑŒÐ½Ñ‹Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¿Ð»Ð°Ð²Ð½Ð¾Ð³Ð¾ "Ð²Ñ‹Ð»ÐµÑ‚Ð°" Ð¸Ð· Ñ†ÐµÐ½Ñ‚Ñ€Ð° */
    transform: scale(0.8);
    transition: transform 0.5s ease;
}

/* ÐšÐ¾Ð³Ð´Ð° Ð¾Ð²ÐµÑ€Ð»ÐµÐ¹ Ð°ÐºÑ‚Ð¸Ð²ÐµÐ½ (show), ÑƒÐ²ÐµÐ»Ð¸Ñ‡Ð¸Ð²Ð°ÐµÐ¼ .plan-card Ð´Ð¾ Ð½Ð¾Ñ€Ð¼Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð¼Ð°ÑÑˆÑ‚Ð°Ð±Ð° */
.modal-overlay.show .plan-card {
    transform: scale(1);
}

/* Ð—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº */
.plan-title {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 0.5rem;
}

/* Ð¦ÐµÐ½Ð° */
.plan-price {
    font-size: 32px;
    font-weight: bold;
    margin: 0.5rem 0;
}

/* ÐžÐ¿Ð¸ÑÐ°Ð½Ð¸Ðµ */
.plan-description {
    margin: 1rem 0;
    color: #666;
}

/* ÐšÐ½Ð¾Ð¿ÐºÐ° */
.plan-button {
    display: block;
    width: 100%;
    text-align: center;
    background-color: #000;
    color: #fff;
    padding: 12px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    border: none;
    cursor: pointer;
    margin-bottom: 1rem;
    border-radius: 12px;

    /* ÐŸÐ»Ð°Ð²Ð½Ð°Ñ Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¸ hover */
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.plan-button:hover {
    background-color: #333;
    transform: scale(1.02);
}

.plan-button.cancel {
    background-color: #f2f2f2;
}

.plan-button.cancel:hover {
    background-color: #e4e4e4;
}

/* ÐŸÑ€ÐµÐ¸Ð¼ÑƒÑ‰ÐµÑÑ‚Ð²Ð° */
.plan-benefits {
    list-style: none;
    margin: 0;
    padding: 0;
}

.plan-benefits li {
    margin: 6px 0;
}

/* ÐšÐ½Ð¾Ð¿ÐºÐ° Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð¸Ñ (Ð¾Ð¿Ñ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾) */
.close-modal-btn {
    color: #000;
    position: absolute;
    top: 16px;
    right: 16px;
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    transition: transform 0.2s ease;
}

.close-modal-btn:hover {
    transform: scale(1.1);
}
 
.attached-files {
    margin: 0;
    padding: 0;
}

.attached-file-item {
    display: inline-block;
    position: relative;
    border: 1px solid #ddd;
    border-radius: 12px;
    padding: 6px;
    vertical-align: top;
    text-align: center;
}

.attached-file-item img {
    margin: 0;
    border-radius: 8px;
    padding: 0;
}

/* ÐšÐ²Ð°Ð´Ñ€Ð°Ñ‚Ð½Ð°Ñ Ð¿Ñ€ÐµÐ²ÑŒÑŽ â€” width=height, object-fit: cover */
.attached-file-item .thumbnail {
    display: block;
    width: 100px;
    height: 100px; 
    object-fit: cover;
    border-radius: 8px;
}

/* ÐšÐ½Ð¾Ð¿ÐºÐ° ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ */
.attached-file-item .remove-btn {
    position: absolute;
    top: 2px;
    right: 2px;
    cursor: pointer;
    background: rgba(255,0,0,0.8);
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    line-height: 1;
}
.attached-file-item .remove-btn:hover {
    background: rgba(255,0,0,1);
}

.memory-updated-badge {
    margin-bottom: 1rem !important;
    padding: 4px 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    border-radius: 12px !important;
    background-color: #e4e4e4 !important;
    color: #202020 !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
}
.memory-updated-badge i {
    color: #202020 !important;
}

.profile-menu {
    background: #f9f9f9; border-bottom: 0.0625rem solid #E5E7EB !important;
}

.avatar-profile {
    content: url('https://chat.keyai.org/assets/images/avatar-user.png');
}

.sidebar-logo {
    content: url('https://chat.keyai.org/assets/images/logo_sidebar_free_dark.svg');
}

.btn-primary {
    background-color: #1D85FF !important;
    border-color: #1D85FF !important;
    box-shadow: none !important;
}

.btn-primary:hover {
    background-color: #1568cc !important;
    border-color: #1568cc !important;
    box-shadow: none !important;
}

.btn-primary:active {
    background-color: #1568cc !important;
    border-color: #1568cc !important;
    box-shadow: none !important;
}

.btn-outline-primary {
    color: #1D85FF !important;
    border-color: #1D85FF !important;
}

.btn-outline-primary:hover {
    color: #ffffff !important;
    background-color: #1D85FF !important;
}

.btn-outline-primary:active {
    color: #ffffff !important;
    background-color: #1D85FF !important;
}

.header-nontransperent {
    background: #f9f9f9 !important;
}

div:where(.swal2-container).swal2-top, div:where(.swal2-container).swal2-center, div:where(.swal2-container).swal2-bottom {
    z-index: 12000 !important;
}

@media (max-width: 767px) {
    .footer-message {
    font-size: 10px !important;
    position: absolute; 
    bottom: 1.2rem; 
    left: 0; 
    right: 0; 
    text-align: center;
    }
}
@media (min-width: 768px) {
    .footer-message {
    font-size: 14px !important;
    position: absolute; 
    bottom: 1.2rem; 
    left: 0; 
    right: 0; 
    text-align: center;
    }
    .chips-and-input {
        bottom: calc(3rem + env(safe-area-inset-bottom)) !important;
    }
}

.btn-close {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
}

/* ============= */
/*  DARK THEME   */
/* ============= */
@media (prefers-color-scheme: dark) {

    /* 
      -----------------------------------
      1. Ð‘Ð°Ð·Ð¾Ð²Ñ‹Ðµ ÑÑ‚Ð¸Ð»Ð¸, Ð¿ÐµÑ€ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÑÐµÐ¼Ñ‹Ðµ
      -----------------------------------
    */
    body {
        margin: 0;
        background: #000000;
        color: #ffffff;
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
        min-height: calc(100dvh - env(safe-area-inset-bottom));
        transition: background-color 0.3s, color 0.3s;
    }

    h4, h3, h2, h5, p, i, label {
        color: #ffffff !important;
    }

    .text-muted {
        color: #5e5e5e !important;
    }
  
    /* Ð‘Ð¾ÐºÐ¾Ð²Ð¾Ðµ Ð¼ÐµÐ½ÑŽ (sidebar) - Ð¼Ð¾Ð±Ð¸Ð»ÑŒÐ½Ð°Ñ Ð»Ð¾Ð³Ð¸ÐºÐ° */
    .sidebar {
        position: fixed;
        top: 0;
        left: -250px;
        width: 250px;
        height: 100dvh;
        background: #121212; /* Ñ‚Ñ‘Ð¼Ð½Ñ‹Ð¹ Ñ„Ð¾Ð½ */
        border-right: 1px solid #2a2a2a;
        display: flex;
        flex-direction: column;
        transition: left 0.3s ease;
        z-index: 1010;
    }
    .sidebar.open {
        left: 0;
    }
    .sidebar-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 1rem;
        font-size: 1.2rem;
        font-weight: bold;
        color: #ffffff;
        background-color: transparent;
        border-bottom: 0;
    }
    .sidebar-content {
        overflow-y: auto;
    }
    .sidebar-header.i {
        pointer-events: all;
    }
  
    .chat-list {
        padding-left: 1rem;
        padding-right: 1rem;
        list-style: none;
        margin: 0;
        padding: 0;
        background-color: #121212;
    }
    .chat-list li {
        margin-left: 1rem;
        margin-right: 1rem;
        margin-bottom: 0.5rem;
        padding: 0.5rem 0.5rem;
        cursor: pointer;
        transition: background 0.5s;
        border-radius: 8px;
        font-size: 16px;
        color: #ffffff;
    }
    .chat-list li:hover {
        background: #1c1c1c;
    }
    .sidebar-footer {
        margin-top: auto;
        padding: 1rem;
        border-top: 1px solid #2a2a2a;
        background-color: #121212;
    }
  
    @media (min-width: 992px) {
        .sidebar {
          left: 0 !important;
          width: 250px;
          transition: none;
        }
        #menuToggle {
          display: none !important;
        }
    }
  
    .profile {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        transition: background 0.5s;
        border-radius: 8px;
        padding: 0.4rem;
        cursor: pointer;
        color: #ffffff;
    }
    .profile:hover {
        background: #1c1c1c;
    }
    .profile img {
        height: 32px;
        border-radius: 50%;
    }
    .settings-bottom {
        margin-bottom: 1rem;
        display: flex;
        justify-content: space-between;
    }
    .settings-bottom a {
        text-decoration: none;
        color: #cccccc;
        font-size: 0.9rem;
        transition: background 0.5s;
        padding-top: 0.2rem;
        padding-bottom: 0.2rem;
        padding-left: 0.4rem;
        padding-right: 0.4rem;
        border-radius: 8px;
    }
    .settings-bottom a:hover {
        background-color: #1c1c1c;
    }
  
    /* ÐžÑÐ½Ð¾Ð²Ð½Ð°Ñ Ð¾Ð±Ð»Ð°ÑÑ‚ÑŒ Ñ‡Ð°Ñ‚Ð° */
    .main {
        position: relative;
        width: 100%;
        height: 100dvh;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        background-color: #000000;
        color: #ffffff;
    }
  
    @media (min-width: 992px) {
        .main {
          margin-left: 250px;
          max-width: calc(100% - 250px);
          overflow-x: hidden;
        }
    }
  
    /* Ð¨Ð°Ð¿ÐºÐ° Ñ‡Ð°Ñ‚Ð° */
    .chat-header {
        flex: 0 0 auto;
        background: transparent;
        padding: 0.75rem 1rem;
        display: flex;
        align-items: center;
        color: #ffffff;
        border-bottom: 0;
    }
    .chat-header h2 {
        flex: 1;
        margin: 0;
        font-size: 1.1rem;
        text-align: center;
        color: #ffffff;
    }
    .chat-header button {
        background: none;
        border: none;
        font-size: 1.2rem;
        cursor: pointer;
        color: #ffffff;
    }
  
    /* ÐŸÑ€Ð¾ÐºÑ€ÑƒÑ‡Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ Ð¾Ð±Ð»Ð°ÑÑ‚ÑŒ Ñ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸ÑÐ¼Ð¸ */
    .chat-messages {
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        overflow-y: auto;
        width: 100%;
        max-width: 800px;
        margin: 0 auto;
        padding: 1rem;
        padding-bottom: 2.5rem;
        box-sizing: border-box;
        background: #000000;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    .chat-messages::-webkit-scrollbar {
        width: 0;
        height: 0;
        display: none;
        background: transparent;
    }
  
    /* Ð¡Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ */
    .message {
        display: inline-block;
        max-width: 70%;
        background: #1a1a1a;
        color: #ffffff;
        padding: 0.5rem 0.75rem;
        border-radius: 12px;
        margin-bottom: 0.5rem;
        word-wrap: break-word;
        align-self: flex-start; /* Ð˜Ð˜ ÑÐ»ÐµÐ²Ð° */
    }
    .message.user {
        background-color: #1D85FF;
        color: #ffffff;
        align-self: flex-end;
        text-align: right;
    }
    .message.ai {
        background-color: #222222;
        align-self: flex-start;
        text-align: left;
        padding: 0.5rem 0.75rem;
    }
  
    /* Ð˜ÐºÐ¾Ð½ÐºÐ¸ Ð¿Ð¾Ð´ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸ÐµÐ¼ */
    .message-icons {
        margin-top: 0.25rem;
        display: flex;
        gap: 0.5rem;
        opacity: 0;
        transition: opacity 0.3s;
        pointer-events: none;
    }
    .message:hover .message-icons,
    .user-message-wrapper:hover .message-icons,
    .message.ai:hover .message-icons {
        opacity: 1;
        pointer-events: auto;
    }
    .message-icons i {
        color: #a8a8a8;
        cursor: pointer;
        font-size: 0.9rem;
        transition: color 0.2s;
    }
    .message-icons i:hover {
        color: #1D85FF !important;
    }
    .message-icons i:active {
        color: #1D85FF !important;
    }
    .user-message-wrapper {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
    }
    .message.user {
        margin-bottom: 0;
    }
    .icons-user {
        color: #a8a8a8;
    }
    .icons-user:hover {
        color: #1D85FF !important;
    }
    .icons-user:active {
        color: #1D85FF !important;
    }
    .message.ai {
        background-color: transparent;
        align-self: flex-start;
        text-align: left;
    }
  
    /* ÐšÐ½Ð¾Ð¿ÐºÐ¸ ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð´Ð° */
    .copy-code-btn {
        float: right;
        margin: 0.25rem;
        font-size: 0.85rem;
        color: #cccccc;
        cursor: pointer;
        transition: color 0.2s;
    }
    .copy-code-btn:hover {
        color: #1D85FF;
    }
  
    /* Ð‘Ð»Ð¾Ðº Ð²Ð²Ð¾Ð´Ð° (chips-and-input) */
    .chips-and-input {
        flex: 0 0 auto;
        position: sticky;
        bottom: calc(2.5rem + env(safe-area-inset-bottom));
        left: 0;
        right: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
        width: 95%;
        max-width: 800px;
        margin: 0 auto;
        padding: 0.75rem 1rem;
        border: 1px solid #2a2a2a;
        border-radius: 1rem;
        background: #121212;
        z-index: 1000;
        box-shadow: 0 2px 8px rgba(0,0,0,0.3);
    }
  
    .chat-input {
        width: 100%;
    }
    .input-row {
        display: flex;
        width: 100%;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
    }
    .chat-input textarea {
        flex: 1;
        min-height: 2rem;
        max-height: 8rem;
        resize: none;
        overflow-y: auto;
        font-size: 1rem;
        border: none;
        outline: none;
        background: transparent;
        color: #ffffff;
        padding: 0.5rem;
        border-radius: 4px;
    }
    #messageInput {
        width: 100%;
        max-height: 300px;
        overflow-y: hidden;
        transition: height 0.2s;
        color: #ffffff;
        background-color: transparent;
    }
    #messageInput.max-limit {
        border: 2px solid red;
        background: transparent;
    }
    #charLimitError {
        font-weight: 700;
        display: none;
        color: red;
        font-size: 16px;
        margin: 4px 0;
    }
  
    /* ÐšÐ½Ð¾Ð¿ÐºÐ° Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ */
    .chat-input__send-btn {
        width: 2.5rem;
        height: 2.5rem;
        background: #1D85FF;
        border: none;
        color: #ffffff;
        font-size: 1rem;
        border-radius: 50%;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        overflow: hidden;
        transition:
          background-color 0.3s ease,
          transform 0.3s ease,
          box-shadow 0.3s ease;
    }
    .chat-input__send-btn i {
        pointer-events: none;
        transition: transform 0.3s ease, font-size 0.3s ease, color 0.3s ease;
    }
    .chat-input__send-btn:hover {
        background: #1568cc;
        transform: scale(1.05);
    }
    .chat-input__send-btn:hover i {
        transform: scale(1.1);
    }
    .chat-input__send-btn:active {
        background: #0e4d99;
        transform: scale(0.95);
    }
    .chat-input__send-btn:active i {
        transform: scale(0.9);
    }
    .chat-input__send-btn:disabled {
        background: #4a4a4a;
        cursor: not-allowed;
        transform: scale(1);
        box-shadow: none;
    }
    .chat-input__send-btn:disabled i {
        color: #aaaaaa;
        transform: scale(0.85);
        font-size: 0.9rem;
        position: relative;
        z-index: 1;
    }
    .chat-input__send-btn.thinking::before,
    .chat-input__send-btn.thinking::after {
        content: '';
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 0;
        height: 0;
        border: 3px solid rgba(255,255,255,0.6);
        border-radius: 50%;
        opacity: 0;
        pointer-events: none;
        animation: ringWave 1.5s infinite ease-out;
    }
    .chat-input__send-btn.thinking::after {
        animation-delay: 0.7s;
    }
    .chat-input__send-btn.thinking .wave-third {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 0;
        height: 0;
        border: 3px solid rgba(255,255,255,0.6);
        border-radius: 50%;
        opacity: 0;
        pointer-events: none;
        animation: ringWave 1.5s infinite ease-out;
        animation-delay: 1s;
    }
    @keyframes ringWave {
        0% {
            width: 0;
            height: 0;
            opacity: 0.6;
        }
        100% {
            width: 200%;
            height: 200%;
            opacity: 0;
        }
    }
  
    .deepthink-container {
        display: flex;
        align-items: start;
        gap: 0.5rem;
        color: #ffffff;
    }
    .deepthink-toggle {
        position: relative;
        width: 40px;
        height: 22px;
        display: inline-block;
    }
    .deepthink-toggle input {
        opacity: 0;
        width: 0;
        height: 0;
    }
    .deepthink-toggle span.slider {
        position: absolute;
        cursor: pointer;
        top: 0; left: 0; right: 0; bottom: 0;
        background-color: #333333;
        border-radius: 22px;
        transition: 0.4s;
    }
    .deepthink-toggle span.slider:before {
        position: absolute;
        content: '';
        height: 16px;
        width: 16px;
        left: 3px;
        bottom: 3px;
        background-color: #ffffff;
        border-radius: 50%;
        transition: 0.4s;
    }
    .deepthink-toggle input:checked + .slider {
        background-color: #1D85FF;
    }
    .deepthink-toggle input:checked + .slider:before {
        transform: translateX(18px);
    }
    .deepthink-label {
        align-items: center;
        justify-content: center;
        font-size: 0.9rem;
        color: #cccccc;
        margin-bottom: 0;
    }
  
    .loader-container {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 48px;
        height: 48px;
        overflow: hidden;
    }
    .loader {
        width: 60px;
        aspect-ratio: 2;
        --_g: no-repeat radial-gradient(circle closest-side, #444444 90%, rgba(0, 0, 0, 0));
        background:
          var(--_g) 0%   50%,
          var(--_g) 50%  50%,
          var(--_g) 100% 50%;
        background-size: calc(100%/3) 50%;
        animation: l3 1s infinite linear;
    }
    @keyframes l3 {
        20% { background-position: 0%   0%, 50%  50%,100%  50% }
        40% { background-position: 0% 100%, 50%   0%,100%  50% }
        60% { background-position: 0%  50%, 50% 100%,100%   0% }
        80% { background-position: 0%  50%, 50%  50%,100% 100% }
    }
  
    code,
    pre,
    p.code {
        background-color: #1e1e1e;
        color: #ffffff;
        border-radius: 12px;
    }
    /* Ð£Ð±Ð¸Ñ€Ð°ÐµÐ¼ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ðµ Ð»Ð¸ÑˆÐ½Ð¸Ðµ ÑÑ‚Ð¸Ð»Ð¸ */
    /* .chat-messages, 
    .chat-messages .message, 
    .chat-messages .message * {
        font-family: inherit;
    } */
  
    #menuToggle i {
        pointer-events: none;
    }
  
    /* ÐÐ´Ð°Ð¿Ñ‚Ð¸Ð²Ð½Ð¾ÑÑ‚ÑŒ: Ð½Ð° Ð±Ð¾Ð»ÑŒÑˆÐ¸Ñ… ÑÐºÑ€Ð°Ð½Ð°Ñ… Ð¼ÐµÐ½ÑŽ Ð¿Ð¾ÑÑ‚Ð¾ÑÐ½Ð½Ð¾ Ð²Ð¸Ð´Ð½Ð¾ */
    @media (min-width: 992px) {
        #sidebar {
            position: fixed;
            top: 0;
            left: 0 !important;
            width: 240px;
            transition: none;
            background-color: #121212;
        }
        #menuToggle {
            display: none !important;
        }
        /* .main {
            margin-left: 240px;
        } */
        .message-icons {
            opacity: 1 !important;
            pointer-events: auto !important;
        }
    }
    @media (max-width: 992px) {
        #sidebar {
            position: fixed;
            top: 0;
            left: -240px;
            width: 240px;
            transition: left 0.3s;
        }
        #sidebar.open {
            left: 0;
        }
    }
    #chatTitle i {
        margin-left: 0.4rem;
        font-size: 16px;
        color: #bbbbbb;
    }
  
    .chips-container {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        color: #ffffff;
    }
    .option-chip {
        display: inline-flex !important;
        align-items: center !important;
        gap: 0.3rem !important;
        padding: 0.4rem 0.8rem !important;
        font-size: 0.9rem !important;
        font-weight: 500 !important;
        color: #ffffff !important;
        background-color: #1a1a1a !important;
        border: 1px solid #2a2a2a !important;
        border-radius: 12px !important;
        cursor: pointer !important;
        transition: all 0.5s !important;
        height: 36px !important;
    }
    .option-chip.small {
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 36px !important;
        height: 36px !important;
        padding: 0.4rem !important;
        border: 1px solid #2a2a2a !important;
    }
    .option-chip:disabled {
        color: #555555 !important;
        background-color: #222222 !important;
        border: 1px solid #444444 !important;
        cursor: not-allowed !important;
    }
    .option-chip:disabled:hover {
        color: #555555 !important;
        background-color: #222222 !important;
        border: 1px solid #444444 !important;
        cursor: not-allowed !important;
    }
    @media (hover: hover) and (pointer: fine) {
        .option-chip:hover {
            background-color: #222222 !important;
            border: 1px solid #66666694 !important;
            color: #ffffff !important;
        }
    }
    .option-chip.active {
        background-color: #1d87ff39 !important;
        color: #1D85FF !important;
        border-color: #1d87ff5e !important;
    }
    .option-chip i {
        color: #ffffff !important;
        font-size: 1rem !important;
        transition: all 0.5s !important;
    }
    .option-chip.active i {
        color: #1D85FF !important;
        font-size: 1rem !important;
    }
  
    .greeting-block {
        flex: 1 1 auto;
    }
    .quick-bubbles {
        position: sticky;
        bottom: 0;
        z-index: 2;
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
        justify-content: center;
        background: transparent;
        padding: 0.75rem 1rem;
    }
    .bubble-btn {
        display: inline-flex;
        align-items: center;
        gap: 0.3rem;
        padding: 0.45rem 0.75rem;
        border: 1px solid #2a2a2a;
        border-radius: 12px;
        background-color: #1c1c1c;
        color: #ffffff;
        font-size: 0.9rem;
        cursor: pointer;
        transition: background-color 0.2s;
    }
    .bubble-btn:hover {
        background-color: #2a2a2a;
    }
    .bubble-icon {
        font-size: 16px;
        background: #333333;
        border-radius: 8px;
        height: 28px;
        width: 28px;
        padding: 4px 6px;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #cccccc;
    }
    @media (max-width: 768px) {
        .bubble-btn {
          font-size: 0.8rem;
          padding: 0.4rem 0.6rem;
        }
        .bubble-icon {
          font-size: 14px;
          height: 24px;
          width: 24px;
          padding: 2px 4px;
        }
    }
  
    .search-popup {
        position: absolute;
        top: 0; 
        left: 0;
        min-width: 200px;
        padding: 0.75rem 1rem;
        background: #1a1a1a;
        border-radius: 0.5rem;
        box-shadow: 0 2px 8px rgba(0,0,0,0.7);
        z-index: 9999;
        transition: 
          opacity 0.3s ease,
          transform 0.3s ease;
        transform-origin: bottom center;
        color: #ffffff;
    }
    .hidden {
        opacity: 0;
        pointer-events: none;
        transform: scale(0.9);
    }
    .search-popup .popup-title {
        font-weight: 600;
        margin-bottom: 0.25rem;
        color: #ffffff;
    }
    .search-popup .popup-divider {
        border: none;
        border-top: 1px solid #3a3a3a;
        margin: 0.25rem 0 0.5rem 0;
    }
    .popup-option {
        display: flex;
        align-items: center;
        gap: 0.4rem;
        margin: 0.25rem 0;
        font-size: 0.9rem;
        cursor: pointer;
        color: #cccccc;
    }
    .popup-confirm {
        display: block;
        width: 100%;
        margin-top: 0.5rem;
        padding: 0.4rem 0.6rem;
        border: none;
        border-radius: 0.3rem;
        background: #333333;
        color: #ffffff;
        cursor: pointer;
        transition: background-color 0.2s;
        font-size: 0.9rem;
    }
    .popup-confirm.active {
        background: #1D85FF;
        color: #ffffff;
    }
    .popup-confirm:hover {
        filter: brightness(0.95);
    }
    .popup-option {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        margin-bottom: 0.5rem;
        padding: 0.3rem 0.5rem;
        border-radius: 0.3rem;
        transition: background-color 0.2s;
    }
    .popup-option:hover {
        background-color: #2a2a2a;
    }
    .popup-option input[type='radio'] {
        accent-color: #1D85FF;
        width: 1rem;
        height: 1rem;
        cursor: pointer;
    }
    .option-title {
        font-size: 0.95rem;
        color: #ffffff;
        line-height: 1.2;
    }
    .option-title em {
        font-style: normal;
        color: #1D85FF;
        margin-left: 4px;
    }
  
    div:where(.swal2-container) div:where(.swal2-popup) {
        border-radius: 12px !important;
        max-width: 350px !important;
        background-color: #1e1e1e !important;
        color: #ffffff !important;
    }
    .swal2-confirm.swal2-styled {
        background-color: #1D85FF;
        border-radius: 8px !important;
    }
    div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel) {
        background-color: #2a2a2a !important;
        border: 1px solid #444444 !important;
        border-radius: 8px !important;
        color: #ffffff !important;
    }
    .swal2-title {
        padding-top: 12px !important;
        color: #ffffff !important;
    }
    .swal2-input {
        border: 1px solid #444444 !important;
        border-radius: 8px !important;
        background-color: #121212 !important;
        color: #ffffff !important;
    }
    .swal2-input:focus {
        border: 1px solid #5e5e5e !important;
        box-shadow: none !important;
    }
    .swal2-actions {
        margin-top: 12px !important;
    }
  
    .chat-list-item {
        position: relative;
        display: flex;
        align-items: center;
        margin-bottom: 0.5rem;
        padding: 0.5rem;
        overflow: hidden;
        height: 2rem;
        color: #ffffff;
    }
    .chat-name {
        flex: 1;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        margin-right: 0.5rem;
    }
    .chat-list-item::after {
        content: '';
        position: absolute;
        right: 2.2rem;
        top: 0;
        bottom: 0;
        width: 3rem;
        pointer-events: none;
        z-index: 1;
    }

    .chat-list-item.no-chats::after {
        background: transparent !important;
    }

    .deleteChatBtn {
        position: relative;
        z-index: 1500;
        margin-left: 0.5rem;
        transition: opacity 0.5s ease, color 0.5s ease;
        opacity: 0.35;
        color: #ffffff;
    }
    .deleteChatBtn:hover {
        opacity: 1;
        color: #ff4444;
    }
    .option-chip-like {
        display: inline-flex !important;
        align-items: center !important;
        gap: 0.3rem !important;
        padding: 0.4rem 0.8rem !important;
        font-size: 0.9rem !important;
        font-weight: 500 !important;
        color: #ffffff !important;
        background-color: #1a1a1a !important;
        border: 1px solid #2a2a2a !important;
        border-radius: 12px !important;
        cursor: pointer !important;
        transition: all 0.3s !important;
        height: 36px !important;
    }
    .option-chip-like:hover {
        background-color: #222222 !important;
        border: 1px solid #666666 !important;
        color: #ffffff !important;
    }
  
    /* ÐŸÑ€ÐµÐ²ÑŒÑŽ Ð¿Ñ€Ð¸ÐºÑ€ÐµÐ¿Ð»Ñ‘Ð½Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° */
    .attachment-preview {
        display: flex;
        align-items: center;
        position: relative;
        margin-bottom: 8px;
        color: #ffffff;
    }
    .attachment-thumbnail {
        width: 48px;
        height: 48px;
        object-fit: cover;
        border-radius: 6px;
        background: #2a2a2a;
    }
    .attach-doc-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 0.8rem;
        font-weight: 600;
        color: #ffffff;
        background: #333333;
    }
    .attachment-remove {
        position: absolute;
        top: -6px;
        right: -6px;
        width: 20px;
        height: 20px;
        background: rgba(255,0,0,0.65);
        color: #ffffff;
        font-size: 14px;
        border-radius: 50%;
        text-align: center;
        line-height: 20px;
        cursor: pointer;
    }
    .attachment-remove:hover {
        background: rgba(255,0,0,1);
    }
  
    .record-btn {
        width: 2.5rem !important;
        height: 2.5rem !important;
        border: none;
        border-radius: 50%;
        background-color: #333333;
        color: #ffffff;
        cursor: pointer;
        font-size: 1rem;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: background-color 0.3s, transform 0.3s;
    }
    .record-btn:hover {
        background-color: #4a4a4a;
        transform: scale(1.05);
    }
    .record-btn:active {
        background-color: #4a4a4a;
        transform: scale(0.95);
    }
    .cancel-btn {
        width: 2.5rem !important;
        height: 2.5rem !important;
        display: flex;
        align-items: center;
        justify-content: center;
        border: none;
        border-radius: 50%;
        background-color: transparent;
        color: #ffffff;
        cursor: pointer;
        transition: transform 0.3s;
    }
    .cancel-btn:hover {
        transform: scale(1.1);
    }
    .cancel-btn:active {
        transform: scale(0.95);
    }
    .cancel-btn i,
    .record-btn i {
        pointer-events: none;
        font-size: 1.1rem;
    }
    .record-btn.spinner {
        background-color: #9e9e9e !important;
    }
    .record-btn.paused {
        background-color: #ff9800;
    }
    #audioCanvas {
        background: #1a1a1a;
        width: 100%;
        height: 2.5rem;
        border-radius: 36px;
    }
  
    .spoiler-container {
        margin-bottom: 12px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
    .spoiler-btn {
        border: none;
        background-color: transparent;
        color: #cccccc;
        font-size: 14px;
        cursor: pointer;
        display: flex;
        align-items: center;
        gap: 4px;
        padding: 0;
    }
    .spoiler-btn i {
        transition: transform 0.2s;
    }
    .spoiler-content {
        display: none;
        background: #1a1a1a;
        border-radius: 12px;
        padding: 12px;
        margin-top: 8px;
        border-left: 4px solid #333333;
    }
    .reasoning-text {
        font-size: 14px;
        line-height: 1.4;
        color: #cccccc;
        padding-left: 8px;
    }
    .reasoning-loader {
        margin-top: 8px;
    }
  
    .modal-header {
        border-top-left-radius: 12px !important;
        border-top-right-radius: 12px !important;
        background-color: #121212 !important;
        border-bottom: 0.0625rem solid #2a2a2a !important;
        color: #ffffff !important;
    }
    .modal-footer {
        border-bottom-left-radius: 12px !important;
        border-bottom-right-radius: 12px !important;
        background-color: #121212 !important;
        color: #ffffff !important;
    }
    .modal-content {
        border-radius: 12px !important;
        background-color: #1a1a1a !important;
        color: #ffffff !important;
    }
    .nav-pills .nav-item:not(:last-child) {
        padding-right: 0 !important;
    }
    .nav-pills .nav-item {
        margin-bottom: 0 !important;
    }
    .nav-pills .nav-link.active, .nav-pills .show &gt; .nav-link {
        background-color: #333333 !important;
        border-color: #2a2a2a !important;
        color: #ffffff !important;
    }
    .nav-pills .nav-link {
        padding: 0.3rem 0.6rem !important;
        border-radius: 12px !important;
        color: #ffffff !important;
        background-color: #1a1a1a !important;
    }
    .nav-pills .nav-link:hover {
        background-color: #333333 !important;
    }

    .modal-footer {
        border-top: 0.0625rem solid #2a2a2a !important;
    }

    .form-control {
        display: block;
        width: 100%;
        padding: 0.55rem 0.75rem;
        font-size: 1rem;
        font-weight: 400;
        line-height: 1.5;
        color: #fff;
        background-color: #2a2a2a;
        background-clip: padding-box;
        border: 0.0625rem solid #4a4a4a;
        -webkit-appearance: none;
        appearance: none;
        border-radius: 1rem;
        box-shadow: none !important;
        transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    }

    .form-control:focus {
        color: #fff;
        background-color: #2a2a2a;
        border-color: #1D85FF;
        outline: 0;
        box-shadow: inset 0 1px 2px rgba(23, 31, 56, 0.075), 0 0 0 0.2rem rgba(36, 46, 76, 0.25);
    }

    .btn-close {
        color: #fff !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: transparent !important;
    }
  
    .btn {
        border-radius: 12px !important;
        padding: 0.4rem 0.75rem !important;
        color: #ffffff !important;
    }
    .btn-danger {
        box-shadow: none !important;
        border-color: transparent !important;
        background-color: #ff4444 !important;
    }
    .btn-secondary {
        background-color: #333333 !important;
        box-shadow: none !important;
        border-color: transparent !important;
    }
    .btn-secondary:hover {
        background-color: #4a4a4a !important;
    }
    .btn-success {
        color: #ffffff !important;
        background-color: #2e7d32 !important;
        box-shadow: none !important;
        border-color: transparent !important;
    }
    .btn-success:disabled,
    .btn-success.disabled {
        color: #a8a8a8 !important;
        background-color: #555555 !important;
        box-shadow: none !important;
        border-color: transparent !important;
    }
    .btn-link:hover {
        background-color: #333333 !important;
        color: #ffffff !important;
    }
  
    /* ÐœÐ¾Ð´Ð°Ð»ÐºÐ° hcaptcha */
    #hcaptchaModal.show {
        display: flex !important;
        align-items: center;
        justify-content: center;
        background: rgba(0,0,0,0.7) !important;
    }
    #hcaptchaModal .modal-dialog {
        margin: 0;
    }
  
    .modal-overlay {
        position: fixed;
        inset: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0,0,0,1);
        z-index: 9999;
        display: none;
        opacity: 0;
        transition: opacity 0.25s ease;
        flex-direction: column;
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }
    .modal-overlay.show {
        display: flex;
        opacity: 1;
    }
    .modal-content-container {
        flex: 1;
        display: flex;
        justify-content: center;
        align-items: center;
    }
  
    .plan-card {
        width: 340px;
        max-width: 90%;
        border: 1px solid #333333;
        border-radius: 12px;
        padding: 24px;
        font-family: Arial, sans-serif;
        background-color: #1a1a1a;
        color: #ffffff;
        transform: scale(0.8);
        transition: transform 0.5s ease;
    }
    .modal-overlay.show .plan-card {
        transform: scale(1);
    }
    .plan-title {
        font-size: 24px;
        font-weight: bold;
        margin-bottom: 0.5rem;
        color: #ffffff;
    }
    .plan-price {
        font-size: 32px;
        font-weight: bold;
        margin: 0.5rem 0;
        color: #ffffff;
    }
    .plan-description {
        margin: 1rem 0;
        color: #cccccc;
    }
    .plan-button {
        display: block;
        width: 100%;
        text-align: center;
        background-color: #333333;
        color: #ffffff;
        padding: 12px;
        font-size: 16px;
        font-weight: 600;
        text-decoration: none;
        border: none;
        cursor: pointer;
        margin-bottom: 1rem;
        border-radius: 12px;
        transition: background-color 0.2s ease, transform 0.2s ease;
    }
    .plan-button:hover {
        background-color: #444444;
        transform: scale(1.02);
    }
    .plan-button.cancel {
        background-color: #333333;
    }
    
    .plan-button.cancel:hover {
        background-color: #444444;
    }
    .plan-benefits {
        list-style: none;
        margin: 0;
        padding: 0;
    }
    .plan-benefits li {
        margin: 6px 0;
        color: #cccccc;
    }
    .close-modal-btn {
        position: absolute;
        top: 16px;
        right: 16px;
        background: none;
        border: none;
        font-size: 24px;
        cursor: pointer;
        transition: transform 0.2s ease;
        color: #ffffff;
    }
    .close-modal-btn:hover {
        transform: scale(1.1);
    }
  
    .attached-files {
        margin: 0;
        padding: 0;
    }
    .attached-file-item {
        display: inline-block;
        position: relative;
        border: 1px solid #333333;
        border-radius: 12px;
        padding: 6px;
        vertical-align: top;
        text-align: center;
        background-color: #1c1c1c;
    }
    .attached-file-item img {
        margin: 0;
        border-radius: 8px;
        padding: 0;
    }
    .attached-file-item .thumbnail {
        display: block;
        width: 100px;
        height: 100px;
        object-fit: cover;
        border-radius: 8px;
    }
    .attached-file-item .remove-btn {
        position: absolute;
        top: 2px;
        right: 2px;
        cursor: pointer;
        background: rgba(255,0,0,0.8);
        color: #fff;
        border: none;
        border-radius: 50%;
        width: 24px;
        height: 24px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 14px;
        line-height: 1;
    }
    .attached-file-item .remove-btn:hover {
        background: rgba(255,0,0,1);
    }
  
    .memory-updated-badge {
        margin-bottom: 1rem !important;
        padding: 4px 8px !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        border-radius: 12px !important;
        background-color: #2a2a2a !important;
        color: #ffffff !important;
        font-size: 0.875rem !important;
        font-weight: 500 !important;
    }
    .memory-updated-badge i {
        color: #ffffff !important;
    }
    .profile-menu {
        background: #121212; border-bottom: 0.0625rem solid #2a2a2a !important;
    }
    .nav-pills .nav-link {
        border: 1px solid #2a2a2a !important;
    }
    .fade {
        background-color: rgba(0, 0, 0, 0.5) !important;
        background: rgba(0, 0, 0, 0.5) !important;
    }

    .avatar-profile {
        content: url('https://chat.keyai.org/assets/images/avatar-user-dark.png');
    }

    .sidebar-logo {
        content: url('https://chat.keyai.org/assets/images/logo_sidebar_free_light.svg');
    }

    a, .text-action {
        color: #1D85FF !important;
    }

    .card {
        position: relative;
        display: flex;
        flex-direction: column;
        min-width: 0;
        word-wrap: break-word;
        background-color: #121212 !important;
        background-clip: border-box;
        border: 0.0625rem solid #2a2a2a !important;
        border-radius: 1rem;
    }

    .hljs {
        background: transparent !important;
        color: #fff !important;
    }

    .hljs-deletion, .hljs-number, .hljs-quote, .hljs-selector-class, .hljs-selector-id, .hljs-string, .hljs-template-tag, .hljs-type {
        color: #1D85FF !important;
    }

    .hljs-addition, .hljs-built_in, .hljs-bullet, .hljs-code {
        color: #ff9800 !important;
    }

    .hljs-section, .hljs-title {
        color: #1D85FF !important;
    }

    .header-nontransperent {
        background: #000000 !important;
    }

    li {
        color: #ffffff !important;
    }

    .bg-dark {
        background-color: #333333 !important;
    }
    
    .border {
        border: 0.0625rem solid #2a2a2a !important;
    }

    div:where(.swal2-container).swal2-top, div:where(.swal2-container).swal2-center, div:where(.swal2-container).swal2-bottom {
        z-index: 12000 !important;
    }

    .btn-outline-primary {
        color: #1D85FF !important;
        border-color: #1D85FF !important;
    }
    
    .btn-outline-primary:hover {
        color: #ffffff !important;
        background-color: #1D85FF !important;
    }
    
    .btn-outline-primary:active {
        color: #ffffff !important;
        background-color: #1D85FF !important;
    }
}</pre></body></html>