/* KiteGroup Chat: графитовая тема Element Web. Генерируется graphite.py; вручную не править. */
:root:root:root, [class*="cpd-theme-"][class*="cpd-theme-"][class*="cpd-theme-"] {
  --cpd-color-theme-bg: #161618;
  --cpd-color-gray-100: #1a1a1d;
  --cpd-color-gray-200: #1e1e21;
  --cpd-color-gray-300: #232327;
  --cpd-color-gray-400: #2b2b2f;
  --cpd-color-gray-500: #35353a;
  --cpd-color-gray-600: #3f3f44;
  --cpd-color-gray-700: #4d4d53;
  --cpd-color-gray-800: #68686f;
  --cpd-color-gray-900: #8c8c94;
  --cpd-color-gray-1000: #9d9da4;
  --cpd-color-gray-1100: #afafb6;
  --cpd-color-gray-1200: #c7c7cd;
  --cpd-color-gray-1300: #e0e0e4;
  --cpd-color-gray-1400: #eeeef0;
  --cpd-color-alpha-gray-100: rgb(255 255 255 / 0.02);
  --cpd-color-alpha-gray-200: rgb(255 255 255 / 0.04);
  --cpd-color-alpha-gray-300: rgb(255 255 255 / 0.06);
  --cpd-color-alpha-gray-400: rgb(255 255 255 / 0.1);
  --cpd-color-alpha-gray-500: rgb(255 255 255 / 0.15);
  --cpd-color-alpha-gray-600: rgb(255 255 255 / 0.2);
  --cpd-color-alpha-gray-700: rgb(255 255 255 / 0.27);
  --cpd-color-alpha-gray-800: rgb(255 255 255 / 0.41);
  --cpd-color-alpha-gray-900: rgb(255 255 255 / 0.54);
  --cpd-color-alpha-gray-1000: rgb(255 255 255 / 0.61);
  --cpd-color-alpha-gray-1100: rgb(255 255 255 / 0.68);
  --cpd-color-alpha-gray-1200: rgb(255 255 255 / 0.79);
  --cpd-color-alpha-gray-1300: rgb(255 255 255 / 0.89);
  --cpd-color-alpha-gray-1400: rgb(255 255 255 / 0.95);
  --cpd-color-text-action-accent: var(--cpd-color-gray-1400);
  --cpd-color-text-link-external: var(--cpd-color-gray-1300);
  --cpd-color-icon-accent-primary: var(--cpd-color-gray-1400);
  --cpd-color-icon-accent-tertiary: var(--cpd-color-gray-1100);
  --cpd-color-icon-on-solid-primary: var(--cpd-color-theme-bg);
  --cpd-color-bg-accent-rest: var(--cpd-color-gray-1300);
  --cpd-color-bg-accent-hovered: var(--cpd-color-gray-1400);
  --cpd-color-bg-accent-pressed: var(--cpd-color-gray-1200);
  --cpd-color-bg-accent-selected: var(--cpd-color-alpha-gray-400);
  --cpd-color-border-accent-subtle: var(--cpd-color-gray-700);
  --cpd-color-border-focused: var(--cpd-color-gray-1100);
  --cpd-color-bg-decorative-1: #2f2d29;
  --cpd-color-text-decorative-1: #ddd5c9;
  --cpd-color-bg-decorative-2: #292e2b;
  --cpd-color-text-decorative-2: #cbdbd2;
  --cpd-color-bg-decorative-3: #2e292d;
  --cpd-color-text-decorative-3: #dccdd6;
  --cpd-color-bg-decorative-4: #292c31;
  --cpd-color-text-decorative-4: #cdd6e0;
  --cpd-color-bg-decorative-5: #2c2931;
  --cpd-color-text-decorative-5: #d6cde0;
  --cpd-color-bg-decorative-6: #2f2b28;
  --cpd-color-text-decorative-6: #e0d3c8;
}

/* Экраны входа: в Element они светлые даже в тёмной теме */
/* Element ставит фон инлайн-стилем из branding.welcome_background_url: перебиваем !important */
.mx_AuthPage { background: radial-gradient(1200px 620px at 50% -14%, rgb(255 255 255 / 0.075), transparent 68%), radial-gradient(ellipse 85% 65% at 50% 0%, transparent 38%, var(--cpd-color-theme-bg) 82%), radial-gradient(rgb(255 255 255 / 0.075) 1px, transparent 1.4px) 0 0 / 24px 24px, var(--cpd-color-theme-bg) !important; }
.mx_AuthPage_modal {
  background-color: rgb(28 28 31 / 0.92);
  border: 1px solid rgb(255 255 255 / 0.08);
  box-shadow: 0 24px 64px -16px rgb(0 0 0 / 0.75);
  color: var(--cpd-color-text-primary);
}
.mx_AuthPage_modal_withBlur { backdrop-filter: blur(20px); }
.mx_AuthHeader { border-inline-end-color: rgb(255 255 255 / 0.08); }
.mx_AuthHeaderLogo img { width: 166px; height: auto; }
.mx_AuthBody { background-color: transparent; color: var(--cpd-color-text-primary); }
.mx_AuthBody h1, .mx_AuthBody h2, .mx_AuthBody h3 { color: var(--cpd-color-text-primary); }
.mx_AuthBody_text, .mx_AuthBody p { color: var(--cpd-color-text-secondary); }
.mx_AuthFooter { background-color: transparent; }
.mx_AuthFooter a { color: var(--cpd-color-text-secondary); }

/* «Стекло» Element вокруг окон и экрана входа давало вторую рамку поверх обводки окна:
   убираем кольцо, оставляем одну тонкую линию и тень */
[class*="_glass_"] {
  padding: 0;
  border-radius: 24px;
  background: transparent;
  backdrop-filter: none;
  box-shadow: 0 28px 72px -20px rgb(0 0 0 / 0.7);
}
.mx_Dialog { border: 1px solid rgb(255 255 255 / 0.08); }

/* Глубина слева направо: пространства темнее, список комнат на ступень светлее, содержимое светлее всех */
.mx_SpacePanel { background-color: #0e0e10; border-inline-end-color: rgb(255 255 255 / 0.05); }
.mx_LeftPanel, .mx_RoomListPanel { background-color: #121214; }

/* Element местами красит фон акцентом и пишет поверх белым: на светлом акценте нужен тёмный текст */
.mx_LeftPanelLiveShareWarning, .mx_ShareType_badge, .mx_ShareType_option-icon.Pin,
.mx_AnalyticsToast .mx_AccessibleButton_kind_primary,
.mx_EventTile .mx_EventTile_searchHighlight, .mx_EventTile .mx_EventTile_searchHighlight a {
  color: var(--cpd-color-theme-bg);
}
.mx_ToggleSwitch.mx_ToggleSwitch_on .mx_ToggleSwitch_ball { background-color: var(--cpd-color-theme-bg); }
.mx_MessageComposer_sendMessage { background-color: var(--cpd-color-gray-1400); }

/* Домашний экран чата — та же атмосфера, что на главной портала встреч.
   Только он: в комнатах с перепиской фон чистый, чтобы не мешать читать */
.mx_RoomView_wrapper:has(> .mx_HomePage) { background: radial-gradient(1200px 620px at 50% -14%, rgb(255 255 255 / 0.075), transparent 68%), radial-gradient(ellipse 85% 65% at 50% 0%, transparent 38%, var(--cpd-color-theme-bg) 82%), radial-gradient(rgb(255 255 255 / 0.075) 1px, transparent 1.4px) 0 0 / 24px 24px, var(--cpd-color-theme-bg); }

/* Домашняя страница: графитовые карточки вместо светлых плиток с белыми иконками */
.mx_HomePage_default h2 { color: var(--cpd-color-text-secondary); font-weight: 500; }
.mx_HomePage_default .mx_HomePage_default_buttons { gap: 16px; }
.mx_HomePage_default .mx_HomePage_default_buttons .mx_AccessibleButton {
  gap: 14px;
  padding: 28px 20px 24px;
  border: 1px solid var(--cpd-color-alpha-gray-400);
  border-radius: 16px;
  background-color: var(--cpd-color-bg-subtle-secondary);
  color: var(--cpd-color-text-primary);
  font-weight: 500;
  line-height: 1.35;
  text-wrap: balance;
  transition: background-color 160ms ease, border-color 160ms ease, transform 160ms cubic-bezier(0.23, 1, 0.32, 1);
}
.mx_HomePage_default .mx_HomePage_default_buttons .mx_AccessibleButton svg {
  color: var(--cpd-color-icon-secondary);
  height: 28px;
  transition: color 160ms ease;
}
@media (hover: hover) and (pointer: fine) {
  .mx_HomePage_default .mx_HomePage_default_buttons .mx_AccessibleButton:hover {
    background-color: var(--cpd-color-bg-subtle-primary);
    border-color: var(--cpd-color-alpha-gray-600);
  }
  .mx_HomePage_default .mx_HomePage_default_buttons .mx_AccessibleButton:hover svg { color: var(--cpd-color-icon-primary); }
}
.mx_HomePage_default .mx_HomePage_default_buttons .mx_AccessibleButton:active { transform: scale(0.98); }

/* Стартовая страница (welcome.html): Element вырезает из неё стили, оформляем отсюда */
.mx_WelcomePage_body {
  display: grid;
  justify-items: center;
  gap: 18px;
  padding: 48px 32px 40px;
  text-align: center;
}
.mx_WelcomePage_body img { width: 166px; height: auto; margin-bottom: 18px; }
.mx_WelcomePage_body h1 {
  margin: 0;
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--cpd-color-text-primary);
}
.mx_WelcomePage_body p { margin: 0 0 10px; color: var(--cpd-color-text-secondary); }
.mx_WelcomePage_body a[href="#/login"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 200px;
  height: 46px;
  padding: 0 24px;
  border-radius: 12px;
  background: var(--cpd-color-gray-1400);
  color: var(--cpd-color-theme-bg);
  font-weight: 600;
  text-decoration: none;
  transition: background-color 150ms ease, transform 160ms cubic-bezier(0.23, 1, 0.32, 1);
}
.mx_WelcomePage_body a[href="#/login"]:hover { background: #fff; }
.mx_WelcomePage_body a[href="#/login"]:active { transform: scale(0.97); }
/* Регистрации нет: прячем кнопку «Создать аккаунт», если Element её всё же покажет */
.mx_Welcome .mx_AccessibleButton[href="#/register"], .mx_Welcome a[href="#/register"] { display: none; }
/* В подвале оставляем только kitegroup.pro */
.mx_AuthFooter a[href^="https://matrix.org"] { display: none; }
