
/* Модальные окна */
.modal-overlay[data-v-8eaaadab] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  backdrop-filter: blur(4px);
}
.modal[data-v-8eaaadab] {
  background: var(--bg-card);
  border-radius: 16px;
  border: 1px solid var(--border-primary);
  box-shadow: var(--shadow-xl);
  max-width: 480px;
  width: 90%;
  max-height: 90vh;
  overflow-y: auto;
  animation: modalSlideIn-8eaaadab 0.3s ease-out;
}
@keyframes modalSlideIn-8eaaadab {
from {
    opacity: 0;
    transform: translateY(-20px) scale(0.95);
}
to {
    opacity: 1;
    transform: translateY(0) scale(1);
}
}
.modal-header[data-v-8eaaadab] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 24px 12px;
  border-bottom: 1px solid var(--border-primary);
  margin-bottom: 20px;
  min-height: 50px;
}
.modal-title[data-v-8eaaadab] {
  color: var(--text-primary);
  font-size: 24px;
  font-weight: 600;
  margin: 0;
}
.modal-close[data-v-8eaaadab] {
  background: none;
  border: none;
  color: var(--text-secondary);
  font-size: 24px;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  transition: all 0.2s ease;
}
.modal-close[data-v-8eaaadab]:hover {
  color: var(--text-primary);
  background: var(--bg-tertiary);
}
.modal-body[data-v-8eaaadab] {
  padding: 0 24px 24px;
}
.error-message[data-v-8eaaadab] {
  background: var(--bg-error);
  border: 1px solid var(--border-error);
  color: var(--text-error);
  padding: 12px 16px;
  border-radius: 8px;
  margin-bottom: 20px;
  font-size: 14px;
  text-align: center;
}

/* Telegram авторизация */
.telegram-auth[data-v-8eaaadab] {
  text-align: center;
  padding: 20px 0;
}
.telegram-icon[data-v-8eaaadab] {
  font-size: 48px;
  margin-bottom: 16px;
  animation: bounce-8eaaadab 2s infinite;
}
@keyframes bounce-8eaaadab {
0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
}
40% {
    transform: translateY(-10px);
}
60% {
    transform: translateY(-5px);
}
}
.telegram-title[data-v-8eaaadab] {
  color: var(--text-primary);
  font-size: 20px;
  font-weight: 600;
  margin: 0 0 8px 0;
}
.telegram-description[data-v-8eaaadab] {
  color: var(--text-secondary);
  font-size: 14px;
  margin: 0 0 24px 0;
  line-height: 1.5;
}

/* Код авторизации */
.code-generate-section[data-v-8eaaadab] {
  margin-top: 20px;
}
.code-display-section[data-v-8eaaadab] {
  margin-top: 20px;
}
.code-info[data-v-8eaaadab] {
  text-align: center;
}
.code-label[data-v-8eaaadab] {
  color: var(--text-primary);
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 12px;
}
.code-box[data-v-8eaaadab] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: var(--bg-secondary);
  border: 2px solid var(--border-color);
  border-radius: 12px;
  padding: 16px 24px;
  margin-bottom: 20px;
  transition: all 0.2s ease;
}
.code-box[data-v-8eaaadab]:hover {
  border-color: var(--primary-color);
}
.code-value[data-v-8eaaadab] {
  font-size: 28px;
  font-weight: 700;
  font-family: 'Courier New', monospace;
  color: var(--primary-color);
  letter-spacing: 4px;
}
.code-copy-btn[data-v-8eaaadab] {
  background: transparent;
  border: none;
  cursor: pointer;
  font-size: 20px;
  padding: 4px 8px;
  border-radius: 6px;
  transition: all 0.2s ease;
  color: var(--text-secondary);
}
.code-copy-btn[data-v-8eaaadab]:hover {
  background: var(--bg-tertiary);
  color: var(--primary-color);
}
.code-instructions[data-v-8eaaadab] {
  color: var(--text-secondary);
  font-size: 13px;
  line-height: 1.6;
  margin-bottom: 16px;
}
.code-instructions a[data-v-8eaaadab] {
  color: var(--primary-color);
  text-decoration: none;
}
.code-instructions a[data-v-8eaaadab]:hover {
  text-decoration: underline;
}
.telegram-link[data-v-8eaaadab] {
  color: #0088cc !important;
  font-weight: 600;
  text-decoration: underline !important;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: all 0.2s ease;
  background: rgba(0, 136, 204, 0.1);
  padding: 2px 6px;
  border-radius: 4px;
}
.telegram-link[data-v-8eaaadab]:hover {
  color: #0066aa !important;
  background: rgba(0, 136, 204, 0.15);
  text-decoration: underline !important;
}
.code-instructions code[data-v-8eaaadab] {
  background: var(--bg-tertiary);
  padding: 2px 6px;
  border-radius: 4px;
  font-family: 'Courier New', monospace;
  font-size: 12px;
  color: var(--primary-color);
}
.auth-command[data-v-8eaaadab] {
  cursor: pointer;
  user-select: none;
  transition: all 0.2s ease;
  padding: 4px 8px;
  background: var(--bg-tertiary);
  border: 1px solid var(--border-color);
  border-radius: 4px;
  display: inline-block;
  position: relative;
}
.auth-command[data-v-8eaaadab]:hover {
  background: var(--bg-secondary);
  border-color: var(--primary-color);
  transform: scale(1.05);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}
.auth-command[data-v-8eaaadab]:active {
  transform: scale(0.98);
}
.code-check-btn[data-v-8eaaadab] {
  width: 100%;
  background: var(--bg-tertiary);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  padding: 12px 20px;
  color: var(--text-primary);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}
.code-check-btn[data-v-8eaaadab]:hover:not(:disabled) {
  background: var(--bg-secondary);
  border-color: var(--primary-color);
}
.code-check-btn[data-v-8eaaadab]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.telegram-btn[data-v-8eaaadab] {
  width: 100%;
  display: block;
  text-decoration: none;
  text-align: center;
  background: var(--gradient-telegram);
  border: none;
  border-radius: 12px;
  padding: 16px 24px;
  color: #ffffff;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  box-shadow: var(--shadow-md);
}
.telegram-btn[data-v-8eaaadab]:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}
.telegram-btn[data-v-8eaaadab]:disabled,
.telegram-btn.disabled[data-v-8eaaadab] {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}
.telegram-btn-content[data-v-8eaaadab] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.telegram-btn-icon[data-v-8eaaadab] {
  font-size: 18px;
}
.loading-spinner[data-v-8eaaadab] {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top: 2px solid white;
  border-radius: 50%;
  animation: spin-8eaaadab 1s linear infinite;
}
@keyframes spin-8eaaadab {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}

/* Переключение между формами */
.auth-switch[data-v-8eaaadab] {
  text-align: center;
  margin-top: 24px;
  color: var(--text-secondary);
  font-size: 14px;
}
.switch-btn[data-v-8eaaadab] {
  background: none;
  border: none;
  color: var(--accent-primary);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  text-decoration: underline;
  margin-left: 4px;
  transition: color 0.2s ease;
}
.switch-btn[data-v-8eaaadab]:hover {
  color: var(--accent-secondary);
}

/* Адаптивность */
@media (max-width: 640px) {
.modal[data-v-8eaaadab] {
    width: 95%;
    margin: 20px;
}
.modal-header[data-v-8eaaadab] {
    padding: 14px 20px 10px;
    margin-bottom: 20px;
    min-height: 45px;
}
.modal-body[data-v-8eaaadab] {
    padding: 0 20px 20px;
}
.modal-title[data-v-8eaaadab] {
    font-size: 20px;
}
.telegram-icon[data-v-8eaaadab] {
    font-size: 40px;
}
.telegram-title[data-v-8eaaadab] {
    font-size: 18px;
}
.telegram-btn[data-v-8eaaadab] {
    padding: 14px 20px;
    font-size: 15px;
}
}

.theme-toggle[data-v-f60430b0] {
  display: flex;
  align-items: center;
}
.theme-toggle-btn[data-v-f60430b0] {
  position: relative;
  width: 60px;
  height: 32px;
  background: var(--bg-tertiary);
  border: 2px solid var(--border-primary);
  border-radius: 16px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  align-items: center;
  padding: 2px;
  overflow: hidden;
}
.theme-toggle-btn[data-v-f60430b0]:hover {
  border-color: var(--accent-primary);
  transform: scale(1.05);
  box-shadow: var(--shadow-md);
}
.theme-toggle-btn.active[data-v-f60430b0] {
  background: var(--gradient-primary);
  border-color: var(--accent-primary);
}
.theme-slider[data-v-f60430b0] {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 24px;
  height: 24px;
  background: var(--bg-secondary);
  border-radius: 50%;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: var(--shadow-sm);
  z-index: 1;
}
.theme-slider.dark[data-v-f60430b0] {
  transform: translateX(28px);
}
.slider-thumb[data-v-f60430b0] {
  width: 100%;
  height: 100%;
  background: var(--bg-primary);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  border: none;
}
.theme-slider.dark .slider-thumb[data-v-f60430b0] {
  background:#006d32; /* Темно-зеленый цвет для подложки под луной */
}
.theme-emoji[data-v-f60430b0] {
  font-size: 12px;
  line-height: 1;
  transition: all 0.3s ease;
}

/* Анимация при переключении */
.theme-toggle-btn[data-v-f60430b0]:active {
  transform: scale(0.95);
}

/* Адаптивность */
@media (max-width: 768px) {
.theme-toggle-btn[data-v-f60430b0] {
    width: 50px;
    height: 28px;
}
.theme-slider[data-v-f60430b0] {
    width: 20px;
    height: 20px;
}
.theme-slider.dark[data-v-f60430b0] {
    transform: translateX(22px);
}
.theme-emoji[data-v-f60430b0] {
    font-size: 10px;
}
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html, body {
  height: 100%;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  background: var(--bg-primary);
  color: var(--text-primary);
  overflow-x: hidden;
  transition: background-color 0.3s ease, color 0.3s ease;
}
#app {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* Навигация */
.header {
  background: var(--bg-secondary);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border-accent);
  position: sticky;
  top: 0;
  z-index: 100;
  padding: 0 20px;
  box-shadow: var(--shadow-sm);
}
.header-content {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 70px;
}
.logo {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 24px;
  font-weight: 700;
  color: var(--text-primary);
  text-decoration: none;
  transition: all 0.3s ease;
}
.logo:hover {
  transform: scale(1.05);
}
.logo-text {
  color: var(--text-primary);
  font-weight: 600;
  letter-spacing: 0.5px;
  font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', monospace;
}
.nav-menu {
  display: flex;
  align-items: center;
  gap: 32px;
}
.nav-link {
  color: var(--text-secondary);
  text-decoration: none;
  font-weight: 500;
  font-size: 16px;
  transition: all 0.3s ease;
  position: relative;
  padding: 8px 0;
}
.nav-link:hover {
  color: var(--text-primary);
  transform: translateY(-1px);
}
.nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--gradient-primary);
  transition: width 0.3s ease;
}
.nav-link:hover::after {
  width: 100%;
}
.nav-link.router-link-active {
  color: var(--accent-primary);
}
.nav-link.router-link-active::after {
  width: 100%;
}
.header-actions {
  display: flex;
  align-items: center;
  gap: 16px;
}

/* Кнопки */
.btn-primary {
  background: var(--gradient-primary);
  color: #ffffff;
  border: none;
  padding: 12px 24px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}
.btn-primary::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s;
}
.btn-primary:hover::before {
  left: 100%;
}
.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}
.btn-text {
  background: none;
  border: none;
  color: var(--text-secondary);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  padding: 12px 20px;
  border-radius: 8px;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}
.btn-text::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(16, 185, 129, 0.1), transparent);
  transition: left 0.5s;
}
.btn-text:hover::before {
  left: 100%;
}
.btn-text:hover {
  color: var(--text-primary);
  background: rgba(16, 185, 129, 0.1);
  transform: translateY(-1px);
}
.btn-block {
  width: 100%;
}

/* Контент */
.content {
  flex: 1;
  width: 100%;
}

/* Контейнер для ограничения ширины контента */
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
}

/* Футер */
.footer {
  background: var(--bg-secondary);
  border-top: 1px solid var(--border-accent);
  padding: 20px;
  margin-top: auto;
  box-shadow: var(--shadow-sm);
}
.footer-content {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}
.footer-content p {
  margin: 0;
  color: var(--text-secondary);
}

/* Стили кнопок авторизации */
.auth-buttons {
  display: flex;
  align-items: center;
  gap: 16px;
}

/* Стили профиля пользователя */
.user-profile {
  position: relative;
}
.profile-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--bg-secondary);
  border: 2px solid var(--border-color);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  overflow: hidden;
  position: relative;
}
.profile-avatar:hover {
  border-color: var(--primary-color);
  transform: scale(1.05);
}
.avatar-icon {
  font-size: 20px;
}
.avatar-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}
.avatar-icon {
  font-size: 18px;
}
.profile-dropdown-menu {
  position: absolute;
  top: 100%;
  right: 0;
  background: var(--bg-card);
  border: 1px solid var(--border-primary);
  border-radius: 8px;
  padding: 8px 0;
  min-width: 180px;
  box-shadow: var(--shadow-xl);
  z-index: 1000;
  margin-top: 8px;
}
.dropdown-item {
  display: block;
  padding: 12px 16px;
  color: var(--text-secondary);
  text-decoration: none;
  font-size: 14px;
  transition: all 0.2s ease;
}
.dropdown-item:hover {
  color: var(--text-primary);
  background: rgba(16, 185, 129, 0.1);
}
.admin-link {
  color: #f59e0b;
}
.admin-link:hover {
  color: #f59e0b;
  background: rgba(245, 158, 11, 0.1);
}
.admin-icon {
  margin-right: 8px;
}
.dropdown-item.router-link-active {
  color: var(--accent-primary);
  background: rgba(16, 185, 129, 0.1);
}
.dropdown-divider {
  border: none;
  height: 1px;
  background: rgba(16, 185, 129, 0.2);
  margin: 8px 0;
}
.logout-item {
  color: #ef4444;
  border: none;
  background: none;
  width: 100%;
  text-align: left;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
}
.logout-item:hover {
  color: #dc2626;
  background: rgba(239, 68, 68, 0.1);
}
.logout-icon {
  font-size: 16px;
}

/* Бургер-меню */
.burger-menu-btn {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 4px;
  z-index: 1002;
  gap: 5px;
  position: relative;
  margin-left: 8px;
}
.burger-line {
  width: 24px;
  height: 2px;
  background: var(--text-primary);
  border-radius: 2px;
  transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transform-origin: center;
  display: block;
}
.burger-line-1-open {
  transform: rotate(45deg) translateY(7px);
}
.burger-line-2-open {
  opacity: 0;
  transform: scaleX(0);
}
.burger-line-3-open {
  transform: rotate(-45deg) translateY(-7px);
}


/* Мобильное меню */
.mobile-menu-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(8px);
  z-index: 9999;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
.menu-enter-active {
  transition: opacity 0.3s ease;
}
.menu-leave-active {
  transition: opacity 0.25s ease;
}
.menu-enter-from,
.menu-leave-to {
  opacity: 0;
}
.mobile-menu {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 100vh;
  min-height: 100vh;
  background: linear-gradient(180deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);
  overflow-y: auto;
  z-index: 10000;
  display: flex;
  flex-direction: column;
  transform: translateY(0);
  box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.15);
  overscroll-behavior: contain;
}
.menu-enter-active .mobile-menu {
  animation: slideInUp 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
.menu-leave-active .mobile-menu {
  animation: slideOutDown 0.3s cubic-bezier(0.7, 0, 0.84, 0);
}
@keyframes slideInUp {
from {
    transform: translateY(100%);
}
to {
    transform: translateY(0);
}
}
@keyframes slideOutDown {
from {
    transform: translateY(0);
}
to {
    transform: translateY(100%);
}
}
.mobile-menu-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px;
  border-bottom: 1px solid var(--border-primary);
  background: rgba(255, 255, 255, 0.02);
  backdrop-filter: blur(20px) saturate(180%);
  position: sticky;
  top: 0;
  z-index: 10;
}
.mobile-close-btn {
  background: var(--bg-tertiary);
  border: none;
  color: var(--text-primary);
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.mobile-close-btn:hover {
  background: var(--bg-card);
  transform: rotate(90deg) scale(1.05);
}
.mobile-close-btn:active {
  transform: rotate(90deg) scale(0.95);
}
.mobile-menu-content {
  padding: 24px 20px 32px;
  flex: 1;
  max-width: 100%;
}
.mobile-menu-main {
  margin-bottom: 32px;
}
.mobile-menu-subtitle {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-secondary);
  margin-bottom: 12px;
  padding: 0 4px;
}
.mobile-nav-link {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 20px;
  color: var(--text-primary);
  text-decoration: none;
  border-radius: 16px;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  margin-bottom: 12px;
  background: var(--bg-card);
  border: 1px solid var(--border-primary);
  width: 100%;
  text-align: left;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}
.mobile-nav-link::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.05), transparent);
  transition: left 0.5s ease;
}
.mobile-nav-link:hover::before {
  left: 100%;
}
.mobile-nav-link:hover {
  background: var(--bg-secondary);
  border-color: var(--accent-primary);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.15);
}
.mobile-nav-link:active {
  transform: translateY(0);
}
.mobile-nav-link.router-link-active {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.12), rgba(16, 185, 129, 0.08));
  color: var(--accent-primary);
  border-color: var(--accent-primary);
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.2);
}
.mobile-nav-icon-wrapper {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg-tertiary);
  border-radius: 12px;
  flex-shrink: 0;
  transition: all 0.25s ease;
}
.mobile-nav-link:hover .mobile-nav-icon-wrapper {
  background: rgba(16, 185, 129, 0.15);
  transform: scale(1.05);
}
.mobile-nav-icon {
  font-size: 24px;
  line-height: 1;
}
.mobile-nav-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  min-width: 0;
}
.mobile-nav-label {
  font-size: 17px;
  font-weight: 600;
  color: var(--text-primary);
  line-height: 1.3;
}
.mobile-nav-desc {
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.4;
}
.mobile-nav-arrow {
  flex-shrink: 0;
  color: var(--text-tertiary);
  transition: all 0.25s ease;
}
.mobile-nav-link:hover .mobile-nav-arrow {
  color: var(--accent-primary);
  transform: translateX(4px);
}
.menu-item-enter-active {
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.menu-item-leave-active {
  transition: all 0.25s ease;
}
.menu-item-enter-from {
  opacity: 0;
  transform: translateY(20px);
}
.menu-item-leave-to {
  opacity: 0;
  transform: translateY(-10px);
}
.mobile-auth-section {
  margin-top: 32px;
  padding-top: 32px;
  border-top: 1px solid var(--border-primary);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.mobile-logout-section {
  margin-top: 32px;
  padding-top: 32px;
  border-top: 1px solid var(--border-primary);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.mobile-btn {
  width: 100%;
  padding: 16px 24px;
  border-radius: 14px;
  font-size: 17px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  border: none;
  position: relative;
  overflow: hidden;
}
.mobile-btn::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  transform: translate(-50%, -50%);
  transition: width 0.4s ease, height 0.4s ease;
}
.mobile-btn:active::before {
  width: 300px;
  height: 300px;
}
.mobile-btn-primary {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: white;
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
}
.mobile-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(16, 185, 129, 0.4);
}
.mobile-btn-primary:active {
  transform: translateY(0);
}
.mobile-btn-text {
  background: var(--bg-card);
  color: var(--text-primary);
  border: 1.5px solid var(--border-primary);
}
.mobile-btn-text:hover {
  background: var(--bg-secondary);
  border-color: var(--accent-primary);
  transform: translateY(-1px);
}
.mobile-btn-logout {
  background: var(--bg-card);
  color: #ef4444;
  border: 1.5px solid rgba(239, 68, 68, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.mobile-btn-logout:hover {
  background: rgba(239, 68, 68, 0.1);
  border-color: rgba(239, 68, 68, 0.5);
  color: #dc2626;
  transform: translateY(-1px);
}
.mobile-btn-icon {
  font-size: 18px;
}
.mobile-user-section {
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid var(--border-primary);
}
.mobile-logout-btn {
  color: #ef4444;
  margin-top: 8px;
}
.mobile-logout-btn .mobile-nav-icon-wrapper {
  background: rgba(239, 68, 68, 0.1);
}
.mobile-logout-btn:hover {
  background: rgba(239, 68, 68, 0.08);
  border-color: rgba(239, 68, 68, 0.3);
  color: #ef4444;
}
.mobile-logout-btn:hover .mobile-nav-icon-wrapper {
  background: rgba(239, 68, 68, 0.15);
}
.mobile-logout-btn .mobile-nav-label {
  color: #ef4444;
}
.mobile-nav-link.admin-link {
  color: var(--text-primary);
}
.mobile-nav-link.admin-link .mobile-nav-icon-wrapper {
  background: rgba(245, 158, 11, 0.1);
}
.mobile-nav-link.admin-link:hover {
  background: rgba(245, 158, 11, 0.08);
  border-color: rgba(245, 158, 11, 0.3);
}
.mobile-nav-link.admin-link:hover .mobile-nav-icon-wrapper {
  background: rgba(245, 158, 11, 0.15);
}
.mobile-nav-link.admin-link .mobile-nav-label {
  color: #f59e0b;
}

/* Адаптивность для мобильных устройств */
@media (max-width: 768px) {
.header {
    padding: 0 16px;
}
.header-content {
    height: 60px;
    position: relative;
}
.logo-text {
    font-size: 20px;
}
.nav-menu {
    display: none !important;
}
.burger-menu-btn {
    display: flex !important;
}
.mobile-menu-overlay {
    display: block !important;
}
.auth-buttons {
    display: none !important;
}
.user-profile {
    display: none !important;
}
.header-actions {
    gap: 12px;
}
  
  /* Скрываем ThemeToggle на очень маленьких экранах, если нужно */
.header-actions > :first-child {
    display: flex;
}
}
@media (max-width: 480px) {
.header {
    padding: 0 12px;
}
.header-content {
    height: 56px;
}
.logo-text {
    font-size: 18px;
}
.burger-menu-btn {
    width: 28px;
    height: 28px;
    gap: 4px;
    padding: 3px;
}
.burger-line {
    width: 20px;
    height: 2px;
}
.mobile-menu-header {
    padding: 16px;
}
.mobile-menu-content {
    padding: 16px;
}
.mobile-nav-link {
    padding: 18px;
    font-size: 17px;
}
.mobile-nav-icon {
    font-size: 22px;
    width: 28px;
}
.mobile-btn {
    padding: 16px 20px;
    font-size: 17px;
}
.mobile-auth-section {
    margin-top: 28px;
    padding-top: 28px;
}
.mobile-user-section {
    margin-top: 28px;
    padding-top: 28px;
}
.mobile-close-btn {
    width: 36px;
    height: 36px;
    font-size: 28px;
}
}

.home-page[data-v-8e3df6e7] {
  background: #000000;
  color: #ffffff;
}

/* Hero Section */
.hero-section[data-v-8e3df6e7] {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 80px 20px;
  position: relative;
  background: linear-gradient(135deg, #000000 0%, #0a0a0a 100%);
}
.hero-section[data-v-8e3df6e7]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: 
    linear-gradient(rgba(16, 185, 129, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16, 185, 129, 0.08) 1px, transparent 1px);
  background-size: 50px 50px;
  mask: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.2) 30%, rgba(0,0,0,0.8) 100%);
  -webkit-mask: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.2) 30%, rgba(0,0,0,0.8) 100%);
  pointer-events: none;
}
.hero-content[data-v-8e3df6e7] {
  text-align: center;
  max-width: 800px;
  z-index: 1;
}
.hero-title[data-v-8e3df6e7] {
  font-size: 64px;
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: 24px;
  color: #ffffff;
}
.text-accent[data-v-8e3df6e7] {
  color: #10b981;
  text-shadow: 0 0 20px rgba(16, 185, 129, 0.5);
}
.hero-subtitle[data-v-8e3df6e7] {
  font-size: 20px;
  color: #a6a6a6;
  line-height: 1.6;
  margin-bottom: 40px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}
.hero-actions[data-v-8e3df6e7] {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}
.btn-primary[data-v-8e3df6e7] {
  background: #10b981;
  color: #000000;
  border: none;
  padding: 16px 32px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 0 20px rgba(16, 185, 129, 0.3);
}
.btn-primary[data-v-8e3df6e7]:hover {
  background: #00cc00;
  box-shadow: 0 0 30px rgba(16, 185, 129, 0.5);
  transform: translateY(-2px);
}
.btn-primary.large[data-v-8e3df6e7] {
  padding: 20px 40px;
  font-size: 18px;
}

/* Hero Stats */
.hero-stats[data-v-8e3df6e7] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
  margin-top: 80px;
  padding-top: 40px;
  border-top: 1px solid rgba(16, 185, 129, 0.1);
}
.stat-item[data-v-8e3df6e7] {
  text-align: center;
}
.stat-number[data-v-8e3df6e7] {
  font-size: 32px;
  font-weight: 700;
  color: #10b981;
  text-shadow: 0 0 10px rgba(16, 185, 129, 0.3);
  margin-bottom: 8px;
}
.stat-label[data-v-8e3df6e7] {
  font-size: 14px;
  color: #a6a6a6;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.btn-secondary[data-v-8e3df6e7] {
  background: transparent;
  color: #a6a6a6;
  border: 1px solid rgba(166, 166, 166, 0.3);
  padding: 16px 32px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}
.btn-secondary[data-v-8e3df6e7]:hover {
  color: #10b981;
  border-color: #10b981;
  background: rgba(16, 185, 129, 0.05);
}

/* Features Section */
.features-section[data-v-8e3df6e7] {
  padding: 120px 20px;
  background: #000000;
  position: relative;
}
.features-section[data-v-8e3df6e7]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: 
    radial-gradient(circle at 30% 70%, rgba(16, 185, 129, 0.05) 0%, transparent 50%),
    radial-gradient(circle at 70% 30%, rgba(16, 185, 129, 0.05) 0%, transparent 50%);
  pointer-events: none;
}
.container[data-v-8e3df6e7] {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.section-title[data-v-8e3df6e7] {
  font-size: 48px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 80px;
  color: #ffffff;
}
.features-grid[data-v-8e3df6e7] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 40px;
}
.feature-card[data-v-8e3df6e7] {
  background: rgba(0, 0, 0, 0.8);
  border: 1px solid rgba(16, 185, 129, 0.2);
  border-radius: 12px;
  padding: 40px;
  text-align: center;
  transition: all 0.3s ease;
  position: relative;
  backdrop-filter: blur(10px);
}
.feature-card[data-v-8e3df6e7]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #10b981, transparent);
  transform: scaleX(0);
  transition: transform 0.3s ease;
}
.feature-card[data-v-8e3df6e7]:hover::before {
  transform: scaleX(1);
}
.feature-card[data-v-8e3df6e7]:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(16, 185, 129, 0.1);
  border-color: #10b981;
}
.feature-icon[data-v-8e3df6e7] {
  font-size: 48px;
  margin-bottom: 24px;
  display: block;
}
.feature-title[data-v-8e3df6e7] {
  font-size: 24px;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 16px;
}
.feature-description[data-v-8e3df6e7] {
  font-size: 16px;
  color: #a6a6a6;
  line-height: 1.6;
}

/* Technologies Section */
.technologies-section[data-v-8e3df6e7] {
  padding: 120px 20px;
  background: linear-gradient(135deg, #0a0a0a 0%, #000000 100%);
  position: relative;
}
.technologies-section[data-v-8e3df6e7]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: 
    linear-gradient(rgba(16, 185, 129, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16, 185, 129, 0.05) 1px, transparent 1px);
  background-size: 40px 40px;
  pointer-events: none;
}
.technologies-grid[data-v-8e3df6e7] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 24px;
  max-width: 1000px;
  margin: 0 auto;
}
.tech-item[data-v-8e3df6e7] {
  background: rgba(0, 0, 0, 0.8);
  border: 1px solid rgba(16, 185, 129, 0.2);
  border-radius: 12px;
  padding: 24px;
  text-align: center;
  transition: all 0.3s ease;
  position: relative;
  backdrop-filter: blur(10px);
}
.tech-item[data-v-8e3df6e7]:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 30px rgba(16, 185, 129, 0.1);
  border-color: #10b981;
}
.tech-icon[data-v-8e3df6e7] {
  font-size: 32px;
  margin-bottom: 12px;
  display: block;
}
.tech-name[data-v-8e3df6e7] {
  font-size: 18px;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 8px;
}
.tech-level[data-v-8e3df6e7] {
  font-size: 14px;
  color: #a6a6a6;
  line-height: 1.4;
}

/* Testimonials Section */
.testimonials-section[data-v-8e3df6e7] {
  padding: 120px 20px;
  background: #000000;
  position: relative;
}
.testimonials-section[data-v-8e3df6e7]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: 
    radial-gradient(circle at 20% 50%, rgba(16, 185, 129, 0.02) 0%, transparent 50%),
    radial-gradient(circle at 80% 20%, rgba(16, 185, 129, 0.02) 0%, transparent 50%);
  pointer-events: none;
}
.testimonials-grid[data-v-8e3df6e7] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 40px;
}
.testimonial-card[data-v-8e3df6e7] {
  background: rgba(0, 0, 0, 0.8);
  border: 1px solid rgba(16, 185, 129, 0.2);
  border-radius: 12px;
  padding: 40px;
  transition: all 0.3s ease;
  position: relative;
  backdrop-filter: blur(10px);
}
.testimonial-card[data-v-8e3df6e7]:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(16, 185, 129, 0.1);
  border-color: #10b981;
}
.testimonial-text[data-v-8e3df6e7] {
  font-size: 18px;
  color: #ffffff;
  line-height: 1.6;
  margin-bottom: 24px;
  font-style: italic;
}
.testimonial-author[data-v-8e3df6e7] {
  display: flex;
  align-items: center;
  gap: 16px;
}
.author-avatar[data-v-8e3df6e7] {
  font-size: 48px;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(16, 185, 129, 0.1);
  border-radius: 50%;
  border: 1px solid rgba(16, 185, 129, 0.3);
}
.author-name[data-v-8e3df6e7] {
  font-size: 16px;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 4px;
}
.author-role[data-v-8e3df6e7] {
  font-size: 14px;
  color: #a6a6a6;
}


/* FAQ Section */
.faq-section[data-v-8e3df6e7] {
  padding: 120px 20px;
  background: #000000;
  position: relative;
}
.faq-list[data-v-8e3df6e7] {
  max-width: 800px;
  margin: 0 auto;
}
.faq-item[data-v-8e3df6e7] {
  border: 1px solid rgba(16, 185, 129, 0.2);
  border-radius: 8px;
  margin-bottom: 16px;
  overflow: hidden;
  transition: all 0.3s ease;
}
.faq-item[data-v-8e3df6e7]:hover {
  border-color: #10b981;
}
.faq-question[data-v-8e3df6e7] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px;
  cursor: pointer;
  background: rgba(0, 0, 0, 0.5);
  transition: all 0.3s ease;
}
.faq-question[data-v-8e3df6e7]:hover {
  background: rgba(16, 185, 129, 0.05);
}
.faq-question h3[data-v-8e3df6e7] {
  font-size: 18px;
  font-weight: 600;
  color: #ffffff;
  margin: 0;
}
.faq-icon[data-v-8e3df6e7] {
  font-size: 24px;
  color: #10b981;
  transition: transform 0.3s ease;
}
.faq-icon.open[data-v-8e3df6e7] {
  transform: rotate(45deg);
}
.faq-answer[data-v-8e3df6e7] {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.faq-answer.open[data-v-8e3df6e7] {
  max-height: 200px;
}
.faq-answer p[data-v-8e3df6e7] {
  padding: 0 24px 24px;
  color: #a6a6a6;
  line-height: 1.6;
  margin: 0;
}

/* CTA Section */
.cta-section[data-v-8e3df6e7] {
  padding: 120px 20px;
  background: linear-gradient(135deg, #0a0a0a 0%, #000000 100%);
  position: relative;
}
.cta-section[data-v-8e3df6e7]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: 
    linear-gradient(rgba(16, 185, 129, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16, 185, 129, 0.05) 1px, transparent 1px);
  background-size: 50px 50px;
  pointer-events: none;
}
.cta-content[data-v-8e3df6e7] {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.cta-title[data-v-8e3df6e7] {
  font-size: 48px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 24px;
}
.cta-subtitle[data-v-8e3df6e7] {
  font-size: 20px;
  color: #a6a6a6;
  line-height: 1.6;
  margin-bottom: 40px;
}

/* Responsive */
@media (max-width: 768px) {
.hero-title[data-v-8e3df6e7] {
    font-size: 48px;
}
.section-title[data-v-8e3df6e7],
  .cta-title[data-v-8e3df6e7] {
    font-size: 36px;
}
.hero-actions[data-v-8e3df6e7] {
    flex-direction: column;
    align-items: center;
}
.btn-primary[data-v-8e3df6e7],
  .btn-secondary[data-v-8e3df6e7] {
    width: 100%;
    max-width: 300px;
}
.features-grid[data-v-8e3df6e7] {
    grid-template-columns: 1fr;
    gap: 24px;
}
.feature-card[data-v-8e3df6e7] {
    padding: 32px;
}
.hero-stats[data-v-8e3df6e7] {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-top: 60px;
}
.stat-number[data-v-8e3df6e7] {
    font-size: 24px;
}
.testimonials-grid[data-v-8e3df6e7] {
    grid-template-columns: 1fr;
    gap: 24px;
}
.testimonial-card[data-v-8e3df6e7] {
    padding: 32px;
}
.pricing-grid[data-v-8e3df6e7] {
    grid-template-columns: 1fr;
    gap: 24px;
}
.pricing-card.featured[data-v-8e3df6e7] {
    transform: none;
}
.pricing-card[data-v-8e3df6e7] {
    padding: 32px;
}
.price-amount[data-v-8e3df6e7] {
    font-size: 36px;
}
.technologies-grid[data-v-8e3df6e7] {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}
.tech-item[data-v-8e3df6e7] {
    padding: 20px;
}
.tech-icon[data-v-8e3df6e7] {
    font-size: 24px;
}
.tech-name[data-v-8e3df6e7] {
    font-size: 16px;
}
.tech-level[data-v-8e3df6e7] {
    font-size: 12px;
}
}

.error-state[data-v-5a10ad9f] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  text-align: center;
}
.error-icon[data-v-5a10ad9f] {
  font-size: 48px;
  margin-bottom: 16px;
}
.error-title[data-v-5a10ad9f] {
  color: white;
  font-size: 24px;
  font-weight: 600;
  margin: 0 0 8px 0;
}
.error-message[data-v-5a10ad9f] {
  color: #a6a6a6;
  font-size: 16px;
  margin: 0 0 20px 0;
  max-width: 400px;
  line-height: 1.5;
}
.retry-btn[data-v-5a10ad9f] {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: white;
  border: none;
  padding: 12px 24px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
}
.retry-btn[data-v-5a10ad9f]:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(16, 185, 129, 0.4);
}
.retry-btn[data-v-5a10ad9f]:active {
  transform: translateY(0);
}

.loading-state[data-v-82065c93] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  text-align: center;
}
.loading-spinner[data-v-82065c93] {
  width: 40px;
  height: 40px;
  border: 3px solid rgba(16, 185, 129, 0.3);
  border-top: 3px solid #10b981;
  border-radius: 50%;
  animation: spin-82065c93 1s linear infinite;
  margin-bottom: 16px;
}
@keyframes spin-82065c93 {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
.loading-message[data-v-82065c93] {
  color: #a6a6a6;
  font-size: 16px;
  margin: 0;
}

.no-results[data-v-17e81f36] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 20px;
  text-align: center;
}
.no-results-icon[data-v-17e81f36] {
  font-size: 48px;
  margin-bottom: 16px;
}
.no-results-title[data-v-17e81f36] {
  font-size: 22px;
  font-weight: 600;
  color: white;
  margin: 0 0 8px 0;
  letter-spacing: -0.01em;
}
.no-results-message[data-v-17e81f36] {
  color: #a6a6a6;
  font-size: 16px;
  line-height: 1.5;
  margin: 0;
  max-width: 400px;
}

/* Основные стили */
.problems-page[data-v-112b4b7a] {
  min-height: 100vh;
  background: var(--bg-primary);
  color: var(--text-primary);
}
.container[data-v-112b4b7a] {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* Hero Section */
.hero-section[data-v-112b4b7a] {
  position: relative;
  padding: 80px 0 60px;
  background: var(--gradient-bg);
  overflow: hidden;
}
.hero-section[data-v-112b4b7a]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: 
    repeating-linear-gradient(
      90deg,
      transparent,
      transparent 98px,
      rgba(16, 185, 129, 0.1) 100px
    ),
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 98px,
      rgba(16, 185, 129, 0.1) 100px
    );
  mask: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.2) 30%, rgba(0,0,0,0.9) 100%);
  -webkit-mask: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.2) 30%, rgba(0,0,0,0.9) 100%);
}
.hero-content[data-v-112b4b7a] {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.hero-title[data-v-112b4b7a] {
  font-size: 48px;
  font-weight: 700;
  margin-bottom: 16px;
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.2;
}
.hero-subtitle[data-v-112b4b7a] {
  font-size: 20px;
  color: var(--text-secondary);
  line-height: 1.5;
  margin-bottom: 0;
}

/* Фильтры */
.filters-section[data-v-112b4b7a] {
  padding: 40px 0;
  background: var(--bg-secondary);
  border-bottom: 1px solid var(--border-primary);
}
.filters-row[data-v-112b4b7a] {
  display: flex;
  gap: 20px;
  align-items: center;
  flex-wrap: wrap;
}
.search-box[data-v-112b4b7a] {
  position: relative;
  flex: 1;
  min-width: 300px;
}
.search-box svg[data-v-112b4b7a] {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-muted);
  z-index: 1;
}
.search-input[data-v-112b4b7a] {
  width: 100%;
  background: var(--bg-tertiary);
  border: 1px solid var(--border-primary);
  color: var(--text-primary);
  padding: 12px 16px 12px 48px;
  border-radius: 8px;
  font-size: 14px;
  transition: all 0.3s ease;
}
.search-input[data-v-112b4b7a]:focus {
  outline: none;
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}
.search-input[data-v-112b4b7a]::placeholder {
  color: var(--text-muted);
}
.filter-group[data-v-112b4b7a] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.filter-select[data-v-112b4b7a] {
  padding: 12px 16px;
  background: var(--bg-tertiary);
  border: 1px solid var(--border-primary);
  border-radius: 8px;
  color: var(--text-primary);
  font-size: 14px;
  cursor: pointer;
  transition: all 0.3s ease;
  appearance: none;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 12px center;
  background-repeat: no-repeat;
  background-size: 16px;
  padding-right: 40px;
}
.filter-select[data-v-112b4b7a]:hover {
  border-color: var(--accent-primary);
}
.filter-select[data-v-112b4b7a]:focus {
  outline: none;
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}

/* Список задач */
.problems-list[data-v-112b4b7a] {
  padding: 60px 0;
}
.problems-grid[data-v-112b4b7a] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
  gap: 24px;
}
.problem-card[data-v-112b4b7a] {
  background: var(--bg-card);
  border: 1px solid var(--border-primary);
  border-radius: 12px;
  padding: 24px;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  display: flex;
  box-shadow: var(--shadow-sm);
  flex-direction: column;
  height: 100%;
  min-height: 280px;
}
.problem-card[data-v-112b4b7a]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gradient-primary);
  transform: scaleX(0);
  transition: transform 0.3s ease;
}
.problem-card[data-v-112b4b7a]:hover {
  transform: translateY(-4px);
  border-color: var(--accent-primary);
  box-shadow: var(--shadow-lg);
}
.problem-card[data-v-112b4b7a]:hover::before {
  transform: scaleX(1);
}
.problem-header[data-v-112b4b7a] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 16px;
  flex-shrink: 0;
}
.problem-title[data-v-112b4b7a] {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 12px;
}
.problem-icon[data-v-112b4b7a] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: var(--bg-tertiary);
  border-radius: 8px;
  flex-shrink: 0;
  border: 1px solid var(--border-primary);
  font-size: 18px;
  line-height: 1;
}
.problem-title-text[data-v-112b4b7a] {
  display: flex;
  align-items: center;
  flex: 1;
}
.problem-number[data-v-112b4b7a] {
  color: var(--accent-primary);
  font-weight: 600;
  margin-right: 8px;
}
.problem-name[data-v-112b4b7a] {
  color: var(--text-primary);
  font-weight: 600;
  font-size: 18px;
}
.difficulty-badge[data-v-112b4b7a] {
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}
.difficulty-badge.easy[data-v-112b4b7a] {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
  border: 1px solid rgba(34, 197, 94, 0.3);
}
.difficulty-badge.medium[data-v-112b4b7a] {
  background: rgba(251, 191, 36, 0.2);
  color: #fbbf24;
  border: 1px solid rgba(251, 191, 36, 0.3);
}
.difficulty-badge.hard[data-v-112b4b7a] {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
  border: 1px solid rgba(239, 68, 68, 0.3);
}
.problem-description[data-v-112b4b7a] {
  margin-bottom: 16px;
  flex-grow: 1;
}
.description-text[data-v-112b4b7a] {
  color: var(--text-secondary);
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.problem-meta[data-v-112b4b7a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  flex-shrink: 0;
}
.problem-tags[data-v-112b4b7a] {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.tag[data-v-112b4b7a] {
  background: var(--bg-tertiary);
  color: var(--accent-primary);
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 12px;
  border: 1px solid var(--border-primary);
}
.problem-languages[data-v-112b4b7a] {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.language-badge[data-v-112b4b7a] {
  background: rgba(59, 130, 246, 0.1);
  color: #3b82f6;
  padding: 3px 8px;
  border-radius: 8px;
  font-size: 11px;
  border: 1px solid rgba(59, 130, 246, 0.2);
  font-weight: 500;
}
.solved-rate[data-v-112b4b7a] {
  color: var(--text-secondary);
  font-size: 12px;
}
.problem-actions[data-v-112b4b7a] {
  display: flex;
  justify-content: flex-end;
  flex-shrink: 0;
}
.solve-btn[data-v-112b4b7a] {
  background: var(--gradient-primary);
  color: var(--text-inverse);
  border: none;
  padding: 10px 20px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: var(--shadow-md);
}
.solve-btn[data-v-112b4b7a]:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-lg);
}

/* Модальное окно */
.modal-overlay[data-v-112b4b7a] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 20px;
}
.modal-content[data-v-112b4b7a] {
  background: var(--bg-modal);
  border: 1px solid var(--border-primary);
  border-radius: 12px;
  max-width: 800px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
  box-shadow: var(--shadow-xl);
}
.modal-header[data-v-112b4b7a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px;
  border-bottom: 1px solid var(--border-primary);
}
.modal-title[data-v-112b4b7a] {
  font-size: 24px;
  font-weight: 600;
  color: var(--text-primary);
}
.close-btn[data-v-112b4b7a] {
  background: none;
  border: none;
  color: var(--text-secondary);
  font-size: 24px;
  cursor: pointer;
  padding: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  transition: all 0.3s ease;
}
.close-btn[data-v-112b4b7a]:hover {
  background: var(--bg-tertiary);
  color: var(--text-primary);
}
.modal-body[data-v-112b4b7a] {
  padding: 24px;
}
.problem-info[data-v-112b4b7a] {
  margin-bottom: 24px;
}
.problem-meta[data-v-112b4b7a] {
  display: flex;
  gap: 16px;
  align-items: center;
  margin-bottom: 16px;
}
.problem-tags[data-v-112b4b7a] {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.problem-description h3[data-v-112b4b7a],
.problem-examples h3[data-v-112b4b7a],
.problem-constraints h3[data-v-112b4b7a] {
  color: var(--text-primary);
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 12px;
}
.problem-description p[data-v-112b4b7a] {
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 20px;
}
.example[data-v-112b4b7a] {
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 16px;
}
.example-input[data-v-112b4b7a],
.example-output[data-v-112b4b7a],
.example-explanation[data-v-112b4b7a] {
  margin-bottom: 12px;
}
.example-input strong[data-v-112b4b7a],
.example-output strong[data-v-112b4b7a],
.example-explanation strong[data-v-112b4b7a] {
  color: var(--text-primary);
  display: block;
  margin-bottom: 8px;
}
.example pre[data-v-112b4b7a] {
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  border-radius: 6px;
  padding: 12px;
  color: var(--text-secondary);
  font-family: 'Monaco', 'Menlo', monospace;
  font-size: 14px;
  overflow-x: auto;
  margin: 0;
}
.example-explanation p[data-v-112b4b7a] {
  color: var(--text-secondary);
  margin: 0;
}
.problem-constraints ul[data-v-112b4b7a] {
  list-style: none;
  padding: 0;
  margin: 0;
}
.problem-constraints li[data-v-112b4b7a] {
  color: var(--text-secondary);
  padding: 4px 0;
  padding-left: 16px;
  position: relative;
}
.problem-constraints li[data-v-112b4b7a]::before {
  content: '•';
  color: var(--accent-primary);
  position: absolute;
  left: 0;
}
.modal-footer[data-v-112b4b7a] {
  padding: 24px;
  border-top: 1px solid var(--border-primary);
  display: flex;
  gap: 12px;
  justify-content: flex-end;
}
.btn-secondary[data-v-112b4b7a],
.btn-primary[data-v-112b4b7a] {
  padding: 12px 24px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  border: none;
}
.btn-secondary[data-v-112b4b7a] {
  background: transparent;
  color: var(--text-secondary);
  border: 1px solid var(--border-primary);
}
.btn-secondary[data-v-112b4b7a]:hover {
  color: var(--text-primary);
  border-color: var(--accent-primary);
}
.btn-primary[data-v-112b4b7a] {
  background: var(--gradient-primary);
  color: var(--text-inverse);
  box-shadow: var(--shadow-md);
}
.btn-primary[data-v-112b4b7a]:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-lg);
}

/* Адаптивность */
@media (max-width: 768px) {
.hero-title[data-v-112b4b7a] {
    font-size: 32px;
}
.hero-subtitle[data-v-112b4b7a] {
    font-size: 16px;
}
.filters-row[data-v-112b4b7a] {
    flex-direction: column;
    align-items: stretch;
}
.search-box[data-v-112b4b7a] {
    min-width: auto;
}
.problems-grid[data-v-112b4b7a] {
    grid-template-columns: 1fr;
}
.problem-card[data-v-112b4b7a] {
    min-height: 260px;
}
.description-text[data-v-112b4b7a] {
    font-size: 13px;
    -webkit-line-clamp: 2;
}
.modal-content[data-v-112b4b7a] {
    margin: 10px;
    max-height: calc(100vh - 20px);
}
}
@media (max-width: 480px) {
.problem-card[data-v-112b4b7a] {
    min-height: 240px;
    padding: 20px;
}
.problem-name[data-v-112b4b7a] {
    font-size: 16px;
}
.description-text[data-v-112b4b7a] {
    font-size: 12px;
    -webkit-line-clamp: 2;
}
.tag[data-v-112b4b7a] {
    font-size: 11px;
    padding: 3px 8px;
}
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-aria-container {
	position: absolute; /* try to hide from window but not from screen readers */
	left:-999em;
}/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* -------------------- IE10 remove auto clear button -------------------- */

::-ms-clear {
	display: none;
}

/* All widgets */
/* I am not a big fan of this rule */
.monaco-editor .editor-widget input {
	color: inherit;
}

/* -------------------- Editor -------------------- */

.monaco-editor {
	position: relative;
	overflow: visible;
	-webkit-text-size-adjust: 100%;
	color: var(--vscode-editor-foreground);
	background-color: var(--vscode-editor-background);
	overflow-wrap: initial;
}
.monaco-editor-background {
	background-color: var(--vscode-editor-background);
}
.monaco-editor .rangeHighlight {
	background-color: var(--vscode-editor-rangeHighlightBackground);
	box-sizing: border-box;
	border: 1px solid var(--vscode-editor-rangeHighlightBorder);
}
.monaco-editor.hc-black .rangeHighlight, .monaco-editor.hc-light .rangeHighlight {
	border-style: dotted;
}
.monaco-editor .symbolHighlight {
	background-color: var(--vscode-editor-symbolHighlightBackground);
	box-sizing: border-box;
	border: 1px solid var(--vscode-editor-symbolHighlightBorder);
}
.monaco-editor.hc-black .symbolHighlight, .monaco-editor.hc-light .symbolHighlight {
	border-style: dotted;
}

.monaco-editor .editorCanvas {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 0;
	pointer-events: none;
}

/* -------------------- Misc -------------------- */

.monaco-editor .overflow-guard {
	position: relative;
	overflow: hidden;
}

.monaco-editor .view-overlays {
	position: absolute;
	top: 0;
}

.monaco-editor .view-overlays > div, .monaco-editor .margin-view-overlays > div {
	position: absolute;
	width: 100%;
}

/*
.monaco-editor .auto-closed-character {
	opacity: 0.3;
}
*/


.monaco-editor .squiggly-error {
	border-bottom: 4px double var(--vscode-editorError-border);
}
.monaco-editor .squiggly-error::before {
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	background: var(--vscode-editorError-background);
}
.monaco-editor .squiggly-warning {
	border-bottom: 4px double var(--vscode-editorWarning-border);
}
.monaco-editor .squiggly-warning::before {
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	background: var(--vscode-editorWarning-background);
}
.monaco-editor .squiggly-info {
	border-bottom: 4px double var(--vscode-editorInfo-border);
}
.monaco-editor .squiggly-info::before {
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	background: var(--vscode-editorInfo-background);
}
.monaco-editor .squiggly-hint {
	border-bottom: 2px dotted var(--vscode-editorHint-border);
}
.monaco-editor.showUnused .squiggly-unnecessary {
	border-bottom: 2px dashed var(--vscode-editorUnnecessaryCode-border);
}
.monaco-editor.showDeprecated .squiggly-inline-deprecated {
	text-decoration: line-through;
	text-decoration-color: var(--vscode-editor-foreground, inherit);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* Arrows */
.monaco-scrollable-element > .scrollbar > .scra {
	cursor: pointer;
	font-size: 11px !important;
}

.monaco-scrollable-element > .visible {
	opacity: 1;

	/* Background rule added for IE9 - to allow clicks on dom node */
	background:rgba(0,0,0,0);

	transition: opacity 100ms linear;
	/* In front of peek view */
	z-index: 11;
}
.monaco-scrollable-element > .invisible {
	opacity: 0;
	pointer-events: none;
}
.monaco-scrollable-element > .invisible.fade {
	transition: opacity 800ms linear;
}

/* Scrollable Content Inset Shadow */
.monaco-scrollable-element > .shadow {
	position: absolute;
	display: none;
}
.monaco-scrollable-element > .shadow.top {
	display: block;
	top: 0;
	left: 3px;
	height: 3px;
	width: 100%;
	box-shadow: var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset;
}
.monaco-scrollable-element > .shadow.left {
	display: block;
	top: 3px;
	left: 0;
	height: 100%;
	width: 3px;
	box-shadow: var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset;
}
.monaco-scrollable-element > .shadow.top-left-corner {
	display: block;
	top: 0;
	left: 0;
	height: 3px;
	width: 3px;
}
.monaco-scrollable-element > .shadow.top.left {
	box-shadow: var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset;
}

.monaco-scrollable-element > .scrollbar > .slider {
	background: var(--vscode-scrollbarSlider-background);
}

.monaco-scrollable-element > .scrollbar > .slider:hover {
	background: var(--vscode-scrollbarSlider-hoverBackground);
}

.monaco-scrollable-element > .scrollbar > .slider.active {
	background: var(--vscode-scrollbarSlider-activeBackground);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .blockDecorations-container {
	position: absolute;
	top: 0;
	pointer-events: none;
}

.monaco-editor .blockDecorations-block {
	position: absolute;
	box-sizing: border-box;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .view-overlays .current-line {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	box-sizing: border-box;
	height: 100%;
}

.monaco-editor .margin-view-overlays .current-line {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	box-sizing: border-box;
	height: 100%;
}

.monaco-editor
	.margin-view-overlays
	.current-line.current-line-margin.current-line-margin-both {
	border-right: 0;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/*
	Keeping name short for faster parsing.
	cdr = core decorations rendering (div)
*/
.monaco-editor .lines-content .cdr {
	position: absolute;
	height: 100%;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .glyph-margin {
	position: absolute;
	top: 0;
}

/*
	Keeping name short for faster parsing.
	cgmr = core glyph margin rendering (div)
*/
.monaco-editor .glyph-margin-widgets .cgmr {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
}

/*
	Ensure spinning icons are pixel-perfectly centered and avoid wobble.
	This is only applied to icons that spin to avoid unnecessary
	GPU layers and blurry subpixel AA.
*/
.monaco-editor .glyph-margin-widgets .cgmr.codicon-modifier-spin::before  {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .lines-content .core-guide {
	position: absolute;
	box-sizing: border-box;
	height: 100%;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .margin-view-overlays .line-numbers {
	bottom: 0;
	font-variant-numeric: tabular-nums;
	position: absolute;
	text-align: right;
	display: inline-block;
	vertical-align: middle;
	box-sizing: border-box;
	cursor: default;
}

.monaco-editor .relative-current-line-number {
	text-align: left;
	display: inline-block;
	width: 100%;
}

.monaco-editor .margin-view-overlays .line-numbers.lh-odd {
	margin-top: 1px;
}

.monaco-editor .line-numbers {
	color: var(--vscode-editorLineNumber-foreground);
}

.monaco-editor .line-numbers.active-line-number {
	color: var(--vscode-editorLineNumber-activeForeground);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-mouse-cursor-text {
	cursor: text;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* Uncomment to see lines flashing when they're painted */
/*.monaco-editor .view-lines > .view-line {
	background-color: none;
	animation-name: flash-background;
	animation-duration: 800ms;
}
@keyframes flash-background {
	0%   { background-color: lightgreen; }
	100% { background-color: none }
}*/

.mtkcontrol {
	color: rgb(255, 255, 255) !important;
	background: rgb(150, 0, 0) !important;
}

.mtkoverflow {
	background-color: var(--vscode-button-background, var(--vscode-editor-background));
	color: var(--vscode-button-foreground, var(--vscode-editor-foreground));
	border-width: 1px;
	border-style: solid;
	border-color: var(--vscode-contrastBorder);
	border-radius: 2px;
	padding: 4px;
	cursor: pointer;
}
.mtkoverflow:hover {
	background-color: var(--vscode-button-hoverBackground);
}

.monaco-editor.no-user-select .lines-content,
.monaco-editor.no-user-select .view-line,
.monaco-editor.no-user-select .view-lines {
	user-select: none;
	-webkit-user-select: none;
}
/* Use user-select: text for lookup feature on macOS */
/* https://github.com/microsoft/vscode/issues/85632 */
.monaco-editor.mac .lines-content:hover,
.monaco-editor.mac .view-line:hover,
.monaco-editor.mac .view-lines:hover {
	user-select: text;
	-webkit-user-select: text;
	-ms-user-select: text;
}

.monaco-editor.enable-user-select {
	user-select: initial;
	-webkit-user-select: initial;
}

.monaco-editor .view-lines {
	white-space: nowrap;
}

.monaco-editor .view-line {
	box-sizing: border-box;
	position: absolute;
	width: 100%;
}

/* There are view-lines in view-zones. We have to make sure this rule does not apply to them, as they don't set a line height */
.monaco-editor .lines-content > .view-lines > .view-line > span {
	top: 0;
	bottom: 0;
	position: absolute;
}

.monaco-editor .mtkw {
	color: var(--vscode-editorWhitespace-foreground) !important;
}

.monaco-editor .mtkz {
	display: inline-block;
	color: var(--vscode-editorWhitespace-foreground) !important;
}

/* TODO@tokenization bootstrap fix */
/*.monaco-editor .view-line > span > span {
	float: none;
	min-height: inherit;
	margin-left: inherit;
}*/
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
.monaco-editor .lines-decorations {
	position: absolute;
	top: 0;
	background: white;
}

/*
	Keeping name short for faster parsing.
	cldr = core lines decorations rendering (div)
*/
.monaco-editor .margin-view-overlays .cldr {
	position: absolute;
	height: 100%;
}/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .margin {
	background-color: var(--vscode-editorGutter-background);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/*
	Keeping name short for faster parsing.
	cmdr = core margin decorations rendering (div)
*/
.monaco-editor .margin-view-overlays .cmdr {
	position: absolute;
	left: 0;
	width: 100%;
	height: 100%;
}/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* START cover the case that slider is visible on mouseover */
.monaco-editor .minimap.slider-mouseover .minimap-slider {
	opacity: 0;
	transition: opacity 100ms linear;
}
.monaco-editor .minimap.slider-mouseover:hover .minimap-slider {
	opacity: 1;
}
.monaco-editor .minimap.slider-mouseover .minimap-slider.active {
	opacity: 1;
}
/* END cover the case that slider is visible on mouseover */
.monaco-editor .minimap-slider .minimap-slider-horizontal {
	background: var(--vscode-minimapSlider-background);
}
.monaco-editor .minimap-slider:hover .minimap-slider-horizontal {
	background: var(--vscode-minimapSlider-hoverBackground);
}
.monaco-editor .minimap-slider.active .minimap-slider-horizontal {
	background: var(--vscode-minimapSlider-activeBackground);
}
.monaco-editor .minimap-shadow-visible {
	box-shadow: var(--vscode-scrollbar-shadow) -6px 0 6px -6px inset;
}
.monaco-editor .minimap-shadow-hidden {
	position: absolute;
	width: 0;
}
.monaco-editor .minimap-shadow-visible {
	position: absolute;
	left: -6px;
	width: 6px;
	pointer-events: none;
}
.monaco-editor.no-minimap-shadow .minimap-shadow-visible {
	position: absolute;
	left: -1px;
	width: 1px;
}

/* 0.5s fade in/out for the minimap */
.minimap.minimap-autohide-mouseover,
.minimap.minimap-autohide-scroll {
	opacity: 0;
	transition: opacity 0.5s;
}
.minimap.minimap-autohide-scroll{
	pointer-events: none;
}
.minimap.minimap-autohide-mouseover:hover,
.minimap.minimap-autohide-scroll.active {
	opacity: 1;
	pointer-events: auto;
}

.monaco-editor .minimap {
	z-index: 5;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
.monaco-editor .overlayWidgets {
	position: absolute;
	top: 0;
	left:0;
}/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .view-ruler {
	position: absolute;
	top: 0;
	box-shadow: 1px 0 0 0 var(--vscode-editorRuler-foreground) inset;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .scroll-decoration {
	position: absolute;
	top: 0;
	left: 0;
	height: 6px;
	box-shadow: var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/*
	Keeping name short for faster parsing.
	cslr = core selections layer rendering (div)
*/
.monaco-editor .lines-content .cslr {
	position: absolute;
}

.monaco-editor .focused .selected-text {
	background-color: var(--vscode-editor-selectionBackground);
}

.monaco-editor .selected-text {
	background-color: var(--vscode-editor-inactiveSelectionBackground);
}

.monaco-editor			.top-left-radius		{ border-top-left-radius: 3px; }
.monaco-editor			.bottom-left-radius		{ border-bottom-left-radius: 3px; }
.monaco-editor			.top-right-radius		{ border-top-right-radius: 3px; }
.monaco-editor			.bottom-right-radius	{ border-bottom-right-radius: 3px; }

.monaco-editor.hc-black .top-left-radius		{ border-top-left-radius: 0; }
.monaco-editor.hc-black .bottom-left-radius		{ border-bottom-left-radius: 0; }
.monaco-editor.hc-black .top-right-radius		{ border-top-right-radius: 0; }
.monaco-editor.hc-black .bottom-right-radius	{ border-bottom-right-radius: 0; }

.monaco-editor.hc-light .top-left-radius		{ border-top-left-radius: 0; }
.monaco-editor.hc-light .bottom-left-radius		{ border-bottom-left-radius: 0; }
.monaco-editor.hc-light .top-right-radius		{ border-top-right-radius: 0; }
.monaco-editor.hc-light .bottom-right-radius	{ border-bottom-right-radius: 0; }
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
.monaco-editor .cursors-layer {
	position: absolute;
	top: 0;
}

.monaco-editor .cursors-layer > .cursor {
	position: absolute;
	overflow: hidden;
	box-sizing: border-box;
}

/* -- smooth-caret-animation -- */
.monaco-editor .cursors-layer.cursor-smooth-caret-animation > .cursor {
	transition: all 80ms;
}

/* -- block-outline-style -- */
.monaco-editor .cursors-layer.cursor-block-outline-style > .cursor {
	background: transparent !important;
	border-style: solid;
	border-width: 1px;
}

/* -- underline-style -- */
.monaco-editor .cursors-layer.cursor-underline-style > .cursor {
	border-bottom-width: 2px;
	border-bottom-style: solid;
	background: transparent !important;
}

/* -- underline-thin-style -- */
.monaco-editor .cursors-layer.cursor-underline-thin-style > .cursor {
	border-bottom-width: 1px;
	border-bottom-style: solid;
	background: transparent !important;
}

@keyframes monaco-cursor-smooth {
	0%,
	20% {
		opacity: 1;
	}
	60%,
	100% {
		opacity: 0;
	}
}

@keyframes monaco-cursor-phase {
	0%,
	20% {
		opacity: 1;
	}
	90%,
	100% {
		opacity: 0;
	}
}

@keyframes monaco-cursor-expand {
	0%,
	20% {
		transform: scaleY(1);
	}
	80%,
	100% {
		transform: scaleY(0);
	}
}

.cursor-smooth {
	animation: monaco-cursor-smooth 0.5s ease-in-out 0s 20 alternate;
}

.cursor-phase {
	animation: monaco-cursor-phase 0.5s ease-in-out 0s 20 alternate;
}

.cursor-expand > .cursor {
	animation: monaco-cursor-expand 0.5s ease-in-out 0s 20 alternate;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .mwh {
	position: absolute;
	color: var(--vscode-editorWhitespace-foreground) !important;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .monaco-decoration-css-rule-extractor {
	visibility: hidden;
	pointer-events: none;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .inputarea {
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0;
	position: absolute;
	outline: none !important;
	resize: none;
	border: none;
	overflow: hidden;
	color: transparent;
	background-color: transparent;
	z-index: -10;
}
/*.monaco-editor .inputarea {
	position: fixed !important;
	width: 800px !important;
	height: 500px !important;
	top: initial !important;
	left: initial !important;
	bottom: 0 !important;
	right: 0 !important;
	color: black !important;
	background: white !important;
	line-height: 15px !important;
	font-size: 14px !important;
	z-index: 10 !important;
}*/
.monaco-editor .inputarea.ime-input {
	z-index: 10;
	caret-color: var(--vscode-editorCursor-foreground);
	color: var(--vscode-editor-foreground);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .native-edit-context {
	margin: 0;
	padding: 0;
	position: absolute;
	overflow-y: scroll;
	scrollbar-width: none;
	z-index: -10;
	white-space: pre-wrap;
}

.monaco-editor .ime-text-area {
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0;
	position: absolute;
	outline: none !important;
	resize: none;
	border: none;
	overflow: hidden;
	color: transparent;
	background-color: transparent;
	z-index: -10;
}

.monaco-editor .edit-context-composition-none {
	background-color: transparent;
	border-bottom: none;
}

.monaco-editor :not(.hc-black, .hc-light) .edit-context-composition-secondary {
	border-bottom: 1px solid var(--vscode-editor-compositionBorder);
}

.monaco-editor :not(.hc-black, .hc-light) .edit-context-composition-primary {
	border-bottom: 2px solid var(--vscode-editor-compositionBorder);
}

.monaco-editor :is(.hc-black, .hc-light) .edit-context-composition-secondary {
	border: 1px solid var(--vscode-editor-compositionBorder);
}

.monaco-editor :is(.hc-black, .hc-light) .edit-context-composition-primary {
	border: 2px solid var(--vscode-editor-compositionBorder);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .margin-view-overlays .gpu-mark {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	display: inline-block;
	border-left: solid 2px var(--vscode-editorWarning-foreground);
	opacity: 0.2;
	transition: background-color 0.1s linear;
}

.monaco-editor .margin-view-overlays .gpu-mark:hover {
	background-color: var(--vscode-editorWarning-foreground)
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-select-box {
	width: 100%;
	cursor: pointer;
	border-radius: 2px;
}

.monaco-select-box-dropdown-container {
	font-size: 13px;
	font-weight: normal;
	text-transform: none;
}

/** Actions */

.monaco-action-bar .action-item.select-container {
	cursor: default;
}

.monaco-action-bar .action-item .monaco-select-box {
	cursor: pointer;
	min-width: 100px;
	min-height: 18px;
	padding: 2px 23px 2px 8px;
}

.mac .monaco-action-bar .action-item .monaco-select-box {
	font-size: 11px;
	border-radius: 3px;
	min-height: 24px;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-list {
	position: relative;
	height: 100%;
	width: 100%;
	white-space: nowrap;
}

.monaco-list.mouse-support {
	user-select: none;
	-webkit-user-select: none;
}

.monaco-list > .monaco-scrollable-element {
	height: 100%;
}

.monaco-list-rows {
	position: relative;
	width: 100%;
	height: 100%;
}

.monaco-list.horizontal-scrolling .monaco-list-rows {
	width: auto;
	min-width: 100%;
}

.monaco-list-row {
	position: absolute;
	box-sizing: border-box;
	overflow: hidden;
	width: 100%;
}

.monaco-list.mouse-support .monaco-list-row {
	cursor: pointer;
	touch-action: none;
}

/* Make sure the scrollbar renders above overlays (sticky scroll) */
.monaco-list .monaco-scrollable-element > .scrollbar.vertical,
.monaco-pane-view > .monaco-split-view2.vertical > .monaco-scrollable-element > .scrollbar.vertical {
	z-index: 14;
}

/* for OS X ballistic scrolling */
.monaco-list-row.scrolling {
	display: none !important;
}

/* Focus */
.monaco-list.element-focused,
.monaco-list.selection-single,
.monaco-list.selection-multiple {
	outline: 0 !important;
}

/* Filter */

.monaco-list-type-filter-message {
	position: absolute;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	padding: 40px 1em 1em 1em;
	text-align: center;
	white-space: normal;
	opacity: 0.7;
	pointer-events: none;
}

.monaco-list-type-filter-message:empty {
	display: none;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-drag-image {
	display: inline-block;
	padding: 1px 7px;
	border-radius: 10px;
	font-size: 12px;
	position: absolute;
	z-index: 1000;

	/* Default styles */
	background-color: var(--vscode-list-activeSelectionBackground);
	color: var(--vscode-list-activeSelectionForeground);
	outline: 1px solid var(--vscode-list-focusOutline);
	outline-offset: -1px;

	/*
	 * Browsers apply an effect to the drag image when the div becomes too
	 * large which makes them unreadable. Use max width so it does not happen
	 */
	max-width: 120px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* Use custom CSS vars to expose padding into parent select for padding calculation */
.monaco-select-box-dropdown-padding {
	--dropdown-padding-top: 1px;
	--dropdown-padding-bottom: 1px;
}

.hc-black .monaco-select-box-dropdown-padding,
.hc-light .monaco-select-box-dropdown-padding {
	--dropdown-padding-top: 3px;
	--dropdown-padding-bottom: 4px;
}

.monaco-select-box-dropdown-container {
	display: none;
	box-sizing:	border-box;
}

.monaco-select-box-dropdown-container > .select-box-details-pane > .select-box-description-markdown * {
	margin: 0;
}

.monaco-select-box-dropdown-container > .select-box-details-pane > .select-box-description-markdown a:focus {
	outline: 1px solid -webkit-focus-ring-color;
	outline-offset: -1px;
}

.monaco-select-box-dropdown-container > .select-box-details-pane > .select-box-description-markdown code {
	line-height: 15px; /** For some reason, this is needed, otherwise <code> will take up 20px height */
	font-family: var(--monaco-monospace-font);
}


.monaco-select-box-dropdown-container.visible {
	display: flex;
	flex-direction: column;
	text-align: left;
	width: 1px;
	overflow: hidden;
	border-bottom-left-radius: 3px;
	border-bottom-right-radius: 3px;
}

.monaco-select-box-dropdown-container > .select-box-dropdown-list-container {
	flex: 0 0 auto;
	align-self: flex-start;
	padding-top: var(--dropdown-padding-top);
	padding-bottom: var(--dropdown-padding-bottom);
	padding-left: 1px;
	padding-right: 1px;
	width: 100%;
	overflow: hidden;
	box-sizing:	border-box;
}

.monaco-select-box-dropdown-container > .select-box-details-pane {
	padding: 5px;
}

.hc-black .monaco-select-box-dropdown-container > .select-box-dropdown-list-container {
	padding-top: var(--dropdown-padding-top);
	padding-bottom: var(--dropdown-padding-bottom);
}

.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row {
	cursor: pointer;
}

.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .option-text {
	text-overflow: ellipsis;
	overflow: hidden;
	padding-left: 3.5px;
	white-space: nowrap;
	float: left;
}

.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .option-detail {
	text-overflow: ellipsis;
	overflow: hidden;
	padding-left: 3.5px;
	white-space: nowrap;
	float: left;
	opacity: 0.7;
}

.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .option-decorator-right {
	text-overflow: ellipsis;
	overflow: hidden;
	padding-right: 10px;
	white-space: nowrap;
	float: right;
}


/* Accepted CSS hiding technique for accessibility reader text  */
/* https://webaim.org/techniques/css/invisiblecontent/ */

.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .visually-hidden {
		position: absolute;
		left: -10000px;
		top: auto;
		width: 1px;
		height: 1px;
		overflow: hidden;
}

.monaco-select-box-dropdown-container > .select-box-dropdown-container-width-control {
	flex: 1 1 auto;
	align-self: flex-start;
	opacity: 0;
}

.monaco-select-box-dropdown-container > .select-box-dropdown-container-width-control > .width-control-div {
	overflow: hidden;
	max-height: 0px;
}

.monaco-select-box-dropdown-container > .select-box-dropdown-container-width-control > .width-control-div > .option-text-width-control {
	padding-left: 4px;
	padding-right: 8px;
	white-space: nowrap;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-action-bar {
	white-space: nowrap;
	height: 100%;
}

.monaco-action-bar .actions-container {
	display: flex;
	margin: 0 auto;
	padding: 0;
	height: 100%;
	width: 100%;
	align-items: center;
}

.monaco-action-bar.vertical .actions-container {
	display: inline-block;
}

.monaco-action-bar .action-item {
	display: block;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	position: relative;  /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */
}

.monaco-action-bar .action-item.disabled {
	cursor: default;
}

.monaco-action-bar .action-item .icon,
.monaco-action-bar .action-item .codicon {
	display: block;
}

.monaco-action-bar .action-item .codicon {
	display: flex;
	align-items: center;
	width: 16px;
	height: 16px;
}

.monaco-action-bar .action-label {
	display: flex;
	font-size: 11px;
	padding: 3px;
	border-radius: 5px;
}

.monaco-action-bar .action-item.disabled .action-label:not(.icon) ,
.monaco-action-bar .action-item.disabled .action-label:not(.icon)::before,
.monaco-action-bar .action-item.disabled .action-label:not(.icon):hover {
	color: var(--vscode-disabledForeground);
}

/* Unable to change color of SVGs, hence opacity is used */
.monaco-action-bar .action-item.disabled .action-label.icon ,
.monaco-action-bar .action-item.disabled .action-label.icon::before,
.monaco-action-bar .action-item.disabled .action-label.icon:hover {
	opacity: 0.6;
}

/* Vertical actions */

.monaco-action-bar.vertical {
	text-align: left;
}

.monaco-action-bar.vertical .action-item {
	display: block;
}

.monaco-action-bar.vertical .action-label.separator {
	display: block;
	border-bottom: 1px solid var(--vscode-disabledForeground);
	padding-top: 1px;
	margin-left: .8em;
	margin-right: .8em;
}

.monaco-action-bar .action-item .action-label.separator {
	width: 1px;
	height: 16px;
	margin: 5px 4px !important;
	cursor: default;
	min-width: 1px;
	padding: 0;
	background-color: var(--vscode-disabledForeground);
}

.secondary-actions .monaco-action-bar .action-label {
	margin-left: 6px;
}

/* Action Items */
.monaco-action-bar .action-item.select-container {
	overflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */
	flex: 1;
	max-width: 170px;
	min-width: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 10px;
}

.monaco-action-bar .action-item.action-dropdown-item {
	display: flex;
}

.monaco-action-bar .action-item.action-dropdown-item > .action-dropdown-item-separator {
	display: flex;
	align-items: center;
	cursor: default;
}

.monaco-action-bar .action-item.action-dropdown-item > .action-dropdown-item-separator > div {
	width: 1px;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-diff-editor .diff-review {
	position: absolute;

}

.monaco-component.diff-review {
	user-select: none;
	-webkit-user-select: none;
	z-index: 99;


	.diff-review-line-number {
		text-align: right;
		display: inline-block;
		color: var(--vscode-editorLineNumber-foreground);
	}

	.diff-review-summary {
		padding-left: 10px;
	}

	.diff-review-shadow {
		position: absolute;
		box-shadow: var(--vscode-scrollbar-shadow) 0 -6px 6px -6px inset;
	}

	.diff-review-row {
		white-space: pre;
	}

	.diff-review-table {
		display: table;
		min-width: 100%;
	}

	.diff-review-row {
		display: table-row;
		width: 100%;
	}

	.diff-review-spacer {
		display: inline-block;
		width: 10px;
		vertical-align: middle;
	}

	.diff-review-spacer > .codicon {
		font-size: 9px !important;
	}

	.diff-review-actions {
		display: inline-block;
		position: absolute;
		right: 10px;
		top: 2px;
		z-index: 100;
	}

	.diff-review-actions .action-label {
		width: 16px;
		height: 16px;
		margin: 2px 0;
	}

	.revertButton {
		cursor: pointer;
	}

	.action-label {
		background: var(--vscode-editorActionList-background);
	}
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

:root {
	--vscode-sash-size: 4px;
	--vscode-sash-hover-size: 4px;
}

.monaco-sash {
	position: absolute;
	z-index: 35;
	touch-action: none;
}

.monaco-sash.disabled {
	pointer-events: none;
}

.monaco-sash.mac.vertical {
	cursor: col-resize;
}

.monaco-sash.vertical.minimum {
	cursor: e-resize;
}

.monaco-sash.vertical.maximum {
	cursor: w-resize;
}

.monaco-sash.mac.horizontal {
	cursor: row-resize;
}

.monaco-sash.horizontal.minimum {
	cursor: s-resize;
}

.monaco-sash.horizontal.maximum {
	cursor: n-resize;
}

.monaco-sash.disabled {
	cursor: default !important;
	pointer-events: none !important;
}

.monaco-sash.vertical {
	cursor: ew-resize;
	top: 0;
	width: var(--vscode-sash-size);
	height: 100%;
}

.monaco-sash.horizontal {
	cursor: ns-resize;
	left: 0;
	width: 100%;
	height: var(--vscode-sash-size);
}

.monaco-sash:not(.disabled) > .orthogonal-drag-handle {
	content: " ";
	height: calc(var(--vscode-sash-size) * 2);
	width: calc(var(--vscode-sash-size) * 2);
	z-index: 100;
	display: block;
	cursor: all-scroll;
	position: absolute;
}

.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)
	> .orthogonal-drag-handle.start,
.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)
	> .orthogonal-drag-handle.end {
	cursor: nwse-resize;
}

.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)
	> .orthogonal-drag-handle.end,
.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)
	> .orthogonal-drag-handle.start {
	cursor: nesw-resize;
}

.monaco-sash.vertical > .orthogonal-drag-handle.start {
	left: calc(var(--vscode-sash-size) * -0.5);
	top: calc(var(--vscode-sash-size) * -1);
}
.monaco-sash.vertical > .orthogonal-drag-handle.end {
	left: calc(var(--vscode-sash-size) * -0.5);
	bottom: calc(var(--vscode-sash-size) * -1);
}
.monaco-sash.horizontal > .orthogonal-drag-handle.start {
	top: calc(var(--vscode-sash-size) * -0.5);
	left: calc(var(--vscode-sash-size) * -1);
}
.monaco-sash.horizontal > .orthogonal-drag-handle.end {
	top: calc(var(--vscode-sash-size) * -0.5);
	right: calc(var(--vscode-sash-size) * -1);
}

.monaco-sash:before {
	content: '';
	pointer-events: none;
	position: absolute;
	width: 100%;
	height: 100%;
	background: transparent;
}

.monaco-workbench:not(.reduce-motion) .monaco-sash:before {
	transition: background-color 0.1s ease-out;
}

.monaco-sash.hover:before,
.monaco-sash.active:before {
	background: var(--vscode-sash-hoverBorder);
}

.monaco-sash.vertical:before {
	width: var(--vscode-sash-hover-size);
	left: calc(50% - (var(--vscode-sash-hover-size) / 2));
}

.monaco-sash.horizontal:before {
	height: var(--vscode-sash-hover-size);
	top: calc(50% - (var(--vscode-sash-hover-size) / 2));
}

.pointer-events-disabled {
	pointer-events: none !important;
}

/** Debug **/

.monaco-sash.debug {
	background: cyan;
}

.monaco-sash.debug.disabled {
	background: rgba(0, 255, 255, 0.2);
}

.monaco-sash.debug:not(.disabled) > .orthogonal-drag-handle {
	background: red;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-dropdown {
	height: 100%;
	padding: 0;
}

.monaco-dropdown > .dropdown-label {
	cursor: pointer;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.monaco-dropdown > .dropdown-label > .action-label.disabled {
	cursor: default;
}

.monaco-dropdown-with-primary {
	display: flex !important;
	flex-direction: row;
	border-radius: 5px;
}

.monaco-dropdown-with-primary > .action-container > .action-label {
	margin-right: 0;
}

.monaco-dropdown-with-primary > .dropdown-action-container > .monaco-dropdown > .dropdown-label .codicon[class*='codicon-'] {
	font-size: 12px;
	padding-left: 0px;
	padding-right: 0px;
	line-height: 16px;
	margin-left: -3px;
}

.monaco-dropdown-with-primary > .dropdown-action-container > .monaco-dropdown > .dropdown-label > .action-label {
	display: block;
	background-size: 16px;
	background-position: center center;
	background-repeat: no-repeat;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-toolbar {
	height: 100%;
}

.monaco-toolbar .toolbar-toggle-more {
	display: inline-block;
	padding: 0;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-action-bar .action-item.menu-entry .action-label.icon {
	width: 16px;
	height: 16px;
	background-repeat: no-repeat;
	background-position: 50%;
	background-size: 16px;
}

.monaco-action-bar .action-item.menu-entry.text-only .action-label {
	color: var(--vscode-descriptionForeground);
	overflow: hidden;
	border-radius: 2px;
}

.monaco-action-bar .action-item.menu-entry.text-only.use-comma:not(:last-of-type) .action-label::after {
	content: ', ';
}

.monaco-action-bar .action-item.menu-entry.text-only + .action-item:not(.text-only) > .monaco-dropdown .action-label {
	color: var(--vscode-descriptionForeground);
}

.monaco-dropdown-with-default {
	display: flex !important;
	flex-direction: row;
	border-radius: 5px;
}

.monaco-dropdown-with-default > .action-container > .action-label {
	margin-right: 0;
}

.monaco-dropdown-with-default > .action-container.menu-entry > .action-label.icon {
	width: 16px;
	height: 16px;
	background-repeat: no-repeat;
	background-position: 50%;
	background-size: 16px;
}

.monaco-dropdown-with-default:hover {
	background-color: var(--vscode-toolbar-hoverBackground);
}

.monaco-dropdown-with-default > .dropdown-action-container > .monaco-dropdown > .dropdown-label .codicon[class*='codicon-'] {
	font-size: 12px;
	padding-left: 0px;
	padding-right: 0px;
	line-height: 16px;
	margin-left: -3px;
}

.monaco-dropdown-with-default > .dropdown-action-container > .monaco-dropdown > .dropdown-label > .action-label {
	display: block;
	background-size: 16px;
	background-position: center center;
	background-repeat: no-repeat;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .diff-hidden-lines-widget {
	width: 100%;
}

.monaco-editor .diff-hidden-lines {
	height: 0px; /* The children each have a fixed height, the transform confuses the browser */
	transform: translate(0px, -10px);
	font-size: 13px;
	line-height: 14px;
}

.monaco-editor .diff-hidden-lines:not(.dragging) .top:hover,
.monaco-editor .diff-hidden-lines:not(.dragging) .bottom:hover,
.monaco-editor .diff-hidden-lines .top.dragging,
.monaco-editor .diff-hidden-lines .bottom.dragging {
	background-color: var(--vscode-focusBorder);
}

.monaco-editor .diff-hidden-lines .top,
.monaco-editor .diff-hidden-lines .bottom {
	transition: background-color 0.1s ease-out;
	height: 4px;
	background-color: transparent;
	background-clip: padding-box;
	border-bottom: 2px solid transparent;
	border-top: 4px solid transparent;
	/*cursor: n-resize;*/
}

.monaco-editor.draggingUnchangedRegion.canMoveTop:not(.canMoveBottom) *,
.monaco-editor .diff-hidden-lines .top.canMoveTop:not(.canMoveBottom),
.monaco-editor .diff-hidden-lines .bottom.canMoveTop:not(.canMoveBottom) {
	cursor: n-resize !important;
}

.monaco-editor.draggingUnchangedRegion:not(.canMoveTop).canMoveBottom *,
.monaco-editor .diff-hidden-lines .top:not(.canMoveTop).canMoveBottom,
.monaco-editor .diff-hidden-lines .bottom:not(.canMoveTop).canMoveBottom {
	cursor: s-resize !important;
}

.monaco-editor.draggingUnchangedRegion.canMoveTop.canMoveBottom *,
.monaco-editor .diff-hidden-lines .top.canMoveTop.canMoveBottom,
.monaco-editor .diff-hidden-lines .bottom.canMoveTop.canMoveBottom {
	cursor: ns-resize !important;
}

.monaco-editor .diff-hidden-lines .top {
	transform: translate(0px, 4px);
}

.monaco-editor .diff-hidden-lines .bottom {
	transform: translate(0px, -6px);
}

.monaco-editor .diff-unchanged-lines {
	background: var(--vscode-diffEditor-unchangedCodeBackground);
}

.monaco-editor .noModificationsOverlay {
	z-index: 1;
	background: var(--vscode-editor-background);

	display: flex;
	justify-content: center;
	align-items: center;
}


.monaco-editor .diff-hidden-lines .center {
	background: var(--vscode-diffEditor-unchangedRegionBackground);
	color: var(--vscode-diffEditor-unchangedRegionForeground);
	overflow: hidden;
	display: block;
	text-overflow: ellipsis;
	white-space: nowrap;

	height: 24px;
	box-shadow: inset 0 -5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow), inset 0 5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow);
}

.monaco-editor .diff-hidden-lines .center span.codicon {
	vertical-align: middle;
}

.monaco-editor .diff-hidden-lines .center a:hover .codicon {
	cursor: pointer;
	color: var(--vscode-editorLink-activeForeground) !important;
}

.monaco-editor .diff-hidden-lines div.breadcrumb-item {
	cursor: pointer;
}

.monaco-editor .diff-hidden-lines div.breadcrumb-item:hover {
	color: var(--vscode-editorLink-activeForeground);
}

.monaco-editor .movedOriginal {
	border: 2px solid var(--vscode-diffEditor-move-border);
}

.monaco-editor .movedModified {
	border: 2px solid var(--vscode-diffEditor-move-border);
}

.monaco-editor .movedOriginal.currentMove, .monaco-editor .movedModified.currentMove {
	border: 2px solid var(--vscode-diffEditor-moveActive-border);
}

.monaco-diff-editor .moved-blocks-lines path.currentMove {
	stroke: var(--vscode-diffEditor-moveActive-border);
}

.monaco-diff-editor .moved-blocks-lines path {
	pointer-events: visiblestroke;
}

.monaco-diff-editor .moved-blocks-lines .arrow {
	fill: var(--vscode-diffEditor-move-border);
}

.monaco-diff-editor .moved-blocks-lines .arrow.currentMove {
	fill: var(--vscode-diffEditor-moveActive-border);
}

.monaco-diff-editor .moved-blocks-lines .arrow-rectangle {
	fill: var(--vscode-editor-background);
}

.monaco-diff-editor .moved-blocks-lines {
	position: absolute;
	pointer-events: none;
}

.monaco-diff-editor .moved-blocks-lines path {
	fill: none;
	stroke: var(--vscode-diffEditor-move-border);
	stroke-width: 2;
}

.monaco-editor .char-delete.diff-range-empty {
	margin-left: -1px;
	border-left: solid var(--vscode-diffEditor-removedTextBackground) 3px;
}

.monaco-editor .char-insert.diff-range-empty {
	border-left: solid var(--vscode-diffEditor-insertedTextBackground) 3px;
}

.monaco-editor .fold-unchanged {
	cursor: pointer;
}

.monaco-diff-editor .diff-moved-code-block {
	display: flex;
	justify-content: flex-end;
	margin-top: -4px;
}

.monaco-diff-editor .diff-moved-code-block .action-bar .action-label.codicon {
	width: 12px;
	height: 12px;
	font-size: 12px;
}

/* ---------- DiffEditor ---------- */

.monaco-diff-editor .diffOverview {
	z-index: 9;
}

.monaco-diff-editor .diffOverview .diffViewport {
	z-index: 10;
}

/* colors not externalized: using transparancy on background */
.monaco-diff-editor.vs			.diffOverview { background: rgba(0, 0, 0, 0.03); }
.monaco-diff-editor.vs-dark		.diffOverview { background: rgba(255, 255, 255, 0.01); }

.monaco-scrollable-element.modified-in-monaco-diff-editor.vs		.scrollbar { background: rgba(0,0,0,0); }
.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark	.scrollbar { background: rgba(0,0,0,0); }
.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black	.scrollbar { background: none; }
.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-light	.scrollbar { background: none; }

.monaco-scrollable-element.modified-in-monaco-diff-editor .slider {
	z-index: 10;
}
.modified-in-monaco-diff-editor				.slider.active { background: rgba(171, 171, 171, .4); }
.modified-in-monaco-diff-editor.hc-black	.slider.active { background: none; }
.modified-in-monaco-diff-editor.hc-light	.slider.active { background: none; }

/* ---------- Diff ---------- */

.monaco-editor .insert-sign,
.monaco-diff-editor .insert-sign,
.monaco-editor .delete-sign,
.monaco-diff-editor .delete-sign {
	font-size: 11px !important;
	opacity: 0.7 !important;
	display: flex !important;
	align-items: center;
}
.monaco-editor.hc-black .insert-sign,
.monaco-diff-editor.hc-black .insert-sign,
.monaco-editor.hc-black .delete-sign,
.monaco-diff-editor.hc-black .delete-sign,
.monaco-editor.hc-light .insert-sign,
.monaco-diff-editor.hc-light .insert-sign,
.monaco-editor.hc-light .delete-sign,
.monaco-diff-editor.hc-light .delete-sign {
	opacity: 1;
}

.monaco-editor .inline-deleted-margin-view-zone {
	text-align: right;
}
.monaco-editor .inline-added-margin-view-zone {
	text-align: right;
}

.monaco-editor .arrow-revert-change {
	z-index: 10;
	position: absolute;
}

.monaco-editor .arrow-revert-change:hover {
	cursor: pointer;
}

/* ---------- Inline Diff ---------- */

.monaco-editor .view-zones .view-lines .view-line span {
	display: inline-block;
}

.monaco-editor .margin-view-zones .lightbulb-glyph:hover {
	cursor: pointer;
}

.monaco-editor .char-insert, .monaco-diff-editor .char-insert {
	background-color: var(--vscode-diffEditor-insertedTextBackground);
}

.monaco-editor .line-insert, .monaco-diff-editor .line-insert {
	background-color: var(--vscode-diffEditor-insertedLineBackground, var(--vscode-diffEditor-insertedTextBackground));
}

.monaco-editor .line-insert,
.monaco-editor .char-insert {
	box-sizing: border-box;
	border: 1px solid var(--vscode-diffEditor-insertedTextBorder);
}
.monaco-editor.hc-black .line-insert, .monaco-editor.hc-light .line-insert,
.monaco-editor.hc-black .char-insert, .monaco-editor.hc-light .char-insert {
	border-style: dashed;
}

.monaco-editor .line-delete,
.monaco-editor .char-delete {
	box-sizing: border-box;
	border: 1px solid var(--vscode-diffEditor-removedTextBorder);
}
.monaco-editor.hc-black .line-delete, .monaco-editor.hc-light .line-delete,
.monaco-editor.hc-black .char-delete, .monaco-editor.hc-light .char-delete {
	border-style: dashed;
}

.monaco-editor .inline-added-margin-view-zone,
.monaco-editor .gutter-insert, .monaco-diff-editor .gutter-insert {
	background-color: var(--vscode-diffEditorGutter-insertedLineBackground, var(--vscode-diffEditor-insertedLineBackground), var(--vscode-diffEditor-insertedTextBackground));
}

.monaco-editor .char-delete, .monaco-diff-editor .char-delete, .monaco-editor .inline-deleted-text {
	background-color: var(--vscode-diffEditor-removedTextBackground);
}

.monaco-editor .inline-deleted-text {
	text-decoration: line-through;
}

.monaco-editor .line-delete, .monaco-diff-editor .line-delete {
	background-color: var(--vscode-diffEditor-removedLineBackground, var(--vscode-diffEditor-removedTextBackground));
}

.monaco-editor .inline-deleted-margin-view-zone,
.monaco-editor .gutter-delete, .monaco-diff-editor .gutter-delete {
	background-color: var(--vscode-diffEditorGutter-removedLineBackground, var(--vscode-diffEditor-removedLineBackground), var(--vscode-diffEditor-removedTextBackground));
}

.monaco-diff-editor.side-by-side .editor.modified {
	box-shadow: -6px 0 5px -5px var(--vscode-scrollbar-shadow);
	border-left: 1px solid var(--vscode-diffEditor-border);
}

.monaco-diff-editor.side-by-side .editor.original {
	box-shadow: 6px 0 5px -5px var(--vscode-scrollbar-shadow);
	border-right: 1px solid var(--vscode-diffEditor-border);
}

.monaco-diff-editor .diffViewport {
	background: var(--vscode-scrollbarSlider-background);
}

.monaco-diff-editor .diffViewport:hover {
	background: var(--vscode-scrollbarSlider-hoverBackground);
}

.monaco-diff-editor .diffViewport:active {
	background: var(--vscode-scrollbarSlider-activeBackground);
}

.monaco-editor .diagonal-fill {
	background-image: linear-gradient(
		-45deg,
		var(--vscode-diffEditor-diagonalFill) 12.5%,
		#0000 12.5%, #0000 50%,
		var(--vscode-diffEditor-diagonalFill) 50%, var(--vscode-diffEditor-diagonalFill) 62.5%,
		#0000 62.5%, #0000 100%
	);
	background-size: 8px 8px;
}

.monaco-diff-editor .gutter {
	position: relative;
	overflow: hidden;
	flex-shrink: 0;
	flex-grow: 0;

	& > div {
		position: absolute;
	}

	.gutterItem {
		opacity: 0;
		transition: opacity 0.7s;

		&.showAlways {
			opacity: 1;
			transition: none;
		}

		&.noTransition {
			transition: none;
		}
	}

	&:hover .gutterItem {
		opacity: 1;
		transition: opacity 0.1s ease-in-out;
	}

	.gutterItem {
		.background {
			position: absolute;
			height: 100%;
			left: 50%;
			width: 1px;

			border-left: 2px var(--vscode-menu-separatorBackground) solid;
		}

		.buttons {
			position: absolute;
			/*height: 100%;*/
			width: 100%;

			display: flex;
			justify-content: center;
			align-items: center;

			.monaco-toolbar {
				height: fit-content;
				.monaco-action-bar  {
					line-height: 1;

					.actions-container {
						width: fit-content;
						border-radius: 4px;
						background: var(--vscode-editorGutter-itemBackground);

						.action-item {
							&:hover {
								background: var(--vscode-toolbar-hoverBackground);
							}

							.action-label {
								color: var(--vscode-editorGutter-itemGlyphForeground);
								padding: 1px 2px;
							}
						}
					}
				}
			}
		}
	}
}


.monaco-diff-editor .diff-hidden-lines-compact {
	display: flex;
	height: 11px;
	.line-left, .line-right {
		height: 1px;
		border-top: 1px solid;
		border-color: var(--vscode-editorCodeLens-foreground);
		opacity: 0.5;
		margin: auto;
		width: 100%;
	}

	.line-left {
		width: 20px;
	}

	.text {
		color: var(--vscode-editorCodeLens-foreground);
		text-wrap: nowrap;
		font-size: 11px;
		line-height: 11px;
		margin: 0 4px;
	}
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .selection-anchor {
	background-color: #007ACC;
	width: 2px !important;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .bracket-match {
	box-sizing: border-box;
	background-color: var(--vscode-editorBracketMatch-background);
	border: 1px solid var(--vscode-editorBracketMatch-border);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.inline-editor-progress-decoration {
	display: inline-block;
	width: 1em;
	height: 1em;
}

.inline-progress-widget  {
	display: flex !important;
	justify-content: center;
	align-items: center;
}

.inline-progress-widget .icon {
	font-size: 80% !important;
}

.inline-progress-widget:hover .icon {
	font-size: 90% !important;
	animation: none;
}

.inline-progress-widget:hover .icon::before {
	content: var(--vscode-icon-x-content);
	font-family: var(--vscode-icon-x-font-family);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .monaco-editor-overlaymessage {
	padding-bottom: 8px;
	z-index: 10000;
}

.monaco-editor .monaco-editor-overlaymessage.below {
	padding-bottom: 0;
	padding-top: 8px;
	z-index: 10000;
}

@keyframes fadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}
.monaco-editor .monaco-editor-overlaymessage.fadeIn {
	animation: fadeIn 150ms ease-out;
}

@keyframes fadeOut {
	from { opacity: 1; }
	to { opacity: 0; }
}
.monaco-editor .monaco-editor-overlaymessage.fadeOut {
	animation: fadeOut 100ms ease-out;
}

.monaco-editor .monaco-editor-overlaymessage .message {
	padding: 2px 4px;
	color: var(--vscode-editorHoverWidget-foreground);
	background-color: var(--vscode-editorHoverWidget-background);
	border: 1px solid var(--vscode-inputValidation-infoBorder);
	border-radius: 3px;
}

.monaco-editor .monaco-editor-overlaymessage .message p {
	margin-block: 0px;
}

.monaco-editor .monaco-editor-overlaymessage .message a {
	color: var(--vscode-textLink-foreground);
}

.monaco-editor .monaco-editor-overlaymessage .message a:hover {
	color: var(--vscode-textLink-activeForeground);
}

.monaco-editor.hc-black .monaco-editor-overlaymessage .message,
.monaco-editor.hc-light .monaco-editor-overlaymessage .message {
	border-width: 2px;
}

.monaco-editor .monaco-editor-overlaymessage .anchor {
	width: 0 !important;
	height: 0 !important;
	border-color: transparent;
	border-style: solid;
	z-index: 1000;
	border-width: 8px;
	position: absolute;
	left: 2px;
}

.monaco-editor .monaco-editor-overlaymessage .anchor.top {
	border-bottom-color: var(--vscode-inputValidation-infoBorder);
}

.monaco-editor .monaco-editor-overlaymessage .anchor.below {
	border-top-color: var(--vscode-inputValidation-infoBorder);
}

.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top,
.monaco-editor .monaco-editor-overlaymessage.below .anchor.below {
	display: none;
}

.monaco-editor .monaco-editor-overlaymessage.below .anchor.top {
	display: inherit;
	top: -8px;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .rendered-markdown kbd {
	background-color: var(--vscode-keybindingLabel-background);
	color: var(--vscode-keybindingLabel-foreground);
	border-style: solid;
	border-width: 1px;
	border-radius: 3px;
	border-color: var(--vscode-keybindingLabel-border);
	border-bottom-color: var(--vscode-keybindingLabel-bottomBorder);
	box-shadow: inset 0 -1px 0 var(--vscode-widget-shadow);
	vertical-align: middle;
	padding: 1px 3px;
}

.rendered-markdown li:has(input[type=checkbox]) {
	list-style-type: none;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-text-button {
	box-sizing: border-box;
	display: flex;
	width: 100%;
	padding: 4px;
	border-radius: 2px;
	text-align: center;
	cursor: pointer;
	justify-content: center;
	align-items: center;
	border: 1px solid var(--vscode-button-border, transparent);
	line-height: 18px;
}

.monaco-text-button:focus {
	outline-offset: 2px !important;
}

.monaco-text-button:hover {
	text-decoration: none !important;
}

.monaco-button.disabled:focus,
.monaco-button.disabled {
	opacity: 0.4 !important;
	cursor: default;
}

.monaco-text-button .codicon {
	margin: 0 0.2em;
	color: inherit !important;
}

.monaco-text-button.monaco-text-button-with-short-label {
	flex-direction: row;
	flex-wrap: wrap;
	padding: 0 4px;
	overflow: hidden;
	height: 28px;
}

.monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label {
	flex-basis: 100%;
}

.monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label-short {
	flex-grow: 1;
	width: 0;
	overflow: hidden;
}

.monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label,
.monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label-short {
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: normal;
	font-style: inherit;
	padding: 4px 0;
}

.monaco-button-dropdown {
	display: flex;
	cursor: pointer;
}

.monaco-button-dropdown.disabled {
	cursor: default;
}

.monaco-button-dropdown > .monaco-button:focus {
	outline-offset: -1px !important;
}

.monaco-button-dropdown.disabled > .monaco-button.disabled,
.monaco-button-dropdown.disabled > .monaco-button.disabled:focus,
.monaco-button-dropdown.disabled > .monaco-button-dropdown-separator {
	opacity: 0.4 !important;
}

.monaco-button-dropdown > .monaco-button.monaco-text-button {
	border-right-width: 0 !important;
}

.monaco-button-dropdown .monaco-button-dropdown-separator {
	padding: 4px 0;
	cursor: default;
}

.monaco-button-dropdown .monaco-button-dropdown-separator > div {
	height: 100%;
	width: 1px;
}

.monaco-button-dropdown > .monaco-button.monaco-dropdown-button {
	border: 1px solid var(--vscode-button-border, transparent);
	border-left-width: 0 !important;
	border-radius: 0 2px 2px 0;
	display: flex;
	align-items: center;
}

.monaco-button-dropdown > .monaco-button.monaco-text-button {
	border-radius: 2px 0 0 2px;
}

.monaco-description-button {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 4px 5px; /* allows button focus outline to be visible */
}

.monaco-description-button .monaco-button-description {
	font-style: italic;
	font-size: 11px;
	padding: 4px 20px;
}

.monaco-description-button .monaco-button-label,
.monaco-description-button .monaco-button-description {
	display: flex;
	justify-content: center;
	align-items: center;
}

.monaco-description-button .monaco-button-label > .codicon,
.monaco-description-button .monaco-button-description > .codicon {
	margin: 0 0.2em;
	color: inherit !important;
}

/* default color styles - based on CSS variables */

.monaco-button.default-colors,
.monaco-button-dropdown.default-colors > .monaco-button{
	color: var(--vscode-button-foreground);
	background-color: var(--vscode-button-background);
}

.monaco-button.default-colors:hover,
.monaco-button-dropdown.default-colors > .monaco-button:hover {
	background-color: var(--vscode-button-hoverBackground);
}

.monaco-button.default-colors.secondary,
.monaco-button-dropdown.default-colors > .monaco-button.secondary {
	color: var(--vscode-button-secondaryForeground);
	background-color: var(--vscode-button-secondaryBackground);
}

.monaco-button.default-colors.secondary:hover,
.monaco-button-dropdown.default-colors > .monaco-button.secondary:hover {
	background-color: var(--vscode-button-secondaryHoverBackground);
}

.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator {
	background-color: var(--vscode-button-background);
	border-top: 1px solid var(--vscode-button-border);
	border-bottom: 1px solid var(--vscode-button-border);
}

.monaco-button-dropdown.default-colors .monaco-button.secondary + .monaco-button-dropdown-separator {
	background-color: var(--vscode-button-secondaryBackground);
}

.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator > div {
	background-color: var(--vscode-button-separator);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.action-widget {
	font-size: 13px;
	border-radius: 0;
	min-width: 100px;
	max-width: 80vw;
	z-index: 40;
	display: block;
	width: 100%;
	border: 1px solid var(--vscode-editorWidget-border) !important;
	border-radius: 5px;
	background-color: var(--vscode-editorActionList-background);
	color: var(--vscode-editorActionList-foreground);
	padding: 4px;
	box-shadow: 0 2px 8px var(--vscode-widget-shadow);
}

.context-view-block {
	position: fixed;
	cursor: initial;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

.context-view-pointerBlock {
	position: fixed;
	cursor: initial;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
}

.action-widget .monaco-list {
	user-select: none;
	-webkit-user-select: none;
	border: none !important;
	border-width: 0 !important;
}

.action-widget .monaco-list:focus:before {
	outline: 0 !important;
}

.action-widget .monaco-list .monaco-scrollable-element {
	overflow: visible;
}

/** Styles for each row in the list element **/
.action-widget .monaco-list .monaco-list-row {
	padding: 0 0 0 8px;
	white-space: nowrap;
	cursor: pointer;
	touch-action: none;
	width: 100%;
	border-radius: 4px;
}

.action-widget .monaco-list .monaco-list-row.action.focused:not(.option-disabled) {
	background-color: var(--vscode-editorActionList-focusBackground) !important;
	color: var(--vscode-editorActionList-focusForeground);
	outline: 1px solid var(--vscode-menu-selectionBorder, transparent);
	outline-offset: -1px;
}

.action-widget .monaco-list-row.group-header {
	color: var(--vscode-descriptionForeground) !important;
	font-weight: 600;
	font-size: 12px;
}

.action-widget .monaco-list-row.group-header:not(:first-of-type) {
	margin-top: 2px;
}

.action-widget .monaco-scrollable-element .monaco-list-rows .monaco-list-row.separator {
	border-top: 1px solid var(--vscode-editorHoverWidget-border);
	color: var(--vscode-descriptionForeground);
	font-size: 12px;
	padding: 0;
	margin: 4px 0 0 0;
	cursor: default;
	user-select: none;
	border-radius: 0;
}

.action-widget .monaco-scrollable-element .monaco-list-rows .monaco-list-row.separator.focused {
	outline: 0 solid;
	background-color: transparent;
	border-radius: 0;
}

.action-widget .monaco-list-row.separator:first-of-type {
	border-top: none;
	margin-top: 0;
}

.action-widget .monaco-list .group-header,
.action-widget .monaco-list .option-disabled,
.action-widget .monaco-list .option-disabled:before,
.action-widget .monaco-list .option-disabled .focused,
.action-widget .monaco-list .option-disabled .focused:before {
	cursor: default !important;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	user-select: none;
	background-color: transparent !important;
	outline: 0 solid !important;
}

.action-widget .monaco-list-row.action {
	display: flex;
	gap: 8px;
	align-items: center;
}

.action-widget .monaco-list-row.action.option-disabled,
.action-widget .monaco-list:focus .monaco-list-row.focused.action.option-disabled,
.action-widget .monaco-list-row.action.option-disabled .codicon,
.action-widget .monaco-list:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused).option-disabled {
	color: var(--vscode-disabledForeground);
}


.action-widget .monaco-list-row.action:not(.option-disabled) .codicon {
	color: inherit;
}

.action-widget .monaco-list-row.action .title {
	flex: 1;
	overflow: hidden;
	text-overflow: ellipsis;
}

.action-widget .monaco-list-row.action .monaco-keybinding > .monaco-keybinding-key {
		background-color: var(--vscode-keybindingLabel-background);
		color: var(--vscode-keybindingLabel-foreground);
		border-style: solid;
		border-width: 1px;
		border-radius: 3px;
		border-color: var(--vscode-keybindingLabel-border);
		border-bottom-color: var(--vscode-keybindingLabel-bottomBorder);
		box-shadow: inset 0 -1px 0 var(--vscode-widget-shadow);
}

/* Action bar */

.action-widget .action-widget-action-bar {
	background-color: var(--vscode-editorActionList-background);
	border-top: 1px solid var(--vscode-editorHoverWidget-border);
	margin-top: 2px;
}

.action-widget .action-widget-action-bar::before {
	display: block;
	content: "";
	width: 100%;
}

.action-widget .action-widget-action-bar .actions-container {
	padding: 3px 8px 0;
}

.action-widget-action-bar .action-label {
	color: var(--vscode-textLink-activeForeground);
	font-size: 12px;
	line-height: 22px;
	padding: 0;
	pointer-events: all;
}

.action-widget-action-bar .action-item {
	margin-right: 16px;
	pointer-events: none;
}

.action-widget-action-bar .action-label:hover {
	background-color: transparent !important;
}

.monaco-action-bar .actions-container.highlight-toggled .action-label.checked {
	/* The important gives this rule precedence over the hover rule. */
	background: var(--vscode-actionBar-toggledBackground) !important;
}

.action-widget .monaco-list .monaco-list-row .description {
	opacity: 0.7;
	margin-left: 0.5em;
	font-size: 0.9em;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-keybinding {
	display: flex;
	align-items: center;
	line-height: 10px;
}

.monaco-keybinding > .monaco-keybinding-key {
	display: inline-block;
	border-style: solid;
	border-width: 1px;
	border-radius: 3px;
	vertical-align: middle;
	font-size: 11px;
	padding: 3px 5px;
	margin: 0 2px;
}

.monaco-keybinding > .monaco-keybinding-key:first-child {
	margin-left: 0;
}

.monaco-keybinding > .monaco-keybinding-key:last-child {
	margin-right: 0;
}

.monaco-keybinding > .monaco-keybinding-key-separator {
	display: inline-block;
}

.monaco-keybinding > .monaco-keybinding-key-chord-separator {
	width: 6px;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.post-edit-widget {
	box-shadow: 0 0 8px 2px var(--vscode-widget-shadow);
	border: 1px solid var(--vscode-widget-border, transparent);
	border-radius: 4px;
	color: var(--vscode-button-foreground);
	background-color: var(--vscode-button-background);
	overflow: hidden;
}

.post-edit-widget .monaco-button {
	padding: 2px;
	border: none;
	border-radius: 0;
}

.post-edit-widget .monaco-button:hover {
	background-color: var(--vscode-button-hoverBackground) !important;
}

.post-edit-widget .monaco-button .codicon {
	margin: 0;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

@font-face {
	font-family: "codicon";
	font-display: block;
	src: url(/assets/codicon-CgENjH2v.ttf) format("truetype");
}

.codicon[class*='codicon-'] {
	font: normal normal normal 16px/1 codicon;
	display: inline-block;
	text-decoration: none;
	text-rendering: auto;
	text-align: center;
	text-transform: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	user-select: none;
	-webkit-user-select: none;
}

/* icon rules are dynamically created by the platform theme service (see iconsStyleSheet.ts) */
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.codicon-wrench-subaction {
	opacity: 0.5;
}

@keyframes codicon-spin {
	100% {
		transform:rotate(360deg);
	}
}

.codicon-sync.codicon-modifier-spin,
.codicon-loading.codicon-modifier-spin,
.codicon-gear.codicon-modifier-spin,
.codicon-notebook-state-executing.codicon-modifier-spin {
	/* Use steps to throttle FPS to reduce CPU usage */
	animation: codicon-spin 1.5s steps(30) infinite;
}

.codicon-modifier-disabled {
	opacity: 0.4;
}

/* custom speed & easing for loading icon */
.codicon-loading,
.codicon-tree-item-loading::before {
	animation-duration: 1s !important;
	animation-timing-function: cubic-bezier(0.53, 0.21, 0.29, 0.67) !important;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .codicon.codicon-symbol-array,
.monaco-workbench .codicon.codicon-symbol-array { color: var(--vscode-symbolIcon-arrayForeground); }
.monaco-editor .codicon.codicon-symbol-boolean,
.monaco-workbench .codicon.codicon-symbol-boolean { color: var(--vscode-symbolIcon-booleanForeground); }
.monaco-editor .codicon.codicon-symbol-class,
.monaco-workbench .codicon.codicon-symbol-class { color: var(--vscode-symbolIcon-classForeground); }
.monaco-editor .codicon.codicon-symbol-method,
.monaco-workbench .codicon.codicon-symbol-method { color: var(--vscode-symbolIcon-methodForeground); }
.monaco-editor .codicon.codicon-symbol-color,
.monaco-workbench .codicon.codicon-symbol-color { color: var(--vscode-symbolIcon-colorForeground); }
.monaco-editor .codicon.codicon-symbol-constant,
.monaco-workbench .codicon.codicon-symbol-constant { color: var(--vscode-symbolIcon-constantForeground); }
.monaco-editor .codicon.codicon-symbol-constructor,
.monaco-workbench .codicon.codicon-symbol-constructor { color: var(--vscode-symbolIcon-constructorForeground); }
.monaco-editor .codicon.codicon-symbol-value,
.monaco-workbench .codicon.codicon-symbol-value,
.monaco-editor .codicon.codicon-symbol-enum,
.monaco-workbench .codicon.codicon-symbol-enum { color: var(--vscode-symbolIcon-enumeratorForeground); }
.monaco-editor .codicon.codicon-symbol-enum-member,
.monaco-workbench .codicon.codicon-symbol-enum-member { color: var(--vscode-symbolIcon-enumeratorMemberForeground); }
.monaco-editor .codicon.codicon-symbol-event,
.monaco-workbench .codicon.codicon-symbol-event { color: var(--vscode-symbolIcon-eventForeground); }
.monaco-editor .codicon.codicon-symbol-field,
.monaco-workbench .codicon.codicon-symbol-field { color: var(--vscode-symbolIcon-fieldForeground); }
.monaco-editor .codicon.codicon-symbol-file,
.monaco-workbench .codicon.codicon-symbol-file { color: var(--vscode-symbolIcon-fileForeground); }
.monaco-editor .codicon.codicon-symbol-folder,
.monaco-workbench .codicon.codicon-symbol-folder { color: var(--vscode-symbolIcon-folderForeground); }
.monaco-editor .codicon.codicon-symbol-function,
.monaco-workbench .codicon.codicon-symbol-function { color: var(--vscode-symbolIcon-functionForeground); }
.monaco-editor .codicon.codicon-symbol-interface,
.monaco-workbench .codicon.codicon-symbol-interface { color: var(--vscode-symbolIcon-interfaceForeground); }
.monaco-editor .codicon.codicon-symbol-key,
.monaco-workbench .codicon.codicon-symbol-key { color: var(--vscode-symbolIcon-keyForeground); }
.monaco-editor .codicon.codicon-symbol-keyword,
.monaco-workbench .codicon.codicon-symbol-keyword { color: var(--vscode-symbolIcon-keywordForeground); }
.monaco-editor .codicon.codicon-symbol-module,
.monaco-workbench .codicon.codicon-symbol-module { color: var(--vscode-symbolIcon-moduleForeground); }
.monaco-editor .codicon.codicon-symbol-namespace,
.monaco-workbench .codicon.codicon-symbol-namespace { color: var(--vscode-symbolIcon-namespaceForeground); }
.monaco-editor .codicon.codicon-symbol-null,
.monaco-workbench .codicon.codicon-symbol-null { color: var(--vscode-symbolIcon-nullForeground); }
.monaco-editor .codicon.codicon-symbol-number,
.monaco-workbench .codicon.codicon-symbol-number { color: var(--vscode-symbolIcon-numberForeground); }
.monaco-editor .codicon.codicon-symbol-object,
.monaco-workbench .codicon.codicon-symbol-object { color: var(--vscode-symbolIcon-objectForeground); }
.monaco-editor .codicon.codicon-symbol-operator,
.monaco-workbench .codicon.codicon-symbol-operator { color: var(--vscode-symbolIcon-operatorForeground); }
.monaco-editor .codicon.codicon-symbol-package,
.monaco-workbench .codicon.codicon-symbol-package { color: var(--vscode-symbolIcon-packageForeground); }
.monaco-editor .codicon.codicon-symbol-property,
.monaco-workbench .codicon.codicon-symbol-property { color: var(--vscode-symbolIcon-propertyForeground); }
.monaco-editor .codicon.codicon-symbol-reference,
.monaco-workbench .codicon.codicon-symbol-reference { color: var(--vscode-symbolIcon-referenceForeground); }
.monaco-editor .codicon.codicon-symbol-snippet,
.monaco-workbench .codicon.codicon-symbol-snippet { color: var(--vscode-symbolIcon-snippetForeground); }
.monaco-editor .codicon.codicon-symbol-string,
.monaco-workbench .codicon.codicon-symbol-string { color: var(--vscode-symbolIcon-stringForeground); }
.monaco-editor .codicon.codicon-symbol-struct,
.monaco-workbench .codicon.codicon-symbol-struct { color: var(--vscode-symbolIcon-structForeground); }
.monaco-editor .codicon.codicon-symbol-text,
.monaco-workbench .codicon.codicon-symbol-text { color: var(--vscode-symbolIcon-textForeground); }
.monaco-editor .codicon.codicon-symbol-type-parameter,
.monaco-workbench .codicon.codicon-symbol-type-parameter { color: var(--vscode-symbolIcon-typeParameterForeground); }
.monaco-editor .codicon.codicon-symbol-unit,
.monaco-workbench .codicon.codicon-symbol-unit { color: var(--vscode-symbolIcon-unitForeground); }
.monaco-editor .codicon.codicon-symbol-variable,
.monaco-workbench .codicon.codicon-symbol-variable { color: var(--vscode-symbolIcon-variableForeground); }
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .lightBulbWidget {
	display: flex;
	align-items: center;
	justify-content: center;
}

.monaco-editor .lightBulbWidget:hover{
	cursor: pointer;
}

.monaco-editor .lightBulbWidget.codicon-light-bulb,
.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle {
	color: var(--vscode-editorLightBulb-foreground);
}

.monaco-editor .lightBulbWidget.codicon-lightbulb-autofix,
.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle-autofix {
	color: var(--vscode-editorLightBulbAutoFix-foreground, var(--vscode-editorLightBulb-foreground));
}

.monaco-editor .lightBulbWidget.codicon-sparkle-filled {
	color: var(--vscode-editorLightBulbAi-foreground, var(--vscode-icon-foreground));
}

.monaco-editor .lightBulbWidget:before {
	position: relative;
	z-index: 2;
}

.monaco-editor .lightBulbWidget:after {
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	opacity: 0.3;
	z-index: 1;
}

/* gutter decoration */
.monaco-editor .glyph-margin-widgets .cgmr[class*="codicon-gutter-lightbulb"] {
	display: block;
	cursor: pointer;
}

.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb,
.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-sparkle {
	color: var(--vscode-editorLightBulb-foreground);
}

.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-auto-fix,
.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-aifix-auto-fix {
	color: var(--vscode-editorLightBulbAutoFix-foreground, var(--vscode-editorLightBulb-foreground));
}

.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-sparkle-filled {
	color: var(--vscode-editorLightBulbAi-foreground, var(--vscode-icon-foreground));
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .codelens-decoration {
	overflow: hidden;
	display: inline-flex !important; /* !important to override inline display:block style */
	align-items: center;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: var(--vscode-editorCodeLens-foreground);
	line-height: var(--vscode-editorCodeLens-lineHeight);
	font-size: var(--vscode-editorCodeLens-fontSize);
	padding-right: calc(var(--vscode-editorCodeLens-fontSize)*0.5);
	font-feature-settings: var(--vscode-editorCodeLens-fontFeatureSettings);
	font-family: var(--vscode-editorCodeLens-fontFamily), var(--vscode-editorCodeLens-fontFamilyDefault);
}

.monaco-editor .codelens-decoration > span,
.monaco-editor .codelens-decoration > a {
	user-select: none;
	-webkit-user-select: none;
	white-space: nowrap;
	vertical-align: sub;
	display: inline-flex;
	align-items: center;
}

.monaco-editor .codelens-decoration > a {
	text-decoration: none;
}

.monaco-editor .codelens-decoration > a:hover {
	cursor: pointer;
	color: var(--vscode-editorLink-activeForeground) !important;
}

.monaco-editor .codelens-decoration > a:hover .codicon {
	color: var(--vscode-editorLink-activeForeground) !important;
}

.monaco-editor .codelens-decoration .codicon[class*='codicon-'] {
	vertical-align: middle;
	color: currentColor !important;
	color: var(--vscode-editorCodeLens-foreground);
	line-height: var(--vscode-editorCodeLens-lineHeight);
	font-size: var(--vscode-editorCodeLens-fontSize);
}


.monaco-editor .codelens-decoration > a:hover .codicon::before {
	cursor: pointer;
}

@keyframes fadein {
	0% { opacity: 0;}
	100% { opacity: 1;}
}

.monaco-editor .codelens-decoration.fadein {
	animation: fadein 0.1s linear;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
.monaco-editor .inlineSuggestionsHints {
	padding: 4px;

	.warningMessage p {
		margin: 0;
	}
}

.monaco-editor .inlineSuggestionsHints.withBorder {
	z-index: 39;
	color: var(--vscode-editorHoverWidget-foreground);
	background-color: var(--vscode-editorHoverWidget-background);
	border: 1px solid var(--vscode-editorHoverWidget-border);
}

.monaco-editor .inlineSuggestionsHints a {
	color: var(--vscode-foreground) !important;
}

.monaco-editor .inlineSuggestionsHints a:hover {
	color: var(--vscode-foreground) !important;
}

.monaco-editor .inlineSuggestionsHints .keybinding {
	display: flex;
	margin-left: 4px;
	opacity: 0.6;
}

.monaco-editor .inlineSuggestionsHints .keybinding .monaco-keybinding-key {
	font-size: 8px;
	padding: 2px 3px;
}

.monaco-editor .inlineSuggestionsHints .availableSuggestionCount a {
	display: flex;
	min-width: 19px;
	justify-content: center;
}

.monaco-editor .inlineSuggestionStatusBarItemLabel {
	margin-right: 2px;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-hover {
	cursor: default;
	position: absolute;
	overflow: hidden;
	user-select: text;
	-webkit-user-select: text;
	box-sizing: border-box;
	line-height: 1.5em;
	white-space: var(--vscode-hover-whiteSpace, normal);
}

.monaco-hover.fade-in {
	animation: fadein 100ms linear;
}

.monaco-hover.hidden {
	display: none;
}

.monaco-hover a:hover:not(.disabled) {
	cursor: pointer;
}

.monaco-hover .hover-contents:not(.html-hover-contents) {
	padding: 4px 8px;
}

.monaco-hover .markdown-hover > .hover-contents:not(.code-hover-contents) {
	max-width: var(--vscode-hover-maxWidth, 500px);
	word-wrap: break-word;
}

.monaco-hover .markdown-hover > .hover-contents:not(.code-hover-contents) hr {
	min-width: 100%;
}

.monaco-hover p,
.monaco-hover .code,
.monaco-hover ul,
.monaco-hover h1,
.monaco-hover h2,
.monaco-hover h3,
.monaco-hover h4,
.monaco-hover h5,
.monaco-hover h6 {
	margin: 8px 0;
}

.monaco-hover h1,
.monaco-hover h2,
.monaco-hover h3,
.monaco-hover h4,
.monaco-hover h5,
.monaco-hover h6 {
	line-height: 1.1;
}

.monaco-hover code {
	font-family: var(--monaco-monospace-font);
}

.monaco-hover hr {
	box-sizing: border-box;
	border-left: 0px;
	border-right: 0px;
	margin-top: 4px;
	margin-bottom: -4px;
	margin-left: -8px;
	margin-right: -8px;
	height: 1px;
}

.monaco-hover p:first-child,
.monaco-hover .code:first-child,
.monaco-hover ul:first-child {
	margin-top: 0;
}

.monaco-hover p:last-child,
.monaco-hover .code:last-child,
.monaco-hover ul:last-child {
	margin-bottom: 0;
}

/* MarkupContent Layout */
.monaco-hover ul {
	padding-left: 20px;
}
.monaco-hover ol {
	padding-left: 20px;
}

.monaco-hover li > p {
	margin-bottom: 0;
}

.monaco-hover li > ul {
	margin-top: 0;
}

.monaco-hover code {
	border-radius: 3px;
	padding: 0 0.4em;
}

.monaco-hover .monaco-tokenized-source {
	white-space: var(--vscode-hover-sourceWhiteSpace, pre-wrap);
}

.monaco-hover .hover-row.status-bar {
	font-size: 12px;
	line-height: 22px;
}

.monaco-hover .hover-row.status-bar .info {
	font-style: italic;
	padding: 0px 8px;
}

.monaco-hover .hover-row.status-bar .actions {
	display: flex;
	padding: 0px 8px;
	width: 100%;
}

.monaco-hover .hover-row.status-bar .actions .action-container {
	margin-right: 16px;
	cursor: pointer;
	overflow: hidden;
	text-wrap: nowrap;
	text-overflow: ellipsis;
}

.monaco-hover .hover-row.status-bar .actions .action-container .action .icon {
	padding-right: 4px;
	vertical-align: middle;
}

.monaco-hover .hover-row.status-bar .actions .action-container a {
	color: var(--vscode-textLink-foreground);
	text-decoration: var(--text-link-decoration);
}

.monaco-hover .hover-row.status-bar .actions .action-container a .icon.codicon {
	color: var(--vscode-textLink-foreground);
}

.monaco-hover .markdown-hover .hover-contents .codicon {
	color: inherit;
	font-size: inherit;
	vertical-align: middle;
}

.monaco-hover .hover-contents a.code-link:hover,
.monaco-hover .hover-contents a.code-link {
	color: inherit;
}

.monaco-hover .hover-contents a.code-link:before {
	content: '(';
}

.monaco-hover .hover-contents a.code-link:after {
	content: ')';
}

.monaco-hover .hover-contents a.code-link > span {
	text-decoration: underline;
	/** Hack to force underline to show **/
	border-bottom: 1px solid transparent;
	text-underline-position: under;
	color: var(--vscode-textLink-foreground);
}

.monaco-hover .hover-contents a.code-link > span:hover {
	color: var(--vscode-textLink-activeForeground);
}

/**
 * Spans in markdown hovers need a margin-bottom to avoid looking cramped:
 * https://github.com/microsoft/vscode/issues/101496

 * This was later refined to only apply when the last child of a rendered markdown block (before the
 * border or a `hr`) uses background color:
 * https://github.com/microsoft/vscode/issues/228136
 */
.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) p:last-child [style*="background-color"] {
	margin-bottom: 4px;
	display: inline-block;
}

/**
 * Add a slight margin to try vertically align codicons with any text
 * https://github.com/microsoft/vscode/issues/221359
 */
.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span.codicon {
	margin-bottom: 2px;
}

.monaco-hover-content .action-container a {
	-webkit-user-select: none;
	user-select: none;
}

.monaco-hover-content .action-container.disabled {
	pointer-events: none;
	opacity: 0.4;
	cursor: default;
}

/* Prevent text selection in all button-like elements within hovers */
.monaco-hover .action-container,
.monaco-hover .action,
.monaco-hover button,
.monaco-hover .monaco-button,
.monaco-hover .monaco-text-button,
.monaco-hover [role="button"] {
	-webkit-user-select: none;
	user-select: none;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.colorpicker-widget {
	height: 190px;
	user-select: none;
	-webkit-user-select: none;
}

/* Decoration */

.colorpicker-color-decoration,
.hc-light .colorpicker-color-decoration {
	border: solid 0.1em #000;
	box-sizing: border-box;
	margin: 0.1em 0.2em 0 0.2em;
	width: 0.8em;
	height: 0.8em;
	line-height: 0.8em;
	display: inline-block;
	cursor: pointer;
}

.hc-black .colorpicker-color-decoration,
.vs-dark .colorpicker-color-decoration {
	border: solid 0.1em #eee;
}

/* Header */

.colorpicker-header {
	display: flex;
	height: 24px;
	position: relative;
	background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=");
	background-size: 9px 9px;
	image-rendering: pixelated;
}

.colorpicker-header .picked-color {
	width: 240px;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 24px;
	cursor: pointer;
	color: white;
	flex: 1;
	white-space: nowrap;
	overflow: hidden;
}

.colorpicker-header .picked-color .picked-color-presentation {
	white-space: nowrap;
	margin-left: 5px;
	margin-right: 5px;
}

.colorpicker-header .picked-color .codicon {
	color: inherit;
	font-size: 14px;
}

.colorpicker-header .picked-color.light {
	color: black;
}

.colorpicker-header .original-color {
	width: 74px;
	z-index: inherit;
	cursor: pointer;
}

.standalone-colorpicker {
	color: var(--vscode-editorHoverWidget-foreground);
	background-color: var(--vscode-editorHoverWidget-background);
	border: 1px solid var(--vscode-editorHoverWidget-border);
}

.colorpicker-header.standalone-colorpicker {
	border-bottom: none;
}

.colorpicker-header .close-button {
	cursor: pointer;
	background-color: var(--vscode-editorHoverWidget-background);
	border-left: 1px solid var(--vscode-editorHoverWidget-border);
}

.colorpicker-header .close-button-inner-div {
	width: 100%;
	height: 100%;
	text-align: center;
}

.colorpicker-header .close-button-inner-div:hover {
	background-color: var(--vscode-toolbar-hoverBackground);
}

.colorpicker-header .close-icon {
	padding: 3px;
}

/* Body */

.colorpicker-body {
	display: flex;
	padding: 8px;
	position: relative;
}

.colorpicker-body .saturation-wrap {
	overflow: hidden;
	height: 150px;
	position: relative;
	min-width: 220px;
	flex: 1;
}

.colorpicker-body .saturation-box {
	height: 150px;
	position: absolute;
}

.colorpicker-body .saturation-selection {
	width: 9px;
	height: 9px;
	margin: -5px 0 0 -5px;
	border: 1px solid rgb(255, 255, 255);
	border-radius: 100%;
	box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.8);
	position: absolute;
}

.colorpicker-body .strip {
	width: 25px;
	height: 150px;
}

.colorpicker-body .standalone-strip {
	width: 25px;
	height: 122px;
}

.colorpicker-body .hue-strip {
	position: relative;
	margin-left: 8px;
	cursor: grab;
	background: linear-gradient(to bottom, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
}

.colorpicker-body .opacity-strip {
	position: relative;
	margin-left: 8px;
	cursor: grab;
	background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=");
	background-size: 9px 9px;
	image-rendering: pixelated;
}

.colorpicker-body .strip.grabbing {
	cursor: grabbing;
}

.colorpicker-body .slider {
	position: absolute;
	top: 0;
	left: -2px;
	width: calc(100% + 4px);
	height: 4px;
	box-sizing: border-box;
	border: 1px solid rgba(255, 255, 255, 0.71);
	box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.85);
}

.colorpicker-body .strip .overlay {
	height: 150px;
	pointer-events: none;
}

.colorpicker-body .standalone-strip .standalone-overlay {
	height: 122px;
	pointer-events: none;
}

.standalone-colorpicker-body {
	display: block;
	border: 1px solid transparent;
	border-bottom: 1px solid var(--vscode-editorHoverWidget-border);
	overflow: hidden;
}

.colorpicker-body .insert-button {
	position: absolute;
	height: 20px;
	width: 58px;
	padding: 0px;
	right: 8px;
	bottom: 8px;
	background: var(--vscode-button-background);
	color: var(--vscode-button-foreground);
	border-radius: 2px;
	border: none;
	cursor: pointer;
}

.colorpicker-body .insert-button:hover{
	background: var(--vscode-button-hoverBackground);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .peekview-widget .head {
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	flex-wrap: nowrap;
}

.monaco-editor .peekview-widget .head .peekview-title {
	display: flex;
	align-items: baseline;
	font-size: 13px;
	margin-left: 20px;
	min-width: 0;
	text-overflow: ellipsis;
	overflow: hidden;
}

.monaco-editor .peekview-widget .head .peekview-title.clickable {
	cursor: pointer;
}

.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty) {
	font-size: 0.9em;
	margin-left: 0.5em;
}

.monaco-editor .peekview-widget .head .peekview-title .meta {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.monaco-editor .peekview-widget .head .peekview-title .dirname {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.monaco-editor .peekview-widget .head .peekview-title .filename {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.monaco-editor .peekview-widget .head .peekview-title .meta:not(:empty)::before {
	content: '-';
	padding: 0 0.3em;
}

.monaco-editor .peekview-widget .head .peekview-actions {
	flex: 1;
	text-align: right;
	padding-right: 2px;
}

.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar {
	display: inline-block;
}

.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar,
.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar > .actions-container {
	height: 100%;
}

.monaco-editor .peekview-widget > .body {
	border-top: 1px solid;
	position: relative;
}

.monaco-editor .peekview-widget .head .peekview-title .codicon {
	margin-right: 4px;
	align-self: center;
}

.monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon {
	color: inherit !important;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
.monaco-editor .zone-widget {
	position: absolute;
	z-index: 10;
}


.monaco-editor .zone-widget .zone-widget-container {
	border-top-style: solid;
	border-bottom-style: solid;
	border-top-width: 0;
	border-bottom-width: 0;
	position: relative;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-split-view2 {
	position: relative;
	width: 100%;
	height: 100%;
}

.monaco-split-view2 > .sash-container {
	position: absolute;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.monaco-split-view2 > .sash-container > .monaco-sash {
	pointer-events: initial;
}

.monaco-split-view2 > .monaco-scrollable-element {
	width: 100%;
	height: 100%;
}

.monaco-split-view2 > .monaco-scrollable-element > .split-view-container {
	width: 100%;
	height: 100%;
	white-space: nowrap;
	position: relative;
}

.monaco-split-view2 > .monaco-scrollable-element > .split-view-container > .split-view-view {
	white-space: initial;
	position: absolute;
}

.monaco-split-view2 > .monaco-scrollable-element > .split-view-container > .split-view-view:not(.visible) {
	display: none;
}

.monaco-split-view2.vertical > .monaco-scrollable-element > .split-view-container > .split-view-view {
	width: 100%;
}

.monaco-split-view2.horizontal > .monaco-scrollable-element > .split-view-container > .split-view-view {
	height: 100%;
}

.monaco-split-view2.separator-border > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before {
	content: ' ';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
	pointer-events: none;
	background-color: var(--separator-border);
}

.monaco-split-view2.separator-border.horizontal > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before {
	height: 100%;
	width: 1px;
}

.monaco-split-view2.separator-border.vertical > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before {
	height: 1px;
	width: 100%;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-table {
	display: flex;
	flex-direction: column;
	position: relative;
	height: 100%;
	width: 100%;
	white-space: nowrap;
	overflow: hidden;
}

.monaco-table > .monaco-split-view2 {
	border-bottom: 1px solid transparent;
}

.monaco-table > .monaco-list {
	flex: 1;
}

.monaco-table-tr {
	display: flex;
	height: 100%;
}

.monaco-table-th {
	width: 100%;
	height: 100%;
	font-weight: bold;
	overflow: hidden;
	text-overflow: ellipsis;
}

.monaco-table-th,
.monaco-table-td {
	box-sizing: border-box;
	flex-shrink: 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {
	content: "";
	position: absolute;
	left: calc(var(--vscode-sash-size) / 2);
	width: 0;
	border-left: 1px solid transparent;
}

.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2,
.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {
	transition: border-color 0.2s ease-out;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-custom-toggle {
	margin-left: 2px;
	float: left;
	cursor: pointer;
	overflow: hidden;
	width: 20px;
	height: 20px;
	border-radius: 3px;
	border: 1px solid transparent;
	padding: 1px;
	box-sizing:	border-box;
	user-select: none;
	-webkit-user-select: none;
}

.monaco-custom-toggle:hover {
	background-color: var(--vscode-inputOption-hoverBackground);
}

.hc-black .monaco-custom-toggle:hover,
.hc-light .monaco-custom-toggle:hover {
	border: 1px dashed var(--vscode-focusBorder);
}

.hc-black .monaco-custom-toggle,
.hc-light .monaco-custom-toggle {
	background: none;
}

.hc-black .monaco-custom-toggle:hover,
.hc-light .monaco-custom-toggle:hover {
	background: none;
}

.monaco-custom-toggle.monaco-checkbox {
	height: 18px;
	width: 18px;
	border: 1px solid transparent;
	border-radius: 3px;
	margin-right: 9px;
	margin-left: 0px;
	padding: 0px;
	opacity: 1;
	background-size: 16px !important;
}

.monaco-action-bar .checkbox-action-item {
	display: flex;
	align-items: center;
	border-radius: 2px;
	padding-right: 2px;
}

.monaco-action-bar .checkbox-action-item:hover {
	background-color: var(--vscode-toolbar-hoverBackground);
}

.monaco-action-bar .checkbox-action-item > .monaco-custom-toggle.monaco-checkbox {
	margin-right: 4px;
}

.monaco-action-bar .checkbox-action-item > .checkbox-label {
	font-size: 12px;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-inputbox {
	position: relative;
	display: block;
	padding: 0;
	box-sizing:	border-box;
	border-radius: 2px;

	/* Customizable */
	font-size: inherit;
}

.monaco-inputbox > .ibwrapper > .input,
.monaco-inputbox > .ibwrapper > .mirror {

	/* Customizable */
	padding: 4px 6px;
}

.monaco-inputbox > .ibwrapper {
	position: relative;
	width: 100%;
}

.monaco-inputbox > .ibwrapper > .input {
	display: inline-block;
	box-sizing:	border-box;
	width: 100%;
	height: 100%;
	line-height: inherit;
	border: none;
	font-family: inherit;
	font-size: inherit;
	resize: none;
	color: inherit;
}

.monaco-inputbox > .ibwrapper > input {
	text-overflow: ellipsis;
}

.monaco-inputbox > .ibwrapper > textarea.input {
	display: block;
	scrollbar-width: none; /* Firefox: hide scrollbars */
	outline: none;
}

.monaco-inputbox > .ibwrapper > textarea.input::-webkit-scrollbar {
	display: none; /* Chrome + Safari: hide scrollbar */
}

.monaco-inputbox > .ibwrapper > textarea.input.empty {
	white-space: nowrap;
}

.monaco-inputbox > .ibwrapper > .mirror {
	position: absolute;
	display: inline-block;
	width: 100%;
	top: 0;
	left: 0;
	box-sizing: border-box;
	white-space: pre-wrap;
	visibility: hidden;
	word-wrap: break-word;
}

/* Context view */

.monaco-inputbox-container {
	text-align: right;
}

.monaco-inputbox-container .monaco-inputbox-message {
	display: inline-block;
	overflow: hidden;
	text-align: left;
	width: 100%;
	box-sizing:	border-box;
	padding: 0.4em;
	font-size: 12px;
	line-height: 17px;
	margin-top: -1px;
	word-wrap: break-word;
}

/* Action bar support */
.monaco-inputbox .monaco-action-bar {
	position: absolute;
	right: 2px;
	top: 4px;
}

.monaco-inputbox .monaco-action-bar .action-item {
	margin-left: 2px;
}

.monaco-inputbox .monaco-action-bar .action-item .codicon {
	background-repeat: no-repeat;
	width: 16px;
	height: 16px;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
/* ---------- Find input ---------- */

.monaco-findInput {
	position: relative;
}

.monaco-findInput .monaco-inputbox {
	font-size: 13px;
	width: 100%;
}

.monaco-findInput > .controls {
	position: absolute;
	top: 3px;
	right: 2px;
}

.vs .monaco-findInput.disabled {
	background-color: #E1E1E1;
}

/* Theming */
.vs-dark .monaco-findInput.disabled {
	background-color: #333;
}

/* Highlighting */
.monaco-findInput.highlight-0 .controls,
.hc-light .monaco-findInput.highlight-0 .controls {
	animation: monaco-findInput-highlight-0 100ms linear 0s;
}

.monaco-findInput.highlight-1 .controls,
.hc-light .monaco-findInput.highlight-1 .controls {
	animation: monaco-findInput-highlight-1 100ms linear 0s;
}

.hc-black .monaco-findInput.highlight-0 .controls,
.vs-dark  .monaco-findInput.highlight-0 .controls {
	animation: monaco-findInput-highlight-dark-0 100ms linear 0s;
}

.hc-black .monaco-findInput.highlight-1 .controls,
.vs-dark  .monaco-findInput.highlight-1 .controls {
	animation: monaco-findInput-highlight-dark-1 100ms linear 0s;
}

@keyframes monaco-findInput-highlight-0 {
	0% { background: rgba(253, 255, 0, 0.8); }
	100% { background: transparent; }
}
@keyframes monaco-findInput-highlight-1 {
	0% { background: rgba(253, 255, 0, 0.8); }
	/* Made intentionally different such that the CSS minifier does not collapse the two animations into a single one*/
	99% { background: transparent; }
}

@keyframes monaco-findInput-highlight-dark-0 {
	0% { background: rgba(255, 255, 255, 0.44); }
	100% { background: transparent; }
}
@keyframes monaco-findInput-highlight-dark-1 {
	0% { background: rgba(255, 255, 255, 0.44); }
	/* Made intentionally different such that the CSS minifier does not collapse the two animations into a single one*/
	99% { background: transparent; }
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-tl-row {
	display: flex;
	height: 100%;
	align-items: center;
	position: relative;
}

.monaco-tl-row.disabled {
	cursor: default;
}
.monaco-tl-indent {
	height: 100%;
	position: absolute;
	top: 0;
	left: 16px;
	pointer-events: none;
}

.hide-arrows .monaco-tl-indent {
	left: 12px;
}

.monaco-tl-indent > .indent-guide {
	display: inline-block;
	box-sizing: border-box;
	height: 100%;
	border-left: 1px solid transparent;
	opacity: 0;
}

.monaco-workbench:not(.reduce-motion) .monaco-tl-indent > .indent-guide {
	transition: opacity 0.1s linear;
}

.monaco-tl-twistie,
.monaco-tl-contents {
	height: 100%;
}

.monaco-tl-twistie {
	font-size: 10px;
	text-align: right;
	padding-right: 6px;
	flex-shrink: 0;
	width: 16px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	transform: translateX(3px);
}

.monaco-tl-contents {
	flex: 1;
	overflow: hidden;
}

.monaco-tl-twistie::before {
	border-radius: 20px;
}

.monaco-tl-twistie.collapsed::before {
	transform: rotate(-90deg);
}

.monaco-tl-twistie.codicon-tree-item-loading::before {
	/* Use steps to throttle FPS to reduce CPU usage */
	animation: codicon-spin 1.25s steps(30) infinite;
}

.monaco-tree-type-filter {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	padding: 3px;
	max-width: 200px;
	z-index: 100;
	margin: 0 10px 0 6px;
	border: 1px solid var(--vscode-widget-border);
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
}

.monaco-workbench:not(.reduce-motion) .monaco-tree-type-filter {
	transition: top 0.3s;
}

.monaco-tree-type-filter.disabled {
	top: -40px !important;
}

.monaco-tree-type-filter-input {
	flex: 1;
}

.monaco-tree-type-filter-input .monaco-inputbox {
	height: 23px;
}

.monaco-tree-type-filter-input .monaco-inputbox > .ibwrapper > .input,
.monaco-tree-type-filter-input .monaco-inputbox > .ibwrapper > .mirror {
	padding: 2px 4px;
}

.monaco-tree-type-filter-input .monaco-findInput > .controls {
	top: 2px;
}

.monaco-tree-type-filter-actionbar {
	margin-left: 4px;
}

.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label {
	padding: 2px;
}

.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 0;
	z-index: 13; /* Settings editor uses z-index: 12 */

	/* Backup color in case the tree does not provide the background color */
	background-color: var(--vscode-sideBar-background);
}

.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row.monaco-list-row{
	position: absolute;
	width: 100%;
	opacity: 1 !important; /* Settings editor uses opacity < 1 */
	overflow: hidden;

	/* Backup color in case the tree does not provide the background color */
	background-color: var(--vscode-sideBar-background);
}

.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row:hover{
	background-color: var(--vscode-list-hoverBackground) !important;
	cursor: pointer;
}

.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty,
.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty .monaco-tree-sticky-container-shadow {
	display: none;
}

.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow {
	position: absolute;
	bottom: -3px;
	left: 0px;
	height: 0px; /* heigt is 3px and only set when there is a treeStickyScrollShadow color */
	width: 100%;
}

.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container[tabindex="0"]:focus{
	outline: none;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* -- zone widget */
.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget {
	border-top-width: 1px;
	border-bottom-width: 1px;
}

.monaco-editor .reference-zone-widget .inline {
	display: inline-block;
	vertical-align: top;
}

.monaco-editor .reference-zone-widget .messages {
	height: 100%;
	width: 100%;
	text-align: center;
	padding: 3em 0;
}

.monaco-editor .reference-zone-widget .ref-tree {
	line-height: 23px;
	background-color: var(--vscode-peekViewResult-background);
	color: var(--vscode-peekViewResult-lineForeground);
}

.monaco-editor .reference-zone-widget .ref-tree .reference {
	text-overflow: ellipsis;
	overflow: hidden;
}

.monaco-editor .reference-zone-widget .ref-tree .reference-file {
	display: inline-flex;
	width: 100%;
	height: 100%;
	color: var(--vscode-peekViewResult-fileForeground);
}

.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file {
	color: inherit !important;
}

.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows > .monaco-list-row.selected:not(.highlighted) {
	background-color: var(--vscode-peekViewResult-selectionBackground);
	color: var(--vscode-peekViewResult-selectionForeground) !important;
}

.monaco-editor .reference-zone-widget .ref-tree .reference-file .count {
	margin-right: 12px;
	margin-left: auto;
}

.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight {
	background-color: var(--vscode-peekViewResult-matchHighlightBackground);
}

.monaco-editor .reference-zone-widget .preview .reference-decoration {
	background-color: var(--vscode-peekViewEditor-matchHighlightBackground);
	border: 2px solid var(--vscode-peekViewEditor-matchHighlightBorder);
	box-sizing: border-box;
}

.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background,
.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input {
	background-color: var(--vscode-peekViewEditor-background);
}

.monaco-editor .reference-zone-widget .preview .monaco-editor .margin {
	background-color: var(--vscode-peekViewEditorGutter-background);
}

/* High Contrast Theming */

.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file,
.monaco-editor.hc-light .reference-zone-widget .ref-tree .reference-file {
	font-weight: bold;
}

.monaco-editor.hc-black .reference-zone-widget .ref-tree .referenceMatch .highlight,
.monaco-editor.hc-light .reference-zone-widget .ref-tree .referenceMatch .highlight {
	border: 1px dotted var(--vscode-contrastActiveBorder, transparent);
	box-sizing: border-box;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-count-badge {
	padding: 3px 6px;
	border-radius: 11px;
	font-size: 11px;
	min-width: 18px;
	min-height: 18px;
	line-height: 11px;
	font-weight: normal;
	text-align: center;
	display: inline-block;
	box-sizing: border-box;
}

.monaco-count-badge.long {
	padding: 2px 3px;
	border-radius: 2px;
	min-height: auto;
	line-height: normal;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* ---------- Icon label ---------- */

.monaco-icon-label {
	display: flex; /* required for icons support :before rule */
	overflow: hidden;
	text-overflow: ellipsis;
}

.monaco-icon-label::before {

	/* svg icons rendered as background image */
	background-size: 16px;
	background-position: left center;
	background-repeat: no-repeat;
	padding-right: 6px;
	width: 16px;
	height: 22px;
	line-height: inherit !important;
	display: inline-block;

	/* fonts icons */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	vertical-align: top;

	flex-shrink: 0; /* fix for https://github.com/microsoft/vscode/issues/13787 */
}

.monaco-icon-label-iconpath {
	width: 16px;
	height: 16px;
	padding-left: 2px;
	margin-top: 2px;
	display: flex;
}

.monaco-icon-label-container.disabled {
	color: var(--vscode-disabledForeground);
}
.monaco-icon-label > .monaco-icon-label-container {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	flex: 1;
}

.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-name-container > .label-name {
	color: inherit;
	white-space: pre; /* enable to show labels that include multiple whitespaces */
}

.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-name-container > .label-name > .label-separator {
	margin: 0 2px;
	opacity: 0.5;
}

.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-suffix-container > .label-suffix {
	opacity: .7;
	white-space: pre;
}

.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {
	opacity: .7;
	margin-left: 0.5em;
	font-size: 0.9em;
	white-space: pre; /* enable to show labels that include multiple whitespaces */
}

.monaco-icon-label.nowrap > .monaco-icon-label-container > .monaco-icon-description-container > .label-description{
	white-space: nowrap
}

.vs .monaco-icon-label > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {
	opacity: .95;
}

.monaco-icon-label.italic > .monaco-icon-label-container > .monaco-icon-name-container > .label-name,
.monaco-icon-label.italic > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {
	font-style: italic;
}

.monaco-icon-label.deprecated {
	text-decoration: line-through;
	opacity: 0.66;
}

.monaco-icon-label.strikethrough > .monaco-icon-label-container > .monaco-icon-name-container > .label-name,
.monaco-icon-label.strikethrough > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {
	text-decoration: line-through;
}

.monaco-icon-label::after {
	opacity: 0.75;
	font-size: 90%;
	font-weight: 600;
	margin: auto 16px 0 5px; /* https://github.com/microsoft/vscode/issues/113223 */
	text-align: center;
}

/* make sure selection color wins when a label is being selected */
.monaco-list:focus .selected .monaco-icon-label, /* list */
.monaco-list:focus .selected .monaco-icon-label::after
{
	color: inherit !important;
}

.monaco-list-row.focused.selected .label-description,
.monaco-list-row.selected .label-description {
	opacity: .8;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .hoverHighlight {
	background-color: var(--vscode-editor-hoverHighlightBackground);
}

.monaco-editor .monaco-resizable-hover {
	border: 1px solid var(--vscode-editorHoverWidget-border);
	border-radius: 3px;
	box-sizing: content-box;
}

.monaco-editor .monaco-resizable-hover > .monaco-hover {
	border: none;
	border-radius: none;
}

.monaco-editor .monaco-hover {
	border: 1px solid var(--vscode-editorHoverWidget-border);
	border-radius: 3px;
	color: var(--vscode-editorHoverWidget-foreground);
	background-color: var(--vscode-editorHoverWidget-background);
}

.monaco-editor .monaco-hover a {
	color: var(--vscode-textLink-foreground);
}

.monaco-editor .monaco-hover a:hover {
	color: var(--vscode-textLink-activeForeground);
}

.monaco-editor .monaco-hover .hover-row {
	display: flex;
}

.monaco-editor .monaco-hover .hover-row .hover-row-contents {
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.monaco-editor .monaco-hover .hover-row .verbosity-actions {
	border-right: 1px solid var(--vscode-editorHoverWidget-border);
	width: 22px;
	overflow-y: clip;
}

.monaco-editor .monaco-hover .hover-row .verbosity-actions-inner {
	display: flex;
	flex-direction: column;
	padding-left: 5px;
	padding-right: 5px;
	justify-content: flex-end;
	position: relative;
}

.monaco-editor .monaco-hover .hover-row .verbosity-actions-inner .codicon {
	cursor: pointer;
	font-size: 11px;
}

.monaco-editor .monaco-hover .hover-row .verbosity-actions-inner .codicon.enabled {
	color: var(--vscode-textLink-foreground);
}

.monaco-editor .monaco-hover .hover-row .verbosity-actions-inner .codicon.disabled {
	opacity: 0.6;
}

.monaco-editor .monaco-hover .hover-row .actions {
	background-color: var(--vscode-editorHoverWidget-statusBarBackground);
}

.monaco-editor .monaco-hover code {
	background-color: var(--vscode-textCodeBlock-background);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor.vs .dnd-target,
.monaco-editor.hc-light .dnd-target {
	border-right: 2px dotted black;
	color: white; /* opposite of black */
}
.monaco-editor.vs-dark .dnd-target {
	border-right: 2px dotted #AEAFAD;
	color: #51504f; /* opposite of #AEAFAD */
}
.monaco-editor.hc-black .dnd-target {
	border-right: 2px dotted #fff;
	color: #000; /* opposite of #fff */
}

.monaco-editor.mouse-default .view-lines,
.monaco-editor.vs-dark.mac.mouse-default .view-lines,
.monaco-editor.hc-black.mac.mouse-default .view-lines,
.monaco-editor.hc-light.mac.mouse-default .view-lines {
	cursor: default;
}
.monaco-editor.mouse-copy .view-lines,
.monaco-editor.vs-dark.mac.mouse-copy .view-lines,
.monaco-editor.hc-black.mac.mouse-copy .view-lines,
.monaco-editor.hc-light.mac.mouse-copy .view-lines {
	cursor: copy;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .findOptionsWidget {
	background-color: var(--vscode-editorWidget-background);
	color: var(--vscode-editorWidget-foreground);
	box-shadow: 0 0 8px 2px var(--vscode-widget-shadow);
	border: 2px solid var(--vscode-contrastBorder);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* Find widget */
.monaco-editor .find-widget {
	position: absolute;
	z-index: 35;
	height: 33px;
	overflow: hidden;
	line-height: 19px;
	transition: transform 200ms linear;
	padding: 0 4px;
	box-sizing: border-box;
	transform: translateY(calc(-100% - 10px)); /* shadow (10px) */
	box-shadow: 0 0 8px 2px var(--vscode-widget-shadow);
	color: var(--vscode-editorWidget-foreground);
	border-left: 1px solid var(--vscode-widget-border);
	border-right: 1px solid var(--vscode-widget-border);
	border-bottom: 1px solid var(--vscode-widget-border);
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	background-color: var(--vscode-editorWidget-background);
}

.monaco-workbench.reduce-motion .monaco-editor .find-widget {
	transition: transform 0ms linear;
}

.monaco-editor .find-widget textarea {
	margin: 0px;
}

.monaco-editor .find-widget.hiddenEditor {
	display: none;
}

/* Find widget when replace is toggled on */
.monaco-editor .find-widget.replaceToggled > .replace-part {
	display: flex;
}

.monaco-editor .find-widget.visible  {
	transform: translateY(0);
}

/* This outline-color rule is used to override the outline color for synthetic-focus find input. */
.monaco-editor .find-widget .monaco-inputbox.synthetic-focus {
	outline: 1px solid -webkit-focus-ring-color;
	outline-offset: -1px;
	outline-color: var(--vscode-focusBorder);
}

.monaco-editor .find-widget .monaco-inputbox .input {
	background-color: transparent;
	min-height: 0;
}

.monaco-editor .find-widget .monaco-findInput .input {
	font-size: 13px;
}

.monaco-editor .find-widget > .find-part,
.monaco-editor .find-widget > .replace-part {
	margin: 3px 25px 0 17px;
	font-size: 12px;
	display: flex;
}

.monaco-editor .find-widget > .find-part .monaco-inputbox,
.monaco-editor .find-widget > .replace-part .monaco-inputbox {
	min-height: 25px;
}


.monaco-editor .find-widget > .replace-part .monaco-inputbox > .ibwrapper > .mirror {
	padding-right: 22px;
}

.monaco-editor .find-widget > .find-part .monaco-inputbox > .ibwrapper > .input,
.monaco-editor .find-widget > .find-part .monaco-inputbox > .ibwrapper > .mirror,
.monaco-editor .find-widget > .replace-part .monaco-inputbox > .ibwrapper > .input,
.monaco-editor .find-widget > .replace-part .monaco-inputbox > .ibwrapper > .mirror {
	padding-top: 2px;
	padding-bottom: 2px;
}

.monaco-editor .find-widget > .find-part .find-actions {
	height: 25px;
	display: flex;
	align-items: center;
}

.monaco-editor .find-widget > .replace-part .replace-actions {
	height: 25px;
	display: flex;
	align-items: center;
}

.monaco-editor .find-widget .monaco-findInput {
	vertical-align: middle;
	display: flex;
	flex:1;
}

.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element {
	/* Make sure textarea inherits the width correctly */
	width: 100%;
}

.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical {
	/* Hide vertical scrollbar */
	opacity: 0;
}

.monaco-editor .find-widget .matchesCount {
	display: flex;
	flex: initial;
	margin: 0 0 0 3px;
	padding: 2px 0 0 2px;
	height: 25px;
	vertical-align: middle;
	box-sizing: border-box;
	text-align: center;
	line-height: 23px;
}

.monaco-editor .find-widget .button {
	width: 16px;
	height: 16px;
	padding: 3px;
	border-radius: 5px;
	display: flex;
	flex: initial;
	margin-left: 3px;
	background-position: center center;
	background-repeat: no-repeat;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* find in selection button */
.monaco-editor .find-widget .codicon-find-selection {
	width: 22px;
	height: 22px;
	padding: 3px;
	border-radius: 5px;
}

.monaco-editor .find-widget .button.left {
	margin-left: 0;
	margin-right: 3px;
}

.monaco-editor .find-widget .button.wide {
	width: auto;
	padding: 1px 6px;
	top: -1px;
}

.monaco-editor .find-widget .button.toggle {
	position: absolute;
	top: 0;
	left: 3px;
	width: 18px;
	height: 100%;
	border-radius: 0;
	box-sizing: border-box;
}

.monaco-editor .find-widget .button.toggle.disabled {
	display: none;
}

.monaco-editor .find-widget .disabled {
	color: var(--vscode-disabledForeground);
	cursor: default;
}

.monaco-editor .find-widget > .replace-part {
	display: none;
}

.monaco-editor .find-widget > .replace-part > .monaco-findInput {
	position: relative;
	display: flex;
	vertical-align: middle;
	flex: auto;
	flex-grow: 0;
	flex-shrink: 0;
}

.monaco-editor .find-widget > .replace-part > .monaco-findInput > .controls {
	position: absolute;
	top: 3px;
	right: 2px;
}

/* REDUCED */
.monaco-editor .find-widget.reduced-find-widget .matchesCount {
	display:none;
}

/* NARROW (SMALLER THAN REDUCED) */
.monaco-editor .find-widget.narrow-find-widget {
	max-width: 257px !important;
}

/* COLLAPSED (SMALLER THAN NARROW) */
.monaco-editor .find-widget.collapsed-find-widget {
	max-width: 170px !important;
}

.monaco-editor .find-widget.collapsed-find-widget .button.previous,
.monaco-editor .find-widget.collapsed-find-widget .button.next,
.monaco-editor .find-widget.collapsed-find-widget .button.replace,
.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,
.monaco-editor .find-widget.collapsed-find-widget > .find-part .monaco-findInput .controls {
	display:none;
}

.monaco-editor .find-widget.no-results .matchesCount {
	color: var(--vscode-errorForeground);
}

.monaco-editor .findMatch {
	animation-duration: 0;
	animation-name: inherit !important;
	background-color: var(--vscode-editor-findMatchHighlightBackground);
}

.monaco-editor .currentFindMatch {
	background-color: var(--vscode-editor-findMatchBackground);
	border: 2px solid var(--vscode-editor-findMatchBorder);
	padding: 1px;
	box-sizing: border-box;
}

.monaco-editor .findScope {
	background-color: var(--vscode-editor-findRangeHighlightBackground);
}

.monaco-editor .find-widget .monaco-sash {
	left: 0 !important;
	background-color: var(--vscode-editorWidget-resizeBorder, var(--vscode-editorWidget-border));
}

.monaco-editor.hc-black .find-widget .button:before {
	position: relative;
	top: 1px;
	left: 2px;
}

/* Action bars */
.monaco-editor .find-widget .button:not(.disabled):hover,
.monaco-editor .find-widget .codicon-find-selection:hover {
	background-color: var(--vscode-toolbar-hoverBackground) !important;
}

.monaco-editor.findMatch {
	background-color: var(--vscode-editor-findMatchHighlightBackground);
}

.monaco-editor.currentFindMatch {
	background-color: var(--vscode-editor-findMatchBackground);
}

.monaco-editor.findScope {
	background-color: var(--vscode-editor-findRangeHighlightBackground);
}

.monaco-editor.findMatch {
	background-color: var(--vscode-editorWidget-background);
}

/* Close button position. */
.monaco-editor .find-widget > .button.codicon-widget-close {
	position: absolute;
	top: 5px;
	right: 4px;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
.monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,
.monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,
.monaco-editor .margin-view-overlays .codicon-folding-expanded,
.monaco-editor .margin-view-overlays .codicon-folding-collapsed {
	cursor: pointer;
	opacity: 0;
	transition: opacity 0.5s;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 140%;
	margin-left: 2px;
}

.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,
.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,
.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-expanded,
.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-collapsed {
	transition: initial;
}

.monaco-editor .margin-view-overlays:hover .codicon,
.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,
.monaco-editor .margin-view-overlays .codicon.codicon-folding-manual-collapsed,
.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons {
	opacity: 1;
}

.monaco-editor .inline-folded:after {
	color: var(--vscode-editor-foldPlaceholderForeground);
	margin: 0.1em 0.2em 0 0.2em;
	content: "\22EF"; /* ellipses unicode character */
	display: inline;
	line-height: 1em;
	cursor: pointer;
}

.monaco-editor .folded-background {
	background-color: var(--vscode-editor-foldBackground);
}

.monaco-editor .cldr.codicon.codicon-folding-expanded,
.monaco-editor .cldr.codicon.codicon-folding-collapsed,
.monaco-editor .cldr.codicon.codicon-folding-manual-expanded,
.monaco-editor .cldr.codicon.codicon-folding-manual-collapsed {
	color: var(--vscode-editorGutter-foldingControlForeground) !important;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .snippet-placeholder {
	min-width: 2px;
	outline-style: solid;
	outline-width: 1px;
	background-color: var(--vscode-editor-snippetTabstopHighlightBackground, transparent);
	outline-color: var(--vscode-editor-snippetTabstopHighlightBorder, transparent);
}

.monaco-editor .finish-snippet-placeholder {
	outline-style: solid;
	outline-width: 1px;
	background-color: var(--vscode-editor-snippetFinalTabstopHighlightBackground, transparent);
	outline-color: var(--vscode-editor-snippetFinalTabstopHighlightBorder, transparent);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* Suggest widget*/

.monaco-editor .suggest-widget {
	width: 430px;
	z-index: 40;
	display: flex;
	flex-direction: column;
	border-radius: 3px;
}

.monaco-editor .suggest-widget.message {
	flex-direction: row;
	align-items: center;
}

.monaco-editor .suggest-widget,
.monaco-editor .suggest-details {
	flex: 0 1 auto;
	width: 100%;
	border-style: solid;
	border-width: 1px;
	border-color: var(--vscode-editorSuggestWidget-border);
	background-color: var(--vscode-editorSuggestWidget-background);
}

.monaco-editor.hc-black .suggest-widget,
.monaco-editor.hc-black .suggest-details,
.monaco-editor.hc-light .suggest-widget,
.monaco-editor.hc-light .suggest-details {
	border-width: 2px;
}

/* Styles for status bar part */


.monaco-editor .suggest-widget .suggest-status-bar {
	box-sizing: border-box;
	display: none;
	flex-flow: row nowrap;
	justify-content: space-between;
	width: 100%;
	font-size: 80%;
	padding: 0 4px 0 4px;
	border-top: 1px solid var(--vscode-editorSuggestWidget-border);
	overflow: hidden;
}

.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar {
	display: flex;
}

.monaco-editor .suggest-widget .suggest-status-bar .left {
	padding-right: 8px;
}

.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label {
	color: var(--vscode-editorSuggestWidgetStatus-foreground);
}

.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label {
	margin-right: 0;
}

.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label::after {
	content: ', ';
	margin-right: 0.3em;
}

.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row > .contents > .main > .right > .readMore,
.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label > .contents > .main > .right > .readMore {
	display: none;
}

.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover > .contents > .main > .right.can-expand-details > .details-label {
	width: 100%;
}

/* Styles for Message element for when widget is loading or is empty */

.monaco-editor .suggest-widget > .message {
	padding-left: 22px;
}

/** Styles for the list element **/

.monaco-editor .suggest-widget > .tree {
	height: 100%;
	width: 100%;
}

.monaco-editor .suggest-widget .monaco-list {
	user-select: none;
	-webkit-user-select: none;
}

/** Styles for each row in the list element **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row {
	display: flex;
	-mox-box-sizing: border-box;
	box-sizing: border-box;
	padding-right: 10px;
	background-repeat: no-repeat;
	background-position: 2px 2px;
	white-space: nowrap;
	cursor: pointer;
	touch-action: none;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused {
	color: var(--vscode-editorSuggestWidget-selectedForeground);
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon {
	color: var(--vscode-editorSuggestWidget-selectedIconForeground);
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents {
	flex: 1;
	height: 100%;
	overflow: hidden;
	padding-left: 2px;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main {
	display: flex;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: pre;
	justify-content: space-between;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left,
.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right {
	display: flex;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.focused) > .contents > .main .monaco-icon-label {
	color: var(--vscode-editorSuggestWidget-foreground);
}

.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight {
	font-weight: bold;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main .monaco-highlighted-label .highlight {
	color: var(--vscode-editorSuggestWidget-highlightForeground);
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused > .contents > .main .monaco-highlighted-label .highlight {
	color: var(--vscode-editorSuggestWidget-focusHighlightForeground);
}

/** ReadMore Icon styles **/

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .codicon-close,
.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .readMore::before {
	color: inherit;
	opacity: 1;
	font-size: 14px;
	cursor: pointer;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .codicon-close {
	position: absolute;
	top: 6px;
	right: 2px;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .codicon-close:hover,
.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .readMore:hover {
	opacity: 1;
}

/** signature, qualifier, type/details opacity **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .details-label {
	opacity: 0.7;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left > .signature-label {
	overflow: hidden;
	text-overflow: ellipsis;
	opacity: 0.6;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left > .qualifier-label {
	margin-left: 12px;
	opacity: 0.4;
	font-size: 85%;
	line-height: initial;
	text-overflow: ellipsis;
	overflow: hidden;
	align-self: center;
}

/** Type Info and icon next to the label in the focused completion item **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .details-label {
	font-size: 85%;
	margin-left: 1.1em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .details-label > .monaco-tokenized-source {
	display: inline;
}

/** Details: if using CompletionItem#details, show on focus **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .details-label {
	display: none;
}

.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused > .contents > .main > .right > .details-label {
	display: inline;
}

/** Details: if using CompletionItemLabel#details, always show **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label) > .contents > .main > .right > .details-label,
.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused:not(.string-label) > .contents > .main > .right > .details-label {
	display: inline;
}

/** Ellipsis on hover **/

.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover > .contents > .main > .right.can-expand-details > .details-label {
	width: calc(100% - 26px);
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left {
	flex-shrink: 1;
	flex-grow: 1;
	overflow: hidden;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left > .monaco-icon-label {
	flex-shrink: 0;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label) > .contents > .main > .left > .monaco-icon-label {
	max-width: 100%;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label > .contents > .main > .left > .monaco-icon-label {
	flex-shrink: 1;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right {
	overflow: hidden;
	flex-shrink: 4;
	max-width: 70%;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .readMore {
	display: inline-block;
	position: absolute;
	right: 10px;
	width: 18px;
	height: 18px;
	visibility: hidden;
}

/** Do NOT display ReadMore when docs is side/below **/

.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row > .contents > .main > .right > .readMore {
	display: none !important;
}

/** Do NOT display ReadMore when using plain CompletionItemLabel (details/documentation might not be resolved) **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label > .contents > .main > .right > .readMore {
	display: none;
}

/** Focused item can show ReadMore, but can't when docs is side/below **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label > .contents > .main > .right > .readMore {
	display: inline-block;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover > .contents > .main > .right > .readMore {
	visibility: visible;
}

/** Styles for each row in the list **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated {
	opacity: 0.66;
	text-decoration: unset;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated > .monaco-icon-label-container > .monaco-icon-name-container {
	text-decoration: line-through;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label::before {
	height: 100%;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon {
	display: block;
	height: 16px;
	width: 16px;
	margin-left: 2px;
	background-repeat: no-repeat;
	background-size: 80%;
	background-position: center;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide {
	display: none;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon {
	display: flex;
	align-items: center;
	margin-right: 4px;
}

.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon,
.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon::before {
	display: none;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan {
	margin: 0 0 0 0.3em;
	border: 0.1em solid #000;
	width: 0.7em;
	height: 0.7em;
	display: inline-block;
}

/** Styles for the docs of the completion item in focus **/

.monaco-editor .suggest-details-container {
	z-index: 41;
}

.monaco-editor .suggest-details {
	display: flex;
	flex-direction: column;
	cursor: default;
	color: var(--vscode-editorSuggestWidget-foreground);
}

.monaco-editor .suggest-details:focus {
	border-color: var(--vscode-focusBorder);
}

.monaco-editor .suggest-details a {
	color: var(--vscode-textLink-foreground);
}

.monaco-editor .suggest-details a:hover {
	color: var(--vscode-textLink-activeForeground);
}

.monaco-editor .suggest-details code {
	background-color: var(--vscode-textCodeBlock-background);
}

.monaco-editor .suggest-details.no-docs {
	display: none;
}

.monaco-editor .suggest-details > .monaco-scrollable-element {
	flex: 1;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body {
	box-sizing: border-box;
	height: 100%;
	width: 100%;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .type {
	flex: 2;
	overflow: hidden;
	text-overflow: ellipsis;
	opacity: 0.7;
	white-space: pre;
	margin: 0 24px 0 0;
	padding: 4px 0 4px 5px;
}

.monaco-editor .suggest-details.detail-and-doc > .monaco-scrollable-element > .body > .header > .type {
	padding-bottom: 12px;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .type.auto-wrap {
	white-space: normal;
	word-break: break-all;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs {
	margin: 0;
	padding: 4px 5px;
	white-space: pre-wrap;
}

.monaco-editor .suggest-details.no-type > .monaco-scrollable-element > .body > .docs {
	margin-right: 24px;
	overflow: hidden;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs {
	padding: 0;
	white-space: initial;
	min-height: calc(1rem + 8px);
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs > div,
.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs > span:not(:empty) {
	padding: 4px 5px;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs > div > p:first-child {
	margin-top: 0;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs > div > p:last-child {
	margin-bottom: 0;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs .monaco-tokenized-source {
	white-space: pre;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs .code {
	white-space: pre-wrap;
	word-wrap: break-word;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs .codicon {
	vertical-align: sub;
}

.monaco-editor .suggest-details > .monaco-scrollable-element > .body > p:empty {
	display: none;
}

.monaco-editor .suggest-details code {
	border-radius: 3px;
	padding: 0 0.4em;
}

.monaco-editor .suggest-details ul {
	padding-left: 20px;
}

.monaco-editor .suggest-details ol {
	padding-left: 20px;
}

.monaco-editor .suggest-details p code {
	font-family: var(--monaco-monospace-font);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .suggest-preview-additional-widget {
	white-space: nowrap;
}

.monaco-editor .suggest-preview-additional-widget .content-spacer {
	color: transparent;
	white-space: pre;
}

.monaco-editor .suggest-preview-additional-widget .button {
	display: inline-block;
	cursor: pointer;
	text-decoration: underline;
	text-underline-position: under;
}

.monaco-editor .ghost-text-hidden {
	opacity: 0;
	font-size: 0;
}

.monaco-editor .ghost-text-decoration,
.monaco-editor .suggest-preview-text .ghost-text {
	font-style: italic;
}

.monaco-editor .suggest-preview-text.clickable .view-line {
	z-index: 1;
}

.monaco-editor .ghost-text-decoration.clickable,
.monaco-editor .ghost-text-decoration-preview.clickable,
.monaco-editor .suggest-preview-text.clickable .ghost-text {
	cursor: pointer;
}

.monaco-editor .inline-completion-text-to-replace {
	text-decoration: underline;
	text-underline-position: under;
}

.monaco-editor .ghost-text-decoration,
.monaco-editor .ghost-text-decoration-preview,
.monaco-editor .suggest-preview-text .ghost-text {
	&.syntax-highlighted {
		opacity: 0.7;
	}
	&:not(.syntax-highlighted) {
		color: var(--vscode-editorGhostText-foreground);
	}
	background-color: var(--vscode-editorGhostText-background);
	border: 1px solid var(--vscode-editorGhostText-border);
}

.monaco-editor .ghost-text-decoration.warning,
.monaco-editor .ghost-text-decoration-preview.warning,
.monaco-editor .suggest-preview-text .ghost-text.warning {
	background: var(--monaco-editor-warning-decoration) repeat-x bottom left;
	border-bottom: 4px double var(--vscode-editorWarning-border);
}

.ghost-text-view-warning-widget-icon {
	.codicon {
		color: var(--vscode-editorWarning-foreground) !important;
	}
}

.monaco-editor {
	.edits-fadeout-decoration {
		opacity: var(--animation-opacity, 1);
		background-color: var(--vscode-inlineEdit-modifiedChangedTextBackground);
	}
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .sticky-widget {
	overflow: hidden;
	border-bottom: 1px solid var(--vscode-editorStickyScroll-border);
	width: 100%;
	box-shadow: var(--vscode-editorStickyScroll-shadow) 0 4px 2px -2px;
	z-index: 4;
	right: initial !important;
	margin-left: '0px';
}

.monaco-editor .sticky-widget .sticky-widget-line-numbers {
	float: left;
	background-color: var(--vscode-editorStickyScrollGutter-background);
}

.monaco-editor .sticky-widget.peek .sticky-widget-line-numbers {
	background-color: var(--vscode-peekViewEditorStickyScrollGutter-background);
}

.monaco-editor .sticky-widget .sticky-widget-lines-scrollable {
	display: inline-block;
	position: absolute;
	overflow: hidden;
	width: var(--vscode-editorStickyScroll-scrollableWidth);
	background-color: var(--vscode-editorStickyScroll-background);
}

.monaco-editor .sticky-widget.peek .sticky-widget-lines-scrollable {
	background-color: var(--vscode-peekViewEditorStickyScroll-background);
}

.monaco-editor .sticky-widget .sticky-widget-lines {
	position: absolute;
	background-color: inherit;
}

.monaco-editor .sticky-widget .sticky-line-number,
.monaco-editor .sticky-widget .sticky-line-content {
	color: var(--vscode-editorLineNumber-foreground);
	white-space: nowrap;
	display: inline-block;
	position: absolute;
	background-color: inherit;
}

.monaco-editor .sticky-widget .sticky-line-number .codicon-folding-expanded,
.monaco-editor .sticky-widget .sticky-line-number .codicon-folding-collapsed {
	float: right;
	transition: var(--vscode-editorStickyScroll-foldingOpacityTransition);
	position: absolute;
	margin-left: 2px;
}

.monaco-editor .sticky-widget .sticky-line-content {
	width: var(--vscode-editorStickyScroll-scrollableWidth);
	background-color: inherit;
	white-space: nowrap;
}

.monaco-editor .sticky-widget .sticky-line-number-inner {
	display: inline-block;
	text-align: right;
}

.monaco-editor .sticky-widget .sticky-line-content:hover {
	background-color: var(--vscode-editorStickyScrollHover-background);
	cursor: pointer;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/*
	@keyframes blink { 50% { border-color: orange; }  }
*/

.monaco-editor {
	.inline-edits-view-indicator {
		display: flex;

		z-index: 34; /* Below the find widget */
		height: 20px;

		color: var(--vscode-inlineEdit-gutterIndicator-primaryForeground);
		background-color: var(--vscode-inlineEdit-gutterIndicator-background);
		border: 1px solid var(--vscode-inlineEdit-gutterIndicator-primaryBorder);
		border-radius: 3px;

		align-items: center;
		padding: 2px;
		padding-right: 10px;
		margin: 0 4px;

		/*
		animation: blink 1s;
		animation-iteration-count: 3;
		*/

		opacity: 0;

		&.contained {
			transition: opacity 0.2s ease-in-out;
			transition-delay: 0.4s;
		}

		&.visible {
			opacity: 1;
		}

		&.top {
			opacity: 1;

			.icon {
				transform: rotate(90deg);
			}
		}

		&.bottom {
			opacity: 1;

			.icon {
				transform: rotate(-90deg);
			}
		}

		.icon {
			display: flex;
			align-items: center;
			margin: 0 2px;
			transform: none;
			transition: transform 0.2s ease-in-out;
			.codicon {
				color: var(--vscode-inlineEdit-gutterIndicator-primaryForeground);
			}
		}

		.label {
			margin: 0 2px;

			display: flex;
			justify-content: center;
			width: 100%;
		}
	}

	.inline-edits-view .editorContainer {
		.preview .monaco-editor {
			.view-overlays .current-line-exact {
				border: none;
			}

			.current-line-margin {
				border: none;
			}
		}

		.inline-edits-view-zone.diagonal-fill {
			opacity: 0.5;
		}
	}

	.strike-through {
		text-decoration: line-through;
	}

	.inlineCompletions-line-insert {
		background: var(--vscode-inlineEdit-modifiedChangedLineBackground);
	}

	.inlineCompletions-line-delete {
		background: var(--vscode-inlineEdit-originalChangedLineBackground);
	}

	.inlineCompletions-char-insert {
		background: var(--vscode-inlineEdit-modifiedChangedTextBackground);
		cursor: pointer;
	}

	.inlineCompletions-char-delete {
		background: var(--vscode-inlineEdit-originalChangedTextBackground);
	}

	.inlineCompletions-char-delete.diff-range-empty {
		margin-left: -1px;
		border-left: solid var(--vscode-inlineEdit-originalChangedTextBackground) 3px;
	}

	.inlineCompletions-char-insert.diff-range-empty {
		border-left: solid var(--vscode-inlineEdit-modifiedChangedTextBackground) 3px;
	}

	.inlineCompletions-char-delete.single-line-inline { /* Editor Decoration */
		border: 1px solid var(--vscode-editorHoverWidget-border);
		margin: -2px 0 0 -2px;
	}

	.inlineCompletions-char-insert.single-line-inline { /* Inline Decoration */
		border-top: 1px solid var(--vscode-inlineEdit-modifiedBorder); /* TODO: Do not set border inline but create overlaywidget (like deletion view) */
		border-bottom: 1px solid var(--vscode-inlineEdit-modifiedBorder); /* TODO: Do not set border inline but create overlaywidget (like deletion view) */
	}
	.inlineCompletions-char-insert.single-line-inline.start {
		border-top-left-radius: 4px;
		border-bottom-left-radius: 4px;
		border-left: 1px solid var(--vscode-inlineEdit-modifiedBorder); /* TODO: Do not set border inline but create overlaywidget (like deletion view) */
	}
	.inlineCompletions-char-insert.single-line-inline.end {
		border-top-right-radius: 4px;
		border-bottom-right-radius: 4px;
		border-right: 1px solid var(--vscode-inlineEdit-modifiedBorder); /* TODO: Do not set border inline but create overlaywidget (like deletion view) */
	}

	.inlineCompletions-char-delete.single-line-inline.empty,
	.inlineCompletions-char-insert.single-line-inline.empty {
		display: none;
	}

	.inlineCompletions.strike-through {
		text-decoration-thickness: 1px;
	}

	/* line replacement bubbles */

	.inlineCompletions-modified-bubble {
		background: var(--vscode-inlineEdit-modifiedChangedTextBackground);
	}

	.inlineCompletions-original-bubble {
		background: var(--vscode-inlineEdit-originalChangedTextBackground);
	}

	.inlineCompletions-modified-bubble,
	.inlineCompletions-original-bubble {
		pointer-events: none;
		display: inline-block;
	}

	.inline-edit.ghost-text,
	.inline-edit.ghost-text-decoration,
	.inline-edit.ghost-text-decoration-preview,
	.inline-edit.suggest-preview-text .ghost-text {
		&.syntax-highlighted {
			opacity: 1 !important;
		}
		font-style: normal !important;
	}

	.inline-edit.modified-background.ghost-text,
	.inline-edit.modified-background.ghost-text-decoration,
	.inline-edit.modified-background.ghost-text-decoration-preview,
	.inline-edit.modified-background.suggest-preview-text .ghost-text {
		background: var(--vscode-inlineEdit-modifiedChangedTextBackground) !important;
		display: inline-block !important;
	}

	.inlineCompletions-original-lines {
		background: var(--vscode-editor-background);
	}
}

.monaco-menu-option {
	color: var(--vscode-editorActionList-foreground);
	font-size: 13px;
	padding: 0 10px;
	line-height: 26px;
	display: flex;
	gap: 8px;
	align-items: center;
	border-radius: 4px;
	cursor: pointer;

	&.active {
		background: var(--vscode-editorActionList-focusBackground);
		color: var(--vscode-editorActionList-focusForeground);
		outline: 1px solid var(--vscode-menu-selectionBorder, transparent);
		outline-offset: -1px;
	}
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .goto-definition-link {
	text-decoration: underline;
	cursor: pointer;
	color: var(--vscode-editorLink-activeForeground) !important;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* marker zone */

.monaco-editor .peekview-widget .head .peekview-title .severity-icon {
	display: inline-block;
	vertical-align: text-top;
	margin-right: 4px;
}

.monaco-editor .marker-widget {
	text-overflow: ellipsis;
	white-space: nowrap;
}

.monaco-editor .marker-widget > .stale {
	opacity: 0.6;
	font-style: italic;
}

.monaco-editor .marker-widget .title {
	display: inline-block;
	padding-right: 5px;
}

.monaco-editor .marker-widget .descriptioncontainer {
	position: absolute;
	white-space: pre;
	user-select: text;
	-webkit-user-select: text;
	padding: 8px 12px 0 20px;
}

.monaco-editor .marker-widget .descriptioncontainer .message {
	display: flex;
	flex-direction: column;
}

.monaco-editor .marker-widget .descriptioncontainer .message .details {
	padding-left: 6px;
}

.monaco-editor .marker-widget .descriptioncontainer .message .source,
.monaco-editor .marker-widget .descriptioncontainer .message span.code {
	opacity: 0.6;
}

.monaco-editor .marker-widget .descriptioncontainer .message a.code-link {
	opacity: 0.6;
	color: inherit;
}

.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:before {
	content: '(';
}

.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after {
	content: ')';
}

.monaco-editor .marker-widget .descriptioncontainer .message a.code-link > span {
	text-decoration: underline;
	/** Hack to force underline to show **/
	border-bottom: 1px solid transparent;
	text-underline-position: under;
	color: var(--vscode-textLink-activeForeground);
}

.monaco-editor .marker-widget .descriptioncontainer .filename {
	cursor: pointer;
	color: var(--vscode-textLink-activeForeground);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .zone-widget .codicon.codicon-error,
.markers-panel .marker-icon.error, .markers-panel .marker-icon .codicon.codicon-error,
.text-search-provider-messages .providerMessage .codicon.codicon-error,
.extensions-viewlet > .extensions .codicon.codicon-error,
.extension-editor .codicon.codicon-error,
.chat-attached-context-attachment .codicon.codicon-error {
	color: var(--vscode-problemsErrorIcon-foreground);
}

.monaco-editor .zone-widget .codicon.codicon-warning,
.markers-panel .marker-icon.warning, .markers-panel .marker-icon .codicon.codicon-warning,
.text-search-provider-messages .providerMessage .codicon.codicon-warning,
.extensions-viewlet > .extensions .codicon.codicon-warning,
.extension-editor .codicon.codicon-warning,
.preferences-editor .codicon.codicon-warning {
	color: var(--vscode-problemsWarningIcon-foreground);
}

.monaco-editor .zone-widget .codicon.codicon-info,
.markers-panel .marker-icon.info, .markers-panel .marker-icon .codicon.codicon-info,
.text-search-provider-messages .providerMessage .codicon.codicon-info,
.extensions-viewlet > .extensions .codicon.codicon-info,
.extension-editor .codicon.codicon-info {
	color: var(--vscode-problemsInfoIcon-foreground);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/


.monaco-editor.vs .valueSetReplacement {
	outline: solid 2px var(--vscode-editorBracketMatch-border);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .linked-editing-decoration {
	background-color: var(--vscode-editor-linkedEditingBackground);

	/* Ensure decoration is visible even if range is empty */
	min-width: 1px;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
.monaco-editor .detected-link,
.monaco-editor .detected-link-active {
	text-decoration: underline;
	text-underline-position: under;
}

.monaco-editor .detected-link-active {
	cursor: pointer;
	color: var(--vscode-editorLink-activeForeground) !important;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor {
	.scroll-editor-on-middle-click-dot {
		cursor: all-scroll;
		position: absolute;
		z-index: 1;
		background-color: var(--vscode-editor-foreground, white);
		border: 1px solid var(--vscode-editor-background, black);
		opacity: 0.5;
		width: 5px;
		height: 5px;
		border-radius: 50%;
		transform: translate(-50%, -50%);

		&.hidden {
			display: none;
		}
	}

	&.scroll-editor-on-middle-click-editor * {
		cursor: all-scroll;
	}
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .focused .selectionHighlight {
	background-color: var(--vscode-editor-selectionHighlightBackground);
	box-sizing: border-box;
	border: 1px solid var(--vscode-editor-selectionHighlightBorder);
}
.monaco-editor.hc-black .focused .selectionHighlight, .monaco-editor.hc-light .focused .selectionHighlight {
	border-style: dotted;
}

.monaco-editor .wordHighlight {
	background-color: var(--vscode-editor-wordHighlightBackground);
	box-sizing: border-box;
	border: 1px solid var(--vscode-editor-wordHighlightBorder);
}
.monaco-editor.hc-black .wordHighlight, .monaco-editor.hc-light .wordHighlight {
	border-style: dotted;
}

.monaco-editor .wordHighlightStrong {
	background-color: var(--vscode-editor-wordHighlightStrongBackground);
	box-sizing: border-box;
	border: 1px solid var(--vscode-editor-wordHighlightStrongBorder);
}
.monaco-editor.hc-black .wordHighlightStrong, .monaco-editor.hc-light .wordHighlightStrong {
	border-style: dotted;
}

.monaco-editor .wordHighlightText {
	background-color: var(--vscode-editor-wordHighlightTextBackground);
	box-sizing: border-box;
	border: 1px solid var(--vscode-editor-wordHighlightTextBorder);
}
.monaco-editor.hc-black .wordHighlightText, .monaco-editor.hc-light .wordHighlightText {
	border-style: dotted;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .parameter-hints-widget {
	/* Must be higher than the sash's z-index and terminal canvases but lower than the suggest widget */
	z-index: 39;
	display: flex;
	flex-direction: column;
	line-height: 1.5em;
	cursor: default;
	color: var(--vscode-editorHoverWidget-foreground);
	background-color: var(--vscode-editorHoverWidget-background);
	border: 1px solid var(--vscode-editorHoverWidget-border);
}

.hc-black .monaco-editor .parameter-hints-widget,
.hc-light .monaco-editor .parameter-hints-widget {
	border-width: 2px;
}

.monaco-editor .parameter-hints-widget > .phwrapper {
	max-width: 440px;
	display: flex;
	flex-direction: row;
}

.monaco-editor .parameter-hints-widget.multiple {
	min-height: 3.3em;
	padding: 0;
}

.monaco-editor .parameter-hints-widget.multiple .body::before {
	content: "";
	display: block;
	height: 100%;
	position: absolute;
	opacity: 0.5;
	border-left: 1px solid var(--vscode-editorHoverWidget-border);
}

.monaco-editor .parameter-hints-widget p,
.monaco-editor .parameter-hints-widget ul {
	margin: 8px 0;
}

.monaco-editor .parameter-hints-widget .monaco-scrollable-element,
.monaco-editor .parameter-hints-widget .body {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-height: 100%;
}

.monaco-editor .parameter-hints-widget .signature {
	padding: 4px 5px;
	position: relative;
}

.monaco-editor .parameter-hints-widget .signature.has-docs::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	width: 100%;
	padding-top: 4px;
	opacity: 0.5;
	border-bottom: 1px solid var(--vscode-editorHoverWidget-border);
}

.monaco-editor .parameter-hints-widget .code {
	font-family: var(--vscode-parameterHintsWidget-editorFontFamily), var(--vscode-parameterHintsWidget-editorFontFamilyDefault);
}

.monaco-editor .parameter-hints-widget .docs {
	padding: 0 10px 0 5px;
	white-space: pre-wrap;
}

.monaco-editor .parameter-hints-widget .docs.empty {
	display: none;
}

.monaco-editor .parameter-hints-widget .docs a {
	color: var(--vscode-textLink-foreground);
}

.monaco-editor .parameter-hints-widget .docs a:hover {
	color: var(--vscode-textLink-activeForeground);
	cursor: pointer;
}

.monaco-editor .parameter-hints-widget .docs .markdown-docs {
	white-space: initial;
}

.monaco-editor .parameter-hints-widget .docs code {
	font-family: var(--monaco-monospace-font);
	border-radius: 3px;
	padding: 0 0.4em;
	background-color: var(--vscode-textCodeBlock-background);
}

.monaco-editor .parameter-hints-widget .docs .monaco-tokenized-source,
.monaco-editor .parameter-hints-widget .docs .code {
	white-space: pre-wrap;
}

.monaco-editor .parameter-hints-widget .controls {
	display: none;
	flex-direction: column;
	align-items: center;
	min-width: 22px;
	justify-content: flex-end;
}

.monaco-editor .parameter-hints-widget.multiple .controls {
	display: flex;
	padding: 0 2px;
}

.monaco-editor .parameter-hints-widget.multiple .button {
	width: 16px;
	height: 16px;
	background-repeat: no-repeat;
	cursor: pointer;
}

.monaco-editor .parameter-hints-widget .button.previous {
	bottom: 24px;
}

.monaco-editor .parameter-hints-widget .overloads {
	text-align: center;
	height: 12px;
	line-height: 12px;
	font-family: var(--monaco-monospace-font);
}

.monaco-editor .parameter-hints-widget .signature .parameter.active {
	color: var(--vscode-editorHoverWidget-highlightForeground);
	font-weight: bold;
}

.monaco-editor .parameter-hints-widget .documentation-parameter > .parameter {
	font-weight: bold;
	margin-right: 0.5em;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor {
	.editorPlaceholder {
		top: 0px;
		position: absolute;
		overflow: hidden;
		text-overflow: ellipsis;
		text-wrap: nowrap;
		pointer-events: none;

		color: var(--vscode-editor-placeholder-foreground);
	}
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .rename-box {
	z-index: 100;
	color: inherit;
	border-radius: 4px;
}

.monaco-editor .rename-box.preview {
	padding: 4px 4px 0 4px;
}

.monaco-editor .rename-box .rename-input-with-button {
	padding: 3px;
	border-radius: 2px;
	width: calc(100% - 8px); /* 4px padding on each side */
}

.monaco-editor .rename-box .rename-input {
	width: calc(100% - 8px); /* 4px padding on each side */
	padding: 0;
}

.monaco-editor .rename-box .rename-input:focus {
	outline: none;
}

.monaco-editor .rename-box .rename-suggestions-button {
	display: flex;
	align-items: center;
	padding: 3px;
	background-color: transparent;
	border: none;
	border-radius: 5px;
	cursor: pointer;
}

.monaco-editor .rename-box .rename-suggestions-button:hover {
	background-color: var(--vscode-toolbar-hoverBackground)
}

.monaco-editor .rename-box .rename-candidate-list-container .monaco-list-row {
	border-radius: 2px;
}

.monaco-editor .rename-box .rename-label {
	display: none;
	opacity: .8;
}

.monaco-editor .rename-box.preview .rename-label {
	display: inherit;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .unicode-highlight {
	border: 1px solid var(--vscode-editorUnicodeHighlight-border);
	background-color: var(--vscode-editorUnicodeHighlight-background);
	box-sizing: border-box;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.editor-banner {
	box-sizing: border-box;
	cursor: default;
	width: 100%;
	font-size: 12px;
	display: flex;
	overflow: visible;

	height: 26px;

	background: var(--vscode-banner-background);
}


.editor-banner .icon-container {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	padding: 0 6px 0 10px;
}

.editor-banner .icon-container.custom-icon {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 16px;
	width: 16px;
	padding: 0;
	margin: 0 6px 0 10px;
}

.editor-banner .message-container {
	display: flex;
	align-items: center;
	line-height: 26px;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}

.editor-banner .message-container p {
	margin-block-start: 0;
	margin-block-end: 0;
}

.editor-banner .message-actions-container {
	flex-grow: 1;
	flex-shrink: 0;
	line-height: 26px;
	margin: 0 4px;
}

.editor-banner .message-actions-container a.monaco-button {
	width: inherit;
	margin: 2px 8px;
	padding: 0px 12px;
}

.editor-banner .message-actions-container a {
	padding: 3px;
	margin-left: 12px;
	text-decoration: underline;
}

.editor-banner .action-container {
	padding: 0 10px 0 6px;
}

.editor-banner {
	background-color: var(--vscode-banner-background);
}

.editor-banner,
.editor-banner .action-container .codicon,
.editor-banner .message-actions-container .monaco-link {
	color: var(--vscode-banner-foreground);
}

.editor-banner .icon-container .codicon {
	color: var(--vscode-banner-iconForeground);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-link {
	color: var(--vscode-textLink-foreground);
}

.monaco-link:hover {
	color: var(--vscode-textLink-activeForeground);
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .iPadShowKeyboard {
	width: 58px;
	min-width: 0;
	height: 36px;
	min-height: 0;
	margin: 0;
	padding: 0;
	position: absolute;
	resize: none;
	overflow: hidden;
	background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjNDI0MjQyIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==") center center no-repeat;
	border: 4px solid #F6F6F6;
	border-radius: 4px;
}

.monaco-editor.vs-dark .iPadShowKeyboard {
	background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjQzVDNUM1Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==") center center no-repeat;
	border: 4px solid #252526;
}/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .tokens-inspect-widget {
	z-index: 50;
	user-select: text;
	-webkit-user-select: text;
	padding: 10px;
	color: var(--vscode-editorHoverWidget-foreground);
	background-color: var(--vscode-editorHoverWidget-background);
	border: 1px solid var(--vscode-editorHoverWidget-border);
}
.monaco-editor.hc-black .tokens-inspect-widget, .monaco-editor.hc-light .tokens-inspect-widget {
	border-width: 2px;
}

.monaco-editor .tokens-inspect-widget .tokens-inspect-separator {
	height: 1px;
	border: 0;
	background-color: var(--vscode-editorHoverWidget-border);
}

.monaco-editor .tokens-inspect-widget .tm-token {
	font-family: var(--monaco-monospace-font);
}

.monaco-editor .tokens-inspect-widget .tm-token-length {
	font-weight: normal;
	font-size: 60%;
	float: right;
}

.monaco-editor .tokens-inspect-widget .tm-metadata-table {
	width: 100%;
}

.monaco-editor .tokens-inspect-widget .tm-metadata-value {
	font-family: var(--monaco-monospace-font);
	text-align: right;
}

.monaco-editor .tokens-inspect-widget .tm-token-type {
	font-family: var(--monaco-monospace-font);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/


/* Default standalone editor fonts */
.monaco-editor {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", system-ui, "Ubuntu", "Droid Sans", sans-serif;
	--monaco-monospace-font: "SF Mono", Monaco, Menlo, Consolas, "Ubuntu Mono", "Liberation Mono", "DejaVu Sans Mono", "Courier New", monospace;
}

.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label {
	stroke-width: 1.2px;
}

.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,
.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,
.monaco-editor.hc-light .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label {
	stroke-width: 1.2px;
}

.monaco-hover p {
	margin: 0;
}

/* See https://github.com/microsoft/monaco-editor/issues/2168#issuecomment-780078600 */
.monaco-aria-container {
	position: absolute !important;
	top: 0; /* avoid being placed underneath a sibling element */
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
}

.monaco-editor .synthetic-focus, .monaco-diff-editor .synthetic-focus,
.monaco-editor [tabindex="0"]:focus, .monaco-diff-editor [tabindex="0"]:focus,
.monaco-editor [tabindex="-1"]:focus, .monaco-diff-editor [tabindex="-1"]:focus,
.monaco-editor button:focus, .monaco-diff-editor button:focus,
.monaco-editor input[type=button]:focus, .monaco-diff-editor input[type=button]:focus,
.monaco-editor input[type=checkbox]:focus, .monaco-diff-editor input[type=checkbox]:focus,
.monaco-editor input[type=search]:focus, .monaco-diff-editor input[type=search]:focus,
.monaco-editor input[type=text]:focus, .monaco-diff-editor input[type=text]:focus,
.monaco-editor select:focus, .monaco-diff-editor select:focus,
.monaco-editor textarea:focus, .monaco-diff-editor textarea:focus {
	outline-width: 1px;
	outline-style: solid;
	outline-offset: -1px;
	outline-color: var(--vscode-focusBorder);
	opacity: 1
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-workbench .workbench-hover {
	position: relative;
	font-size: 13px;
	line-height: 19px;
	/* Must be higher than sash's z-index and terminal canvases */
	z-index: 40;
	overflow: hidden;
	max-width: 700px;
	background: var(--vscode-editorHoverWidget-background);
	border: 1px solid var(--vscode-editorHoverWidget-border);
	border-radius: 3px;
	color: var(--vscode-editorHoverWidget-foreground);
	box-shadow: 0 2px 8px var(--vscode-widget-shadow);
}

.monaco-workbench .workbench-hover .monaco-action-bar .action-item .codicon {
	/* Given our font-size, adjust action icons accordingly */
	width: 13px;
	height: 13px;
}

.monaco-workbench .workbench-hover hr {
	border-bottom: none;
}

.monaco-workbench .workbench-hover.compact {
	font-size: 12px;
}

.monaco-workbench .workbench-hover.compact .monaco-action-bar .action-item .codicon {
	/* Given our font-size, adjust action icons accordingly */
	width: 12px;
	height: 12px;
}

.monaco-workbench .workbench-hover.compact .hover-contents {
	padding: 2px 8px;
}

.monaco-workbench .workbench-hover-container.locked .workbench-hover {
	outline: 1px solid var(--vscode-editorHoverWidget-border);
}
.monaco-workbench .workbench-hover-container:focus-within.locked .workbench-hover {
	outline-color: var(--vscode-focusBorder);
}

.monaco-workbench .workbench-hover-pointer {
	position: absolute;
	/* Must be higher than workbench hover z-index */
	z-index: 41;
	pointer-events: none;
}

.monaco-workbench .workbench-hover-pointer:after {
	content: '';
	position: absolute;
	width: 5px;
	height: 5px;
	background-color: var(--vscode-editorHoverWidget-background);
	border-right: 1px solid var(--vscode-editorHoverWidget-border);
	border-bottom: 1px solid var(--vscode-editorHoverWidget-border);
}
.monaco-workbench .workbench-hover-container:not(:focus-within).locked .workbench-hover-pointer:after {
	width: 4px;
	height: 4px;
	border-right-width: 2px;
	border-bottom-width: 2px;
}
.monaco-workbench .workbench-hover-container:focus-within .workbench-hover-pointer:after {
	border-right: 1px solid var(--vscode-focusBorder);
	border-bottom: 1px solid var(--vscode-focusBorder);
}

.monaco-workbench .workbench-hover-pointer.left   { left: -3px; }
.monaco-workbench .workbench-hover-pointer.right  { right: 3px; }
.monaco-workbench .workbench-hover-pointer.top    { top: -3px; }
.monaco-workbench .workbench-hover-pointer.bottom { bottom: 3px; }

.monaco-workbench .workbench-hover-pointer.left:after {
	transform: rotate(135deg);
}

.monaco-workbench .workbench-hover-pointer.right:after {
	transform: rotate(315deg);
}

.monaco-workbench .workbench-hover-pointer.top:after {
	transform: rotate(225deg);
}

.monaco-workbench .workbench-hover-pointer.bottom:after {
	transform: rotate(45deg);
}

.monaco-workbench .workbench-hover a {
	color: var(--vscode-textLink-foreground);
}

.monaco-workbench .workbench-hover a:focus {
	outline: 1px solid;
	outline-offset: -1px;
	text-decoration: underline;
	outline-color: var(--vscode-focusBorder);
}

.monaco-workbench .workbench-hover a.codicon:focus,
.monaco-workbench .workbench-hover a.monaco-button:focus {
	text-decoration: none;
}

.monaco-workbench .workbench-hover a:hover,
.monaco-workbench .workbench-hover a:active {
	color: var(--vscode-textLink-activeForeground);
}

.monaco-workbench .workbench-hover code {
	background: var(--vscode-textCodeBlock-background);
}

.monaco-workbench .workbench-hover .hover-row .actions {
	background: var(--vscode-editorHoverWidget-statusBarBackground);
}

.monaco-workbench .workbench-hover.right-aligned {
	/* The context view service wraps strangely when it's right up against the edge without this */
	left: 1px;
}

.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions {
	flex-direction: row-reverse;
}

.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions .action-container {
	margin-right: 0;
	margin-left: 16px;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.context-view {
	position: absolute;
}

.context-view.fixed {
	all: initial;
	font-family: inherit;
	font-size: 13px;
	position: fixed;
	color: inherit;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.quick-input-widget {
	font-size: 13px;
}

.quick-input-widget .monaco-highlighted-label .highlight,
.quick-input-widget .monaco-highlighted-label .highlight {
	color: #0066BF;
}

.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight,
.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight {
	color: #9DDDFF;
}

.vs-dark .quick-input-widget .monaco-highlighted-label .highlight,
.vs-dark .quick-input-widget .monaco-highlighted-label .highlight {
	color: #0097fb;
}

.hc-black .quick-input-widget .monaco-highlighted-label .highlight,
.hc-black .quick-input-widget .monaco-highlighted-label .highlight {
	color: #F38518;
}

.hc-light .quick-input-widget .monaco-highlighted-label .highlight,
.hc-light .quick-input-widget .monaco-highlighted-label .highlight {
	color: #0F4A85;
}

.monaco-keybinding > .monaco-keybinding-key {
	background-color: rgba(221, 221, 221, 0.4);
	border: solid 1px rgba(204, 204, 204, 0.4);
	border-bottom-color: rgba(187, 187, 187, 0.4);
	box-shadow: inset 0 -1px 0 rgba(187, 187, 187, 0.4);
	color: #555;
}

.hc-black .monaco-keybinding > .monaco-keybinding-key {
	background-color: transparent;
	border: solid 1px rgb(111, 195, 223);
	box-shadow: none;
	color: #fff;
}

.hc-light .monaco-keybinding > .monaco-keybinding-key {
	background-color: transparent;
	border: solid 1px #0F4A85;
	box-shadow: none;
	color: #292929;
}

.vs-dark .monaco-keybinding > .monaco-keybinding-key {
	background-color: rgba(128, 128, 128, 0.17);
	border: solid 1px rgba(51, 51, 51, 0.6);
	border-bottom-color: rgba(68, 68, 68, 0.6);
	box-shadow: inset 0 -1px 0 rgba(68, 68, 68, 0.6);
	color: #ccc;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.quick-input-widget {
	position: absolute;
	width: 600px;
	z-index: 2550;
	left: 50%;
	-webkit-app-region: no-drag;
	border-radius: 6px;
}

.quick-input-titlebar {
	cursor: grab;
	display: flex;
	align-items: center;
	border-top-right-radius: 5px;
	border-top-left-radius: 5px;
}

.quick-input-left-action-bar {
	display: flex;
	margin-left: 4px;
	flex: 1;
}

/* give some space between input and action bar */
.quick-input-inline-action-bar > .actions-container > .action-item:first-child {
	margin-left: 5px;
}

/* center horizontally */
.quick-input-inline-action-bar > .actions-container > .action-item {
	margin-top: 2px;
}

.quick-input-title {
	cursor: grab;
	padding: 3px 0px;
	text-align: center;
	text-overflow: ellipsis;
	overflow: hidden;
}

.quick-input-right-action-bar {
	display: flex;
	margin-right: 4px;
	flex: 1;
}

.quick-input-right-action-bar > .actions-container {
	justify-content: flex-end;
}

.quick-input-right-action-bar > .actions-container > .action-item {
	margin-left: 4px;
}

.quick-input-titlebar .monaco-action-bar .action-label.codicon {
	background-position: center;
	background-repeat: no-repeat;
	padding: 2px;
}

.quick-input-description {
	margin: 6px 6px 6px 11px;
}

.quick-input-header .quick-input-description {
	margin: 4px 2px;
	flex: 1;
}

.quick-input-header {
	cursor: grab;
	display: flex;
	padding: 6px 6px 2px 6px;
}

.quick-input-widget.hidden-input .quick-input-header {
	/* reduce margins and paddings when input box hidden */
	padding: 0;
	margin-bottom: 0;
}

.quick-input-and-message {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	min-width: 0;
	position: relative;
}

.quick-input-check-all {
	align-self: center;
	margin: 0;
}

.quick-input-widget .quick-input-header .monaco-checkbox {
	margin-top: 6px;
}

.quick-input-filter {
	flex-grow: 1;
	display: flex;
	position: relative;
}

.quick-input-box {
	flex-grow: 1;
}

.quick-input-widget.show-checkboxes .quick-input-box,
.quick-input-widget.show-checkboxes .quick-input-message {
	margin-left: 5px;
}

.quick-input-visible-count {
	position: absolute;
	left: -10000px;
}

.quick-input-count {
	align-self: center;
	position: absolute;
	right: 4px;
	display: flex;
	align-items: center;
}

.quick-input-count .monaco-count-badge {
	vertical-align: middle;
	padding: 2px 4px;
	border-radius: 2px;
	min-height: auto;
	line-height: normal;
}

.quick-input-action {
	margin-left: 6px;
}

.quick-input-action .monaco-text-button {
	font-size: 11px;
	padding: 0 6px;
	display: flex;
	height: 25px;
	align-items: center;
}

.quick-input-message {
	margin-top: -1px;
	padding: 5px;
	overflow-wrap: break-word;
}

.quick-input-message > .codicon {
	margin: 0 0.2em;
	vertical-align: text-bottom;
}

/* Links in descriptions & validations */
.quick-input-message a {
	color: inherit;
}

.quick-input-progress.monaco-progress-container {
	position: relative;
}

.quick-input-list {
	line-height: 22px;
}

.quick-input-widget.hidden-input .quick-input-list {
	margin-top: 4px;
	/* reduce margins when input box hidden */
	padding-bottom: 4px;
}

.quick-input-list .monaco-list {
	overflow: hidden;
	max-height: calc(20 * 22px);
	padding-bottom: 5px;
}

.quick-input-list .monaco-scrollable-element {
	padding: 0px 6px;
}

.quick-input-list .quick-input-list-entry {
	box-sizing: border-box;
	overflow: hidden;
	display: flex;
	padding: 0 6px;
}

.quick-input-list .quick-input-list-entry.quick-input-list-separator-border {
	border-top-width: 1px;
	border-top-style: solid;
}

.quick-input-list .monaco-list-row {
	border-radius: 3px;
}

.quick-input-list .monaco-list-row[data-index="0"] .quick-input-list-entry.quick-input-list-separator-border {
	border-top-style: none;
}

.quick-input-list .quick-input-list-label {
	overflow: hidden;
	display: flex;
	height: 100%;
	flex: 1;
}

.quick-input-widget .monaco-checkbox {
	margin-right: 0;
}

.quick-input-widget .quick-input-list .monaco-checkbox,
.quick-input-widget .quick-input-tree .monaco-checkbox {
	margin-top: 4px;
}

.quick-input-list .quick-input-list-icon {
	background-size: 16px;
	background-position: left center;
	background-repeat: no-repeat;
	padding-right: 6px;
	width: 16px;
	height: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.quick-input-list .quick-input-list-rows {
	overflow: hidden;
	text-overflow: ellipsis;
	display: flex;
	flex-direction: column;
	height: 100%;
	flex: 1;
	margin-left: 5px;
}

.quick-input-list .quick-input-list-rows > .quick-input-list-row {
	display: flex;
	align-items: center;
}

.quick-input-list .quick-input-list-rows > .quick-input-list-row .monaco-icon-label,
.quick-input-list .quick-input-list-rows > .quick-input-list-row .monaco-icon-label .monaco-icon-label-container > .monaco-icon-name-container {
	flex: 1;
	/* make sure the icon label grows within the row */
}

.quick-input-list .quick-input-list-rows > .quick-input-list-row .codicon[class*='codicon-'] {
	vertical-align: text-bottom;
}

.quick-input-list .quick-input-list-rows .monaco-highlighted-label > span {
	opacity: 1;
}

.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding {
	margin-right: 8px;
	/* separate from the separator label or scrollbar if any */
}

.quick-input-list .quick-input-list-label-meta {
	opacity: 0.7;
	line-height: normal;
	text-overflow: ellipsis;
	overflow: hidden;
}

/* preserve list-like styling instead of tree-like styling */
.quick-input-list .monaco-list .monaco-list-row .monaco-highlighted-label .highlight {
	font-weight: bold;
	background-color: unset;
	color: var(--vscode-list-highlightForeground) !important;
}

/* preserve list-like styling instead of tree-like styling */
.quick-input-list .monaco-list .monaco-list-row.focused .monaco-highlighted-label .highlight {
	color: var(--vscode-list-focusHighlightForeground) !important;
}

.quick-input-list .quick-input-list-entry .quick-input-list-separator {
	margin-right: 4px;
	/* separate from keybindings or actions */
}

.quick-input-list .quick-input-list-entry-action-bar {
	display: flex;
	flex: 0;
	overflow: visible;
}

.quick-input-list .quick-input-list-entry-action-bar .action-label {
	/*
	 * By default, actions in the quick input action bar are hidden
	 * until hovered over them or selected.
	 */
	display: none;
}

.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon {
	margin-right: 4px;
	padding: 2px;
}

.quick-input-list .quick-input-list-entry-action-bar {
	margin-top: 1px;
}

.quick-input-list .quick-input-list-entry-action-bar {
	margin-right: 4px;
	/* separate from scrollbar */
}

.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,
.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label,
.quick-input-list .quick-input-list-entry.focus-inside .quick-input-list-entry-action-bar .action-label,
.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label,
.quick-input-list .monaco-list-row.passive-focused .quick-input-list-entry-action-bar .action-label {
	display: flex;
}

.quick-input-list > .monaco-list:focus .monaco-list-row.focused {
	outline: 1px solid var(--vscode-list-focusOutline) !important;
	outline-offset: -1px;
}

.quick-input-list > .monaco-list:focus .monaco-list-row.focused .quick-input-list-entry.quick-input-list-separator-border {
	border-color: transparent;
}

/* focused items in quick pick */
.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,
.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator {
	color: inherit
}

.quick-input-list .monaco-list-row.focused .monaco-keybinding-key {
	background: none;
}

.quick-input-list .quick-input-list-separator-as-item {
	padding: 4px 6px;
	font-size: 12px;
}

/* Quick input separators as full-row item */
.quick-input-list .quick-input-list-separator-as-item .label-name {
	font-weight: 600;
}

.quick-input-list .quick-input-list-separator-as-item .label-description {
	/* Override default description opacity so we don't have a contrast ratio issue. */
	opacity: 1 !important;
}

/* Hide border when the item becomes the sticky one */
.quick-input-list .monaco-tree-sticky-row .quick-input-list-entry.quick-input-list-separator-as-item.quick-input-list-separator-border {
	border-top-style: none;
}

/* Give sticky row the same padding as the scrollable list */
.quick-input-list .monaco-tree-sticky-row {
	padding: 0 5px;
}

/* Hide the twistie containers so that there isn't blank indent */
.quick-input-list .monaco-tl-twistie {
	display: none !important;
}

/* Tree */

.quick-input-tree .monaco-list {
	overflow: hidden;
	max-height: calc(20 * 22px);
	padding-bottom: 5px;
}

.quick-input-tree .quick-input-tree-entry {
	box-sizing: border-box;
	overflow: hidden;
	display: flex;
	padding: 0 6px;
}

.quick-input-tree .quick-input-tree-label {
	overflow: hidden;
	display: flex;
	height: 100%;
	flex: 1;
}

.quick-input-tree .quick-input-tree-icon {
	background-size: 16px;
	background-position: left center;
	background-repeat: no-repeat;
	padding-right: 6px;
	width: 16px;
	height: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.quick-input-tree .quick-input-tree-rows {
	overflow: hidden;
	text-overflow: ellipsis;
	display: flex;
	flex-direction: column;
	height: 100%;
	flex: 1;
	margin-left: 5px;
}

.quick-input-tree .quick-input-tree-rows > .quick-input-tree-row {
	display: flex;
	align-items: center;
}

.quick-input-tree .quick-input-tree-rows > .quick-input-tree-row .monaco-icon-label,
.quick-input-tree .quick-input-tree-rows > .quick-input-tree-row .monaco-icon-label .monaco-icon-label-container > .monaco-icon-name-container {
	flex: 1;
	/* make sure the icon label grows within the row */
}

.quick-input-tree .quick-input-tree-rows > .quick-input-tree-row .codicon[class*='codicon-'] {
	vertical-align: text-bottom;
}

.quick-input-tree .quick-input-tree-rows .monaco-highlighted-label > span {
	opacity: 1;
}

.quick-input-tree .quick-input-tree-entry-action-bar {
	display: flex;
	flex: 0;
	overflow: visible;
}

.quick-input-tree .quick-input-tree-entry-action-bar .action-label {
	/*
	 * By default, actions in the quick input action bar are hidden
	 * until hovered over them or selected.
	 */
	display: none;
}

.quick-input-tree .quick-input-tree-entry-action-bar .action-label.codicon {
	margin-right: 4px;
	padding: 2px;
}

.quick-input-tree .quick-input-tree-entry-action-bar {
	margin-top: 1px;
}

.quick-input-tree .quick-input-tree-entry-action-bar {
	margin-right: 4px;
	/* separate from scrollbar */
}

.quick-input-tree .quick-input-tree-entry .quick-input-tree-entry-action-bar .action-label.always-visible,
.quick-input-tree .quick-input-tree-entry:hover .quick-input-tree-entry-action-bar .action-label,
.quick-input-tree .quick-input-tree-entry.focus-inside .quick-input-tree-entry-action-bar .action-label,
.quick-input-tree .monaco-list-row.focused .quick-input-tree-entry-action-bar .action-label,
.quick-input-tree .monaco-list-row.passive-focused .quick-input-tree-entry-action-bar .action-label {
	display: flex;
}

.quick-input-tree > .monaco-list:focus .monaco-list-row.focused {
	outline: 1px solid var(--vscode-list-focusOutline) !important;
	outline-offset: -1px;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-progress-container {
	width: 100%;
	height: 2px;
	overflow: hidden; /* keep progress bit in bounds */
}

.monaco-progress-container .progress-bit {
	width: 2%;
	height: 2px;
	position: absolute;
	left: 0;
	display: none;
}

.monaco-progress-container.active .progress-bit {
	display: inherit;
}

.monaco-progress-container.discrete .progress-bit {
	left: 0;
	transition: width 100ms linear;
}

.monaco-progress-container.discrete.done .progress-bit {
	width: 100%;
}

.monaco-progress-container.infinite .progress-bit {
	animation-name: progress;
	animation-duration: 4s;
	animation-iteration-count: infinite;
	transform: translate3d(0px, 0px, 0px);
	animation-timing-function: linear;
}

.monaco-progress-container.infinite.infinite-long-running .progress-bit {
	/*
		The more smooth `linear` timing function can cause
		higher GPU consumption as indicated in
		https://github.com/microsoft/vscode/issues/97900 &
		https://github.com/microsoft/vscode/issues/138396
	*/
	animation-timing-function: steps(100);
}

/**
 * The progress bit has a width: 2% (1/50) of the parent container. The animation moves it from 0% to 100% of
 * that container. Since translateX is relative to the progress bit size, we have to multiple it with
 * its relative size to the parent container:
 * parent width: 5000%
 *    bit width: 100%
 * translateX should be as follow:
 *  50%: 5000% * 50% - 50% (set to center) = 2450%
 * 100%: 5000% * 100% - 100% (do not overflow) = 4900%
 */
@keyframes progress { from { transform: translateX(0%) scaleX(1) } 50% { transform: translateX(2500%) scaleX(3) } to { transform: translateX(4900%) scaleX(1) } }
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-component.multiDiffEditor {
	background: var(--vscode-multiDiffEditor-background);

	position: relative;

	height: 100%;
	width: 100%;

	overflow-y: hidden;

	> div {
		position: absolute;
		top: 0px;
		left: 0px;

		height: 100%;
		width: 100%;

		&.placeholder {
			visibility: hidden;

			&.visible {
				visibility: visible;
			}

			display: grid;
			place-items: center;
			place-content: center;
		}
	}

	.active {
		--vscode-multiDiffEditor-border: var(--vscode-focusBorder);
	}

	.multiDiffEntry {
		display: flex;
		flex-direction: column;
		flex: 1;
		overflow: hidden;


		.collapse-button {
			margin: 0 5px;
			cursor: pointer;

			a {
				display: block;
			}
		}

		.header {
			z-index: 1000;
			background: var(--vscode-editor-background);

			&:not(.collapsed) .header-content {
				border-bottom: 1px solid var(--vscode-sideBarSectionHeader-border);
			}

			.header-content {
				margin: 8px 0px 0px 0px;
				padding: 4px 5px;

				border-top: 1px solid var(--vscode-multiDiffEditor-border);

				display: flex;
				align-items: center;

				color: var(--vscode-foreground);
				background: var(--vscode-multiDiffEditor-headerBackground);

				&.shadow {
					box-shadow: var(--vscode-scrollbar-shadow) 0px 6px 6px -6px;
				}

				.file-path {
					display: flex;
					flex: 1;
					min-width: 0;

					.title {
						font-size: 14px;
						line-height: 22px;

						&.original {
							flex: 1;
							min-width: 0;
							text-overflow: ellipsis;
						}
					}

					.status {
						font-weight: 600;
						opacity: 0.75;
						margin: 0px 10px;
						line-height: 22px;

						/*
							TODO@hediet: move colors from git extension to core!
						&.renamed {
							color: v ar(--vscode-gitDecoration-renamedResourceForeground);
						}

						&.deleted {
							color: v ar(--vscode-gitDecoration-deletedResourceForeground);
						}

						&.added {
							color: v ar(--vscode-gitDecoration-addedResourceForeground);
						}
						*/
					}
				}

				.actions {
					padding: 0 8px;
				}
			}


		}

		.editorParent {
			flex: 1;
			display: flex;
			flex-direction: column;

			border-bottom: 1px solid var(--vscode-multiDiffEditor-border);
			overflow: hidden;
		}

		.editorContainer {
			flex: 1;
		}
	}
}

.monaco-editor-container[data-v-1de866a2] {
  width: 100%;
  height: 100%;
  min-height: 400px;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #333;
}
.monaco-editor-container[data-v-1de866a2]:focus-within {
  border-color: #007acc;
  box-shadow: 0 0 0 2px rgba(0, 122, 204, 0.2);
}

.solve-page[data-v-47d1ea22] {
  min-height: 100vh;
  background: var(--bg-primary);
  color: var(--text-primary);
}
.container[data-v-47d1ea22] {
  max-width: 2000px;
  margin: 0 auto;
  padding: 0 20px;
}
.difficulty-badge[data-v-47d1ea22] {
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}
.difficulty-badge.easy[data-v-47d1ea22] {
  background: var(--bg-success);
  color: var(--success);
  border: 1px solid var(--success);
}
.difficulty-badge.medium[data-v-47d1ea22] {
  background: var(--bg-warning);
  color: var(--warning);
  border: 1px solid var(--warning);
}
.difficulty-badge.hard[data-v-47d1ea22] {
  background: var(--bg-error);
  color: var(--error);
  border: 1px solid var(--error);
}

/* Основной контент */
.solve-content[data-v-47d1ea22] {
  padding: 20px 0;
}
.solve-layout[data-v-47d1ea22] {
  display: grid;
  grid-template-columns: 0.5fr 1fr;
  gap: 20px;
  height: calc(100vh - 120px);
}

/* Левая панель */
.problem-panel[data-v-47d1ea22] {
  background: var(--bg-card);
  border: 1px solid var(--border-primary);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}
.panel-tabs[data-v-47d1ea22] {
  display: flex;
  background: var(--bg-primary);
  border-bottom: 1px solid var(--border-primary);
}
.tab-btn[data-v-47d1ea22] {
  background: none;
  border: none;
  color: var(--text-secondary);
  padding: 16px 24px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 14px;
  font-weight: 500;
  border-bottom: 2px solid transparent;
}
.tab-btn[data-v-47d1ea22]:hover {
  color: var(--text-primary);
  background: var(--bg-tertiary);
}
.tab-btn.active[data-v-47d1ea22] {
  color: var(--accent-primary);
  border-bottom-color: var(--accent-primary);
  background: var(--bg-event-internship);
}
.panel-content[data-v-47d1ea22] {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
}
.tab-content[data-v-47d1ea22] {
  height: 100%;
}

/* Заголовок задачи в описании */
.problem-header-info[data-v-47d1ea22] {
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--border-primary);
}
.problem-header-info .problem-title[data-v-47d1ea22] {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 12px;
  color: var(--text-primary);
}
.problem-header-info .problem-meta[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}
.problem-header-info .acceptance-rate[data-v-47d1ea22] {
  color: var(--text-secondary);
  font-size: 14px;
}
.problem-header-info .problem-tags[data-v-47d1ea22] {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.problem-header-info .tag[data-v-47d1ea22] {
  background: rgba(16, 185, 129, 0.1);
  color: var(--accent-primary);
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 12px;
  border: 1px solid rgba(16, 185, 129, 0.2);
}

/* Описание задачи */
.problem-description p[data-v-47d1ea22] {
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 24px;
}
.examples-section h3[data-v-47d1ea22] {
  color: var(--text-primary);
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 16px;
}
.example[data-v-47d1ea22] {
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 16px;
}
.example-input[data-v-47d1ea22],
.example-output[data-v-47d1ea22],
.example-explanation[data-v-47d1ea22] {
  margin-bottom: 12px;
}
.example-input strong[data-v-47d1ea22],
.example-output strong[data-v-47d1ea22],
.example-explanation strong[data-v-47d1ea22] {
  color: var(--accent-primary);
  display: block;
  margin-bottom: 8px;
}
.example pre[data-v-47d1ea22] {
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  border-radius: 6px;
  padding: 12px;
  color: var(--text-secondary);
  font-family: 'Monaco', 'Menlo', monospace;
  font-size: 14px;
  overflow-x: auto;
  margin: 0;
}

/* Тестовые случаи */
.test-cases h3[data-v-47d1ea22] {
  color: var(--text-primary);
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 16px;
}
.test-case[data-v-47d1ea22] {
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 16px;
}
.test-case-header[data-v-47d1ea22] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.test-case-number[data-v-47d1ea22] {
  color: var(--text-primary);
  font-weight: 600;
}
.test-status[data-v-47d1ea22] {
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
}
.test-status.passed[data-v-47d1ea22] {
  background: var(--bg-success);
  color: var(--success);
}
.test-status.failed[data-v-47d1ea22] {
  background: var(--bg-error);
  color: var(--error);
}
.test-status.error[data-v-47d1ea22] {
  background: var(--bg-warning);
  color: var(--warning);
}
.test-input[data-v-47d1ea22],
.test-expected[data-v-47d1ea22],
.test-actual[data-v-47d1ea22] {
  margin-bottom: 8px;
}
.test-input strong[data-v-47d1ea22],
.test-expected strong[data-v-47d1ea22],
.test-actual strong[data-v-47d1ea22] {
  color: var(--accent-primary);
  display: block;
  margin-bottom: 4px;
  font-size: 14px;
}
.test-input pre[data-v-47d1ea22],
.test-expected pre[data-v-47d1ea22],
.test-actual pre[data-v-47d1ea22] {
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  border-radius: 4px;
  padding: 8px;
  color: var(--text-secondary);
  font-family: 'Monaco', 'Menlo', monospace;
  font-size: 13px;
  margin: 0;
}

/* Результаты */
.no-results[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 400px;
  text-align: center;
  color: var(--text-muted);
  padding: 40px;
}
.results-content[data-v-47d1ea22] {
  height: 100%;
}
.result-summary[data-v-47d1ea22] {
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
}
.summary-stats[data-v-47d1ea22] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
}
.stat[data-v-47d1ea22] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.stat-label[data-v-47d1ea22] {
  color: var(--text-muted);
  font-size: 14px;
}
.stat-value[data-v-47d1ea22] {
  color: var(--accent-primary);
  font-weight: 600;
}
.test-results[data-v-47d1ea22] {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.test-results-header[data-v-47d1ea22] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border-primary);
}
.test-results-title[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text-primary);
  font-size: 18px;
  font-weight: 600;
  margin: 0;
}
.test-summary[data-v-47d1ea22] {
  display: flex;
  gap: 16px;
}
.test-summary-item[data-v-47d1ea22] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.test-summary-label[data-v-47d1ea22] {
  color: var(--text-secondary);
  font-size: 12px;
  font-weight: 500;
}
.test-summary-value[data-v-47d1ea22] {
  color: var(--text-primary);
  font-size: 16px;
  font-weight: 700;
}
.test-summary-value.success[data-v-47d1ea22] {
  color: var(--accent-primary);
}
.test-summary-value.error[data-v-47d1ea22] {
  color: var(--error);
}
.test-cards[data-v-47d1ea22] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.test-card[data-v-47d1ea22] {
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  border-radius: 12px;
  padding: 20px;
  transition: all 0.3s ease;
}
.test-card.accepted[data-v-47d1ea22] {
  border-color: var(--accent-primary);
  background: rgba(16, 185, 129, 0.05);
}
.test-card.wrong_answer[data-v-47d1ea22],
.test-card.failed[data-v-47d1ea22] {
  border-color: var(--error);
  background: rgba(239, 68, 68, 0.05);
}
.test-card.runtime_error[data-v-47d1ea22],
.test-card.compilation_error[data-v-47d1ea22] {
  border-color: var(--warning);
  background: rgba(245, 158, 11, 0.05);
}
.test-card-header[data-v-47d1ea22] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.test-card-title[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.test-icon[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
}
.test-card.accepted .test-icon[data-v-47d1ea22] {
  background: rgba(16, 185, 129, 0.2);
  color: var(--accent-primary);
}
.test-card.wrong_answer .test-icon[data-v-47d1ea22],
.test-card.failed .test-icon[data-v-47d1ea22] {
  background: rgba(239, 68, 68, 0.2);
  color: var(--error);
}
.test-card.runtime_error .test-icon[data-v-47d1ea22],
.test-card.compilation_error .test-icon[data-v-47d1ea22] {
  background: rgba(245, 158, 11, 0.2);
  color: var(--warning);
}
.test-name[data-v-47d1ea22] {
  color: var(--text-primary);
  font-weight: 600;
  font-size: 16px;
}
.test-status-badge[data-v-47d1ea22] {
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.test-status-badge.accepted[data-v-47d1ea22] {
  background: rgba(16, 185, 129, 0.2);
  color: var(--accent-primary);
  border: 1px solid rgba(16, 185, 129, 0.3);
}
.test-status-badge.wrong_answer[data-v-47d1ea22],
.test-status-badge.failed[data-v-47d1ea22] {
  background: rgba(239, 68, 68, 0.2);
  color: var(--error);
  border: 1px solid rgba(239, 68, 68, 0.3);
}
.test-status-badge.runtime_error[data-v-47d1ea22],
.test-status-badge.compilation_error[data-v-47d1ea22] {
  background: rgba(245, 158, 11, 0.2);
  color: var(--warning);
  border: 1px solid rgba(245, 158, 11, 0.3);
}

/* Состояния для тестов */
.loading-state[data-v-47d1ea22] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  text-align: center;
}
.loading-spinner[data-v-47d1ea22] {
  width: 32px;
  height: 32px;
  border: 3px solid var(--border-primary);
  border-top: 3px solid var(--accent-primary);
  border-radius: 50%;
  animation: spin-47d1ea22 1s linear infinite;
  margin-bottom: 16px;
}
@keyframes spin-47d1ea22 {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
.loading-state p[data-v-47d1ea22] {
  color: var(--text-secondary);
  font-size: 14px;
  margin: 0;
}
.error-state[data-v-47d1ea22] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  text-align: center;
}
.error-icon[data-v-47d1ea22] {
  color: var(--error);
  margin-bottom: 16px;
}
.error-state p[data-v-47d1ea22] {
  color: var(--text-secondary);
  font-size: 14px;
  margin: 0 0 20px 0;
}
.retry-btn[data-v-47d1ea22] {
  background: var(--gradient-conference);
  color: var(--text-primary);
  border: none;
  padding: 10px 20px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
}
.retry-btn[data-v-47d1ea22]:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);
}
.no-tests-state[data-v-47d1ea22] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 20px;
  text-align: center;
}
.no-tests-icon[data-v-47d1ea22] {
  color: var(--text-muted);
  margin-bottom: 24px;
  opacity: 0.6;
}
.no-tests-state h3[data-v-47d1ea22] {
  color: var(--text-primary);
  font-size: 24px;
  font-weight: 600;
  margin: 0 0 12px 0;
}
.no-tests-state p[data-v-47d1ea22] {
  color: var(--text-secondary);
  font-size: 16px;
  margin: 0 0 24px 0;
  max-width: 400px;
}
.add-first-test-btn[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--gradient-primary);
  color: var(--text-primary);
  border: none;
  padding: 12px 24px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
}
.add-first-test-btn[data-v-47d1ea22]:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(16, 185, 129, 0.4);
}
.test-card-content[data-v-47d1ea22] {
  margin-bottom: 16px;
}
.test-data-section[data-v-47d1ea22] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.test-data-item[data-v-47d1ea22] {
  background: var(--bg-card);
  border: 1px solid var(--border-primary);
  border-radius: 8px;
  padding: 12px;
}
.test-data-label[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--text-secondary);
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.test-data-value[data-v-47d1ea22] {
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  border-radius: 6px;
  padding: 8px;
}
.test-data-value.actual[data-v-47d1ea22] {
  border-color: var(--warning);
  background: rgba(245, 158, 11, 0.05);
}
.test-data-value pre[data-v-47d1ea22] {
  color: var(--text-primary);
  font-size: 12px;
  margin: 0;
  white-space: pre-wrap;
  font-family: 'Fira Code', monospace;
}
.test-error-section[data-v-47d1ea22] {
  background: rgba(239, 68, 68, 0.1);
  border: 1px solid rgba(239, 68, 68, 0.3);
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 16px;
}
.test-error-header[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--error);
  font-weight: 600;
  font-size: 14px;
  margin-bottom: 8px;
}
.test-error-content[data-v-47d1ea22] {
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  border-radius: 6px;
  padding: 8px;
}
.test-error-content pre[data-v-47d1ea22] {
  color: var(--error);
  font-family: 'Monaco', 'Menlo', monospace;
  font-size: 12px;
  margin: 0;
  white-space: pre-wrap;
}
.test-timing[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-top: 12px;
  border-top: 1px solid var(--border-primary);
}
.timing-icon[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  color: var(--accent-primary);
}
.timing-label[data-v-47d1ea22] {
  color: var(--text-secondary);
  font-size: 12px;
  font-weight: 500;
}
.timing-value[data-v-47d1ea22] {
  color: var(--accent-primary);
  font-weight: 600;
  font-size: 12px;
}
.test-error[data-v-47d1ea22] {
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  border-radius: 4px;
  padding: 8px;
}
.test-error pre[data-v-47d1ea22] {
  color: var(--error);
  font-family: 'Monaco', 'Menlo', monospace;
  font-size: 13px;
  margin: 0;
}
.test-details[data-v-47d1ea22] {
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.test-input[data-v-47d1ea22],
.test-expected[data-v-47d1ea22],
.test-actual[data-v-47d1ea22] {
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  border-radius: 6px;
  padding: 8px;
}
.test-input strong[data-v-47d1ea22],
.test-expected strong[data-v-47d1ea22],
.test-actual strong[data-v-47d1ea22] {
  color: var(--text-secondary);
  font-size: 12px;
  display: block;
  margin-bottom: 4px;
}
.test-input pre[data-v-47d1ea22],
.test-expected pre[data-v-47d1ea22],
.test-actual pre[data-v-47d1ea22] {
  color: var(--text-primary);
  font-size: 12px;
  margin: 0;
  white-space: pre-wrap;
  font-family: 'Fira Code', monospace;
}
.test-actual[data-v-47d1ea22] {
  border-color: var(--warning);
}
.test-timing[data-v-47d1ea22] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--border-primary);
}
.timing-label[data-v-47d1ea22] {
  color: var(--text-muted);
  font-size: 12px;
}
.timing-value[data-v-47d1ea22] {
  color: var(--accent-primary);
  font-weight: 600;
  font-size: 12px;
}

/* Правая панель */
.code-panel[data-v-47d1ea22] {
  background: var(--bg-card);
  border: 1px solid var(--border-primary);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}
.code-header[data-v-47d1ea22] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  background: var(--bg-primary);
  border-bottom: 1px solid var(--border-primary);
}
.language-selector[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.language-selector label[data-v-47d1ea22] {
  color: var(--text-secondary);
  font-size: 14px;
}
.language-select[data-v-47d1ea22] {
  background: var(--bg-tertiary);
  border: 1px solid var(--border-primary);
  border-radius: 8px;
  color: var(--text-primary);
  padding: 10px 16px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a6a6a6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
  padding-right: 40px;
  min-width: 120px;
}
.language-select[data-v-47d1ea22]:hover {
  border-color: var(--accent-primary);
  background-color: var(--bg-secondary);
}
.language-select[data-v-47d1ea22]:focus {
  outline: none;
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}
.language-select option[data-v-47d1ea22] {
  background: var(--bg-card);
  color: var(--text-primary);
  padding: 8px;
}
.code-actions[data-v-47d1ea22] {
  display: flex;
  gap: 12px;
}
.code-editor[data-v-47d1ea22] {
  flex: 1;
  position: relative;
  min-height: 400px;
}

/* Консоль */
.console-panel[data-v-47d1ea22] {
  height: 250px;
  background: var(--bg-primary);
  border-top: 1px solid var(--border-primary);
  display: flex;
  flex-direction: column;
}
.console-header[data-v-47d1ea22] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 20px;
  background: var(--bg-primary);
  border-bottom: 1px solid var(--border-primary);
}
.console-title[data-v-47d1ea22] {
  color: var(--text-secondary);
  font-size: 14px;
  font-weight: 500;
}
.clear-console[data-v-47d1ea22] {
  background: none;
  border: none;
  color: var(--text-muted);
  font-size: 12px;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 4px;
  transition: all 0.3s ease;
}
.clear-console[data-v-47d1ea22]:hover {
  color: var(--text-primary);
  background: rgba(255, 255, 255, 0.1);
}
.console-content[data-v-47d1ea22] {
  flex: 1;
  overflow-y: auto;
  padding: 12px 20px;
  font-family: 'Monaco', 'Menlo', monospace;
  font-size: 13px;
}
.console-log[data-v-47d1ea22] {
  display: flex;
  gap: 12px;
  margin-bottom: 8px;
  align-items: flex-start;
}
.log-time[data-v-47d1ea22] {
  color: var(--text-muted);
  font-size: 11px;
  min-width: 80px;
}
.log-message[data-v-47d1ea22] {
  flex: 1;
  word-break: break-word;
}
.console-log.info .log-message[data-v-47d1ea22] {
  color: var(--text-secondary);
}
.console-log.success .log-message[data-v-47d1ea22] {
  color: var(--success);
}
.console-log.error .log-message[data-v-47d1ea22] {
  color: var(--error);
}
.console-log.warning .log-message[data-v-47d1ea22] {
  color: var(--warning);
}
.console-empty[data-v-47d1ea22] {
  color: var(--text-muted);
  text-align: center;
  padding: 20px;
  font-style: italic;
}

/* Кнопки */
.btn-primary[data-v-47d1ea22],
.btn-secondary[data-v-47d1ea22] {
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  border: none;
}
.btn-primary[data-v-47d1ea22] {
  background: var(--gradient-primary);
  color: var(--text-inverse);
  box-shadow: var(--shadow-md);
}
.btn-primary[data-v-47d1ea22]:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-lg);
}
.btn-secondary[data-v-47d1ea22] {
  background: transparent;
  color: var(--text-secondary);
  border: 1px solid var(--border-primary);
}
.btn-secondary[data-v-47d1ea22]:hover {
  color: var(--text-primary);
  border-color: var(--accent-primary);
}

/* Адаптивность */
@media (min-width: 1600px) {
.container[data-v-47d1ea22] {
    max-width: 2200px;
}
.solve-layout[data-v-47d1ea22] {
    grid-template-columns: 0.4fr 1fr;
}
}
@media (min-width: 2000px) {
.container[data-v-47d1ea22] {
    max-width: 2400px;
}
.solve-layout[data-v-47d1ea22] {
    grid-template-columns: 0.35fr 1fr;
}
}
@media (max-width: 1024px) {
.solve-layout[data-v-47d1ea22] {
    grid-template-columns: 1fr;
    height: auto;
}
.problem-panel[data-v-47d1ea22] {
    height: 400px;
}
.code-panel[data-v-47d1ea22] {
    height: 500px;
}
}
@media (max-width: 768px) {
.header-content[data-v-47d1ea22] {
    flex-direction: column;
    gap: 16px;
    align-items: flex-start;
}
.header-actions[data-v-47d1ea22] {
    width: 100%;
    justify-content: flex-end;
}
.code-header[data-v-47d1ea22] {
    flex-direction: column;
    gap: 16px;
    align-items: flex-start;
}
.code-actions[data-v-47d1ea22] {
    width: 100%;
    justify-content: flex-end;
}
}

/* LeetCode стили для вкладки тестов */
.leetcode-test-cases-section[data-v-47d1ea22] {
  padding: 0;
  background: var(--bg-primary);
}
.leetcode-test-cases-header[data-v-47d1ea22] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 20px 24px;
  background: var(--bg-card);
  border-bottom: 1px solid var(--border-primary);
}
.leetcode-test-cases-title[data-v-47d1ea22] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.leetcode-test-cases-text h3[data-v-47d1ea22] {
  margin: 0 0 4px 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--text-primary);
}
.leetcode-test-cases-text p[data-v-47d1ea22] {
  margin: 0;
  font-size: 14px;
  color: var(--text-secondary);
  line-height: 1.4;
}
.leetcode-test-cases-actions[data-v-47d1ea22] {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: flex-end;
}
.leetcode-btn[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg-tertiary);
  color: var(--text-primary);
  border: 1px solid var(--border-primary);
  padding: 10px 16px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 120px;
}
.leetcode-btn[data-v-47d1ea22]:hover:not(:disabled) {
  background: var(--bg-secondary);
  border-color: var(--border-secondary);
  transform: translateY(-1px);
}
.leetcode-btn[data-v-47d1ea22]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}
.leetcode-test-section[data-v-47d1ea22] {
  margin-bottom: 24px;
}
.leetcode-test-section-header[data-v-47d1ea22] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  background: var(--bg-secondary);
  border-bottom: 1px solid var(--border-primary);
}
.leetcode-test-section-title[data-v-47d1ea22] {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
}
.leetcode-test-section-count[data-v-47d1ea22] {
  font-size: 14px;
  color: var(--text-secondary);
  background: var(--bg-tertiary);
  padding: 4px 8px;
  border-radius: 12px;
  font-weight: 500;
}
.leetcode-test-cases-list[data-v-47d1ea22] {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.leetcode-example-test[data-v-47d1ea22] {
  background: var(--bg-card);
  border-bottom: 1px solid var(--border-primary);
  transition: all 0.2s ease;
}
.leetcode-example-test[data-v-47d1ea22]:hover {
  background: var(--bg-secondary);
}
.leetcode-example-test[data-v-47d1ea22]:last-child {
  border-bottom: none;
}
.leetcode-example-test-header[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  padding: 16px 24px;
  cursor: pointer;
  user-select: none;
}
.leetcode-example-test-info[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.leetcode-example-test-icon[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  background: var(--bg-tertiary);
  border-radius: 50%;
  color: var(--text-secondary);
}
.leetcode-example-test-number[data-v-47d1ea22] {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', monospace;
}
.leetcode-example-test-content[data-v-47d1ea22] {
  padding: 0 24px 20px 24px;
  background: var(--bg-primary);
}
.leetcode-example-test-data[data-v-47d1ea22] {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 8px;
}
.leetcode-example-data-item[data-v-47d1ea22] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.leetcode-example-data-label[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.leetcode-example-data-icon[data-v-47d1ea22] {
  font-size: 14px;
}
.leetcode-example-data-value[data-v-47d1ea22] {
  background: var(--bg-tertiary);
  border: 1px solid var(--border-primary);
  border-radius: 6px;
  padding: 12px;
  font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', monospace;
  font-size: 13px;
  line-height: 1.5;
  overflow-x: auto;
}
.leetcode-example-data-value pre[data-v-47d1ea22] {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  color: var(--text-primary);
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  white-space: pre-wrap;
  word-break: break-word;
}
.leetcode-custom-test[data-v-47d1ea22] {
  background: var(--bg-card);
  border-bottom: 1px solid var(--border-primary);
  transition: all 0.2s ease;
}
.leetcode-custom-test[data-v-47d1ea22]:hover {
  background: var(--bg-secondary);
}
.leetcode-custom-test[data-v-47d1ea22]:last-child {
  border-bottom: none;
}
.leetcode-custom-test-header[data-v-47d1ea22] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  cursor: pointer;
  user-select: none;
}
.leetcode-custom-test-info[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.leetcode-custom-test-icon[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
}
.leetcode-custom-test.passed .leetcode-custom-test-icon[data-v-47d1ea22] {
  background: rgba(34, 197, 94, 0.1);
  color: var(--success);
}
.leetcode-custom-test.failed .leetcode-custom-test-icon[data-v-47d1ea22] {
  background: rgba(239, 68, 68, 0.1);
  color: var(--error);
}
.leetcode-custom-test-number[data-v-47d1ea22] {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', monospace;
}
.leetcode-custom-badge[data-v-47d1ea22] {
  background: var(--gradient-school);
  color: var(--text-inverse);
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.leetcode-custom-test-actions[data-v-47d1ea22] {
  display: flex;
  gap: 8px;
}
.leetcode-test-action-btn[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: var(--bg-tertiary);
  border: 1px solid var(--border-primary);
  border-radius: 4px;
  color: var(--text-secondary);
  cursor: pointer;
  transition: all 0.2s ease;
}
.leetcode-test-action-btn[data-v-47d1ea22]:hover {
  background: var(--bg-secondary);
  border-color: var(--border-secondary);
  color: var(--text-primary);
}
.leetcode-test-action-btn.delete[data-v-47d1ea22]:hover {
  background: rgba(239, 68, 68, 0.1);
  border-color: var(--error);
  color: var(--error);
}
.leetcode-custom-test-content[data-v-47d1ea22] {
  padding: 0 24px 20px 24px;
  background: var(--bg-primary);
}
.leetcode-custom-test-data[data-v-47d1ea22] {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 8px;
}
.leetcode-custom-data-item[data-v-47d1ea22] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.leetcode-custom-data-label[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.leetcode-custom-data-icon[data-v-47d1ea22] {
  font-size: 14px;
}
.leetcode-custom-data-value[data-v-47d1ea22] {
  background: var(--bg-tertiary);
  border: 1px solid var(--border-primary);
  border-radius: 6px;
  padding: 12px;
  font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', monospace;
  font-size: 13px;
  line-height: 1.5;
  overflow-x: auto;
}
.leetcode-custom-data-value pre[data-v-47d1ea22] {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  color: var(--text-primary);
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  white-space: pre-wrap;
  word-break: break-word;
}
.leetcode-custom-data-value.actual[data-v-47d1ea22] {
  background: rgba(239, 68, 68, 0.05);
  border-color: rgba(239, 68, 68, 0.2);
  color: var(--error);
}

/* Адаптивные стили для LeetCode вкладки тестов */
@media (max-width: 768px) {
.leetcode-test-cases-header[data-v-47d1ea22] {
    flex-direction: column;
    gap: 16px;
    align-items: stretch;
    padding: 16px 20px;
}
.leetcode-test-cases-actions[data-v-47d1ea22] {
    justify-content: center;
}
.leetcode-test-section-header[data-v-47d1ea22] {
    padding: 12px 20px;
}
.leetcode-example-test-header[data-v-47d1ea22],
  .leetcode-custom-test-header[data-v-47d1ea22] {
    padding: 12px 20px;
}
.leetcode-example-test-content[data-v-47d1ea22],
  .leetcode-custom-test-content[data-v-47d1ea22] {
    padding: 0 20px 16px 20px;
}
.leetcode-example-test-data[data-v-47d1ea22],
  .leetcode-custom-test-data[data-v-47d1ea22] {
    gap: 12px;
}
.leetcode-example-data-value[data-v-47d1ea22],
  .leetcode-custom-data-value[data-v-47d1ea22] {
    padding: 10px;
    font-size: 12px;
}
}

/* Стили для вкладки тестов */
.test-cases-section[data-v-47d1ea22] {
  padding: 20px;
}
.test-cases-header[data-v-47d1ea22] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border-primary);
}
.test-cases-actions[data-v-47d1ea22] {
  display: flex;
  gap: 12px;
  align-items: center;
}
.test-cases-title[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text-primary);
  font-size: 18px;
  font-weight: 600;
  margin: 0;
}
.add-test-btn[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--gradient-primary);
  color: var(--text-primary);
  border: none;
  padding: 10px 16px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
}
.add-test-btn[data-v-47d1ea22]:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
}
.refresh-btn[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  color: var(--text-secondary);
  border: 1px solid var(--border-primary);
  padding: 10px 16px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
}
.refresh-btn[data-v-47d1ea22]:hover:not(:disabled) {
  color: var(--text-primary);
  border-color: var(--accent-primary);
  background: rgba(16, 185, 129, 0.1);
}
.refresh-btn[data-v-47d1ea22]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.test-cases-grid[data-v-47d1ea22] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  gap: 20px;
}
.test-case-card[data-v-47d1ea22] {
  background: var(--bg-card);
  border: 1px solid var(--border-primary);
  border-radius: 12px;
  padding: 20px;
  transition: all 0.3s ease;
  position: relative;
  border-left: 4px solid var(--event-school);
}
.test-case-card[data-v-47d1ea22]:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}
.test-case-card.passed[data-v-47d1ea22] {
  border-left-color: var(--accent-primary);
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.05) 0%, rgba(16, 185, 129, 0.02) 100%);
}
.test-case-card.failed[data-v-47d1ea22] {
  border-left-color: var(--error);
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.05) 0%, rgba(239, 68, 68, 0.02) 100%);
}
.test-case-card-header[data-v-47d1ea22] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.test-case-info[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.test-case-icon[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  color: var(--text-secondary);
}
.test-case-card.passed .test-case-icon[data-v-47d1ea22] {
  background: rgba(16, 185, 129, 0.2);
  color: var(--accent-primary);
}
.test-case-card.failed .test-case-icon[data-v-47d1ea22] {
  background: rgba(239, 68, 68, 0.2);
  color: var(--error);
}
.test-case-number[data-v-47d1ea22] {
  color: var(--text-primary);
  font-weight: 600;
  font-size: 16px;
}
.custom-badge[data-v-47d1ea22] {
  background: var(--gradient-school);
  color: var(--text-primary);
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.test-case-actions[data-v-47d1ea22] {
  display: flex;
  gap: 8px;
}
.test-action-btn[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: rgba(255, 255, 255, 0.1);
  border: none;
  border-radius: 6px;
  color: var(--text-secondary);
  cursor: pointer;
  transition: all 0.3s ease;
}
.test-action-btn[data-v-47d1ea22]:hover {
  background: rgba(255, 255, 255, 0.2);
  color: var(--text-primary);
}
.test-action-btn.delete[data-v-47d1ea22]:hover {
  background: rgba(239, 68, 68, 0.2);
  color: var(--error);
}
.test-case-card-content[data-v-47d1ea22] {
  margin-bottom: 16px;
}
.test-data-grid[data-v-47d1ea22] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.test-data-item[data-v-47d1ea22] {
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  border-radius: 8px;
  padding: 12px;
}
.test-data-label[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--text-secondary);
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.test-data-value[data-v-47d1ea22] {
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  border-radius: 6px;
  padding: 8px;
}
.test-data-value.actual[data-v-47d1ea22] {
  border-color: var(--warning);
  background: rgba(245, 158, 11, 0.05);
}
.test-data-value pre[data-v-47d1ea22] {
  color: var(--text-primary);
  font-size: 13px;
  margin: 0;
  white-space: pre-wrap;
  font-family: 'Fira Code', monospace;
  line-height: 1.4;
}
.test-status-badge[data-v-47d1ea22] {
  display: flex;
  justify-content: center;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--border-primary);
}
.status-indicator[data-v-47d1ea22] {
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.status-indicator.passed[data-v-47d1ea22] {
  background: rgba(16, 185, 129, 0.2);
  color: var(--accent-primary);
  border: 1px solid rgba(16, 185, 129, 0.3);
}
.status-indicator.failed[data-v-47d1ea22] {
  background: rgba(239, 68, 68, 0.2);
  color: var(--error);
  border: 1px solid rgba(239, 68, 68, 0.3);
}

/* Модальное окно для тестов */
.modal-overlay[data-v-47d1ea22] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  backdrop-filter: blur(4px);
}
.test-modal[data-v-47d1ea22] {
  width: 100%;
  max-width: 600px;
  max-height: 80vh;
  overflow-y: auto;
}
.modal-content[data-v-47d1ea22] {
  background: var(--bg-card);
  border: 1px solid var(--border-primary);
  border-radius: 12px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
}
.modal-header[data-v-47d1ea22] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid var(--border-primary);
}
.modal-title[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text-primary);
  font-size: 18px;
  font-weight: 600;
  margin: 0;
}
.modal-close-btn[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: rgba(255, 255, 255, 0.1);
  border: none;
  border-radius: 8px;
  color: var(--text-secondary);
  cursor: pointer;
  transition: all 0.3s ease;
}
.modal-close-btn[data-v-47d1ea22]:hover {
  background: rgba(255, 255, 255, 0.2);
  color: var(--text-primary);
}
.modal-body[data-v-47d1ea22] {
  padding: 24px;
}
.form-group[data-v-47d1ea22] {
  margin-bottom: 20px;
}
.form-label[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text-primary);
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 8px;
}
.form-textarea[data-v-47d1ea22] {
  width: 100%;
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  border-radius: 8px;
  color: var(--text-primary);
  padding: 12px;
  font-size: 14px;
  font-family: 'Fira Code', monospace;
  resize: vertical;
  transition: all 0.3s ease;
}
.form-textarea[data-v-47d1ea22]:focus {
  outline: none;
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}
.form-textarea[data-v-47d1ea22]::placeholder {
  color: var(--text-muted);
}
.modal-footer[data-v-47d1ea22] {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding: 20px 24px;
  border-top: 1px solid var(--border-primary);
}

/* Адаптивность для тестов */
@media (max-width: 768px) {
.test-cases-grid[data-v-47d1ea22] {
    grid-template-columns: 1fr;
}
.test-cases-header[data-v-47d1ea22] {
    flex-direction: column;
    gap: 16px;
    align-items: stretch;
}
.add-test-btn[data-v-47d1ea22] {
    width: 100%;
    justify-content: center;
}
.test-modal[data-v-47d1ea22] {
    margin: 20px;
    max-width: none;
}
}

/* LeetCode-style Results - Dark Theme */
.no-results-content[data-v-47d1ea22] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 20px;
  text-align: center;
}
.no-results-icon[data-v-47d1ea22] {
  color: var(--text-muted);
  margin-bottom: 24px;
  opacity: 0.6;
}
.no-results-title[data-v-47d1ea22] {
  color: var(--text-primary);
  font-size: 28px;
  font-weight: 600;
  margin: 0 0 12px 0;
}
.no-results-description[data-v-47d1ea22] {
  color: var(--text-secondary);
  font-size: 16px;
  margin: 0;
  max-width: 400px;
}

/* LeetCode Header - Dark Theme */
.leetcode-header[data-v-47d1ea22] {
  background: var(--bg-card);
  border: 1px solid var(--border-primary);
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 16px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
.leetcode-title[data-v-47d1ea22] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.leetcode-title h2[data-v-47d1ea22] {
  color: var(--text-primary);
  font-size: 20px;
  font-weight: 600;
  margin: 0;
}
.leetcode-status[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
}
.leetcode-status.success[data-v-47d1ea22] {
  background: rgba(16, 185, 129, 0.2);
  color: var(--accent-primary);
  border: 1px solid rgba(16, 185, 129, 0.3);
}
.leetcode-status.error[data-v-47d1ea22] {
  background: rgba(239, 68, 68, 0.2);
  color: var(--error);
  border: 1px solid rgba(239, 68, 68, 0.3);
}
.status-icon[data-v-47d1ea22] {
  display: flex;
  align-items: center;
}
.leetcode-stats[data-v-47d1ea22] {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}
.stat-item[data-v-47d1ea22] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.stat-label[data-v-47d1ea22] {
  color: var(--text-secondary);
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.stat-value[data-v-47d1ea22] {
  color: var(--text-primary);
  font-size: 16px;
  font-weight: 600;
}

/* LeetCode Test Results - Dark Theme */
.leetcode-test-results[data-v-47d1ea22] {
  background: var(--bg-card);
  border: 1px solid var(--border-primary);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
.test-results-header[data-v-47d1ea22] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  background: var(--bg-primary);
  border-bottom: 1px solid var(--border-primary);
}
.test-results-header h3[data-v-47d1ea22] {
  color: var(--text-primary);
  font-size: 16px;
  font-weight: 600;
  margin: 0;
}
.test-summary[data-v-47d1ea22] {
  display: flex;
  gap: 16px;
}
.summary-item[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 500;
}
.summary-item.success[data-v-47d1ea22] {
  color: var(--accent-primary);
}
.summary-item.error[data-v-47d1ea22] {
  color: var(--error);
}

/* Test Cases - Dark Theme */
.test-cases[data-v-47d1ea22] {
  display: flex;
  flex-direction: column;
}
.test-case[data-v-47d1ea22] {
  border-bottom: 1px solid var(--border-primary);
  transition: background-color 0.2s ease;
}
.test-case[data-v-47d1ea22]:last-child {
  border-bottom: none;
}
.test-case[data-v-47d1ea22]:hover {
  background: var(--bg-primary);
}
.test-case.accepted[data-v-47d1ea22] {
  border-left: 4px solid var(--accent-primary);
}
.test-case.wrong_answer[data-v-47d1ea22] {
  border-left: 4px solid var(--error);
}
.test-case-header[data-v-47d1ea22] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  cursor: pointer;
  user-select: none;
}
.test-case-info[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.test-case-icon[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
}
.test-case.accepted .test-case-icon[data-v-47d1ea22] {
  color: var(--accent-primary);
  background: rgba(16, 185, 129, 0.2);
}
.test-case.wrong_answer .test-case-icon[data-v-47d1ea22] {
  color: var(--error);
  background: rgba(239, 68, 68, 0.2);
}
.test-case-details[data-v-47d1ea22] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.test-case-name[data-v-47d1ea22] {
  color: var(--text-primary);
  font-size: 14px;
  font-weight: 600;
}
.test-case-status[data-v-47d1ea22] {
  color: var(--text-secondary);
  font-size: 12px;
}
.expand-btn[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: none;
  border: none;
  color: var(--text-secondary);
  cursor: pointer;
  border-radius: 4px;
  transition: all 0.2s ease;
}
.expand-btn[data-v-47d1ea22]:hover {
  background: var(--bg-tertiary);
  color: var(--text-primary);
}
.expand-btn.expanded[data-v-47d1ea22] {
  transform: rotate(180deg);
}

/* Test Case Details - Dark Theme */
.test-case-details-content[data-v-47d1ea22] {
  padding: 0 20px 20px 20px;
  background: var(--bg-primary);
  border-top: 1px solid var(--border-primary);
}
.test-data-section[data-v-47d1ea22] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 16px;
  margin-bottom: 16px;
}
.data-item[data-v-47d1ea22] {
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  border-radius: 6px;
  overflow: hidden;
}
.data-label[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: var(--bg-primary);
  border-bottom: 1px solid var(--border-primary);
  color: var(--text-secondary);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.data-content[data-v-47d1ea22] {
  padding: 12px;
}
.data-content.actual[data-v-47d1ea22] {
  background: rgba(245, 158, 11, 0.1);
  border-left: 4px solid var(--warning);
}
.data-content pre[data-v-47d1ea22] {
  color: var(--text-primary);
  font-size: 13px;
  margin: 0;
  white-space: pre-wrap;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  line-height: 1.5;
}

/* Error Section - Dark Theme */
.error-section[data-v-47d1ea22] {
  background: rgba(239, 68, 68, 0.1);
  border: 1px solid rgba(239, 68, 68, 0.3);
  border-radius: 6px;
  overflow: hidden;
}
.error-header[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: rgba(239, 68, 68, 0.2);
  color: var(--error);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.error-content[data-v-47d1ea22] {
  padding: 12px;
}
.error-content pre[data-v-47d1ea22] {
  color: var(--error);
  font-size: 13px;
  margin: 0;
  white-space: pre-wrap;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  line-height: 1.5;
}

/* Responsive Design */
@media (max-width: 768px) {
.leetcode-stats[data-v-47d1ea22] {
    flex-direction: column;
    gap: 12px;
}
.test-results-header[data-v-47d1ea22] {
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
}
.test-summary[data-v-47d1ea22] {
    justify-content: center;
}
.test-data-section[data-v-47d1ea22] {
    grid-template-columns: 1fr;
}
.test-case-header[data-v-47d1ea22] {
    padding: 12px 16px;
}
.test-case-details-content[data-v-47d1ea22] {
    padding: 0 16px 16px 16px;
}
}

/* LeetCode стили для тестовых случаев */
.leetcode-test-case[data-v-47d1ea22] {
  background: var(--bg-card);
  border: 1px solid var(--border-primary);
  border-radius: 8px;
  margin-bottom: 8px;
  overflow: hidden;
  transition: all 0.2s ease;
}
.leetcode-test-case[data-v-47d1ea22]:hover {
  border-color: var(--border-secondary);
}
.leetcode-test-case.accepted[data-v-47d1ea22] {
  border-left: 4px solid var(--success);
}
.leetcode-test-case.wrong_answer[data-v-47d1ea22] {
  border-left: 4px solid var(--error);
}
.leetcode-test-case.runtime_error[data-v-47d1ea22],
.leetcode-test-case.time_limit_exceeded[data-v-47d1ea22] {
  border-left: 4px solid var(--warning);
}
.leetcode-test-header[data-v-47d1ea22] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  cursor: pointer;
  user-select: none;
  background: var(--bg-tertiary);
  border-bottom: 1px solid var(--border-primary);
}
.leetcode-test-info[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.leetcode-test-icon[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
}
.leetcode-test-case.accepted .leetcode-test-icon[data-v-47d1ea22] {
  color: var(--success);
  background: rgba(34, 197, 94, 0.1);
}
.leetcode-test-case.wrong_answer .leetcode-test-icon[data-v-47d1ea22] {
  color: var(--error);
  background: rgba(239, 68, 68, 0.1);
}
.leetcode-test-case.runtime_error .leetcode-test-icon[data-v-47d1ea22],
.leetcode-test-case.time_limit_exceeded .leetcode-test-icon[data-v-47d1ea22] {
  color: var(--warning);
  background: rgba(245, 158, 11, 0.1);
}
.leetcode-test-details[data-v-47d1ea22] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.leetcode-test-name[data-v-47d1ea22] {
  color: var(--text-primary);
  font-size: 14px;
  font-weight: 600;
  font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', monospace;
}
.leetcode-test-status[data-v-47d1ea22] {
  color: var(--text-secondary);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.leetcode-expand-btn[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: none;
  border: none;
  color: var(--text-secondary);
  cursor: pointer;
  border-radius: 4px;
  transition: all 0.2s ease;
}
.leetcode-expand-btn[data-v-47d1ea22]:hover {
  background: var(--bg-primary);
  color: var(--text-primary);
}
.leetcode-expand-btn.expanded[data-v-47d1ea22] {
  transform: rotate(180deg);
}
.leetcode-test-content[data-v-47d1ea22] {
  background: var(--bg-primary);
  border-top: 1px solid var(--border-primary);
}
.leetcode-test-data[data-v-47d1ea22] {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.leetcode-data-item[data-v-47d1ea22] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.leetcode-data-item.error[data-v-47d1ea22] {
  background: rgba(239, 68, 68, 0.05);
  border: 1px solid rgba(239, 68, 68, 0.2);
  border-radius: 6px;
  padding: 12px;
}
.leetcode-data-label[data-v-47d1ea22] {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text-primary);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.leetcode-data-icon[data-v-47d1ea22] {
  font-size: 14px;
}
.leetcode-data-value[data-v-47d1ea22] {
  background: var(--bg-tertiary);
  border: 1px solid var(--border-primary);
  border-radius: 6px;
  padding: 12px;
  font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', monospace;
  font-size: 13px;
  line-height: 1.5;
  overflow-x: auto;
}
.leetcode-data-value pre[data-v-47d1ea22] {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  color: var(--text-primary);
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  white-space: pre-wrap;
  word-break: break-word;
}
.leetcode-data-item.error .leetcode-data-value[data-v-47d1ea22] {
  background: rgba(239, 68, 68, 0.1);
  border-color: rgba(239, 68, 68, 0.3);
  color: var(--error);
}

/* Адаптивные стили для LeetCode тестов */
@media (max-width: 768px) {
.leetcode-test-header[data-v-47d1ea22] {
    padding: 10px 12px;
}
.leetcode-test-info[data-v-47d1ea22] {
    gap: 8px;
}
.leetcode-test-icon[data-v-47d1ea22] {
    width: 18px;
    height: 18px;
}
.leetcode-test-name[data-v-47d1ea22] {
    font-size: 13px;
}
.leetcode-test-status[data-v-47d1ea22] {
    font-size: 11px;
}
.leetcode-test-data[data-v-47d1ea22] {
    padding: 12px;
    gap: 12px;
}
.leetcode-data-value[data-v-47d1ea22] {
    padding: 10px;
    font-size: 12px;
}
.leetcode-data-label[data-v-47d1ea22] {
    font-size: 12px;
}
}

/* Стили для разделения базовых и кастомных тестов */
.test-section[data-v-47d1ea22] {
  margin-bottom: 24px;
}
.test-section-title[data-v-47d1ea22] {
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--border-light);
}
.base-test[data-v-47d1ea22] {
  border-left: 4px solid var(--event-school);
}
.custom-test[data-v-47d1ea22] {
  border-left: 4px solid var(--event-meetup);
}
.hidden-badge[data-v-47d1ea22] {
  background: var(--warning-light);
  color: var(--warning-dark);
  font-size: 11px;
  font-weight: 500;
  padding: 2px 6px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.pet-project-card[data-v-c1efc15e] {
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%);
  border: 1px solid #333;
  border-radius: 16px;
  padding: 24px;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 320px;
}
.pet-project-card[data-v-c1efc15e]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.05) 0%, transparent 50%);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.pet-project-card[data-v-c1efc15e]:hover {
  transform: translateY(-4px);
  border-color: #10b981;
  box-shadow: 0 8px 32px rgba(16, 185, 129, 0.2);
}
.pet-project-card[data-v-c1efc15e]:hover::before {
  opacity: 1;
}
.card-header[data-v-c1efc15e] {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 20px;
  flex-shrink: 0;
}
.project-icon[data-v-c1efc15e] {
  font-size: 32px;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(16, 185, 129, 0.1);
  border-radius: 12px;
  flex-shrink: 0;
}
.project-info[data-v-c1efc15e] {
  flex: 1;
}
.project-title[data-v-c1efc15e] {
  font-size: 20px;
  font-weight: 600;
  color: white;
  margin: 0 0 8px 0;
  line-height: 1.3;
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
}
.project-description[data-v-c1efc15e] {
  font-size: 14px;
  color: #a6a6a6;
  margin: 0;
  line-height: 1.5;
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.card-body[data-v-c1efc15e] {
  margin-bottom: 20px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
.project-meta[data-v-c1efc15e] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 16px;
  flex-shrink: 0;
}
.meta-item[data-v-c1efc15e] {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  overflow: hidden;
}
.meta-label[data-v-c1efc15e] {
  font-size: 12px;
  color: #666;
  font-weight: 500;
  white-space: nowrap;
  flex-shrink: 0;
}
.difficulty-badge[data-v-c1efc15e] {
  padding: 4px 6px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  white-space: nowrap;
  flex-shrink: 0;
  max-width: 80px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.difficulty-badge.beginner[data-v-c1efc15e] {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}
.difficulty-badge.intermediate[data-v-c1efc15e] {
  background: rgba(251, 191, 36, 0.2);
  color: #fbbf24;
}
.difficulty-badge.advanced[data-v-c1efc15e] {
  background: rgba(249, 115, 22, 0.2);
  color: #f97316;
}
.difficulty-badge.expert[data-v-c1efc15e] {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
}
.category-badge[data-v-c1efc15e] {
  background: rgba(16, 185, 129, 0.2);
  color: #10b981;
  padding: 4px 6px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 600;
  white-space: nowrap;
  flex-shrink: 0;
  max-width: 100px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.duration[data-v-c1efc15e], .hours[data-v-c1efc15e] {
  color: #e5e5e5;
  font-size: 11px;
  font-weight: 500;
  white-space: nowrap;
  flex-shrink: 0;
  max-width: 60px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.technologies[data-v-c1efc15e] {
  margin-bottom: 16px;
  flex-grow: 1;
}
.tech-label[data-v-c1efc15e] {
  font-size: 12px;
  color: #666;
  font-weight: 500;
  display: block;
  margin-bottom: 8px;
}
.tech-tags[data-v-c1efc15e] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.tech-tag[data-v-c1efc15e] {
  background: rgba(16, 185, 129, 0.1);
  color: #10b981;
  padding: 3px 6px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 500;
  white-space: nowrap;
  max-width: 80px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tech-more[data-v-c1efc15e] {
  background: rgba(102, 102, 102, 0.2);
  color: #666;
  padding: 3px 6px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 500;
  white-space: nowrap;
}
.card-footer[data-v-c1efc15e] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-shrink: 0;
  margin-top: auto;
}
.progress-section[data-v-c1efc15e] {
  flex: 1;
}
.progress-bar[data-v-c1efc15e] {
  width: 100%;
  height: 6px;
  background: #333;
  border-radius: 3px;
  overflow: hidden;
  margin-bottom: 4px;
}
.progress-fill[data-v-c1efc15e] {
  height: 100%;
  background: linear-gradient(90deg, #10b981 0%, #059669 100%);
  transition: width 0.3s ease;
}
.progress-text[data-v-c1efc15e] {
  font-size: 11px;
  color: #666;
  font-weight: 500;
}
.start-btn[data-v-c1efc15e] {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  white-space: nowrap;
}
.start-btn[data-v-c1efc15e]:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
}

/* Responsive */
@media (max-width: 768px) {
.pet-project-card[data-v-c1efc15e] {
    min-height: 280px;
    padding: 20px;
}
.project-meta[data-v-c1efc15e] {
    grid-template-columns: 1fr;
    gap: 6px;
}
.meta-item[data-v-c1efc15e] {
    justify-content: space-between;
    gap: 4px;
}
.meta-label[data-v-c1efc15e] {
    font-size: 11px;
}
.difficulty-badge[data-v-c1efc15e], .category-badge[data-v-c1efc15e] {
    font-size: 9px;
    padding: 3px 5px;
}
.duration[data-v-c1efc15e], .hours[data-v-c1efc15e] {
    font-size: 10px;
}
.project-title[data-v-c1efc15e] {
    font-size: 18px;
}
.project-description[data-v-c1efc15e] {
    font-size: 13px;
}
}
@media (max-width: 480px) {
.pet-project-card[data-v-c1efc15e] {
    min-height: 260px;
    padding: 16px;
}
.card-header[data-v-c1efc15e] {
    gap: 12px;
    margin-bottom: 16px;
}
.project-icon[data-v-c1efc15e] {
    width: 40px;
    height: 40px;
    font-size: 24px;
}
.project-title[data-v-c1efc15e] {
    font-size: 16px;
}
.project-description[data-v-c1efc15e] {
    font-size: 12px;
}
.project-meta[data-v-c1efc15e] {
    gap: 4px;
}
.meta-item[data-v-c1efc15e] {
    gap: 3px;
}
.meta-label[data-v-c1efc15e] {
    font-size: 10px;
}
.difficulty-badge[data-v-c1efc15e], .category-badge[data-v-c1efc15e] {
    font-size: 8px;
    padding: 2px 4px;
}
.duration[data-v-c1efc15e], .hours[data-v-c1efc15e] {
    font-size: 9px;
}
.card-footer[data-v-c1efc15e] {
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
}
.start-btn[data-v-c1efc15e] {
    width: 100%;
    padding: 10px 16px;
}
}


.modal-overlay[data-v-c9a27bda] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 20px;
}
.modal-content[data-v-c9a27bda] {
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%);
  border: 1px solid #333;
  border-radius: 16px;
  max-width: 900px;
  width: 100%;
  max-height: 90vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.modal-header[data-v-c9a27bda] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px;
  border-bottom: 1px solid #333;
}
.header-left[data-v-c9a27bda] {
  display: flex;
  align-items: center;
  gap: 16px;
}
.item-icon[data-v-c9a27bda] {
  font-size: 32px;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(16, 185, 129, 0.1);
  border-radius: 12px;
  flex-shrink: 0;
}
.header-info[data-v-c9a27bda] {
  flex: 1;
}
.modal-title[data-v-c9a27bda] {
  font-size: 24px;
  font-weight: 600;
  color: white;
  margin: 0 0 4px 0;
  line-height: 1.3;
}
.modal-subtitle[data-v-c9a27bda] {
  font-size: 14px;
  color: #a6a6a6;
  margin: 0;
  line-height: 1.4;
}
.close-btn[data-v-c9a27bda] {
  background: none;
  border: none;
  color: #666;
  cursor: pointer;
  padding: 8px;
  border-radius: 8px;
  transition: all 0.3s ease;
}
.close-btn[data-v-c9a27bda]:hover {
  background: rgba(255, 255, 255, 0.1);
  color: white;
}
.modal-body[data-v-c9a27bda] {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
}
.community-section[data-v-c9a27bda] {
  background: rgba(16, 185, 129, 0.1);
  border: 1px solid rgba(16, 185, 129, 0.2);
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 20px;
}
.community-section h4[data-v-c9a27bda] {
  color: #10b981;
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 8px;
}
.community-section p[data-v-c9a27bda] {
  color: #a6a6a6;
  font-size: 14px;
  margin-bottom: 12px;
}
.community-link[data-v-c9a27bda] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: white;
  text-decoration: none;
  padding: 10px 16px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
}
.community-link[data-v-c9a27bda]:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(16, 185, 129, 0.4);
}
.stats-section[data-v-c9a27bda] {
  margin-bottom: 32px;
}
.stats-grid[data-v-c9a27bda] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
}
.stat-item[data-v-c9a27bda] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 8px;
}
.stat-label[data-v-c9a27bda] {
  font-size: 14px;
  color: #a6a6a6;
  font-weight: 500;
}
.stat-value[data-v-c9a27bda] {
  font-size: 14px;
  color: white;
  font-weight: 600;
}
.difficulty-badge[data-v-c9a27bda] {
  padding: 4px 8px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
}
.difficulty-badge.beginner[data-v-c9a27bda] {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}
.difficulty-badge.intermediate[data-v-c9a27bda] {
  background: rgba(251, 191, 36, 0.2);
  color: #fbbf24;
}
.difficulty-badge.advanced[data-v-c9a27bda] {
  background: rgba(249, 115, 22, 0.2);
  color: #f97316;
}
.difficulty-badge.expert[data-v-c9a27bda] {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
}
.category-badge[data-v-c9a27bda] {
  background: rgba(16, 185, 129, 0.2);
  color: #10b981;
  padding: 4px 8px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 600;
}
.section-title[data-v-c9a27bda] {
  font-size: 20px;
  font-weight: 600;
  color: white;
  margin: 0 0 16px 0;
  line-height: 1.3;
}
.topics-section[data-v-c9a27bda],
.technologies-section[data-v-c9a27bda],
.tags-section[data-v-c9a27bda],
.features-section[data-v-c9a27bda] {
  margin-bottom: 32px;
}
.topics-list[data-v-c9a27bda],
.features-list[data-v-c9a27bda] {
  list-style: none;
  padding: 0;
  margin: 0;
}
.topic-item[data-v-c9a27bda],
.feature-item[data-v-c9a27bda] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
  color: #e5e5e5;
  font-size: 14px;
}
.topic-item svg[data-v-c9a27bda],
.feature-item svg[data-v-c9a27bda] {
  color: #10b981;
  flex-shrink: 0;
}
.tech-grid[data-v-c9a27bda],
.tags-grid[data-v-c9a27bda] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.tech-badge[data-v-c9a27bda] {
  background: rgba(16, 185, 129, 0.1);
  color: #10b981;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 500;
  border: 1px solid rgba(16, 185, 129, 0.2);
}
.tag-badge[data-v-c9a27bda] {
  background: rgba(168, 85, 247, 0.1);
  color: #a855f7;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 500;
  border: 1px solid rgba(168, 85, 247, 0.2);
}
.roadmap-section[data-v-c9a27bda] {
  margin-bottom: 32px;
}
.roadmap-timeline[data-v-c9a27bda] {
  position: relative;
}
.roadmap-timeline[data-v-c9a27bda]::before {
  content: '';
  position: absolute;
  left: 20px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: #333;
}
.roadmap-phase[data-v-c9a27bda] {
  position: relative;
  margin-bottom: 24px;
  padding-left: 60px;
}
.roadmap-phase[data-v-c9a27bda]::before {
  content: '';
  position: absolute;
  left: 12px;
  top: 8px;
  width: 16px;
  height: 16px;
  background: #10b981;
  border-radius: 50%;
  border: 3px solid #1a1a1a;
}
.phase-header[data-v-c9a27bda] {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 12px;
}
.phase-number[data-v-c9a27bda] {
  background: rgba(16, 185, 129, 0.2);
  color: #10b981;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 600;
  flex-shrink: 0;
}
.phase-info[data-v-c9a27bda] {
  flex: 1;
}
.phase-title[data-v-c9a27bda] {
  font-size: 16px;
  font-weight: 600;
  color: white;
  margin: 0 0 4px 0;
  line-height: 1.3;
}
.phase-description[data-v-c9a27bda] {
  font-size: 14px;
  color: #a6a6a6;
  margin: 0 0 8px 0;
  line-height: 1.4;
}
.phase-duration[data-v-c9a27bda] {
  font-size: 12px;
  color: #10b981;
  font-weight: 500;
}
.phase-tasks[data-v-c9a27bda] {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 8px;
  padding: 16px;
  margin-left: 48px;
}
.tasks-title[data-v-c9a27bda] {
  font-size: 14px;
  font-weight: 600;
  color: white;
  margin: 0 0 8px 0;
}
.tasks-list[data-v-c9a27bda] {
  list-style: none;
  padding: 0;
  margin: 0;
}
.task-item[data-v-c9a27bda] {
  font-size: 13px;
  color: #a6a6a6;
  padding: 4px 0;
  position: relative;
  padding-left: 16px;
}
.task-item[data-v-c9a27bda]::before {
  content: '•';
  color: #10b981;
  position: absolute;
  left: 0;
}
.resources-section[data-v-c9a27bda] {
  margin-bottom: 32px;
}
.resources-grid[data-v-c9a27bda] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 16px;
}
.resource-card[data-v-c9a27bda] {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 8px;
  padding: 16px;
  transition: all 0.3s ease;
}
.resource-card[data-v-c9a27bda]:hover {
  background: rgba(255, 255, 255, 0.1);
  transform: translateY(-2px);
}
.resource-link[data-v-c9a27bda] {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: inherit;
}
.resource-icon[data-v-c9a27bda] {
  color: #10b981;
  flex-shrink: 0;
}
.resource-info[data-v-c9a27bda] {
  flex: 1;
}
.resource-title[data-v-c9a27bda] {
  font-size: 14px;
  font-weight: 600;
  color: white;
  margin: 0 0 4px 0;
  line-height: 1.3;
  word-break: break-all;
}
.resource-type[data-v-c9a27bda] {
  font-size: 12px;
  color: #a6a6a6;
}
.modal-footer[data-v-c9a27bda] {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  padding: 24px;
  border-top: 1px solid #333;
}
.btn[data-v-c9a27bda] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s ease;
  border: none;
}
.btn-primary[data-v-c9a27bda] {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: white;
}
.btn-primary[data-v-c9a27bda]:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
}
.btn-outline[data-v-c9a27bda] {
  background: transparent;
  color: #10b981;
  border: 1px solid #10b981;
}
.btn-outline[data-v-c9a27bda]:hover {
  background: #10b981;
  color: white;
}
@media (max-width: 768px) {
.modal-overlay[data-v-c9a27bda] {
    padding: 10px;
}
.modal-content[data-v-c9a27bda] {
    max-height: 95vh;
}
.modal-header[data-v-c9a27bda] {
    padding: 20px;
}
.modal-body[data-v-c9a27bda] {
    padding: 20px;
}
.stats-grid[data-v-c9a27bda] {
    grid-template-columns: 1fr;
}
.roadmap-phase[data-v-c9a27bda] {
    padding-left: 40px;
}
.phase-tasks[data-v-c9a27bda] {
    margin-left: 28px;
}
.resources-grid[data-v-c9a27bda] {
    grid-template-columns: 1fr;
}
.modal-footer[data-v-c9a27bda] {
    flex-direction: column;
    align-items: stretch;
}
.btn[data-v-c9a27bda] {
    justify-content: center;
}
}

.coming-soon-overlay[data-v-092c1bea] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.95);
  backdrop-filter: blur(10px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 20px;
}
.coming-soon-content[data-v-092c1bea] {
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 16px;
  padding: 40px;
  text-align: center;
  max-width: 500px;
  width: 100%;
  position: relative;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);
}
.coming-soon-icon[data-v-092c1bea] {
  font-size: 64px;
  margin-bottom: 20px;
  animation: bounce-092c1bea 2s infinite;
}
@keyframes bounce-092c1bea {
0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
}
40% {
    transform: translateY(-10px);
}
60% {
    transform: translateY(-5px);
}
}
.coming-soon-title[data-v-092c1bea] {
  font-size: 28px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 16px;
  background: linear-gradient(135deg, #ffffff 0%, #10b981 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.coming-soon-description[data-v-092c1bea] {
  font-size: 16px;
  color: #a6a6a6;
  line-height: 1.6;
  margin-bottom: 32px;
}
.coming-soon-suggestion[data-v-092c1bea] {
  background: rgba(16, 185, 129, 0.1);
  border: 1px solid rgba(16, 185, 129, 0.2);
  border-radius: 12px;
  padding: 24px;
  margin-bottom: 32px;
}
.suggestion-text[data-v-092c1bea] {
  font-size: 14px;
  color: #a6a6a6;
  margin-bottom: 16px;
  line-height: 1.5;
}
.suggestion-link[data-v-092c1bea] {
  display: inline-block;
  background: #10b981;
  color: #ffffff;
  text-decoration: none;
  padding: 12px 24px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 14px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.2);
}
.suggestion-link[data-v-092c1bea]:hover {
  background: #059669;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(16, 185, 129, 0.3);
}
.back-button[data-v-092c1bea] {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #ffffff;
  padding: 12px 24px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
}
.back-button[data-v-092c1bea]:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.3);
  transform: translateY(-1px);
}

/* Адаптивность */
@media (max-width: 768px) {
.coming-soon-content[data-v-092c1bea] {
    padding: 32px 24px;
    margin: 20px;
}
.coming-soon-title[data-v-092c1bea] {
    font-size: 24px;
}
.coming-soon-icon[data-v-092c1bea] {
    font-size: 48px;
}
.suggestion-link[data-v-092c1bea] {
    padding: 10px 20px;
    font-size: 13px;
}
}
@media (max-width: 480px) {
.coming-soon-content[data-v-092c1bea] {
    padding: 24px 20px;
}
.coming-soon-title[data-v-092c1bea] {
    font-size: 20px;
}
.coming-soon-description[data-v-092c1bea] {
    font-size: 14px;
}
}

.roadmaps-page[data-v-1c7d3fce] {
  min-height: 100vh;
  background: #0a0a0a;
  color: white;
}

/* Hero Section */
.hero-section[data-v-1c7d3fce] {
  position: relative;
  padding: 80px 0 60px;
  background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 100%);
  overflow: hidden;
}
.hero-section[data-v-1c7d3fce]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: 
    repeating-linear-gradient(
      90deg,
      transparent,
      transparent 98px,
      rgba(16, 185, 129, 0.1) 100px
    ),
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 98px,
      rgba(16, 185, 129, 0.1) 100px
    );
  mask: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.2) 30%, rgba(0,0,0,0.9) 100%);
  -webkit-mask: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.2) 30%, rgba(0,0,0,0.9) 100%);
}
.container[data-v-1c7d3fce] {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  z-index: 1;
}
.hero-content[data-v-1c7d3fce] {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}
.hero-title[data-v-1c7d3fce] {
  font-size: 48px;
  font-weight: 700;
  margin-bottom: 16px;
  background: linear-gradient(135deg, #ffffff 0%, #10b981 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.2;
}
.hero-subtitle[data-v-1c7d3fce] {
  font-size: 20px;
  color: #a6a6a6;
  line-height: 1.5;
  margin-bottom: 0;
}

/* Filters Section */
.filters-section[data-v-1c7d3fce] {
  padding: 40px 0;
  background: #0a0a0a;
  border-bottom: 1px solid #333;
}
.filters-row[data-v-1c7d3fce] {
  display: flex;
  gap: 20px;
  align-items: center;
  flex-wrap: wrap;
}
.search-box[data-v-1c7d3fce] {
  position: relative;
  flex: 1;
  min-width: 300px;
}
.search-box svg[data-v-1c7d3fce] {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #666;
  z-index: 1;
}
.search-input[data-v-1c7d3fce] {
  width: 100%;
  padding: 12px 16px 12px 48px;
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 8px;
  color: white;
  font-size: 14px;
  transition: all 0.3s ease;
}
.search-input[data-v-1c7d3fce]:focus {
  outline: none;
  border-color: #10b981;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}
.filter-group[data-v-1c7d3fce] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.filter-select[data-v-1c7d3fce] {
  padding: 12px 16px;
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 8px;
  color: white;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.3s ease;
  appearance: none;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 12px center;
  background-repeat: no-repeat;
  background-size: 16px;
  padding-right: 40px;
}
.filter-select[data-v-1c7d3fce]:hover {
  border-color: #10b981;
}
.filter-select[data-v-1c7d3fce]:focus {
  outline: none;
  border-color: #10b981;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}

/* Projects Section */
.projects-section[data-v-1c7d3fce] {
  padding: 60px 0;
}
.projects-header[data-v-1c7d3fce] {
  margin-bottom: 40px;
}
.section-title[data-v-1c7d3fce] {
  font-size: 28px;
  font-weight: 600;
  color: white;
  letter-spacing: -0.01em;
  line-height: 1.3;
}
.projects-grid[data-v-1c7d3fce] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 24px;
}



/* Адаптивность */
@media (max-width: 768px) {
.hero-title[data-v-1c7d3fce] {
    font-size: 36px;
}
.hero-subtitle[data-v-1c7d3fce] {
    font-size: 18px;
}
.filters-row[data-v-1c7d3fce] {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
}
.search-box[data-v-1c7d3fce] {
    max-width: none;
}
.filter-group[data-v-1c7d3fce] {
    justify-content: space-between;
}
.projects-grid[data-v-1c7d3fce] {
    grid-template-columns: 1fr;
    gap: 20px;
}
.section-title[data-v-1c7d3fce] {
    font-size: 24px;
}
}
@media (max-width: 480px) {
.container[data-v-1c7d3fce] {
    padding: 0 16px;
}
.hero-section[data-v-1c7d3fce] {
    padding: 60px 0;
}
.hero-title[data-v-1c7d3fce] {
    font-size: 28px;
}
.hero-subtitle[data-v-1c7d3fce] {
    font-size: 16px;
}
.filters-section[data-v-1c7d3fce] {
    padding: 30px 0;
}
.projects-section[data-v-1c7d3fce] {
    padding: 40px 0;
}
}

/* Основные стили */
.go-roadmap-page[data-v-5fcfac1c] {
  min-height: 100vh;
  background: #0a0a0a;
  color: white;
}
.container[data-v-5fcfac1c] {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* Hero секция */
.hero-section[data-v-5fcfac1c] {
  background: linear-gradient(135deg, #000000 0%, #0a0a0a 100%);
  padding: 80px 0;
  border-bottom: 1px solid rgba(16, 185, 129, 0.1);
}
.roadmap-header[data-v-5fcfac1c] {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 32px;
}
.roadmap-icon[data-v-5fcfac1c] {
  font-size: 64px;
  flex-shrink: 0;
}
.roadmap-info[data-v-5fcfac1c] {
  flex: 1;
}
.hero-title[data-v-5fcfac1c] {
  font-size: 48px;
  font-weight: 700;
  margin-bottom: 16px;
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.hero-subtitle[data-v-5fcfac1c] {
  font-size: 20px;
  color: #a6a6a6;
  line-height: 1.6;
}
.roadmap-stats[data-v-5fcfac1c] {
  display: flex;
  gap: 48px;
  margin-bottom: 32px;
  flex-wrap: wrap;
}
.stat[data-v-5fcfac1c] {
  text-align: center;
}
.stat-number[data-v-5fcfac1c] {
  display: block;
  font-size: 24px;
  font-weight: 600;
  color: #10b981;
}
.stat-label[data-v-5fcfac1c] {
  font-size: 14px;
  color: #a6a6a6;
}
.community-section[data-v-5fcfac1c] {
  background: rgba(16, 185, 129, 0.1);
  border: 1px solid rgba(16, 185, 129, 0.2);
  border-radius: 12px;
  padding: 24px;
}
.community-section h3[data-v-5fcfac1c] {
  color: #10b981;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 12px;
}
.community-section p[data-v-5fcfac1c] {
  color: #a6a6a6;
  margin-bottom: 16px;
}
.community-link[data-v-5fcfac1c] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: white;
  text-decoration: none;
  padding: 12px 20px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
}
.community-link[data-v-5fcfac1c]:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(16, 185, 129, 0.4);
}

/* Прогресс */
.progress-section[data-v-5fcfac1c] {
  padding: 40px 0;
  background: #111111;
  border-bottom: 1px solid #333;
}
.progress-header[data-v-5fcfac1c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.progress-header h2[data-v-5fcfac1c] {
  font-size: 24px;
  font-weight: 600;
  color: white;
}
.progress-percentage[data-v-5fcfac1c] {
  color: #10b981;
  font-weight: 600;
}
.progress-bar[data-v-5fcfac1c] {
  height: 8px;
  background: #333;
  border-radius: 4px;
  overflow: hidden;
}
.progress-fill[data-v-5fcfac1c] {
  height: 100%;
  background: linear-gradient(90deg, #10b981 0%, #059669 100%);
  transition: width 0.3s ease;
}

/* Темы */
.topics-section[data-v-5fcfac1c] {
  padding: 60px 0;
}
.topics-section h2[data-v-5fcfac1c] {
  font-size: 32px;
  font-weight: 600;
  margin-bottom: 40px;
  color: white;
}
.topics-timeline[data-v-5fcfac1c] {
  position: relative;
  padding-left: 40px;
}
.topics-timeline[data-v-5fcfac1c]::before {
  content: '';
  position: absolute;
  left: 20px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: #333;
}
.topic-item[data-v-5fcfac1c] {
  position: relative;
  margin-bottom: 48px;
  padding-left: 40px;
}
.topic-item.completed .topic-marker .marker-dot[data-v-5fcfac1c] {
  background: #10b981;
  border-color: #10b981;
  color: white;
}
.topic-marker[data-v-5fcfac1c] {
  position: absolute;
  left: -20px;
  top: 8px;
}
.marker-dot[data-v-5fcfac1c] {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #333;
  border: 3px solid #1a1a1a;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  transition: all 0.3s ease;
}
.topic-content[data-v-5fcfac1c] {
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 12px;
  padding: 24px;
}
.topic-header[data-v-5fcfac1c] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 16px;
}
.topic-title[data-v-5fcfac1c] {
  font-size: 24px;
  font-weight: 600;
  color: white;
}
.topic-meta[data-v-5fcfac1c] {
  display: flex;
  align-items: center;
  gap: 16px;
}
.topic-duration[data-v-5fcfac1c] {
  color: #10b981;
  font-size: 14px;
  background: rgba(16, 185, 129, 0.1);
  padding: 6px 12px;
  border-radius: 6px;
}
.toggle-btn[data-v-5fcfac1c] {
  background: transparent;
  border: 1px solid #10b981;
  color: #10b981;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.toggle-btn[data-v-5fcfac1c]:hover {
  background: #10b981;
  color: white;
}
.topic-description[data-v-5fcfac1c] {
  color: #a6a6a6;
  line-height: 1.6;
  margin-bottom: 20px;
}
.topic-details[data-v-5fcfac1c] {
  border-top: 1px solid #333;
  padding-top: 20px;
}
.resources-section[data-v-5fcfac1c],
.tasks-section[data-v-5fcfac1c] {
  margin-bottom: 24px;
}
.resources-section h4[data-v-5fcfac1c],
.tasks-section h4[data-v-5fcfac1c] {
  font-size: 18px;
  font-weight: 600;
  color: white;
  margin-bottom: 16px;
}
.resources-grid[data-v-5fcfac1c] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 12px;
}
.resource-card[data-v-5fcfac1c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #0a0a0a;
  border: 1px solid #333;
  border-radius: 8px;
  padding: 12px 16px;
  text-decoration: none;
  color: #a6a6a6;
  transition: all 0.3s ease;
}
.resource-card[data-v-5fcfac1c]:hover {
  border-color: #10b981;
  color: white;
}
.resource-title[data-v-5fcfac1c] {
  flex: 1;
}
.resource-link-icon[data-v-5fcfac1c] {
  color: #10b981;
}
.tasks-list[data-v-5fcfac1c] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.task-card[data-v-5fcfac1c] {
  background: #0a0a0a;
  border: 1px solid #333;
  border-radius: 8px;
  padding: 20px;
}
.task-header[data-v-5fcfac1c] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
}
.task-title[data-v-5fcfac1c] {
  font-size: 18px;
  font-weight: 600;
  color: white;
}
.task-meta[data-v-5fcfac1c] {
  display: flex;
  gap: 12px;
  align-items: center;
}
.task-difficulty[data-v-5fcfac1c] {
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}
.task-difficulty.easy[data-v-5fcfac1c] {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
  border: 1px solid rgba(34, 197, 94, 0.3);
}
.task-difficulty.medium[data-v-5fcfac1c] {
  background: rgba(251, 191, 36, 0.2);
  color: #fbbf24;
  border: 1px solid rgba(251, 191, 36, 0.3);
}
.task-difficulty.hard[data-v-5fcfac1c] {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
  border: 1px solid rgba(239, 68, 68, 0.3);
}
.task-time[data-v-5fcfac1c] {
  color: #a6a6a6;
  font-size: 12px;
}
.task-description[data-v-5fcfac1c] {
  color: #a6a6a6;
  line-height: 1.5;
  margin-bottom: 16px;
}
.task-requirements h6[data-v-5fcfac1c] {
  color: white;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 8px;
}
.task-requirements ul[data-v-5fcfac1c] {
  list-style: none;
  padding: 0;
  margin: 0;
}
.task-requirements li[data-v-5fcfac1c] {
  color: #a6a6a6;
  font-size: 14px;
  padding: 4px 0;
  padding-left: 16px;
  position: relative;
}
.task-requirements li[data-v-5fcfac1c]::before {
  content: '•';
  color: #10b981;
  position: absolute;
  left: 0;
}

/* Адаптивность */
@media (max-width: 768px) {
.hero-title[data-v-5fcfac1c] {
    font-size: 32px;
}
.hero-subtitle[data-v-5fcfac1c] {
    font-size: 16px;
}
.roadmap-header[data-v-5fcfac1c] {
    flex-direction: column;
    text-align: center;
}
.roadmap-stats[data-v-5fcfac1c] {
    justify-content: center;
}
.progress-header[data-v-5fcfac1c] {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
.topics-timeline[data-v-5fcfac1c] {
    padding-left: 20px;
}
.topic-item[data-v-5fcfac1c] {
    padding-left: 20px;
}
.topic-marker[data-v-5fcfac1c] {
    left: -10px;
}
.marker-dot[data-v-5fcfac1c] {
    width: 32px;
    height: 32px;
    font-size: 14px;
}
.topic-header[data-v-5fcfac1c] {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.resources-grid[data-v-5fcfac1c] {
    grid-template-columns: 1fr;
}
}

.wiki-article[data-v-3d320eab] {
  max-width: 1000px;
  margin: 0 auto;
  padding: 40px 20px;
  background: #0a0a0a;
  color: white;
}
.article-header[data-v-3d320eab] {
  margin-bottom: 40px;
  padding-bottom: 20px;
  border-bottom: 1px solid #333;
}
.article-meta[data-v-3d320eab] {
  display: flex;
  gap: 16px;
  align-items: center;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.difficulty-badge[data-v-3d320eab] {
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}
.difficulty-badge.beginner[data-v-3d320eab] {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
  border: 1px solid rgba(34, 197, 94, 0.3);
}
.difficulty-badge.intermediate[data-v-3d320eab] {
  background: rgba(251, 191, 36, 0.2);
  color: #fbbf24;
  border: 1px solid rgba(251, 191, 36, 0.3);
}
.difficulty-badge.advanced[data-v-3d320eab] {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
  border: 1px solid rgba(239, 68, 68, 0.3);
}
.category-badge[data-v-3d320eab] {
  background: rgba(16, 185, 129, 0.1);
  color: #10b981;
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 12px;
  border: 1px solid rgba(16, 185, 129, 0.2);
}
.read-time[data-v-3d320eab] {
  color: #a6a6a6;
  font-size: 12px;
}
.last-updated[data-v-3d320eab] {
  color: #666;
  font-size: 12px;
}
.article-title[data-v-3d320eab] {
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 16px;
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.article-description[data-v-3d320eab] {
  font-size: 18px;
  color: #a6a6a6;
  line-height: 1.6;
  margin-bottom: 20px;
}
.article-tags[data-v-3d320eab] {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.tag[data-v-3d320eab] {
  background: rgba(16, 185, 129, 0.1);
  color: #10b981;
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 12px;
  border: 1px solid rgba(16, 185, 129, 0.2);
}
.article-content[data-v-3d320eab] {
  margin-bottom: 40px;
}
.content-body[data-v-3d320eab] {
  line-height: 1.8;
  font-size: 16px;
}
.content-body[data-v-3d320eab] h1 {
  font-size: 28px;
  font-weight: 600;
  margin: 32px 0 16px 0;
  color: white;
}
.content-body[data-v-3d320eab] h2 {
  font-size: 24px;
  font-weight: 600;
  margin: 28px 0 12px 0;
  color: white;
}
.content-body[data-v-3d320eab] h3 {
  font-size: 20px;
  font-weight: 600;
  margin: 24px 0 10px 0;
  color: white;
}
.content-body[data-v-3d320eab] h4 {
  font-size: 18px;
  font-weight: 600;
  margin: 20px 0 8px 0;
  color: white;
}
.content-body[data-v-3d320eab] p {
  margin-bottom: 16px;
  color: #e5e5e5;
}
.content-body[data-v-3d320eab] ul {
  margin: 16px 0;
  padding-left: 24px;
}
.content-body[data-v-3d320eab] li {
  margin-bottom: 8px;
  color: #e5e5e5;
}
.content-body[data-v-3d320eab] code {
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 4px;
  padding: 2px 6px;
  font-family: 'Monaco', 'Menlo', monospace;
  font-size: 14px;
}
.content-body[data-v-3d320eab] .code-block {
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 8px;
  padding: 20px;
  margin: 20px 0;
  overflow-x: auto;
}
.content-body[data-v-3d320eab] .code-block code {
  background: none;
  border: none;
  padding: 0;
  color: #e5e5e5;
  font-size: 14px;
  line-height: 1.5;
}
.videos-section[data-v-3d320eab],
.resources-section[data-v-3d320eab] {
  margin-bottom: 40px;
  padding: 24px;
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 12px;
}
.videos-section h2[data-v-3d320eab],
.resources-section h2[data-v-3d320eab] {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 20px;
  color: white;
}
.videos-grid[data-v-3d320eab] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
}
.video-card[data-v-3d320eab] {
  background: #0a0a0a;
  border: 1px solid #333;
  border-radius: 8px;
  padding: 20px;
}
.video-header[data-v-3d320eab] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
}
.video-title[data-v-3d320eab] {
  font-size: 16px;
  font-weight: 600;
  color: white;
  flex: 1;
}
.video-duration[data-v-3d320eab] {
  color: #10b981;
  font-size: 12px;
  background: rgba(16, 185, 129, 0.1);
  padding: 4px 8px;
  border-radius: 6px;
  margin-left: 12px;
}
.video-description[data-v-3d320eab] {
  color: #a6a6a6;
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 16px;
}
.video-link[data-v-3d320eab] {
  color: #10b981;
  text-decoration: none;
  font-weight: 600;
  transition: color 0.3s ease;
}
.video-link[data-v-3d320eab]:hover {
  color: #059669;
  text-decoration: underline;
}
.resources-list[data-v-3d320eab] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.resource-item[data-v-3d320eab] {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
  background: #0a0a0a;
  border: 1px solid #333;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.3s ease;
}
.resource-item[data-v-3d320eab]:hover {
  border-color: #10b981;
  transform: translateY(-1px);
}
.resource-icon[data-v-3d320eab] {
  font-size: 24px;
  flex-shrink: 0;
}
.resource-content[data-v-3d320eab] {
  flex: 1;
}
.resource-title[data-v-3d320eab] {
  font-size: 16px;
  font-weight: 600;
  color: white;
  margin-bottom: 4px;
}
.resource-type[data-v-3d320eab] {
  color: #a6a6a6;
  font-size: 12px;
}

/* Адаптивность */
@media (max-width: 768px) {
.wiki-article[data-v-3d320eab] {
    padding: 20px 16px;
}
.article-title[data-v-3d320eab] {
    font-size: 28px;
}
.article-meta[data-v-3d320eab] {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
.videos-grid[data-v-3d320eab] {
    grid-template-columns: 1fr;
}
.video-header[data-v-3d320eab] {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
.video-duration[data-v-3d320eab] {
    margin-left: 0;
}
}

/* Основные стили */
.wiki-page[data-v-0f0e797b] {
  min-height: 100vh;
  background: #0a0a0a;
  color: white;
}
.container[data-v-0f0e797b] {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* Hero Section */
.hero-section[data-v-0f0e797b] {
  position: relative;
  padding: 80px 0 60px;
  background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 100%);
  overflow: hidden;
}
.hero-section[data-v-0f0e797b]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: 
    repeating-linear-gradient(
      90deg,
      transparent,
      transparent 98px,
      rgba(16, 185, 129, 0.1) 100px
    ),
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 98px,
      rgba(16, 185, 129, 0.1) 100px
    );
  mask: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.2) 30%, rgba(0,0,0,0.9) 100%);
  -webkit-mask: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.2) 30%, rgba(0,0,0,0.9) 100%);
}
.hero-content[data-v-0f0e797b] {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.hero-title[data-v-0f0e797b] {
  font-size: 48px;
  font-weight: 700;
  margin-bottom: 16px;
  background: linear-gradient(135deg, #ffffff 0%, #10b981 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.2;
}
.hero-subtitle[data-v-0f0e797b] {
  font-size: 20px;
  color: #a6a6a6;
  line-height: 1.5;
  margin-bottom: 0;
}

/* Filters Section */
.filters-section[data-v-0f0e797b] {
  padding: 40px 0;
  background: #0a0a0a;
  border-bottom: 1px solid #333;
}
.filters-row[data-v-0f0e797b] {
  display: flex;
  gap: 20px;
  align-items: center;
  flex-wrap: wrap;
}
.search-box[data-v-0f0e797b] {
  position: relative;
  flex: 1;
  min-width: 300px;
}
.search-box svg[data-v-0f0e797b] {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #666;
  z-index: 1;
}
.search-input[data-v-0f0e797b] {
  width: 100%;
  background: #1a1a1a;
  border: 1px solid #333;
  color: white;
  padding: 12px 16px 12px 48px;
  border-radius: 8px;
  font-size: 14px;
  transition: all 0.3s ease;
}
.search-input[data-v-0f0e797b]:focus {
  outline: none;
  border-color: #10b981;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}
.search-input[data-v-0f0e797b]::placeholder {
  color: #666;
}
.filter-group[data-v-0f0e797b] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.filter-select[data-v-0f0e797b] {
  padding: 12px 16px;
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 8px;
  color: white;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.3s ease;
  appearance: none;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 12px center;
  background-repeat: no-repeat;
  background-size: 16px;
  padding-right: 40px;
}
.filter-select[data-v-0f0e797b]:hover {
  border-color: #10b981;
}
.filter-select[data-v-0f0e797b]:focus {
  outline: none;
  border-color: #10b981;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}

/* Статистика */
.stats-section[data-v-0f0e797b] {
  padding: 40px 0;
  background: #0a0a0a;
}
.stats-grid[data-v-0f0e797b] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 24px;
}
.stat-card[data-v-0f0e797b] {
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 12px;
  padding: 24px;
  display: flex;
  align-items: center;
  gap: 16px;
  transition: all 0.3s ease;
}
.stat-card[data-v-0f0e797b]:hover {
  border-color: #10b981;
  transform: translateY(-2px);
}
.stat-icon[data-v-0f0e797b] {
  font-size: 32px;
  flex-shrink: 0;
}
.stat-content[data-v-0f0e797b] {
  flex: 1;
}
.stat-number[data-v-0f0e797b] {
  font-size: 24px;
  font-weight: 600;
  color: #10b981;
  margin-bottom: 4px;
}
.stat-label[data-v-0f0e797b] {
  font-size: 14px;
  color: #a6a6a6;
}

/* Статьи */
.articles-section[data-v-0f0e797b] {
  padding: 60px 0;
}
.articles-header[data-v-0f0e797b] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 32px;
}
.articles-header h2[data-v-0f0e797b] {
  font-size: 32px;
  font-weight: 600;
  color: white;
}
.sort-select[data-v-0f0e797b] {
  background: #1a1a1a;
  border: 1px solid #333;
  color: white;
  padding: 10px 16px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a6a6a6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
  padding-right: 40px;
  min-width: 140px;
}
.sort-select[data-v-0f0e797b]:hover {
  border-color: #10b981;
  background-color: #222;
}
.sort-select[data-v-0f0e797b]:focus {
  outline: none;
  border-color: #10b981;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}
.sort-select option[data-v-0f0e797b] {
  background: #1a1a1a;
  color: white;
  padding: 8px;
}
.articles-grid[data-v-0f0e797b] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
  gap: 24px;
}
.article-card[data-v-0f0e797b] {
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 12px;
  padding: 24px;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}
.article-card[data-v-0f0e797b]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #10b981 0%, #059669 100%);
  transform: scaleX(0);
  transition: transform 0.3s ease;
}
.article-card[data-v-0f0e797b]:hover {
  transform: translateY(-4px);
  border-color: #10b981;
  box-shadow: 0 8px 32px rgba(16, 185, 129, 0.1);
}
.article-card[data-v-0f0e797b]:hover::before {
  transform: scaleX(1);
}
.article-header[data-v-0f0e797b] {
  margin-bottom: 20px;
}
.article-meta[data-v-0f0e797b] {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.difficulty-badge[data-v-0f0e797b] {
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}
.difficulty-badge.beginner[data-v-0f0e797b] {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
  border: 1px solid rgba(34, 197, 94, 0.3);
}
.difficulty-badge.intermediate[data-v-0f0e797b] {
  background: rgba(251, 191, 36, 0.2);
  color: #fbbf24;
  border: 1px solid rgba(251, 191, 36, 0.3);
}
.difficulty-badge.advanced[data-v-0f0e797b] {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
  border: 1px solid rgba(239, 68, 68, 0.3);
}
.category-badge[data-v-0f0e797b] {
  background: rgba(16, 185, 129, 0.1);
  color: #10b981;
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 12px;
  border: 1px solid rgba(16, 185, 129, 0.2);
}
.read-time[data-v-0f0e797b] {
  color: #a6a6a6;
  font-size: 12px;
}
.article-title[data-v-0f0e797b] {
  font-size: 20px;
  font-weight: 600;
  color: white;
  margin-bottom: 8px;
  line-height: 1.4;
}
.article-description[data-v-0f0e797b] {
  color: #a6a6a6;
  font-size: 14px;
  line-height: 1.5;
}
.article-footer[data-v-0f0e797b] {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px;
}
.article-tags[data-v-0f0e797b] {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  flex: 1;
}
.tag[data-v-0f0e797b] {
  background: rgba(16, 185, 129, 0.1);
  color: #10b981;
  padding: 2px 8px;
  border-radius: 8px;
  font-size: 11px;
  border: 1px solid rgba(16, 185, 129, 0.2);
}
.more-tags[data-v-0f0e797b] {
  color: #666;
  font-size: 11px;
}
.article-stats[data-v-0f0e797b] {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-shrink: 0;
}
.stat[data-v-0f0e797b] {
  color: #a6a6a6;
  font-size: 12px;
}
.last-updated[data-v-0f0e797b] {
  color: #666;
  font-size: 11px;
}

/* Модальное окно */
.modal-overlay[data-v-0f0e797b] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 20px;
}
.modal-content[data-v-0f0e797b] {
  background: #0a0a0a;
  border: 1px solid #333;
  border-radius: 12px;
  max-width: 1200px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
}
.modal-header[data-v-0f0e797b] {
  position: sticky;
  top: 0;
  background: #0a0a0a;
  border-bottom: 1px solid #333;
  padding: 16px 24px;
  display: flex;
  justify-content: flex-end;
  z-index: 10;
}
.close-btn[data-v-0f0e797b] {
  background: none;
  border: none;
  color: #a6a6a6;
  font-size: 24px;
  cursor: pointer;
  padding: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  transition: all 0.3s ease;
}
.close-btn[data-v-0f0e797b]:hover {
  background: #333;
  color: white;
}
.modal-body[data-v-0f0e797b] {
  padding: 0;
}

/* Адаптивность */
@media (max-width: 768px) {
.hero-title[data-v-0f0e797b] {
    font-size: 32px;
}
.hero-subtitle[data-v-0f0e797b] {
    font-size: 16px;
}
.filters-row[data-v-0f0e797b] {
    flex-direction: column;
    align-items: stretch;
}
.search-box[data-v-0f0e797b] {
    min-width: auto;
}
.stats-grid[data-v-0f0e797b] {
    grid-template-columns: repeat(2, 1fr);
}
.articles-header[data-v-0f0e797b] {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}
.articles-grid[data-v-0f0e797b] {
    grid-template-columns: 1fr;
}
.article-footer[data-v-0f0e797b] {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.modal-content[data-v-0f0e797b] {
    margin: 10px;
    max-height: calc(100vh - 20px);
}
}

/* Основные стили */
.pet-projects-page[data-v-bd1715a7] {
  min-height: 100vh;
  background: #0a0a0a;
  color: white;
}
.container[data-v-bd1715a7] {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* Hero Section */
.hero-section[data-v-bd1715a7] {
  position: relative;
  padding: 80px 0 60px;
  background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 100%);
  overflow: hidden;
}
.hero-section[data-v-bd1715a7]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: 
    repeating-linear-gradient(
      90deg,
      transparent,
      transparent 98px,
      rgba(16, 185, 129, 0.1) 100px
    ),
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 98px,
      rgba(16, 185, 129, 0.1) 100px
    );
  mask: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.2) 30%, rgba(0,0,0,0.9) 100%);
  -webkit-mask: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.2) 30%, rgba(0,0,0,0.9) 100%);
}
.hero-content[data-v-bd1715a7] {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.hero-title[data-v-bd1715a7] {
  font-size: 48px;
  font-weight: 700;
  margin-bottom: 16px;
  background: linear-gradient(135deg, #ffffff 0%, #10b981 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.2;
}
.hero-subtitle[data-v-bd1715a7] {
  font-size: 20px;
  color: #a6a6a6;
  line-height: 1.5;
  margin-bottom: 0;
}

/* Фильтры */
.filters-section[data-v-bd1715a7] {
  padding: 40px 0;
  background: #0a0a0a;
  border-bottom: 1px solid #333;
}
.filters-row[data-v-bd1715a7] {
  display: flex;
  gap: 20px;
  align-items: center;
  flex-wrap: wrap;
}
.search-box[data-v-bd1715a7] {
  position: relative;
  flex: 1;
  min-width: 300px;
}
.search-box svg[data-v-bd1715a7] {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #666;
  z-index: 1;
}
.search-input[data-v-bd1715a7] {
  width: 100%;
  padding: 12px 16px 12px 48px;
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 8px;
  color: white;
  font-size: 14px;
  transition: all 0.3s ease;
}
.search-input[data-v-bd1715a7]:focus {
  outline: none;
  border-color: #10b981;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}
.search-input[data-v-bd1715a7]::placeholder {
  color: #666;
}
.filter-group[data-v-bd1715a7] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.filter-select[data-v-bd1715a7] {
  padding: 12px 16px;
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 8px;
  color: white;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.3s ease;
  appearance: none;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 12px center;
  background-repeat: no-repeat;
  background-size: 16px;
  padding-right: 40px;
}
.filter-select[data-v-bd1715a7]:hover {
  border-color: #10b981;
}
.filter-select[data-v-bd1715a7]:focus {
  outline: none;
  border-color: #10b981;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}

/* Проекты */
.projects-section[data-v-bd1715a7] {
  padding: 60px 0;
}
.projects-header[data-v-bd1715a7] {
  margin-bottom: 40px;
}
.section-title[data-v-bd1715a7] {
  font-size: 28px;
  font-weight: 600;
  color: white;
  letter-spacing: -0.01em;
  line-height: 1.3;
}
.projects-grid[data-v-bd1715a7] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 24px;
}
.no-results[data-v-bd1715a7] {
  text-align: center;
  padding: 80px 20px;
}
.no-results-icon[data-v-bd1715a7] {
  font-size: 48px;
  margin-bottom: 16px;
}
.no-results h3[data-v-bd1715a7] {
  font-size: 22px;
  font-weight: 600;
  color: white;
  margin-bottom: 8px;
  letter-spacing: -0.01em;
}
.no-results p[data-v-bd1715a7] {
  color: #a6a6a6;
  font-size: 16px;
  line-height: 1.5;
}

/* Адаптивность */
@media (max-width: 768px) {
.hero-title[data-v-bd1715a7] {
    font-size: 36px;
}
.hero-subtitle[data-v-bd1715a7] {
    font-size: 18px;
}
.filters-row[data-v-bd1715a7] {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
}
.search-box[data-v-bd1715a7] {
    max-width: none;
}
.filter-group[data-v-bd1715a7] {
    justify-content: space-between;
}
.projects-grid[data-v-bd1715a7] {
    grid-template-columns: 1fr;
    gap: 20px;
}
.section-title[data-v-bd1715a7] {
    font-size: 24px;
}
}
@media (max-width: 480px) {
.container[data-v-bd1715a7] {
    padding: 0 16px;
}
.hero-section[data-v-bd1715a7] {
    padding: 60px 0;
}
.hero-title[data-v-bd1715a7] {
    font-size: 28px;
}
.hero-subtitle[data-v-bd1715a7] {
    font-size: 16px;
}
.filters-section[data-v-bd1715a7] {
    padding: 30px 0;
}
.projects-section[data-v-bd1715a7] {
    padding: 40px 0;
}
}


.review-page[data-v-348bd089] {
  min-height: 100vh;
  background: #0a0a0a;
}
.hero-section[data-v-348bd089] {
  background: linear-gradient(135deg, #1a1a1a 0%, #0f0f0f 100%);
  padding: 80px 0 60px;
  position: relative;
  overflow: hidden;
}
.hero-section[data-v-348bd089]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: 
    repeating-linear-gradient(
      90deg,
      transparent,
      transparent 98px,
      rgba(16, 185, 129, 0.1) 100px
    ),
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 98px,
      rgba(16, 185, 129, 0.1) 100px
    );
  mask: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.2) 30%, rgba(0,0,0,0.9) 100%);
  -webkit-mask: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.2) 30%, rgba(0,0,0,0.9) 100%);
}
.container[data-v-348bd089] {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  z-index: 1;
}
.hero-content[data-v-348bd089] {
  text-align: center;
  max-width: 600px;
  margin: 0 auto;
}
.hero-title[data-v-348bd089] {
  font-size: 48px;
  font-weight: 700;
  margin-bottom: 16px;
  background: linear-gradient(135deg, #ffffff 0%, #10b981 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.2;
}
.hero-subtitle[data-v-348bd089] {
  font-size: 18px;
  color: #a6a6a6;
  line-height: 1.6;
  margin-bottom: 40px;
}
.hero-stats[data-v-348bd089] {
  display: flex;
  justify-content: center;
  gap: 48px;
  margin-top: 40px;
}
.hero-stat[data-v-348bd089] {
  text-align: center;
}
.hero-stat-number[data-v-348bd089] {
  font-size: 32px;
  font-weight: 700;
  color: white;
  margin-bottom: 8px;
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.hero-stat-label[data-v-348bd089] {
  font-size: 14px;
  color: #a6a6a6;
  font-weight: 500;
}
.control-panel[data-v-348bd089] {
  padding: 24px 0;
  background: #111;
  border-bottom: 1px solid #333;
}
.panel-content[data-v-348bd089] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
}
.panel-actions[data-v-348bd089] {
  display: flex;
  gap: 12px;
}
.panel-filters[data-v-348bd089] {
  display: flex;
  gap: 16px;
  align-items: end;
}
.btn-primary[data-v-348bd089], .btn-secondary[data-v-348bd089] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  border: none;
  font-size: 14px;
}
.btn-primary[data-v-348bd089] {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: white;
}
.btn-primary[data-v-348bd089]:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(16, 185, 129, 0.3);
}
.btn-secondary[data-v-348bd089] {
  background: none;
  border: 1px solid #333;
  color: #a6a6a6;
}
.btn-secondary[data-v-348bd089]:hover {
  color: white;
  border-color: #10b981;
  background: rgba(16, 185, 129, 0.1);
}
.btn-icon[data-v-348bd089] {
  font-size: 16px;
}
.filter-group[data-v-348bd089] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.filter-label[data-v-348bd089] {
  font-size: 12px;
  color: #a6a6a6;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.filter-select[data-v-348bd089] {
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 8px;
  padding: 8px 12px;
  color: white;
  font-size: 14px;
  min-width: 140px;
  transition: border-color 0.3s ease;
}
.filter-select[data-v-348bd089]:focus {
  outline: none;
  border-color: #10b981;
}
.feed-section[data-v-348bd089] {
  padding: 40px 0;
  background: #0a0a0a;
}
.loading-state[data-v-348bd089], .error-state[data-v-348bd089], .no-results-state[data-v-348bd089] {
  text-align: center;
  padding: 60px 20px;
}
.loading-spinner[data-v-348bd089] {
  width: 40px;
  height: 40px;
  border: 3px solid #333;
  border-top: 3px solid #10b981;
  border-radius: 50%;
  animation: spin-348bd089 1s linear infinite;
  margin: 0 auto 16px;
}
@keyframes spin-348bd089 {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
.error-icon[data-v-348bd089], .no-results-icon[data-v-348bd089] {
  font-size: 48px;
  margin-bottom: 16px;
}
.error-state h3[data-v-348bd089], .no-results-state h3[data-v-348bd089] {
  color: white;
  font-size: 24px;
  margin-bottom: 8px;
}
.error-state p[data-v-348bd089], .no-results-state p[data-v-348bd089] {
  color: #a6a6a6;
  margin-bottom: 24px;
}
.error-state .btn-primary[data-v-348bd089], .no-results-state .btn-primary[data-v-348bd089] {
  margin-top: 16px;
  display: inline-flex;
  justify-content: center;
}
.reviews-feed[data-v-348bd089] {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.review-card[data-v-348bd089] {
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 12px;
  padding: 24px;
  transition: all 0.3s ease;
}
.review-card[data-v-348bd089]:hover {
  border-color: #10b981;
  transform: translateY(-2px);
}
.review-header[data-v-348bd089] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 16px;
}
.review-author[data-v-348bd089] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.author-avatar[data-v-348bd089] {
  font-size: 32px;
}
.author-name[data-v-348bd089] {
  color: white;
  font-weight: 600;
  margin-bottom: 4px;
}
.review-time[data-v-348bd089] {
  color: #a6a6a6;
  font-size: 12px;
}
.review-status[data-v-348bd089] {
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
}
.review-status.pending[data-v-348bd089] {
  background: rgba(255, 193, 7, 0.2);
  color: #ffc107;
}
.review-status.in_progress[data-v-348bd089] {
  background: rgba(13, 110, 253, 0.2);
  color: #0d6efd;
}
.review-status.completed[data-v-348bd089] {
  background: rgba(25, 135, 84, 0.2);
  color: #198754;
}
.review-content[data-v-348bd089] {
  margin-bottom: 20px;
}
.review-title[data-v-348bd089] {
  color: white;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 8px;
}
.review-description[data-v-348bd089] {
  color: #a6a6a6;
  line-height: 1.6;
  margin-bottom: 16px;
}
.review-meta[data-v-348bd089] {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.meta-item[data-v-348bd089] {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #a6a6a6;
  font-size: 14px;
}
.meta-icon[data-v-348bd089] {
  font-size: 16px;
}
.review-actions[data-v-348bd089] {
  display: flex;
  gap: 12px;
}
.btn-sm[data-v-348bd089] {
  padding: 8px 16px;
  font-size: 12px;
}
.btn-outline[data-v-348bd089] {
  background: none;
  border: 1px solid #333;
  color: #a6a6a6;
}
.btn-outline[data-v-348bd089]:hover {
  color: white;
  border-color: #10b981;
}

/* Модальные окна */
.modal-overlay[data-v-348bd089] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 20px;
}
.modal[data-v-348bd089] {
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 12px;
  width: 100%;
  max-width: 600px;
  max-height: 90vh;
  overflow-y: auto;
}
.modal-header[data-v-348bd089] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid #333;
}
.modal-title[data-v-348bd089] {
  color: white;
  font-size: 20px;
  font-weight: 600;
  margin: 0;
}
.modal-close[data-v-348bd089] {
  background: none;
  border: none;
  color: #a6a6a6;
  font-size: 24px;
  cursor: pointer;
  padding: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: all 0.3s ease;
}
.modal-close[data-v-348bd089]:hover {
  color: white;
  background: #333;
}
.modal-body[data-v-348bd089] {
  padding: 24px;
}
.form-group[data-v-348bd089] {
  margin-bottom: 20px;
}
.form-label[data-v-348bd089] {
  display: block;
  color: white;
  font-weight: 500;
  margin-bottom: 8px;
}
.form-input[data-v-348bd089], .form-textarea[data-v-348bd089], .form-select[data-v-348bd089] {
  width: 100%;
  background: #0a0a0a;
  border: 1px solid #333;
  border-radius: 8px;
  padding: 12px;
  color: white;
  font-size: 14px;
  transition: border-color 0.3s ease;
}
.form-input[data-v-348bd089]:focus, .form-textarea[data-v-348bd089]:focus, .form-select[data-v-348bd089]:focus {
  outline: none;
  border-color: #10b981;
}
.form-textarea[data-v-348bd089] {
  resize: vertical;
  min-height: 100px;
}
.form-row[data-v-348bd089] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.modal-actions[data-v-348bd089] {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 24px;
}
@media (max-width: 768px) {
.hero-title[data-v-348bd089] {
    font-size: 32px;
}
.hero-stats[data-v-348bd089] {
    flex-direction: column;
    gap: 24px;
    margin-top: 32px;
}
.hero-stat-number[data-v-348bd089] {
    font-size: 28px;
}
.panel-content[data-v-348bd089] {
    flex-direction: column;
    gap: 20px;
    align-items: stretch;
}
.panel-actions[data-v-348bd089] {
    justify-content: center;
}
.panel-filters[data-v-348bd089] {
    justify-content: center;
    flex-wrap: wrap;
}
.form-row[data-v-348bd089] {
    grid-template-columns: 1fr;
}
.modal-actions[data-v-348bd089] {
    flex-direction: column;
}
}

.calendar-page[data-v-6a1e7191] {
  min-height: 100vh;
  background: var(--bg-primary);
  color: var(--text-primary);
  padding: 40px 0;
}
.container[data-v-6a1e7191] {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* Заголовок страницы */
.page-header[data-v-6a1e7191] {
  text-align: center;
  margin-bottom: 60px;
}
.page-title[data-v-6a1e7191] {
  font-size: 48px;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 16px;
}
.page-subtitle[data-v-6a1e7191] {
  font-size: 18px;
  color: var(--text-secondary);
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.6;
}

/* Фильтры */
.filters-section[data-v-6a1e7191] {
  padding: 40px 0;
  background: var(--bg-secondary);
}
.filters-row[data-v-6a1e7191] {
  display: flex;
  gap: 20px;
  align-items: center;
  flex-wrap: wrap;
}
.filter-group[data-v-6a1e7191] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.filter-select[data-v-6a1e7191] {
  padding: 12px 16px;
  background: var(--bg-tertiary);
  border: 1px solid var(--border-primary);
  border-radius: 8px;
  color: var(--text-primary);
  font-size: 14px;
  cursor: pointer;
  transition: all 0.3s ease;
  appearance: none;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 12px center;
  background-repeat: no-repeat;
  background-size: 16px;
  padding-right: 40px;
  min-width: 200px;
}
.filter-select[data-v-6a1e7191]:hover {
  border-color: var(--accent-primary);
}
.filter-select[data-v-6a1e7191]:focus {
  outline: none;
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}
.filter-actions[data-v-6a1e7191] {
  display: flex;
  align-items: end;
  margin-left: auto;
  gap: 16px;
}
.clear-btn[data-v-6a1e7191] {
  background: var(--bg-tertiary);
  border: 1px solid var(--border-primary);
  border-radius: 8px;
  padding: 12px 20px;
  color: #ef4444;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
}
.clear-btn[data-v-6a1e7191]:hover {
  background: var(--bg-secondary);
  border-color: #ef4444;
}
.download-btn[data-v-6a1e7191] {
  background: var(--accent-primary);
  border: 1px solid var(--accent-primary);
  border-radius: 8px;
  padding: 12px 20px;
  color: #ffffff;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 8px;
}
.download-btn[data-v-6a1e7191]:hover:not(:disabled) {
  background: var(--accent-secondary);
  border-color: var(--accent-secondary);
  transform: translateY(-1px);
}
.download-btn[data-v-6a1e7191]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}
.btn-icon[data-v-6a1e7191] {
  font-size: 16px;
}

/* Состояния загрузки и ошибок */
.loading-container[data-v-6a1e7191],
.error-container[data-v-6a1e7191] {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 400px;
  margin-bottom: 60px;
}

/* Календарь */
.calendar-container[data-v-6a1e7191] {
  background: var(--bg-card);
  border: 1px solid var(--border-primary);
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 60px;
  backdrop-filter: blur(10px);
  position: relative;
  overflow: hidden;
  box-shadow: var(--shadow-lg);
}
.calendar-header[data-v-6a1e7191] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
}
.calendar-title[data-v-6a1e7191] {
  font-size: 24px;
  font-weight: 600;
  color: var(--text-primary);
}
.nav-button[data-v-6a1e7191] {
  background: var(--bg-tertiary);
  border: 1px solid var(--border-primary);
  border-radius: 8px;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-secondary);
  font-size: 20px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.nav-button[data-v-6a1e7191]:hover {
  background: var(--bg-secondary);
  border-color: var(--border-secondary);
  transform: scale(1.05);
}
.calendar-grid[data-v-6a1e7191] {
  display: grid;
  grid-template-rows: auto 1fr;
}
.calendar-weekdays[data-v-6a1e7191] {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 1px;
  margin-bottom: 8px;
}
.weekday[data-v-6a1e7191] {
  padding: 12px;
  text-align: center;
  font-weight: 600;
  color: var(--text-secondary);
  font-size: 14px;
}
.calendar-days[data-v-6a1e7191] {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 1px;
}
.calendar-day[data-v-6a1e7191] {
  min-height: 100px;
  padding: 8px;
  border: 1px solid var(--border-primary);
  background: var(--bg-tertiary);
  transition: all 0.3s ease;
  position: relative;
  cursor: pointer;
}
.calendar-day[data-v-6a1e7191]:hover {
  background: var(--bg-secondary);
  border-color: var(--border-secondary);
}
.calendar-day.other-month[data-v-6a1e7191] {
  opacity: 0.3;
}
.calendar-day.today[data-v-6a1e7191] {
  background: rgba(16, 185, 129, 0.1);
  border-color: var(--accent-primary);
}
.calendar-day.has-events[data-v-6a1e7191] {
  border-color: var(--border-secondary);
}
.day-number[data-v-6a1e7191] {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 4px;
}
.day-events[data-v-6a1e7191] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-top: 4px;
  position: relative;
}
.event-bar[data-v-6a1e7191] {
  width: 100%;
  height: 18px;
  border-radius: 3px;
  display: flex;
  align-items: center;
  padding: 0 6px;
  font-size: 10px;
  font-weight: 500;
  color: white;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  overflow: hidden;
  white-space: nowrap;
}
.event-bar[data-v-6a1e7191]:hover {
  transform: scale(1.02);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  cursor: pointer;
}
.event-bar.compact[data-v-6a1e7191] {
  height: 14px;
  font-size: 9px;
  padding: 0 4px;
}
.event-title-text[data-v-6a1e7191] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
}
.event-bar.internship[data-v-6a1e7191] {
  background: var(--gradient-internship);
}
.event-bar.school[data-v-6a1e7191] {
  background: var(--gradient-school);
}
.event-bar.competition[data-v-6a1e7191] {
  background: var(--gradient-competition);
}
.event-bar.meetup[data-v-6a1e7191] {
  background: var(--gradient-meetup);
}
.event-bar.conference[data-v-6a1e7191] {
  background: var(--gradient-conference);
}
.more-events[data-v-6a1e7191] {
  font-size: 9px;
  color: #a6a6a6;
  text-align: center;
  padding: 2px 4px;
  background: rgba(166, 166, 166, 0.1);
  border-radius: 3px;
  margin-top: 2px;
}

/* События */
.events-section[data-v-6a1e7191] {
  margin-top: 40px;
}
.section-title[data-v-6a1e7191] {
  font-size: 32px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 32px;
  text-align: center;
}
.events-group[data-v-6a1e7191] {
  margin-bottom: 48px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.events-group[data-v-6a1e7191]:last-child {
  margin-bottom: 0;
}
.events-group > .event-card[data-v-6a1e7191] {
  margin-bottom: 0;
}
.group-title[data-v-6a1e7191] {
  font-size: 28px;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--border-primary);
}
.group-icon[data-v-6a1e7191] {
  font-size: 28px;
  line-height: 1;
}
.ongoing-title[data-v-6a1e7191] {
  color: var(--text-primary);
  border-bottom-color: rgba(255, 255, 255, 0.3);
}
.upcoming-title[data-v-6a1e7191] {
  color: var(--text-primary);
  border-bottom-color: rgba(255, 255, 255, 0.3);
}
.ended-title[data-v-6a1e7191] {
  color: var(--text-primary);
  border-bottom-color: rgba(255, 255, 255, 0.3);
}
.no-events[data-v-6a1e7191] {
  text-align: center;
  padding: 60px 20px;
  color: #a6a6a6;
}
.no-events-icon[data-v-6a1e7191] {
  font-size: 48px;
  margin-bottom: 16px;
}
.events-list[data-v-6a1e7191] {
  display: flex;
  flex-direction: column;
  gap: 48px;
}
.event-card[data-v-6a1e7191] {
  display: flex;
  background: var(--bg-card);
  border: 1px solid var(--border-primary);
  border-radius: 12px;
  padding: 24px;
  margin-bottom: 0;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
  box-shadow: var(--shadow-sm);
}
.event-card[data-v-6a1e7191]:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
  border-color: var(--border-secondary);
  cursor: pointer;
}
.event-card.internship[data-v-6a1e7191] {
  border-left: 4px solid var(--event-internship);
}
.event-card.school[data-v-6a1e7191] {
  border-left: 4px solid var(--event-school);
}
.event-card.competition[data-v-6a1e7191] {
  border-left: 4px solid var(--event-competition);
}
.event-card.meetup[data-v-6a1e7191] {
  border-left: 4px solid var(--event-meetup);
}
.event-card.conference[data-v-6a1e7191] {
  border-left: 4px solid var(--event-conference);
}
.event-date[data-v-6a1e7191] {
  min-width: 80px;
  text-align: center;
  margin-right: 24px;
  padding: 16px;
  background: var(--bg-tertiary);
  border-radius: 8px;
  border: 1px solid var(--border-primary);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.event-start-date[data-v-6a1e7191] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}
.event-day[data-v-6a1e7191] {
  font-size: 24px;
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1;
}
.event-month[data-v-6a1e7191] {
  font-size: 14px;
  color: var(--text-secondary);
  margin-top: 4px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.event-date-separator[data-v-6a1e7191] {
  color: var(--text-tertiary);
  font-size: 18px;
  line-height: 1;
  margin: 4px 0;
  font-weight: 300;
}
.event-end-date[data-v-6a1e7191] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}
.event-end-date .event-day[data-v-6a1e7191] {
  font-size: 24px;
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1;
}
.event-end-date .event-month[data-v-6a1e7191] {
  font-size: 14px;
  color: var(--text-secondary);
  margin-top: 4px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.event-content[data-v-6a1e7191] {
  flex: 1;
}
.event-header[data-v-6a1e7191] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  flex-wrap: wrap;
  gap: 12px;
}
.event-title-section[data-v-6a1e7191] {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
}
.event-icon[data-v-6a1e7191] {
  font-size: 24px;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg-tertiary);
  border-radius: 8px;
  border: 1px solid var(--border-primary);
}
.event-title[data-v-6a1e7191] {
  font-size: 20px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
  flex: 1;
}
.event-type-badge[data-v-6a1e7191] {
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.event-type-badge.internship[data-v-6a1e7191] {
  background: var(--bg-event-internship);
  color: var(--event-internship);
}
.event-type-badge.school[data-v-6a1e7191] {
  background: var(--bg-event-school);
  color: var(--event-school);
}
.event-type-badge.competition[data-v-6a1e7191] {
  background: var(--bg-event-competition);
  color: var(--event-competition);
}
.event-type-badge.meetup[data-v-6a1e7191] {
  background: var(--bg-event-meetup);
  color: var(--event-meetup);
}
.event-type-badge.conference[data-v-6a1e7191] {
  background: var(--bg-event-conference);
  color: var(--event-conference);
}
.event-description[data-v-6a1e7191] {
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 16px;
}
.event-details[data-v-6a1e7191] {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 16px;
}
.event-detail[data-v-6a1e7191] {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text-secondary);
  font-size: 14px;
}
.detail-icon[data-v-6a1e7191] {
  font-size: 16px;
}
.registration-link[data-v-6a1e7191] {
  color: #10b981;
  text-decoration: none;
  transition: color 0.3s ease;
}
.registration-link[data-v-6a1e7191]:hover {
  color: #059669;
  text-decoration: underline;
}
.event-status[data-v-6a1e7191] {
  display: flex;
  justify-content: flex-end;
}
.status-badge[data-v-6a1e7191] {
  padding: 6px 16px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.status-badge.upcoming[data-v-6a1e7191] {
  background: rgba(59, 130, 246, 0.2);
  color: #3b82f6;
}
.status-badge.ongoing[data-v-6a1e7191] {
  background: rgba(16, 185, 129, 0.2);
  color: #10b981;
}
.status-badge.ended[data-v-6a1e7191] {
  background: rgba(107, 114, 128, 0.2);
  color: #6b7280;
}

/* Модальное окно события */
.event-modal-overlay[data-v-6a1e7191] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 20px;
}
.event-modal[data-v-6a1e7191] {
  background: var(--bg-modal);
  border: 1px solid var(--border-primary);
  border-radius: 12px;
  max-width: 600px;
  width: 100%;
  max-height: 80vh;
  overflow-y: auto;
  position: relative;
  box-shadow: var(--shadow-xl);
}
.modal-header[data-v-6a1e7191] {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 24px;
  border-bottom: 1px solid var(--border-primary);
  position: relative;
}
.event-icon-large[data-v-6a1e7191] {
  font-size: 32px;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg-tertiary);
  border-radius: 8px;
  border: 1px solid var(--border-primary);
}
.event-title-large[data-v-6a1e7191] {
  font-size: 24px;
  font-weight: 600;
  color: var(--text-primary);
  flex: 1;
  line-height: 1.3;
}
.close-btn[data-v-6a1e7191] {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: none;
  color: var(--text-secondary);
  font-size: 24px;
  cursor: pointer;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: all 0.3s ease;
}
.close-btn[data-v-6a1e7191]:hover {
  background: var(--bg-tertiary);
  color: var(--text-primary);
}
.modal-content[data-v-6a1e7191] {
  padding: 24px;
}
.event-type-badge-large[data-v-6a1e7191] {
  display: inline-block;
  padding: 6px 16px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 16px;
}
.event-type-badge-large.internship[data-v-6a1e7191] {
  background: var(--bg-event-internship);
  color: var(--event-internship);
}
.event-type-badge-large.school[data-v-6a1e7191] {
  background: var(--bg-event-school);
  color: var(--event-school);
}
.event-type-badge-large.competition[data-v-6a1e7191] {
  background: var(--bg-event-competition);
  color: var(--event-competition);
}
.event-type-badge-large.meetup[data-v-6a1e7191] {
  background: var(--bg-event-meetup);
  color: var(--event-meetup);
}
.event-type-badge-large.conference[data-v-6a1e7191] {
  background: var(--bg-event-conference);
  color: var(--event-conference);
}
.event-description-large[data-v-6a1e7191] {
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 24px;
  font-size: 16px;
}
.event-details-large[data-v-6a1e7191] {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 24px;
}
.detail-item[data-v-6a1e7191] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.detail-icon[data-v-6a1e7191] {
  font-size: 18px;
  margin-top: 2px;
}
.detail-content[data-v-6a1e7191] {
  flex: 1;
}
.detail-label[data-v-6a1e7191] {
  font-size: 12px;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 4px;
}
.detail-value[data-v-6a1e7191] {
  color: var(--text-primary);
  font-size: 14px;
}
.status-badge-large[data-v-6a1e7191] {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.status-badge-large.upcoming[data-v-6a1e7191] {
  background: var(--bg-status-upcoming);
  color: var(--status-upcoming);
}
.status-badge-large.ongoing[data-v-6a1e7191] {
  background: var(--bg-status-ongoing);
  color: var(--status-ongoing);
}
.status-badge-large.ended[data-v-6a1e7191] {
  background: var(--bg-status-ended);
  color: var(--status-ended);
}
.modal-actions[data-v-6a1e7191] {
  display: flex;
  justify-content: center;
  padding-top: 16px;
  border-top: 1px solid var(--border-primary);
}
.registration-btn[data-v-6a1e7191] {
  background: var(--accent-primary);
  color: var(--text-inverse);
  text-decoration: none;
  padding: 12px 24px;
  border-radius: 8px;
  font-weight: 600;
  transition: all 0.3s ease;
  display: inline-block;
}
.registration-btn[data-v-6a1e7191]:hover {
  background: var(--accent-secondary);
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}

/* Адаптивность */
@media (max-width: 768px) {
.page-title[data-v-6a1e7191] {
    font-size: 36px;
}
.page-subtitle[data-v-6a1e7191] {
    font-size: 16px;
}
.filters-row[data-v-6a1e7191] {
    flex-direction: column;
    gap: 16px;
    align-items: stretch;
}
.filter-group[data-v-6a1e7191] {
    min-width: auto;
}
.filter-select[data-v-6a1e7191] {
    width: 100%;
    min-width: auto;
}
.filter-actions[data-v-6a1e7191] {
    margin-left: 0;
    align-self: flex-start;
}
.calendar-day[data-v-6a1e7191] {
    min-height: 80px;
    padding: 4px;
}
.day-number[data-v-6a1e7191] {
    font-size: 12px;
}
.event-bar[data-v-6a1e7191] {
    height: 16px;
    font-size: 9px;
    padding: 0 4px;
}
.event-bar.compact[data-v-6a1e7191] {
    height: 12px;
    font-size: 8px;
}
.event-card[data-v-6a1e7191] {
    flex-direction: column;
    padding: 18px;
    border-radius: 16px;
    gap: 18px;
}
.event-date[data-v-6a1e7191] {
    margin-right: 0;
    margin-bottom: 0;
    align-self: stretch;
    flex-direction: row;
    min-width: auto;
    width: 100%;
    padding: 14px 16px;
    gap: 10px;
    justify-content: center;
    align-items: center;
    background: linear-gradient(135deg, var(--bg-tertiary) 0%, rgba(16, 185, 129, 0.08) 100%);
    border: 1px solid rgba(16, 185, 129, 0.2);
    border-radius: 12px;
}
.event-start-date[data-v-6a1e7191] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
}
.event-day[data-v-6a1e7191] {
    font-size: 20px;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1.2;
}
.event-month[data-v-6a1e7191] {
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-secondary);
    margin-top: 3px;
}
.event-date-separator[data-v-6a1e7191] {
    margin: 0 10px;
    align-self: center;
    font-size: 16px;
    color: var(--text-tertiary);
    font-weight: 300;
    line-height: 1;
}
.event-end-date[data-v-6a1e7191] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
}
.event-end-date .event-day[data-v-6a1e7191] {
    font-size: 20px;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1.2;
}
.event-end-date .event-month[data-v-6a1e7191] {
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-secondary);
    margin-top: 3px;
}
.group-title[data-v-6a1e7191] {
    font-size: 24px;
    margin-bottom: 10px;
    padding-bottom: 10px;
}
.group-icon[data-v-6a1e7191] {
    font-size: 24px;
}
.events-group[data-v-6a1e7191] {
    margin-bottom: 40px;
    gap: 18px;
}
.events-list[data-v-6a1e7191] {
    gap: 44px;
}
.event-header[data-v-6a1e7191] {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}
.event-title-section[data-v-6a1e7191] {
    width: 100%;
    gap: 12px;
    align-items: flex-start;
    flex-wrap: wrap;
}
.event-icon[data-v-6a1e7191] {
    width: 48px;
    height: 48px;
    font-size: 24px;
    flex-shrink: 0;
    border-radius: 12px;
}
.event-title[data-v-6a1e7191] {
    font-size: 20px;
    line-height: 1.4;
    flex: 1;
    min-width: 0;
    word-wrap: break-word;
}
.event-type-badge[data-v-6a1e7191] {
    align-self: flex-start;
    font-size: 11px;
    padding: 6px 14px;
    margin-top: 2px;
    font-weight: 600;
}
.event-details[data-v-6a1e7191] {
    flex-direction: column;
    gap: 12px;
    margin-bottom: 14px;
    padding: 14px;
    background: var(--bg-tertiary);
    border-radius: 12px;
    border: 1px solid var(--border-primary);
}
.event-detail[data-v-6a1e7191] {
    font-size: 14px;
    gap: 10px;
    align-items: flex-start;
    line-height: 1.5;
}
.detail-icon[data-v-6a1e7191] {
    font-size: 18px;
    flex-shrink: 0;
    margin-top: 1px;
    width: 20px;
    text-align: center;
}
.event-status[data-v-6a1e7191] {
    justify-content: flex-start;
    margin-top: 8px;
}
.status-badge[data-v-6a1e7191] {
    font-size: 11px;
    padding: 6px 16px;
    font-weight: 600;
}
.event-description[data-v-6a1e7191] {
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 14px;
    color: var(--text-secondary);
}
}
@media (max-width: 480px) {
.container[data-v-6a1e7191] {
    padding: 0 16px;
}
.page-title[data-v-6a1e7191] {
    font-size: 28px;
}
.page-subtitle[data-v-6a1e7191] {
    font-size: 14px;
}
.calendar-container[data-v-6a1e7191] {
    padding: 16px;
}
.event-card[data-v-6a1e7191] {
    padding: 16px;
    gap: 16px;
}
.event-title[data-v-6a1e7191] {
    font-size: 18px;
    line-height: 1.3;
}
.event-icon[data-v-6a1e7191] {
    width: 32px;
    height: 32px;
    font-size: 20px;
    flex-shrink: 0;
}
.event-date[data-v-6a1e7191] {
    flex-direction: row;
    padding: 12px;
    gap: 10px;
    width: 100%;
    justify-content: center;
    margin-bottom: 12px;
}
.event-day[data-v-6a1e7191] {
    font-size: 18px;
}
.event-month[data-v-6a1e7191] {
    font-size: 11px;
}
.event-date-separator[data-v-6a1e7191] {
    margin: 0 6px;
    font-size: 14px;
}
.event-end-date .event-day[data-v-6a1e7191] {
    font-size: 18px;
}
.event-end-date .event-month[data-v-6a1e7191] {
    font-size: 11px;
}
.group-title[data-v-6a1e7191] {
    font-size: 22px;
    margin-bottom: 8px;
    padding-bottom: 8px;
}
.group-icon[data-v-6a1e7191] {
    font-size: 22px;
}
.events-group[data-v-6a1e7191] {
    margin-bottom: 36px;
    gap: 16px;
}
.events-list[data-v-6a1e7191] {
    gap: 24px;
}
.event-card[data-v-6a1e7191] {
    padding: 16px;
    gap: 16px;
    border-radius: 14px;
}
.event-date[data-v-6a1e7191] {
    flex-direction: row;
    padding: 12px 14px;
    gap: 8px;
    justify-content: center;
    align-items: center;
}
.event-start-date[data-v-6a1e7191] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
}
.event-day[data-v-6a1e7191] {
    font-size: 20px;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1;
}
.event-month[data-v-6a1e7191] {
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-secondary);
    margin-top: 4px;
}
.event-date-separator[data-v-6a1e7191] {
    margin: 0 8px;
    align-self: center;
    font-size: 14px;
    color: var(--text-tertiary);
    font-weight: 300;
    line-height: 1;
}
.event-end-date[data-v-6a1e7191] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
}
.event-end-date .event-day[data-v-6a1e7191] {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1.2;
}
.event-end-date .event-month[data-v-6a1e7191] {
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-secondary);
    margin-top: 3px;
}
.event-header[data-v-6a1e7191] {
    gap: 10px;
    margin-bottom: 10px;
}
.event-title-section[data-v-6a1e7191] {
    gap: 10px;
    width: 100%;
}
.event-icon[data-v-6a1e7191] {
    width: 44px;
    height: 44px;
    font-size: 22px;
    flex-shrink: 0;
}
.event-title[data-v-6a1e7191] {
    font-size: 18px;
    line-height: 1.4;
    flex: 1;
    word-wrap: break-word;
}
.event-type-badge[data-v-6a1e7191] {
    font-size: 10px;
    padding: 5px 12px;
    font-weight: 600;
}
.event-description[data-v-6a1e7191] {
    font-size: 14px;
    margin-bottom: 12px;
    line-height: 1.6;
}
.event-details[data-v-6a1e7191] {
    padding: 12px;
    gap: 10px;
    margin-bottom: 12px;
    border-radius: 10px;
}
.event-detail[data-v-6a1e7191] {
    font-size: 13px;
    gap: 8px;
    line-height: 1.5;
}
.detail-icon[data-v-6a1e7191] {
    font-size: 16px;
    width: 18px;
    text-align: center;
    flex-shrink: 0;
}
.status-badge[data-v-6a1e7191] {
    font-size: 10px;
    padding: 5px 14px;
    font-weight: 600;
}
.filters-section[data-v-6a1e7191] {
    padding: 20px 0;
}
.event-bar[data-v-6a1e7191] {
    height: 14px;
    font-size: 8px;
    padding: 0 3px;
}
.event-bar.compact[data-v-6a1e7191] {
    height: 10px;
    font-size: 7px;
}
}

/* Адаптивность модального окна */
@media (max-width: 768px) {
.event-modal[data-v-6a1e7191] {
    margin: 20px;
    max-height: 90vh;
}
.modal-header[data-v-6a1e7191] {
    padding: 20px;
}
.event-title-large[data-v-6a1e7191] {
    font-size: 20px;
}
.modal-content[data-v-6a1e7191] {
    padding: 20px;
}
.event-icon-large[data-v-6a1e7191] {
    width: 40px;
    height: 40px;
    font-size: 24px;
}
}

.profile-page[data-v-91e0dc81] {
  min-height: 100vh;
  background: var(--bg-primary);
  color: var(--text-primary);
}
.container[data-v-91e0dc81] {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* Hero Section */
.hero-section[data-v-91e0dc81] {
  background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);
  padding: 80px 0;
  border-bottom: 1px solid var(--border-accent);
  position: relative;
}
.hero-section[data-v-91e0dc81]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: 
    linear-gradient(var(--accent-primary-10) 1px, transparent 1px),
    linear-gradient(90deg, var(--accent-primary-10) 1px, transparent 1px);
  background-size: 50px 50px;
  pointer-events: none;
}
.profile-header[data-v-91e0dc81] {
  display: flex;
  align-items: center;
  gap: 40px;
  position: relative;
  z-index: 1;
}
.profile-avatar-large[data-v-91e0dc81] {
  position: relative;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: var(--gradient-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 4px solid var(--accent-primary-30);
  flex-shrink: 0;
}
.avatar-image[data-v-91e0dc81] {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}
.avatar-placeholder[data-v-91e0dc81] {
  font-size: 48px;
  font-weight: bold;
  color: var(--text-inverse);
}
.avatar-edit-btn[data-v-91e0dc81] {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--accent-primary);
  border: 2px solid var(--bg-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
}
.avatar-edit-btn[data-v-91e0dc81]:hover {
  transform: scale(1.1);
}
.edit-icon[data-v-91e0dc81] {
  font-size: 16px;
}
.profile-info[data-v-91e0dc81] {
  flex: 1;
}
.profile-name[data-v-91e0dc81] {
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 8px;
  color: var(--text-primary);
  text-shadow: var(--text-shadow);
}
.profile-title[data-v-91e0dc81] {
  font-size: 18px;
  color: var(--accent-primary);
  margin-bottom: 8px;
}
.profile-location[data-v-91e0dc81] {
  font-size: 16px;
  color: var(--text-secondary);
  margin-bottom: 24px;
}
.profile-stats[data-v-91e0dc81] {
  display: flex;
  gap: 32px;
}
.stat-item[data-v-91e0dc81] {
  text-align: center;
}
.stat-number[data-v-91e0dc81] {
  display: block;
  font-size: 24px;
  font-weight: 700;
  color: var(--accent-primary);
}
.stat-label[data-v-91e0dc81] {
  font-size: 14px;
  color: var(--text-secondary);
}
.profile-actions[data-v-91e0dc81] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Main Content */
.main-content[data-v-91e0dc81] {
  padding: 60px 0;
}
.content-grid[data-v-91e0dc81] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
.profile-section[data-v-91e0dc81] {
  background: var(--bg-card);
  border: 1px solid var(--border-primary);
  border-radius: 12px;
  padding: 24px;
  margin-bottom: 24px;
  box-shadow: var(--shadow-sm);
}
.section-title[data-v-91e0dc81] {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 20px;
  color: var(--text-primary);
  text-shadow: var(--text-shadow);
}
.profile-description[data-v-91e0dc81] {
  color: var(--text-secondary);
  line-height: 1.6;
}

/* Skills */
.skills-grid[data-v-91e0dc81] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.skill-item[data-v-91e0dc81] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.skill-info[data-v-91e0dc81] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.skill-name[data-v-91e0dc81] {
  font-weight: 500;
  color: var(--text-primary);
}
.skill-level[data-v-91e0dc81] {
  font-size: 14px;
  color: var(--accent-primary);
}
.skill-progress[data-v-91e0dc81] {
  width: 100%;
}
.progress-bar[data-v-91e0dc81] {
  width: 100%;
  height: 6px;
  background: var(--accent-primary-20);
  border-radius: 3px;
  overflow: hidden;
}
.progress-fill[data-v-91e0dc81] {
  height: 100%;
  background: var(--gradient-primary);
  transition: width 0.3s ease;
}

/* Social Links */
.social-links[data-v-91e0dc81] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.social-link[data-v-91e0dc81] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  background: var(--accent-primary-10);
  border-radius: 8px;
  text-decoration: none;
  color: var(--text-primary);
  transition: all 0.3s ease;
}
.social-link[data-v-91e0dc81]:hover {
  background: var(--accent-primary-20);
  transform: translateX(4px);
}
.social-icon[data-v-91e0dc81] {
  font-size: 20px;
}
.social-name[data-v-91e0dc81] {
  font-weight: 500;
}

/* Projects */
.projects-grid[data-v-91e0dc81] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.project-card[data-v-91e0dc81] {
  background: var(--accent-primary-5);
  border: 1px solid var(--accent-primary-20);
  border-radius: 8px;
  padding: 16px;
}
.project-header[data-v-91e0dc81] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.project-name[data-v-91e0dc81] {
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
}
.project-status[data-v-91e0dc81] {
  font-size: 12px;
  padding: 4px 8px;
  border-radius: 4px;
  font-weight: 500;
}
.project-status.Завершен[data-v-91e0dc81] {
  background: var(--accent-primary-20);
  color: var(--accent-primary);
}
.project-status.В\ разработке[data-v-91e0dc81] {
  background: var(--warning-20);
  color: var(--warning);
}
.project-status.Планируется[data-v-91e0dc81] {
  background: var(--text-muted-20);
  color: var(--text-muted);
}
.project-description[data-v-91e0dc81] {
  color: var(--text-secondary);
  font-size: 14px;
  margin-bottom: 12px;
}
.project-tech[data-v-91e0dc81] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 12px;
}
.tech-tag[data-v-91e0dc81] {
  background: var(--accent-primary-20);
  color: var(--accent-primary);
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 12px;
}
.project-links[data-v-91e0dc81] {
  display: flex;
  gap: 12px;
}
.project-link[data-v-91e0dc81] {
  display: flex;
  align-items: center;
  gap: 4px;
  color: var(--accent-primary);
  text-decoration: none;
  font-size: 14px;
  transition: color 0.3s ease;
}
.project-link[data-v-91e0dc81]:hover {
  color: var(--accent-secondary);
}

/* Activity */
.activity-list[data-v-91e0dc81] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.activity-item[data-v-91e0dc81] {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.activity-icon[data-v-91e0dc81] {
  font-size: 20px;
  flex-shrink: 0;
}
.activity-content[data-v-91e0dc81] {
  flex: 1;
}
.activity-text[data-v-91e0dc81] {
  color: var(--text-primary);
  margin-bottom: 4px;
}
.activity-time[data-v-91e0dc81] {
  color: var(--text-secondary);
  font-size: 12px;
}

/* Modal Styles */
.modal-overlay[data-v-91e0dc81] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--modal-overlay);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 20px;
}
.modal[data-v-91e0dc81] {
  background: var(--bg-modal);
  border: 1px solid var(--border-primary);
  border-radius: 12px;
  max-width: 500px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: var(--shadow-xl);
}
.modal.large[data-v-91e0dc81] {
  max-width: 800px;
}
.modal-header[data-v-91e0dc81] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  border-bottom: 1px solid var(--border-primary);
}
.modal-header h3[data-v-91e0dc81] {
  color: var(--text-primary);
  margin: 0;
}
.modal-close[data-v-91e0dc81] {
  background: none;
  border: none;
  color: var(--text-secondary);
  font-size: 24px;
  cursor: pointer;
  padding: 0;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.modal-close[data-v-91e0dc81]:hover {
  color: var(--text-primary);
}
.modal-content[data-v-91e0dc81] {
  padding: 20px;
}

/* Form Styles */
.form-group[data-v-91e0dc81] {
  margin-bottom: 20px;
}
.form-group label[data-v-91e0dc81] {
  display: block;
  margin-bottom: 8px;
  color: var(--text-primary);
  font-weight: 500;
}
.form-group input[data-v-91e0dc81],
.form-group textarea[data-v-91e0dc81],
.form-group select[data-v-91e0dc81] {
  width: 100%;
  padding: 12px;
  background: var(--bg-tertiary);
  border: 1px solid var(--border-primary);
  border-radius: 8px;
  color: var(--text-primary);
  font-size: 14px;
}
.form-group input[data-v-91e0dc81]:focus,
.form-group textarea[data-v-91e0dc81]:focus,
.form-group select[data-v-91e0dc81]:focus {
  outline: none;
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 3px var(--accent-primary-10);
}
.form-group textarea[data-v-91e0dc81] {
  resize: vertical;
  min-height: 100px;
}
.form-actions[data-v-91e0dc81] {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 24px;
}

/* Button Styles */
.btn-primary[data-v-91e0dc81],
.btn-secondary[data-v-91e0dc81] {
  padding: 12px 24px;
  border-radius: 8px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  border: none;
  font-size: 14px;
}
.btn-primary[data-v-91e0dc81] {
  background: var(--gradient-primary);
  color: var(--text-inverse);
}
.btn-primary[data-v-91e0dc81]:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}
.btn-secondary[data-v-91e0dc81] {
  background: var(--accent-primary-10);
  color: var(--accent-primary);
  border: 1px solid var(--accent-primary-30);
}
.btn-secondary[data-v-91e0dc81]:hover {
  background: var(--accent-primary-20);
}
.btn-secondary.router-link-active[data-v-91e0dc81] {
  background: var(--accent-primary-20);
  color: var(--accent-primary);
}
.settings-link[data-v-91e0dc81] {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Edit Mode Styles */
.edit-form[data-v-91e0dc81] {
  margin-top: 16px;
}
.form-label[data-v-91e0dc81] {
  display: block;
  margin-bottom: 8px;
  color: var(--text-primary);
  font-weight: 500;
  font-size: 14px;
}
.description-input[data-v-91e0dc81] {
  width: 100%;
  padding: 12px 16px;
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  border-radius: 8px;
  color: var(--text-primary);
  font-size: 14px;
  resize: vertical;
  min-height: 100px;
  font-family: inherit;
  transition: all 0.2s ease;
}
.description-input[data-v-91e0dc81]:focus {
  outline: none;
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 2px var(--accent-primary-10);
  background: var(--bg-primary);
}

/* Skills Styles */
.skills-container[data-v-91e0dc81] {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 16px;
}
.skills-category[data-v-91e0dc81] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.skills-category-title[data-v-91e0dc81] {
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
}
.skills-tags[data-v-91e0dc81] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.skill-tag[data-v-91e0dc81] {
  padding: 8px 16px;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.3s ease;
  border: 1px solid;
}
.skill-tag.current[data-v-91e0dc81] {
  background: var(--accent-primary-10);
  color: var(--accent-primary);
  border-color: var(--accent-primary-30);
}
.skill-tag.to-learn[data-v-91e0dc81] {
  background: var(--bg-tertiary);
  color: var(--text-secondary);
  border-color: var(--border-primary);
}
.skill-tag[data-v-91e0dc81]:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
}

/* Skills Edit */
.skills-edit[data-v-91e0dc81] {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 16px;
}
.skills-category-edit[data-v-91e0dc81] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.skills-edit-list[data-v-91e0dc81] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.skill-edit-item[data-v-91e0dc81] {
  background: var(--bg-tertiary);
  border: 1px solid var(--border-primary);
  border-radius: 8px;
  padding: 12px;
  display: flex;
  gap: 8px;
  align-items: center;
  position: relative;
  transition: all 0.2s ease;
}
.skill-edit-item[data-v-91e0dc81]:hover {
  border-color: var(--border-secondary);
  background: var(--bg-secondary);
}
.skill-name-input[data-v-91e0dc81] {
  flex: 1;
  padding: 8px 12px;
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  border-radius: 6px;
  color: var(--text-primary);
  font-size: 14px;
  transition: all 0.2s ease;
}
.skill-name-input[data-v-91e0dc81]:focus {
  outline: none;
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 2px var(--accent-primary-10);
  background: var(--bg-primary);
}

/* Social Edit */
.social-edit[data-v-91e0dc81] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 16px;
}
.social-edit-item[data-v-91e0dc81] {
  background: var(--bg-tertiary);
  border: 1px solid var(--border-primary);
  border-radius: 8px;
  padding: 12px;
  display: flex;
  gap: 8px;
  align-items: center;
  position: relative;
  transition: all 0.2s ease;
}
.social-edit-item[data-v-91e0dc81]:hover {
  border-color: var(--border-secondary);
  background: var(--bg-secondary);
}
.social-select[data-v-91e0dc81],
.social-url-input[data-v-91e0dc81] {
  padding: 8px 12px;
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  border-radius: 6px;
  color: var(--text-primary);
  font-size: 14px;
  transition: all 0.2s ease;
}
.social-select[data-v-91e0dc81] {
  appearance: none;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 8px center;
  background-repeat: no-repeat;
  background-size: 14px;
  padding-right: 32px;
  cursor: pointer;
  min-width: 120px;
}
.social-select[data-v-91e0dc81]:hover {
  border-color: var(--accent-primary);
  background: var(--bg-primary);
}
.social-select[data-v-91e0dc81]:focus {
  outline: none;
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 2px var(--accent-primary-10);
}
.social-select option[data-v-91e0dc81] {
  background: var(--bg-modal);
  color: var(--text-primary);
  padding: 8px;
}
.social-url-input[data-v-91e0dc81] {
  flex: 1;
}
.social-url-input[data-v-91e0dc81]:focus {
  outline: none;
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 2px var(--accent-primary-10);
  background: var(--bg-primary);
}

/* Add/Remove Buttons */
.btn-add[data-v-91e0dc81] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background: var(--bg-tertiary);
  border: 1px dashed var(--border-primary);
  border-radius: 8px;
  color: var(--text-secondary);
  cursor: pointer;
  transition: all 0.2s ease;
  font-weight: 500;
  font-size: 14px;
  margin-top: 4px;
}
.btn-add[data-v-91e0dc81]:hover {
  background: var(--bg-secondary);
  border-color: var(--accent-primary);
  color: var(--accent-primary);
  transform: translateY(-1px);
}
.add-icon[data-v-91e0dc81] {
  font-size: 14px;
  font-weight: bold;
}
.btn-remove[data-v-91e0dc81] {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 20px;
  height: 20px;
  background: var(--error);
  border: none;
  border-radius: 50%;
  color: var(--text-inverse);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  font-size: 10px;
  opacity: 0.8;
}
.btn-remove[data-v-91e0dc81]:hover {
  background: var(--error-dark);
  transform: scale(1.1);
  opacity: 1;
}
.remove-icon[data-v-91e0dc81] {
  font-size: 12px;
  font-weight: bold;
}

/* Activity Calendar */
.activity-calendar[data-v-91e0dc81] {
  background: var(--bg-tertiary);
  border: 1px solid var(--border-primary);
  border-radius: 8px;
  padding: 20px;
  margin-top: 16px;
}
.calendar-header[data-v-91e0dc81] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.calendar-title[data-v-91e0dc81] {
  font-weight: 600;
  color: var(--text-primary);
}
.calendar-stats[data-v-91e0dc81] {
  color: var(--text-secondary);
  font-size: 14px;
}
.calendar-grid[data-v-91e0dc81] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.calendar-months[data-v-91e0dc81] {
  position: relative;
  margin-bottom: 8px;
  height: 16px;
}
.month-label[data-v-91e0dc81] {
  font-size: 12px;
  color: var(--text-secondary);
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-weight: 500;
  white-space: nowrap;
}
.calendar-days[data-v-91e0dc81] {
  display: flex;
  gap: 2px;
  flex-wrap: nowrap;
}
.calendar-week[data-v-91e0dc81] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.calendar-day[data-v-91e0dc81] {
  width: 12px;
  height: 12px;
  border-radius: 2px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.calendar-day[data-v-91e0dc81]:hover {
  border: 1px solid var(--accent-primary-50);
  transform: scale(1.1);
}

/* Activity levels */
.level-0[data-v-91e0dc81] {
  background: var(--activity-level-0);
  border: 1px solid var(--activity-level-0);
}
.level-1[data-v-91e0dc81] {
  background: var(--activity-level-1);
  border: 1px solid var(--activity-level-1);
}
.level-2[data-v-91e0dc81] {
  background: var(--activity-level-2);
  border: 1px solid var(--activity-level-2);
}
.level-3[data-v-91e0dc81] {
  background: var(--activity-level-3);
  border: 1px solid var(--activity-level-3);
}
.level-4[data-v-91e0dc81] {
  background: var(--activity-level-4);
  border: 1px solid var(--activity-level-4);
}
.calendar-legend[data-v-91e0dc81] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  justify-content: flex-end;
}
.legend-label[data-v-91e0dc81] {
  font-size: 12px;
  color: var(--text-secondary);
}
.legend-squares[data-v-91e0dc81] {
  display: flex;
  gap: 2px;
}
.legend-square[data-v-91e0dc81] {
  width: 10px;
  height: 10px;
  border-radius: 2px;
  border: 1px solid transparent;
}
.legend-square.level-0[data-v-91e0dc81] {
  background: var(--activity-level-0);
  border-color: var(--activity-level-0);
}
.legend-square.level-1[data-v-91e0dc81] {
  background: var(--activity-level-1);
  border-color: var(--activity-level-1);
}
.legend-square.level-2[data-v-91e0dc81] {
  background: var(--activity-level-2);
  border-color: var(--activity-level-2);
}
.legend-square.level-3[data-v-91e0dc81] {
  background: var(--activity-level-3);
  border-color: var(--activity-level-3);
}
.legend-square.level-4[data-v-91e0dc81] {
  background: var(--activity-level-4);
  border-color: var(--activity-level-4);
}

/* Settings Tabs */
.settings-tabs[data-v-91e0dc81] {
  display: flex;
  gap: 4px;
  margin-bottom: 24px;
  border-bottom: 1px solid var(--border-primary);
}
.tab-btn[data-v-91e0dc81] {
  padding: 12px 20px;
  background: none;
  border: none;
  color: var(--text-secondary);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: all 0.3s ease;
}
.tab-btn.active[data-v-91e0dc81] {
  color: var(--accent-primary);
  border-bottom-color: var(--accent-primary);
}
.tab-btn[data-v-91e0dc81]:hover {
  color: var(--text-primary);
}
.settings-section h4[data-v-91e0dc81] {
  color: var(--text-primary);
  margin-bottom: 20px;
}

/* Skills Manager */
.skills-manager[data-v-91e0dc81] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.skill-manager-item[data-v-91e0dc81] {
  display: grid;
  grid-template-columns: 1fr 120px 1fr 60px 30px;
  gap: 12px;
  align-items: center;
}
.progress-slider[data-v-91e0dc81] {
  width: 100%;
}
.progress-value[data-v-91e0dc81] {
  color: var(--accent-primary);
  font-size: 12px;
  text-align: center;
}
.btn-remove[data-v-91e0dc81] {
  background: var(--error);
  color: var(--text-inverse);
  border: none;
  border-radius: 4px;
  width: 30px;
  height: 30px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn-add[data-v-91e0dc81] {
  background: var(--accent-primary-10);
  color: var(--accent-primary);
  border: 1px dashed var(--accent-primary-30);
  border-radius: 8px;
  padding: 12px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.btn-add[data-v-91e0dc81]:hover {
  background: var(--accent-primary-20);
}

/* Social Manager */
.social-manager[data-v-91e0dc81] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.social-manager-item[data-v-91e0dc81] {
  display: grid;
  grid-template-columns: 120px 1fr 30px;
  gap: 12px;
  align-items: center;
}

/* Privacy Options */
.privacy-options[data-v-91e0dc81] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.checkbox-label[data-v-91e0dc81] {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  color: var(--text-primary);
}
.checkbox-label input[type="checkbox"][data-v-91e0dc81] {
  width: auto;
  margin: 0;
}

/* Responsive */
@media (max-width: 768px) {
.profile-header[data-v-91e0dc81] {
    flex-direction: column;
    text-align: center;
    gap: 24px;
}
.content-grid[data-v-91e0dc81] {
    grid-template-columns: 1fr;
    gap: 24px;
}
.profile-stats[data-v-91e0dc81] {
    justify-content: center;
}
.profile-actions[data-v-91e0dc81] {
    flex-direction: row;
    justify-content: center;
}
.skill-manager-item[data-v-91e0dc81] {
    grid-template-columns: 1fr;
    gap: 8px;
}
.social-manager-item[data-v-91e0dc81] {
    grid-template-columns: 1fr;
    gap: 8px;
}
.calendar-months[data-v-91e0dc81] {
    margin-left: 0;
}
.month-label[data-v-91e0dc81] {
    font-size: 10px;
}
.calendar-day[data-v-91e0dc81] {
    width: 10px;
    height: 10px;
}
.legend-square[data-v-91e0dc81] {
    width: 8px;
    height: 8px;
}
}

/* Skills Search */
.skills-search-container[data-v-91e0dc81] {
  position: relative;
  margin-bottom: 12px;
}
.skills-search-input[data-v-91e0dc81] {
  width: 100%;
  padding: 10px 16px;
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  border-radius: 8px;
  color: var(--text-primary);
  font-size: 14px;
  transition: all 0.2s ease;
}
.skills-search-input[data-v-91e0dc81]:focus {
  outline: none;
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 2px var(--accent-primary-10);
}
.skills-search-input[data-v-91e0dc81]::placeholder {
  color: var(--text-tertiary);
}
.skills-suggestions[data-v-91e0dc81] {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--bg-card);
  border: 1px solid var(--border-primary);
  border-radius: 8px;
  box-shadow: var(--shadow-lg);
  z-index: 1000;
  max-height: 200px;
  overflow-y: auto;
  margin-top: 4px;
}
.suggestion-item[data-v-91e0dc81] {
  padding: 12px 16px;
  cursor: pointer;
  font-size: 14px;
  color: var(--text-primary);
  transition: all 0.2s ease;
  border-bottom: 1px solid var(--border-primary);
}
.suggestion-item[data-v-91e0dc81]:last-child {
  border-bottom: none;
}
.suggestion-item[data-v-91e0dc81]:hover {
  background: var(--bg-secondary);
  color: var(--accent-primary);
}
.suggestion-item.add-new[data-v-91e0dc81] {
  color: var(--accent-primary);
  font-weight: 500;
  background: var(--accent-primary-5);
}
.suggestion-item.add-new[data-v-91e0dc81]:hover {
  background: var(--accent-primary-10);
}

/* Premium Modal */
.modal-overlay[data-v-e9cf9e89] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  backdrop-filter: blur(4px);
}
.modal-content[data-v-e9cf9e89] {
  background: var(--bg-card);
  border: 1px solid var(--border-primary);
  border-radius: 12px;
  max-width: 400px;
  width: 90%;
  box-shadow: var(--shadow-xl);
  animation: modalSlideIn-e9cf9e89 0.3s ease-out;
}
@keyframes modalSlideIn-e9cf9e89 {
from {
    opacity: 0;
    transform: translateY(-20px) scale(0.95);
}
to {
    opacity: 1;
    transform: translateY(0) scale(1);
}
}
.modal-header[data-v-e9cf9e89] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid var(--border-primary);
}
.modal-title[data-v-e9cf9e89] {
  font-size: 18px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
}
.modal-close[data-v-e9cf9e89] {
  background: none;
  border: none;
  font-size: 24px;
  color: var(--text-secondary);
  cursor: pointer;
  padding: 0;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: all 0.2s ease;
}
.modal-close[data-v-e9cf9e89]:hover {
  background: var(--bg-tertiary);
  color: var(--text-primary);
}
.modal-body[data-v-e9cf9e89] {
  padding: 24px;
  text-align: center;
}
.premium-icon[data-v-e9cf9e89] {
  font-size: 48px;
  margin-bottom: 16px;
  animation: bounce-e9cf9e89 2s infinite;
}
@keyframes bounce-e9cf9e89 {
0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
}
40% {
    transform: translateY(-10px);
}
60% {
    transform: translateY(-5px);
}
}
.premium-text[data-v-e9cf9e89] {
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 12px 0;
  line-height: 1.4;
}
.premium-description[data-v-e9cf9e89] {
  font-size: 14px;
  color: var(--text-secondary);
  margin: 0;
  line-height: 1.5;
}
.modal-footer[data-v-e9cf9e89] {
  display: flex;
  gap: 12px;
  padding: 20px 24px;
  border-top: 1px solid var(--border-primary);
  justify-content: flex-end;
}
.modal-footer .btn-secondary[data-v-e9cf9e89],
.modal-footer .btn-primary[data-v-e9cf9e89] {
  padding: 10px 20px;
  font-size: 14px;
}

/* Button styles */
.btn-primary[data-v-e9cf9e89] {
  background: var(--accent-primary);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}
.btn-primary[data-v-e9cf9e89]:hover {
  background: var(--accent-secondary);
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}
.btn-secondary[data-v-e9cf9e89] {
  background: var(--bg-tertiary);
  color: var(--text-secondary);
  border: 1px solid var(--border-primary);
  border-radius: 8px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
}
.btn-secondary[data-v-e9cf9e89]:hover {
  background: var(--bg-secondary);
  color: var(--text-primary);
  border-color: var(--border-secondary);
}

.settings-page[data-v-7dbede05] {
  min-height: 100vh;
  background: var(--bg-primary);
  color: var(--text-primary);
}
.container[data-v-7dbede05] {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* Hero Section */
.hero-section[data-v-7dbede05] {
  background: var(--bg-secondary);
  padding: 80px 0;
  border-bottom: 1px solid var(--border-primary);
  position: relative;
}
.hero-section[data-v-7dbede05]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: 
    linear-gradient(rgba(16, 185, 129, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16, 185, 129, 0.05) 1px, transparent 1px);
  background-size: 50px 50px;
  pointer-events: none;
}
.hero-content[data-v-7dbede05] {
  text-align: center;
  position: relative;
  z-index: 1;
}
.hero-title[data-v-7dbede05] {
  font-size: 48px;
  font-weight: 700;
  margin-bottom: 16px;
  color: var(--text-primary);
}
.hero-subtitle[data-v-7dbede05] {
  font-size: 18px;
  color: var(--text-secondary);
  max-width: 600px;
  margin: 0 auto;
}

/* Main Content */
.main-content[data-v-7dbede05] {
  padding: 60px 0;
}
.settings-layout[data-v-7dbede05] {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 40px;
}

/* Sidebar */
.settings-sidebar[data-v-7dbede05] {
  background: var(--bg-card);
  border: 1px solid var(--border-primary);
  border-radius: 12px;
  padding: 24px 0;
  height: fit-content;
  position: sticky;
  top: 100px;
}
.settings-nav[data-v-7dbede05] {
  display: flex;
  flex-direction: column;
}
.nav-item[data-v-7dbede05] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 24px;
  background: none;
  border: none;
  color: var(--text-secondary);
  cursor: pointer;
  transition: all 0.3s ease;
  text-align: left;
  width: 100%;
}
.nav-item[data-v-7dbede05]:hover {
  background: var(--accent-primary-10);
  color: var(--text-primary);
}
.nav-item.active[data-v-7dbede05] {
  background: var(--accent-primary-20);
  color: var(--accent-primary);
  border-right: 3px solid var(--accent-primary);
}
.nav-icon[data-v-7dbede05] {
  font-size: 20px;
}
.nav-label[data-v-7dbede05] {
  font-weight: 500;
}

/* Content */
.settings-content[data-v-7dbede05] {
  background: var(--bg-card);
  border: 1px solid var(--border-primary);
  border-radius: 12px;
  padding: 40px;
}
.settings-section[data-v-7dbede05] {
  max-width: 800px;
}
.section-header[data-v-7dbede05] {
  margin-bottom: 32px;
}
.section-title[data-v-7dbede05] {
  font-size: 28px;
  font-weight: 600;
  margin-bottom: 8px;
  color: var(--text-primary);
}
.section-description[data-v-7dbede05] {
  color: var(--text-secondary);
  font-size: 16px;
}

/* Forms */
.settings-form[data-v-7dbede05] {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.form-group[data-v-7dbede05] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.form-group label[data-v-7dbede05] {
  color: var(--text-primary);
  font-weight: 500;
  font-size: 14px;
}
.form-group input[data-v-7dbede05],
.form-group textarea[data-v-7dbede05],
.form-group select[data-v-7dbede05] {
  padding: 12px 16px;
  background: var(--bg-tertiary);
  border: 1px solid var(--border-primary);
  border-radius: 8px;
  color: var(--text-primary);
  font-size: 14px;
  transition: all 0.3s ease;
}
.form-group input[data-v-7dbede05]:focus,
.form-group textarea[data-v-7dbede05]:focus,
.form-group select[data-v-7dbede05]:focus {
  outline: none;
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 3px var(--accent-primary-10);
}

/* Custom Select Styling */
.form-group select[data-v-7dbede05] {
  appearance: none;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 12px center;
  background-repeat: no-repeat;
  background-size: 16px;
  padding-right: 40px;
  cursor: pointer;
}
.form-group select[data-v-7dbede05]:hover {
  border-color: var(--accent-primary);
  background-color: var(--accent-primary-5);
}
.form-group select option[data-v-7dbede05] {
  background: var(--bg-modal);
  color: var(--text-primary);
  padding: 8px;
}
.form-group textarea[data-v-7dbede05] {
  resize: vertical;
  min-height: 100px;
}

/* Skills Manager */
.skills-manager[data-v-7dbede05] {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 32px;
}
.skill-item[data-v-7dbede05] {
  background: rgba(16, 185, 129, 0.05);
  border: 1px solid rgba(16, 185, 129, 0.2);
  border-radius: 8px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
}
.skill-inputs[data-v-7dbede05] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.skill-name-input[data-v-7dbede05] {
  padding: 10px 12px;
  background: rgba(0, 0, 0, 0.5);
  border: 1px solid rgba(16, 185, 129, 0.3);
  border-radius: 6px;
  color: white;
  font-size: 14px;
}
.skill-progress[data-v-7dbede05] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.progress-info[data-v-7dbede05] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.progress-label[data-v-7dbede05] {
  color: #a6a6a6;
  font-size: 14px;
}
.progress-value[data-v-7dbede05] {
  color: #10b981;
  font-weight: 500;
  font-size: 14px;
}
.progress-slider[data-v-7dbede05] {
  width: 100%;
  height: 6px;
  background: rgba(16, 185, 129, 0.2);
  border-radius: 3px;
  outline: none;
  -webkit-appearance: none;
}
.progress-slider[data-v-7dbede05]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  background: #10b981;
  border-radius: 50%;
  cursor: pointer;
}
.progress-slider[data-v-7dbede05]::-moz-range-thumb {
  width: 18px;
  height: 18px;
  background: #10b981;
  border-radius: 50%;
  cursor: pointer;
  border: none;
}
.btn-remove[data-v-7dbede05] {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 32px;
  height: 32px;
  background: #dc3545;
  border: none;
  border-radius: 50%;
  color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}
.btn-remove[data-v-7dbede05]:hover {
  background: #c82333;
  transform: scale(1.1);
}
.remove-icon[data-v-7dbede05] {
  font-size: 18px;
  font-weight: bold;
}
.btn-add[data-v-7dbede05] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px;
  background: rgba(16, 185, 129, 0.1);
  border: 2px dashed rgba(16, 185, 129, 0.3);
  border-radius: 8px;
  color: #10b981;
  cursor: pointer;
  transition: all 0.3s ease;
  font-weight: 500;
}
.btn-add[data-v-7dbede05]:hover {
  background: rgba(16, 185, 129, 0.2);
  border-color: rgba(16, 185, 129, 0.5);
}
.add-icon[data-v-7dbede05] {
  font-size: 20px;
  font-weight: bold;
}

/* Social Manager */
.social-manager[data-v-7dbede05] {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 32px;
}
.social-item[data-v-7dbede05] {
  background: rgba(16, 185, 129, 0.05);
  border: 1px solid rgba(16, 185, 129, 0.2);
  border-radius: 8px;
  padding: 16px;
  display: flex;
  gap: 12px;
  align-items: center;
  position: relative;
}
.social-inputs[data-v-7dbede05] {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 12px;
  flex: 1;
}
.social-select[data-v-7dbede05],
.social-url-input[data-v-7dbede05] {
  padding: 10px 12px;
  background: rgba(0, 0, 0, 0.5);
  border: 1px solid rgba(16, 185, 129, 0.3);
  border-radius: 6px;
  color: white;
  font-size: 14px;
}
.social-select[data-v-7dbede05] {
  appearance: none;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2310b981' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 8px center;
  background-repeat: no-repeat;
  background-size: 14px;
  padding-right: 32px;
  cursor: pointer;
}
.social-select[data-v-7dbede05]:hover {
  border-color: #10b981;
  background-color: rgba(16, 185, 129, 0.05);
}
.social-select option[data-v-7dbede05] {
  background: #1a1a1a;
  color: white;
  padding: 8px;
}

/* Privacy Options */
.privacy-options[data-v-7dbede05] {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.privacy-group[data-v-7dbede05] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.privacy-group-title[data-v-7dbede05] {
  font-size: 18px;
  font-weight: 600;
  color: white;
  margin-bottom: 8px;
}
.privacy-items[data-v-7dbede05] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.privacy-item[data-v-7dbede05] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
  padding: 16px;
  background: rgba(16, 185, 129, 0.05);
  border: 1px solid rgba(16, 185, 129, 0.2);
  border-radius: 8px;
  transition: all 0.3s ease;
}
.privacy-item[data-v-7dbede05]:hover {
  background: rgba(16, 185, 129, 0.1);
}
.privacy-item input[type="checkbox"][data-v-7dbede05] {
  display: none;
}
.checkbox-custom[data-v-7dbede05] {
  width: 20px;
  height: 20px;
  border: 2px solid rgba(16, 185, 129, 0.3);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  flex-shrink: 0;
  margin-top: 2px;
}
.privacy-item input[type="checkbox"]:checked + .checkbox-custom[data-v-7dbede05] {
  background: #10b981;
  border-color: #10b981;
}
.privacy-item input[type="checkbox"]:checked + .checkbox-custom[data-v-7dbede05]::after {
  content: '✓';
  color: white;
  font-size: 12px;
  font-weight: bold;
}
.privacy-info[data-v-7dbede05] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.privacy-label[data-v-7dbede05] {
  color: white;
  font-weight: 500;
}
.privacy-description[data-v-7dbede05] {
  color: #a6a6a6;
  font-size: 14px;
}

/* Security */
.security-options[data-v-7dbede05] {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.security-group[data-v-7dbede05] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.security-group-title[data-v-7dbede05] {
  font-size: 18px;
  font-weight: 600;
  color: white;
  margin-bottom: 8px;
}
.password-form[data-v-7dbede05] {
  display: flex;
  flex-direction: column;
  gap: 20px;
  background: rgba(16, 185, 129, 0.05);
  border: 1px solid rgba(16, 185, 129, 0.2);
  border-radius: 8px;
  padding: 24px;
}
.two-factor-info[data-v-7dbede05] {
  background: rgba(16, 185, 129, 0.05);
  border: 1px solid rgba(16, 185, 129, 0.2);
  border-radius: 8px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.two-factor-info p[data-v-7dbede05] {
  color: #a6a6a6;
  margin: 0;
}

/* Notifications */
.notification-options[data-v-7dbede05] {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.notification-group[data-v-7dbede05] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.notification-group-title[data-v-7dbede05] {
  font-size: 18px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 8px;
}
.notification-items[data-v-7dbede05] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.notification-item[data-v-7dbede05] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
  padding: 16px;
  background: rgba(16, 185, 129, 0.05);
  border: 1px solid rgba(16, 185, 129, 0.2);
  border-radius: 8px;
  transition: all 0.3s ease;
}
.notification-item[data-v-7dbede05]:hover {
  background: rgba(16, 185, 129, 0.1);
}
.notification-item input[type="checkbox"][data-v-7dbede05] {
  display: none;
}
.checkbox-custom[data-v-7dbede05] {
  width: 20px;
  height: 20px;
  border: 2px solid var(--border-primary);
  border-radius: 4px;
  background: var(--bg-primary);
  position: relative;
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.notification-item input[type="checkbox"]:checked + .checkbox-custom[data-v-7dbede05] {
  background: var(--accent-primary);
  border-color: var(--accent-primary);
}
.notification-item input[type="checkbox"]:checked + .checkbox-custom[data-v-7dbede05]::after {
  content: '✓';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--text-inverse);
  font-size: 12px;
  font-weight: bold;
}
.checkbox-custom[data-v-7dbede05]:hover {
  border-color: var(--accent-primary);
  transform: scale(1.05);
}
.notification-info[data-v-7dbede05] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.notification-label-container[data-v-7dbede05] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.notification-label[data-v-7dbede05] {
  color: var(--text-primary);
  font-weight: 500;
}
.notification-description[data-v-7dbede05] {
  color: var(--text-secondary);
  font-size: 14px;
}

/* Buttons */
.btn-primary[data-v-7dbede05],
.btn-secondary[data-v-7dbede05] {
  padding: 12px 24px;
  border-radius: 8px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  border: none;
  font-size: 14px;
}
.btn-primary[data-v-7dbede05] {
  background: var(--gradient-primary);
  color: #ffffff;
}
.btn-primary[data-v-7dbede05]:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}
.btn-secondary[data-v-7dbede05] {
  background: var(--accent-primary-10);
  color: var(--accent-primary);
  border: 1px solid var(--accent-primary-30);
}
.btn-secondary[data-v-7dbede05]:hover {
  background: var(--accent-primary-20);
}
.form-actions[data-v-7dbede05] {
  display: flex;
  justify-content: flex-end;
  margin-top: 32px;
}

/* Responsive */
@media (max-width: 768px) {
.settings-layout[data-v-7dbede05] {
    grid-template-columns: 1fr;
    gap: 24px;
}
.settings-sidebar[data-v-7dbede05] {
    position: static;
    order: 2;
}
.settings-nav[data-v-7dbede05] {
    flex-direction: row;
    overflow-x: auto;
    padding: 0 16px;
}
.nav-item[data-v-7dbede05] {
    flex-shrink: 0;
    border-right: none;
    border-bottom: 3px solid transparent;
}
.nav-item.active[data-v-7dbede05] {
    border-right: none;
    border-bottom-color: #10b981;
}
.settings-content[data-v-7dbede05] {
    padding: 24px;
    order: 1;
}
.social-inputs[data-v-7dbede05] {
    grid-template-columns: 1fr;
}
.hero-title[data-v-7dbede05] {
    font-size: 36px;
}
}


/* Updated Skills Styles */
.skills-manager[data-v-7dbede05] {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.skills-category[data-v-7dbede05] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.skills-category-title[data-v-7dbede05] {
  font-size: 18px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--border-primary);
}
.skills-list[data-v-7dbede05] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.skill-item[data-v-7dbede05] {
  display: flex;
  gap: 12px;
  align-items: center;
  background: var(--bg-tertiary);
  border: 1px solid var(--border-primary);
  border-radius: 8px;
  padding: 12px;
  transition: all 0.2s ease;
}
.skill-item[data-v-7dbede05]:hover {
  border-color: var(--border-secondary);
  background: var(--bg-secondary);
}
.skill-input[data-v-7dbede05] {
  flex: 1;
  padding: 8px 12px;
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  border-radius: 6px;
  color: var(--text-primary);
  font-size: 14px;
  transition: all 0.2s ease;
}
.skill-input[data-v-7dbede05]:focus {
  outline: none;
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 2px var(--accent-primary-10);
}
.btn-remove[data-v-7dbede05] {
  width: 24px;
  height: 24px;
  background: var(--error);
  border: none;
  border-radius: 50%;
  color: var(--text-inverse);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  font-size: 12px;
  opacity: 0.8;
}
.btn-remove[data-v-7dbede05]:hover {
  background: var(--error-dark);
  transform: scale(1.1);
  opacity: 1;
}
.btn-add[data-v-7dbede05] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  background: var(--bg-tertiary);
  border: 1px dashed var(--border-primary);
  border-radius: 8px;
  color: var(--text-secondary);
  cursor: pointer;
  transition: all 0.2s ease;
  font-weight: 500;
  font-size: 14px;
  margin-top: 8px;
}
.btn-add[data-v-7dbede05]:hover {
  background: var(--bg-secondary);
  border-color: var(--accent-primary);
  color: var(--accent-primary);
  transform: translateY(-1px);
}
.add-icon[data-v-7dbede05] {
  font-size: 14px;
  font-weight: bold;
}

/* Form Sections */
.form-section[data-v-7dbede05] {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid var(--border-primary);
}
.form-section-title[data-v-7dbede05] {
  font-size: 20px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 20px 0;
}

/* Compact Skills Styles */
.skills-category[data-v-7dbede05] {
  margin-bottom: 24px;
}
.skills-category-label[data-v-7dbede05] {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-primary);
  margin-bottom: 12px;
}

/* Skills Search */
.skills-search-container[data-v-7dbede05] {
  position: relative;
  margin-bottom: 12px;
}
.skills-search-input[data-v-7dbede05] {
  width: 100%;
  padding: 10px 16px;
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  border-radius: 8px;
  color: var(--text-primary);
  font-size: 14px;
  transition: all 0.2s ease;
}
.skills-search-input[data-v-7dbede05]:focus {
  outline: none;
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 2px var(--accent-primary-10);
}
.skills-search-input[data-v-7dbede05]::placeholder {
  color: var(--text-tertiary);
}
.skills-suggestions[data-v-7dbede05] {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--bg-card);
  border: 1px solid var(--border-primary);
  border-radius: 8px;
  box-shadow: var(--shadow-lg);
  z-index: 1000;
  max-height: 200px;
  overflow-y: auto;
  margin-top: 4px;
}
.suggestion-item[data-v-7dbede05] {
  padding: 12px 16px;
  cursor: pointer;
  font-size: 14px;
  color: var(--text-primary);
  transition: all 0.2s ease;
  border-bottom: 1px solid var(--border-primary);
}
.suggestion-item[data-v-7dbede05]:last-child {
  border-bottom: none;
}
.suggestion-item[data-v-7dbede05]:hover {
  background: var(--bg-secondary);
  color: var(--accent-primary);
}
.suggestion-item.add-new[data-v-7dbede05] {
  color: var(--accent-primary);
  font-weight: 500;
  background: var(--accent-primary-5);
}
.suggestion-item.add-new[data-v-7dbede05]:hover {
  background: var(--accent-primary-10);
}
.skills-tags[data-v-7dbede05] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.skill-tag[data-v-7dbede05] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 16px;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.2s ease;
  border: 1px solid;
}
.skill-tag.current[data-v-7dbede05] {
  background: var(--accent-primary-10);
  color: var(--accent-primary);
  border-color: var(--accent-primary-30);
}
.skill-tag.to-learn[data-v-7dbede05] {
  background: var(--bg-tertiary);
  color: var(--text-secondary);
  border-color: var(--border-primary);
}
.skill-remove[data-v-7dbede05] {
  background: none;
  border: none;
  color: inherit;
  cursor: pointer;
  font-size: 16px;
  font-weight: bold;
  padding: 0;
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 0.2s ease;
  opacity: 0.7;
}
.skill-remove[data-v-7dbede05]:hover {
  background: rgba(0, 0, 0, 0.1);
  opacity: 1;
}
.skill-add[data-v-7dbede05] {
  background: var(--bg-tertiary);
  border: 1px dashed var(--border-primary);
  border-radius: 16px;
  padding: 6px 12px;
  color: var(--text-secondary);
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.2s ease;
}
.skill-add[data-v-7dbede05]:hover {
  background: var(--bg-secondary);
  border-color: var(--accent-primary);
  color: var(--accent-primary);
}

/* Compact Social Styles */
.social-links[data-v-7dbede05] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.social-item[data-v-7dbede05] {
  display: flex;
  gap: 12px;
  align-items: center;
  background: var(--bg-tertiary);
  border: 1px solid var(--border-primary);
  border-radius: 8px;
  padding: 12px;
  transition: all 0.2s ease;
}
.social-item[data-v-7dbede05]:hover {
  border-color: var(--border-secondary);
  background: var(--bg-secondary);
}
.social-select[data-v-7dbede05] {
  min-width: 120px;
  padding: 8px 12px;
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  border-radius: 6px;
  color: var(--text-primary);
  font-size: 14px;
  appearance: none;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 8px center;
  background-repeat: no-repeat;
  background-size: 14px;
  padding-right: 32px;
  cursor: pointer;
}
.social-select[data-v-7dbede05]:hover {
  border-color: var(--accent-primary);
}
.social-url-input[data-v-7dbede05] {
  flex: 1;
  padding: 8px 12px;
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  border-radius: 6px;
  color: var(--text-primary);
  font-size: 14px;
}
.social-url-input[data-v-7dbede05]:focus {
  outline: none;
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 2px var(--accent-primary-10);
}
.social-remove[data-v-7dbede05] {
  background: var(--error);
  border: none;
  border-radius: 50%;
  color: var(--text-inverse);
  cursor: pointer;
  font-size: 12px;
  font-weight: bold;
  padding: 0;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  opacity: 0.8;
}
.social-remove[data-v-7dbede05]:hover {
  background: var(--error-dark);
  opacity: 1;
  transform: scale(1.1);
}
.social-add[data-v-7dbede05] {
  background: var(--bg-tertiary);
  border: 1px dashed var(--border-primary);
  border-radius: 8px;
  padding: 12px 16px;
  color: var(--text-secondary);
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.2s ease;
  text-align: center;
}
.social-add[data-v-7dbede05]:hover {
  background: var(--bg-secondary);
  border-color: var(--accent-primary);
  color: var(--accent-primary);
}

/* Premium Badge */
.premium-badge[data-v-7dbede05] {
  background: linear-gradient(135deg, #ffd700, #ffed4e);
  color: #000;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 10px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  box-shadow: 0 2px 4px rgba(255, 215, 0, 0.3);
  flex-shrink: 0;
}


.admin-problems[data-v-9596dfb0] {
  background: #0a0a0a;
  color: white;
  overflow-x: hidden;
  word-wrap: break-word;
  width: 100%;
  max-width: 100vw;
  box-sizing: border-box;
}
.section-header[data-v-9596dfb0] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 32px;
}
.section-header h2[data-v-9596dfb0] {
  font-size: 24px;
  font-weight: 600;
  margin: 0;
}
.btn-primary[data-v-9596dfb0] {
  display: flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: white;
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}
.btn-primary[data-v-9596dfb0]:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(16, 185, 129, 0.3);
}
.btn-icon[data-v-9596dfb0] {
  background: none;
  border: none;
  color: #a6a6a6;
  cursor: pointer;
  padding: 8px;
  border-radius: 6px;
  transition: all 0.3s ease;
  font-size: 16px;
}
.btn-icon[data-v-9596dfb0]:hover {
  background: rgba(255, 255, 255, 0.1);
  color: white;
}
.btn-success[data-v-9596dfb0] {
  color: #10b981;
}
.btn-warning[data-v-9596dfb0] {
  color: #f59e0b;
}
.btn-danger[data-v-9596dfb0] {
  color: #ef4444;
}

/* Фильтры */
.filters-section[data-v-9596dfb0] {
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 24px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.filters-row[data-v-9596dfb0] {
  display: flex;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
}
.search-box[data-v-9596dfb0] {
  position: relative;
  flex: 1;
  min-width: 300px;
}
.search-input[data-v-9596dfb0] {
  width: 100%;
  background: #262626;
  border: 1px solid #333;
  color: white;
  padding: 12px 16px 12px 40px;
  border-radius: 8px;
  font-size: 14px;
}
.search-input[data-v-9596dfb0]:focus {
  outline: none;
  border-color: #10b981;
}
.search-icon[data-v-9596dfb0] {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #666;
}
.filter-buttons[data-v-9596dfb0] {
  display: flex;
  gap: 12px;
}
.filter-select[data-v-9596dfb0] {
  background: #262626;
  border: 1px solid #333;
  color: white;
  padding: 12px 16px;
  border-radius: 8px;
  font-size: 14px;
  cursor: pointer;
  min-width: 150px;
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a6a6a6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
  padding-right: 40px;
  transition: border-color 0.3s ease;
}
.filter-select[data-v-9596dfb0]:focus {
  outline: none;
  border-color: #10b981;
}

/* Таблица */
.problems-table[data-v-9596dfb0] {
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.table-header[data-v-9596dfb0] {
  display: grid;
  grid-template-columns: 80px 1fr 120px 120px 120px 140px 140px;
  background: #2a2a2a;
  border-bottom: 1px solid #333;
  width: 100%;
  min-width: 800px;
  box-sizing: border-box;
}
.table-cell[data-v-9596dfb0] {
  padding: 16px;
  font-weight: 600;
  color: white;
  border-right: 1px solid #333;
}
.table-cell[data-v-9596dfb0]:last-child {
  border-right: none;
}
.table-row[data-v-9596dfb0] {
  display: grid;
  grid-template-columns: 80px 1fr 120px 120px 120px 140px 140px;
  border-bottom: 1px solid #333;
  transition: background 0.3s ease;
  width: 100%;
  min-width: 800px;
  box-sizing: border-box;
}
.table-row[data-v-9596dfb0]:hover {
  background: rgba(255, 255, 255, 0.05);
}
.table-row[data-v-9596dfb0]:last-child {
  border-bottom: none;
}
.problem-id[data-v-9596dfb0] {
  color: #10b981;
  font-weight: 600;
}
.problem-title[data-v-9596dfb0] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.title-text[data-v-9596dfb0] {
  font-weight: 500;
  color: white;
  word-break: break-word;
  overflow-wrap: break-word;
}
.problem-tags[data-v-9596dfb0] {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}
.tag[data-v-9596dfb0] {
  background: rgba(16, 185, 129, 0.1);
  color: #10b981;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 11px;
  border: 1px solid rgba(16, 185, 129, 0.2);
  white-space: nowrap;
  display: inline-block;
}
.tag-more[data-v-9596dfb0] {
  background: rgba(255, 255, 255, 0.1);
  color: #a6a6a6;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 11px;
  white-space: nowrap;
  display: inline-block;
}
.difficulty-badge[data-v-9596dfb0] {
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  white-space: nowrap;
  display: inline-block;
}
.difficulty-badge.easy[data-v-9596dfb0] {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}
.difficulty-badge.medium[data-v-9596dfb0] {
  background: rgba(251, 191, 36, 0.2);
  color: #fbbf24;
}
.difficulty-badge.hard[data-v-9596dfb0] {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
}
.status-badge[data-v-9596dfb0] {
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  display: inline-block;
}
.status-badge.draft[data-v-9596dfb0] {
  background: rgba(156, 163, 175, 0.2);
  color: #9ca3af;
}
.status-badge.published[data-v-9596dfb0] {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}
.status-badge.archived[data-v-9596dfb0] {
  background: rgba(107, 114, 128, 0.2);
  color: #6b7280;
}
.solved-progress[data-v-9596dfb0] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.progress-bar[data-v-9596dfb0] {
  flex: 1;
  height: 6px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 3px;
  overflow: hidden;
}
.progress-fill[data-v-9596dfb0] {
  height: 100%;
  background: linear-gradient(90deg, #10b981, #059669);
  transition: width 0.3s ease;
}
.progress-text[data-v-9596dfb0] {
  font-size: 12px;
  color: #a6a6a6;
  min-width: 35px;
}
.date-text[data-v-9596dfb0] {
  font-size: 12px;
  color: #a6a6a6;
}
.action-buttons[data-v-9596dfb0] {
  display: flex;
  gap: 4px;
}

/* Пагинация */
.pagination[data-v-9596dfb0] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 24px;
  padding: 16px 0;
}
.pagination-btn[data-v-9596dfb0] {
  background: #1a1a1a;
  border: 1px solid #333;
  color: white;
  padding: 8px 16px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.pagination-btn[data-v-9596dfb0]:hover:not(:disabled) {
  background: #2a2a2a;
  border-color: #10b981;
}
.pagination-btn[data-v-9596dfb0]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.pagination-info[data-v-9596dfb0] {
  color: #a6a6a6;
  font-size: 14px;
}

/* Модальное окно */
.modal-overlay[data-v-9596dfb0] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2000;
  padding: 20px;
}
.modal-content[data-v-9596dfb0] {
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 12px;
  max-width: 800px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  margin: 20px;
  box-sizing: border-box;
}
.modal-header[data-v-9596dfb0] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px;
  border-bottom: 1px solid #333;
}
.modal-title[data-v-9596dfb0] {
  font-size: 20px;
  font-weight: 600;
  margin: 0;
}
.modal-close[data-v-9596dfb0] {
  background: none;
  border: none;
  color: #a6a6a6;
  font-size: 24px;
  cursor: pointer;
  padding: 8px;
  border-radius: 50%;
  transition: all 0.3s ease;
}
.modal-close[data-v-9596dfb0]:hover {
  background: rgba(255, 255, 255, 0.1);
  color: white;
}
.modal-body[data-v-9596dfb0] {
  padding: 24px;
}

/* Форма */
.problem-form[data-v-9596dfb0] {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.form-row[data-v-9596dfb0] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.form-group[data-v-9596dfb0] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.form-label[data-v-9596dfb0] {
  color: #e5e5e5;
  font-size: 14px;
  font-weight: 600;
}
.form-input[data-v-9596dfb0],
.form-select[data-v-9596dfb0],
.form-textarea[data-v-9596dfb0] {
  background: #262626;
  border: 1px solid #333;
  color: white;
  padding: 12px;
  border-radius: 8px;
  font-size: 14px;
  transition: border-color 0.3s ease;
}
.form-select[data-v-9596dfb0] {
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a6a6a6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
  padding-right: 40px;
  min-width: 120px;
}
.form-input[data-v-9596dfb0]:focus,
.form-select[data-v-9596dfb0]:focus,
.form-textarea[data-v-9596dfb0]:focus {
  outline: none;
  border-color: #10b981;
}
.form-textarea[data-v-9596dfb0] {
  resize: vertical;
  min-height: 80px;
}
.tags-input[data-v-9596dfb0] {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}
.tags-input .form-input[data-v-9596dfb0] {
  flex: 1;
}
.btn-small[data-v-9596dfb0] {
  background: #10b981;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.btn-small[data-v-9596dfb0]:hover {
  background: #059669;
}
.tags-list[data-v-9596dfb0] {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.tag[data-v-9596dfb0] {
  display: flex;
  align-items: center;
  gap: 4px;
  background: rgba(16, 185, 129, 0.1);
  color: #10b981;
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 12px;
  border: 1px solid rgba(16, 185, 129, 0.2);
}
.tag-remove[data-v-9596dfb0] {
  background: none;
  border: none;
  color: #10b981;
  cursor: pointer;
  font-size: 14px;
  padding: 0;
  margin-left: 4px;
}
.form-actions[data-v-9596dfb0] {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 24px;
}
.btn-secondary[data-v-9596dfb0] {
  background: transparent;
  color: #a6a6a6;
  border: 1px solid #333;
  padding: 12px 24px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.btn-secondary[data-v-9596dfb0]:hover {
  color: white;
  border-color: #10b981;
}

/* Адаптивность */
@media (max-width: 1200px) {
.problems-table[data-v-9596dfb0] {
    overflow-x: auto;
}
.table-header[data-v-9596dfb0],
  .table-row[data-v-9596dfb0] {
    min-width: 800px;
}
}
@media (max-width: 768px) {
.section-header[data-v-9596dfb0] {
    flex-direction: column;
    gap: 16px;
    align-items: stretch;
}
.filters-row[data-v-9596dfb0] {
    flex-direction: column;
    gap: 12px;
}
.search-box[data-v-9596dfb0] {
    min-width: auto;
}
.filter-buttons[data-v-9596dfb0] {
    flex-direction: column;
}
.problems-table[data-v-9596dfb0] {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.table-header[data-v-9596dfb0],
  .table-row[data-v-9596dfb0] {
    grid-template-columns: 80px 1fr 100px 100px 100px 120px 120px;
    min-width: 700px;
}
.table-cell[data-v-9596dfb0] {
    padding: 12px 8px;
    font-size: 13px;
}
.problem-title[data-v-9596dfb0] {
    gap: 6px;
}
.title-text[data-v-9596dfb0] {
    font-size: 13px;
}
.problem-tags[data-v-9596dfb0] {
    gap: 3px;
}
.tag[data-v-9596dfb0] {
    font-size: 10px;
    padding: 1px 6px;
}
.form-row[data-v-9596dfb0] {
    grid-template-columns: 1fr;
}
.modal-content[data-v-9596dfb0] {
    margin: 10px;
    max-height: calc(100vh - 20px);
}
.modal-body[data-v-9596dfb0] {
    padding: 16px;
}
}
@media (max-width: 480px) {
.container[data-v-9596dfb0] {
    padding: 0 16px;
}
.filters-section[data-v-9596dfb0] {
    padding: 16px;
}
.table-header[data-v-9596dfb0],
  .table-row[data-v-9596dfb0] {
    grid-template-columns: 60px 1fr 80px 80px 80px 100px 100px;
    min-width: 600px;
}
.table-cell[data-v-9596dfb0] {
    padding: 8px 6px;
    font-size: 12px;
}
.action-buttons[data-v-9596dfb0] {
    flex-direction: column;
    gap: 2px;
}
.btn-icon[data-v-9596dfb0] {
    padding: 6px;
    font-size: 14px;
}
}

.admin-roadmaps[data-v-4d311471] {
  background: #0a0a0a;
  color: white;
  overflow-x: hidden;
  word-wrap: break-word;
  width: 100%;
  max-width: 100vw;
  box-sizing: border-box;
}
.section-header[data-v-4d311471] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 32px;
}
.section-header h2[data-v-4d311471] {
  font-size: 24px;
  font-weight: 600;
  margin: 0;
}
.btn-primary[data-v-4d311471] {
  display: flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: white;
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}
.btn-primary[data-v-4d311471]:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(16, 185, 129, 0.3);
}

/* Фильтры */
.filters-section[data-v-4d311471] {
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 24px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.filters-row[data-v-4d311471] {
  display: flex;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
}
.search-box[data-v-4d311471] {
  position: relative;
  flex: 1;
  min-width: 300px;
}
.search-input[data-v-4d311471] {
  width: 100%;
  background: #262626;
  border: 1px solid #333;
  color: white;
  padding: 12px 16px 12px 40px;
  border-radius: 8px;
  font-size: 14px;
}
.search-input[data-v-4d311471]:focus {
  outline: none;
  border-color: #10b981;
}
.search-icon[data-v-4d311471] {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #666;
}
.filter-buttons[data-v-4d311471] {
  display: flex;
  gap: 12px;
}
.filter-select[data-v-4d311471] {
  background: #262626;
  border: 1px solid #333;
  color: white;
  padding: 12px 16px;
  border-radius: 8px;
  font-size: 14px;
  cursor: pointer;
  min-width: 150px;
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a6a6a6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
  padding-right: 40px;
  transition: border-color 0.3s ease;
}
.filter-select[data-v-4d311471]:focus {
  outline: none;
  border-color: #10b981;
}

/* Сетка роадмапов */
.roadmaps-grid[data-v-4d311471] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
  gap: 24px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.roadmap-card[data-v-4d311471] {
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.3s ease;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.roadmap-card[data-v-4d311471]:hover {
  transform: translateY(-4px);
  border-color: #10b981;
  box-shadow: 0 8px 32px rgba(16, 185, 129, 0.1);
}
.card-header[data-v-4d311471] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 20px;
  border-bottom: 1px solid #333;
}
.roadmap-info[data-v-4d311471] {
  flex: 1;
}
.roadmap-title[data-v-4d311471] {
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 8px 0;
  color: white;
  word-break: break-word;
  overflow-wrap: break-word;
}
.roadmap-meta[data-v-4d311471] {
  display: flex;
  gap: 8px;
  align-items: center;
}
.language-badge[data-v-4d311471] {
  background: rgba(16, 185, 129, 0.2);
  color: #10b981;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  white-space: nowrap;
  display: inline-block;
}
.status-badge[data-v-4d311471] {
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  display: inline-block;
}
.status-badge.draft[data-v-4d311471] {
  background: rgba(156, 163, 175, 0.2);
  color: #9ca3af;
}
.status-badge.published[data-v-4d311471] {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}
.status-badge.archived[data-v-4d311471] {
  background: rgba(107, 114, 128, 0.2);
  color: #6b7280;
}
.card-actions[data-v-4d311471] {
  display: flex;
  gap: 4px;
}
.btn-icon[data-v-4d311471] {
  background: none;
  border: none;
  color: #a6a6a6;
  cursor: pointer;
  padding: 8px;
  border-radius: 6px;
  transition: all 0.3s ease;
  font-size: 16px;
}
.btn-icon[data-v-4d311471]:hover {
  background: rgba(255, 255, 255, 0.1);
  color: white;
}
.btn-success[data-v-4d311471] {
  color: #10b981;
}
.btn-warning[data-v-4d311471] {
  color: #f59e0b;
}
.btn-danger[data-v-4d311471] {
  color: #ef4444;
}
.card-content[data-v-4d311471] {
  padding: 20px;
}
.roadmap-description[data-v-4d311471] {
  color: #a6a6a6;
  line-height: 1.5;
  margin: 0 0 16px 0;
}
.roadmap-stats[data-v-4d311471] {
  display: flex;
  gap: 20px;
  margin-bottom: 16px;
}
.stat[data-v-4d311471] {
  text-align: center;
}
.stat-number[data-v-4d311471] {
  display: block;
  font-size: 18px;
  font-weight: 700;
  color: #10b981;
  margin-bottom: 4px;
}
.stat-label[data-v-4d311471] {
  font-size: 12px;
  color: #a6a6a6;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.roadmap-tags[data-v-4d311471] {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.tag[data-v-4d311471] {
  background: rgba(16, 185, 129, 0.1);
  color: #10b981;
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 11px;
  border: 1px solid rgba(16, 185, 129, 0.2);
}
.card-footer[data-v-4d311471] {
  display: flex;
  justify-content: space-between;
  padding: 16px 20px;
  background: rgba(255, 255, 255, 0.05);
  border-top: 1px solid #333;
}
.date-text[data-v-4d311471] {
  font-size: 12px;
  color: #a6a6a6;
}

/* Модальное окно */
.modal-overlay[data-v-4d311471] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2000;
  padding: 20px;
}
.modal-content[data-v-4d311471] {
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 12px;
  max-width: 800px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  margin: 20px;
  box-sizing: border-box;
}
.large-modal[data-v-4d311471] {
  max-width: 1000px;
}
.modal-header[data-v-4d311471] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px;
  border-bottom: 1px solid #333;
}
.modal-title[data-v-4d311471] {
  font-size: 20px;
  font-weight: 600;
  margin: 0;
}
.modal-close[data-v-4d311471] {
  background: none;
  border: none;
  color: #a6a6a6;
  font-size: 24px;
  cursor: pointer;
  padding: 8px;
  border-radius: 50%;
  transition: all 0.3s ease;
}
.modal-close[data-v-4d311471]:hover {
  background: rgba(255, 255, 255, 0.1);
  color: white;
}
.modal-body[data-v-4d311471] {
  padding: 24px;
}

/* Форма */
.roadmap-form[data-v-4d311471] {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.form-row[data-v-4d311471] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.form-group[data-v-4d311471] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.form-label[data-v-4d311471] {
  color: #e5e5e5;
  font-size: 14px;
  font-weight: 600;
}
.form-input[data-v-4d311471],
.form-select[data-v-4d311471],
.form-textarea[data-v-4d311471] {
  background: #262626;
  border: 1px solid #333;
  color: white;
  padding: 12px;
  border-radius: 8px;
  font-size: 14px;
  transition: border-color 0.3s ease;
}
.form-select[data-v-4d311471] {
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a6a6a6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
  padding-right: 40px;
  min-width: 120px;
}
.form-input[data-v-4d311471]:focus,
.form-select[data-v-4d311471]:focus,
.form-textarea[data-v-4d311471]:focus {
  outline: none;
  border-color: #10b981;
}
.form-textarea[data-v-4d311471] {
  resize: vertical;
  min-height: 80px;
}
.tags-input[data-v-4d311471] {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}
.tags-input .form-input[data-v-4d311471] {
  flex: 1;
}
.btn-small[data-v-4d311471] {
  background: #10b981;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.btn-small[data-v-4d311471]:hover {
  background: #059669;
}
.tags-list[data-v-4d311471] {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.tag[data-v-4d311471] {
  display: flex;
  align-items: center;
  gap: 4px;
  background: rgba(16, 185, 129, 0.1);
  color: #10b981;
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 12px;
  border: 1px solid rgba(16, 185, 129, 0.2);
  white-space: nowrap;
}
.tag-remove[data-v-4d311471] {
  background: none;
  border: none;
  color: #10b981;
  cursor: pointer;
  font-size: 14px;
  padding: 0;
  margin-left: 4px;
}

/* Этапы */
.steps-container[data-v-4d311471] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.step-item[data-v-4d311471] {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid #333;
  border-radius: 8px;
  padding: 16px;
}
.step-header[data-v-4d311471] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.step-number[data-v-4d311471] {
  background: #10b981;
  color: white;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 600;
  flex-shrink: 0;
}
.step-header .form-input[data-v-4d311471] {
  flex: 1;
}
.form-actions[data-v-4d311471] {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 24px;
}
.btn-secondary[data-v-4d311471] {
  background: transparent;
  color: #a6a6a6;
  border: 1px solid #333;
  padding: 12px 24px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.btn-secondary[data-v-4d311471]:hover {
  color: white;
  border-color: #10b981;
}

/* Адаптивность */
@media (max-width: 1200px) {
.roadmaps-grid[data-v-4d311471] {
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
}
}
@media (max-width: 768px) {
.section-header[data-v-4d311471] {
    flex-direction: column;
    gap: 16px;
    align-items: stretch;
}
.filters-row[data-v-4d311471] {
    flex-direction: column;
    gap: 12px;
}
.search-box[data-v-4d311471] {
    min-width: auto;
}
.filter-buttons[data-v-4d311471] {
    flex-direction: column;
}
.roadmaps-grid[data-v-4d311471] {
    grid-template-columns: 1fr;
    gap: 16px;
}
.roadmap-card[data-v-4d311471] {
    margin: 0;
}
.card-header[data-v-4d311471] {
    padding: 16px;
}
.card-content[data-v-4d311471] {
    padding: 16px;
}
.card-footer[data-v-4d311471] {
    padding: 12px 16px;
}
.roadmap-title[data-v-4d311471] {
    font-size: 16px;
}
.roadmap-stats[data-v-4d311471] {
    gap: 16px;
}
.stat-number[data-v-4d311471] {
    font-size: 16px;
}
.form-row[data-v-4d311471] {
    grid-template-columns: 1fr;
}
.step-header[data-v-4d311471] {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
}
.step-header .form-input[data-v-4d311471] {
    margin: 0;
}
.modal-content[data-v-4d311471] {
    margin: 10px;
    max-height: calc(100vh - 20px);
}
.modal-body[data-v-4d311471] {
    padding: 16px;
}
}
@media (max-width: 480px) {
.container[data-v-4d311471] {
    padding: 0 16px;
}
.filters-section[data-v-4d311471] {
    padding: 16px;
}
.roadmap-card[data-v-4d311471] {
    border-radius: 8px;
}
.card-header[data-v-4d311471] {
    padding: 12px;
}
.card-content[data-v-4d311471] {
    padding: 12px;
}
.card-footer[data-v-4d311471] {
    padding: 8px 12px;
}
.roadmap-title[data-v-4d311471] {
    font-size: 14px;
}
.roadmap-description[data-v-4d311471] {
    font-size: 13px;
}
.roadmap-stats[data-v-4d311471] {
    gap: 12px;
}
.stat-number[data-v-4d311471] {
    font-size: 14px;
}
.stat-label[data-v-4d311471] {
    font-size: 10px;
}
.card-actions[data-v-4d311471] {
    flex-direction: column;
    gap: 2px;
}
.btn-icon[data-v-4d311471] {
    padding: 6px;
    font-size: 14px;
}
}

.admin-projects[data-v-f206bf6a] {
  background: #0a0a0a;
  color: white;
  overflow-x: hidden;
  word-wrap: break-word;
  width: 100%;
  max-width: 100vw;
  box-sizing: border-box;
}
.section-header[data-v-f206bf6a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 32px;
}
.section-header h2[data-v-f206bf6a] {
  font-size: 24px;
  font-weight: 600;
  margin: 0;
}
.btn-primary[data-v-f206bf6a] {
  display: flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: white;
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}
.btn-primary[data-v-f206bf6a]:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(16, 185, 129, 0.3);
}

/* Фильтры */
.filters-section[data-v-f206bf6a] {
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 24px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.filters-row[data-v-f206bf6a] {
  display: flex;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
}
.search-box[data-v-f206bf6a] {
  position: relative;
  flex: 1;
  min-width: 300px;
}
.search-input[data-v-f206bf6a] {
  width: 100%;
  background: #262626;
  border: 1px solid #333;
  color: white;
  padding: 12px 16px 12px 40px;
  border-radius: 8px;
  font-size: 14px;
}
.search-input[data-v-f206bf6a]:focus {
  outline: none;
  border-color: #10b981;
}
.search-icon[data-v-f206bf6a] {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #666;
}
.filter-buttons[data-v-f206bf6a] {
  display: flex;
  gap: 12px;
}
.filter-select[data-v-f206bf6a] {
  background: #262626;
  border: 1px solid #333;
  color: white;
  padding: 12px 16px;
  border-radius: 8px;
  font-size: 14px;
  cursor: pointer;
  min-width: 150px;
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a6a6a6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
  padding-right: 40px;
  transition: border-color 0.3s ease;
}
.filter-select[data-v-f206bf6a]:focus {
  outline: none;
  border-color: #10b981;
}

/* Сетка проектов */
.projects-grid[data-v-f206bf6a] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 24px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.project-card[data-v-f206bf6a] {
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.3s ease;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.project-card[data-v-f206bf6a]:hover {
  transform: translateY(-4px);
  border-color: #10b981;
  box-shadow: 0 8px 32px rgba(16, 185, 129, 0.1);
}
.card-image[data-v-f206bf6a] {
  position: relative;
  height: 200px;
  overflow: hidden;
}
.project-image[data-v-f206bf6a] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.image-overlay[data-v-f206bf6a] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.project-card:hover .image-overlay[data-v-f206bf6a] {
  opacity: 1;
}
.project-links[data-v-f206bf6a] {
  display: flex;
  gap: 12px;
}
.link-btn[data-v-f206bf6a] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  color: white;
  text-decoration: none;
  font-size: 18px;
  transition: all 0.3s ease;
}
.link-btn[data-v-f206bf6a]:hover {
  background: #10b981;
  transform: scale(1.1);
}
.card-content[data-v-f206bf6a] {
  padding: 20px;
}
.card-header[data-v-f206bf6a] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
}
.project-title[data-v-f206bf6a] {
  font-size: 18px;
  font-weight: 600;
  margin: 0;
  color: white;
  flex: 1;
  word-break: break-word;
  overflow-wrap: break-word;
}
.card-actions[data-v-f206bf6a] {
  display: flex;
  gap: 4px;
}
.btn-icon[data-v-f206bf6a] {
  background: none;
  border: none;
  color: #a6a6a6;
  cursor: pointer;
  padding: 8px;
  border-radius: 6px;
  transition: all 0.3s ease;
  font-size: 16px;
}
.btn-icon[data-v-f206bf6a]:hover {
  background: rgba(255, 255, 255, 0.1);
  color: white;
}
.btn-success[data-v-f206bf6a] {
  color: #10b981;
}
.btn-warning[data-v-f206bf6a] {
  color: #f59e0b;
}
.btn-danger[data-v-f206bf6a] {
  color: #ef4444;
}
.project-description[data-v-f206bf6a] {
  color: #a6a6a6;
  line-height: 1.5;
  margin: 0 0 16px 0;
}
.project-meta[data-v-f206bf6a] {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.category-badge[data-v-f206bf6a] {
  background: rgba(59, 130, 246, 0.2);
  color: #3b82f6;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  display: inline-block;
}
.status-badge[data-v-f206bf6a] {
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  display: inline-block;
}
.status-badge.draft[data-v-f206bf6a] {
  background: rgba(156, 163, 175, 0.2);
  color: #9ca3af;
}
.status-badge.published[data-v-f206bf6a] {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}
.status-badge.archived[data-v-f206bf6a] {
  background: rgba(107, 114, 128, 0.2);
  color: #6b7280;
}
.difficulty-badge[data-v-f206bf6a] {
  background: rgba(16, 185, 129, 0.2);
  color: #10b981;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  display: inline-block;
}
.project-stats[data-v-f206bf6a] {
  display: flex;
  gap: 20px;
  margin-bottom: 16px;
}
.stat[data-v-f206bf6a] {
  text-align: center;
}
.stat-number[data-v-f206bf6a] {
  display: block;
  font-size: 16px;
  font-weight: 700;
  color: #10b981;
  margin-bottom: 2px;
}
.stat-label[data-v-f206bf6a] {
  font-size: 11px;
  color: #a6a6a6;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.project-technologies[data-v-f206bf6a] {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.tech-tag[data-v-f206bf6a] {
  background: rgba(16, 185, 129, 0.1);
  color: #10b981;
  padding: 3px 8px;
  border-radius: 12px;
  font-size: 11px;
  border: 1px solid rgba(16, 185, 129, 0.2);
  display: flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}
.tech-more[data-v-f206bf6a] {
  background: rgba(255, 255, 255, 0.1);
  color: #a6a6a6;
  padding: 3px 8px;
  border-radius: 12px;
  font-size: 11px;
  white-space: nowrap;
  display: inline-block;
}
.tag-remove[data-v-f206bf6a] {
  background: none;
  border: none;
  color: #10b981;
  cursor: pointer;
  font-size: 12px;
  padding: 0;
  margin-left: 4px;
}
.card-footer[data-v-f206bf6a] {
  display: flex;
  justify-content: space-between;
  padding: 16px 20px;
  background: rgba(255, 255, 255, 0.05);
  border-top: 1px solid #333;
}
.date-text[data-v-f206bf6a] {
  font-size: 12px;
  color: #a6a6a6;
}

/* Модальное окно */
.modal-overlay[data-v-f206bf6a] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2000;
  padding: 20px;
}
.modal-content[data-v-f206bf6a] {
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 12px;
  max-width: 800px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  margin: 20px;
  box-sizing: border-box;
}
.large-modal[data-v-f206bf6a] {
  max-width: 1000px;
}
.modal-header[data-v-f206bf6a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px;
  border-bottom: 1px solid #333;
}
.modal-title[data-v-f206bf6a] {
  font-size: 20px;
  font-weight: 600;
  margin: 0;
}
.modal-close[data-v-f206bf6a] {
  background: none;
  border: none;
  color: #a6a6a6;
  font-size: 24px;
  cursor: pointer;
  padding: 8px;
  border-radius: 50%;
  transition: all 0.3s ease;
}
.modal-close[data-v-f206bf6a]:hover {
  background: rgba(255, 255, 255, 0.1);
  color: white;
}
.modal-body[data-v-f206bf6a] {
  padding: 24px;
}

/* Форма */
.project-form[data-v-f206bf6a] {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.form-row[data-v-f206bf6a] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.form-group[data-v-f206bf6a] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.form-label[data-v-f206bf6a] {
  color: #e5e5e5;
  font-size: 14px;
  font-weight: 600;
}
.form-input[data-v-f206bf6a],
.form-select[data-v-f206bf6a],
.form-textarea[data-v-f206bf6a] {
  background: #262626;
  border: 1px solid #333;
  color: white;
  padding: 12px;
  border-radius: 8px;
  font-size: 14px;
  transition: border-color 0.3s ease;
}
.form-select[data-v-f206bf6a] {
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a6a6a6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
  padding-right: 40px;
  min-width: 120px;
}
.form-input[data-v-f206bf6a]:focus,
.form-select[data-v-f206bf6a]:focus,
.form-textarea[data-v-f206bf6a]:focus {
  outline: none;
  border-color: #10b981;
}
.form-textarea[data-v-f206bf6a] {
  resize: vertical;
  min-height: 80px;
}
.tags-input[data-v-f206bf6a] {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}
.tags-input .form-input[data-v-f206bf6a] {
  flex: 1;
}
.btn-small[data-v-f206bf6a] {
  background: #10b981;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.btn-small[data-v-f206bf6a]:hover {
  background: #059669;
}
.tags-list[data-v-f206bf6a] {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.form-actions[data-v-f206bf6a] {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 24px;
}
.btn-secondary[data-v-f206bf6a] {
  background: transparent;
  color: #a6a6a6;
  border: 1px solid #333;
  padding: 12px 24px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.btn-secondary[data-v-f206bf6a]:hover {
  color: white;
  border-color: #10b981;
}

/* Адаптивность */
@media (max-width: 1200px) {
.projects-grid[data-v-f206bf6a] {
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
}
}
@media (max-width: 768px) {
.section-header[data-v-f206bf6a] {
    flex-direction: column;
    gap: 16px;
    align-items: stretch;
}
.filters-row[data-v-f206bf6a] {
    flex-direction: column;
    gap: 12px;
}
.search-box[data-v-f206bf6a] {
    min-width: auto;
}
.filter-buttons[data-v-f206bf6a] {
    flex-direction: column;
}
.projects-grid[data-v-f206bf6a] {
    grid-template-columns: 1fr;
    gap: 16px;
}
.project-card[data-v-f206bf6a] {
    margin: 0;
}
.card-image[data-v-f206bf6a] {
    height: 180px;
}
.card-header[data-v-f206bf6a] {
    padding: 16px;
}
.card-content[data-v-f206bf6a] {
    padding: 16px;
}
.card-footer[data-v-f206bf6a] {
    padding: 12px 16px;
}
.project-title[data-v-f206bf6a] {
    font-size: 16px;
}
.project-stats[data-v-f206bf6a] {
    gap: 16px;
}
.stat-number[data-v-f206bf6a] {
    font-size: 14px;
}
.form-row[data-v-f206bf6a] {
    grid-template-columns: 1fr;
}
.modal-content[data-v-f206bf6a] {
    margin: 10px;
    max-height: calc(100vh - 20px);
}
.modal-body[data-v-f206bf6a] {
    padding: 16px;
}
}
@media (max-width: 480px) {
.container[data-v-f206bf6a] {
    padding: 0 16px;
}
.filters-section[data-v-f206bf6a] {
    padding: 16px;
}
.project-card[data-v-f206bf6a] {
    border-radius: 8px;
}
.card-image[data-v-f206bf6a] {
    height: 160px;
}
.card-header[data-v-f206bf6a] {
    padding: 12px;
}
.card-content[data-v-f206bf6a] {
    padding: 12px;
}
.card-footer[data-v-f206bf6a] {
    padding: 8px 12px;
}
.project-title[data-v-f206bf6a] {
    font-size: 14px;
}
.project-description[data-v-f206bf6a] {
    font-size: 13px;
}
.project-stats[data-v-f206bf6a] {
    gap: 12px;
}
.stat-number[data-v-f206bf6a] {
    font-size: 12px;
}
.stat-label[data-v-f206bf6a] {
    font-size: 10px;
}
.card-actions[data-v-f206bf6a] {
    flex-direction: column;
    gap: 2px;
}
.btn-icon[data-v-f206bf6a] {
    padding: 6px;
    font-size: 14px;
}
.project-technologies[data-v-f206bf6a] {
    gap: 4px;
}
.tech-tag[data-v-f206bf6a] {
    font-size: 10px;
    padding: 2px 6px;
}
}

.admin-users[data-v-5f2ba412] {
  background: #0a0a0a;
  color: white;
  overflow-x: hidden;
  word-wrap: break-word;
  width: 100%;
  max-width: 100vw;
  box-sizing: border-box;
}
.section-header[data-v-5f2ba412] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 32px;
}
.section-header h2[data-v-5f2ba412] {
  font-size: 24px;
  font-weight: 600;
  margin: 0;
}
.header-actions[data-v-5f2ba412] {
  display: flex;
  gap: 12px;
}
.btn-primary[data-v-5f2ba412] {
  display: flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: white;
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}
.btn-primary[data-v-5f2ba412]:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(16, 185, 129, 0.3);
}
.btn-secondary[data-v-5f2ba412] {
  display: flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  color: #a6a6a6;
  border: 1px solid #333;
  padding: 12px 20px;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}
.btn-secondary[data-v-5f2ba412]:hover {
  color: white;
  border-color: #10b981;
}

/* Фильтры */
.filters-section[data-v-5f2ba412] {
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 24px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.filters-row[data-v-5f2ba412] {
  display: flex;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
}
.search-box[data-v-5f2ba412] {
  position: relative;
  flex: 1;
  min-width: 300px;
}
.search-input[data-v-5f2ba412] {
  width: 100%;
  background: #262626;
  border: 1px solid #333;
  color: white;
  padding: 12px 16px 12px 40px;
  border-radius: 8px;
  font-size: 14px;
}
.search-input[data-v-5f2ba412]:focus {
  outline: none;
  border-color: #10b981;
}
.search-icon[data-v-5f2ba412] {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #666;
}
.filter-buttons[data-v-5f2ba412] {
  display: flex;
  gap: 12px;
}
.filter-select[data-v-5f2ba412] {
  background: #262626;
  border: 1px solid #333;
  color: white;
  padding: 12px 16px;
  border-radius: 8px;
  font-size: 14px;
  cursor: pointer;
  min-width: 150px;
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a6a6a6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
  padding-right: 40px;
  transition: border-color 0.3s ease;
}
.filter-select[data-v-5f2ba412]:focus {
  outline: none;
  border-color: #10b981;
}

/* Таблица */
.users-table[data-v-5f2ba412] {
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.table-header[data-v-5f2ba412] {
  display: grid;
  grid-template-columns: 200px 200px 120px 120px 200px 140px 180px;
  background: #2a2a2a;
  border-bottom: 1px solid #333;
  width: 100%;
  min-width: 1000px;
  box-sizing: border-box;
}
.table-cell[data-v-5f2ba412] {
  padding: 16px;
  font-weight: 600;
  color: white;
  border-right: 1px solid #333;
}
.table-cell[data-v-5f2ba412]:last-child {
  border-right: none;
}
.table-row[data-v-5f2ba412] {
  display: grid;
  grid-template-columns: 200px 200px 120px 120px 200px 140px 180px;
  border-bottom: 1px solid #333;
  transition: background 0.3s ease;
  width: 100%;
  min-width: 1000px;
  box-sizing: border-box;
}
.table-row[data-v-5f2ba412]:hover {
  background: rgba(255, 255, 255, 0.05);
}
.table-row[data-v-5f2ba412]:last-child {
  border-bottom: none;
}
.user-info[data-v-5f2ba412] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.user-avatar[data-v-5f2ba412] {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}
.avatar-image[data-v-5f2ba412] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.user-details[data-v-5f2ba412] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.user-name[data-v-5f2ba412] {
  font-weight: 500;
  color: white;
  font-size: 14px;
  word-break: break-word;
  overflow-wrap: break-word;
}
.user-username[data-v-5f2ba412] {
  font-size: 12px;
  color: #a6a6a6;
}
.email-text[data-v-5f2ba412] {
  color: #a6a6a6;
  font-size: 14px;
}
.role-badge[data-v-5f2ba412] {
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  display: inline-block;
}
.role-badge.user[data-v-5f2ba412] {
  background: rgba(156, 163, 175, 0.2);
  color: #9ca3af;
}
.role-badge.moderator[data-v-5f2ba412] {
  background: rgba(59, 130, 246, 0.2);
  color: #3b82f6;
}
.role-badge.admin[data-v-5f2ba412] {
  background: rgba(245, 158, 11, 0.2);
  color: #f59e0b;
}
.status-badge[data-v-5f2ba412] {
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  display: inline-block;
}
.status-badge.active[data-v-5f2ba412] {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}
.status-badge.inactive[data-v-5f2ba412] {
  background: rgba(156, 163, 175, 0.2);
  color: #9ca3af;
}
.status-badge.banned[data-v-5f2ba412] {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
}
.activity-info[data-v-5f2ba412] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.activity-stats[data-v-5f2ba412] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.stat[data-v-5f2ba412] {
  font-size: 12px;
  color: #a6a6a6;
}
.last-activity[data-v-5f2ba412] {
  font-size: 11px;
  color: #666;
}
.date-text[data-v-5f2ba412] {
  font-size: 12px;
  color: #a6a6a6;
}
.action-buttons[data-v-5f2ba412] {
  display: flex;
  gap: 4px;
}
.btn-icon[data-v-5f2ba412] {
  background: none;
  border: none;
  color: #a6a6a6;
  cursor: pointer;
  padding: 8px;
  border-radius: 6px;
  transition: all 0.3s ease;
  font-size: 16px;
}
.btn-icon[data-v-5f2ba412]:hover {
  background: rgba(255, 255, 255, 0.1);
  color: white;
}
.btn-success[data-v-5f2ba412] {
  color: #10b981;
}
.btn-warning[data-v-5f2ba412] {
  color: #f59e0b;
}
.btn-danger[data-v-5f2ba412] {
  color: #ef4444;
}

/* Пагинация */
.pagination[data-v-5f2ba412] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 24px;
  padding: 16px 0;
}
.pagination-btn[data-v-5f2ba412] {
  background: #1a1a1a;
  border: 1px solid #333;
  color: white;
  padding: 8px 16px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.pagination-btn[data-v-5f2ba412]:hover:not(:disabled) {
  background: #2a2a2a;
  border-color: #10b981;
}
.pagination-btn[data-v-5f2ba412]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.pagination-info[data-v-5f2ba412] {
  color: #a6a6a6;
  font-size: 14px;
}

/* Модальные окна */
.modal-overlay[data-v-5f2ba412] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2000;
  padding: 20px;
}
.modal-content[data-v-5f2ba412] {
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 12px;
  max-width: 600px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  margin: 20px;
  box-sizing: border-box;
}
.small-modal[data-v-5f2ba412] {
  max-width: 400px;
}
.modal-header[data-v-5f2ba412] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px;
  border-bottom: 1px solid #333;
}
.modal-title[data-v-5f2ba412] {
  font-size: 20px;
  font-weight: 600;
  margin: 0;
}
.modal-close[data-v-5f2ba412] {
  background: none;
  border: none;
  color: #a6a6a6;
  font-size: 24px;
  cursor: pointer;
  padding: 8px;
  border-radius: 50%;
  transition: all 0.3s ease;
}
.modal-close[data-v-5f2ba412]:hover {
  background: rgba(255, 255, 255, 0.1);
  color: white;
}
.modal-body[data-v-5f2ba412] {
  padding: 24px;
}

/* Форма */
.user-form[data-v-5f2ba412] {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.form-row[data-v-5f2ba412] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.form-group[data-v-5f2ba412] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.form-label[data-v-5f2ba412] {
  color: #e5e5e5;
  font-size: 14px;
  font-weight: 600;
}
.form-input[data-v-5f2ba412],
.form-select[data-v-5f2ba412] {
  background: #262626;
  border: 1px solid #333;
  color: white;
  padding: 12px;
  border-radius: 8px;
  font-size: 14px;
  transition: border-color 0.3s ease;
}
.form-select[data-v-5f2ba412] {
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a6a6a6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
  padding-right: 40px;
  min-width: 120px;
}
.form-input[data-v-5f2ba412]:focus,
.form-select[data-v-5f2ba412]:focus {
  outline: none;
  border-color: #10b981;
}
.user-info-modal[data-v-5f2ba412] {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 8px;
}
.user-info-modal .user-avatar[data-v-5f2ba412] {
  width: 60px;
  height: 60px;
}
.user-info-modal .user-name[data-v-5f2ba412] {
  font-size: 18px;
  font-weight: 600;
}
.user-info-modal .user-username[data-v-5f2ba412] {
  font-size: 14px;
}
.form-actions[data-v-5f2ba412] {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 24px;
}

/* Адаптивность */
@media (max-width: 1200px) {
.users-table[data-v-5f2ba412] {
    overflow-x: auto;
}
.table-header[data-v-5f2ba412],
  .table-row[data-v-5f2ba412] {
    min-width: 1000px;
}
}
@media (max-width: 768px) {
.section-header[data-v-5f2ba412] {
    flex-direction: column;
    gap: 16px;
    align-items: stretch;
}
.header-actions[data-v-5f2ba412] {
    flex-direction: column;
    gap: 8px;
}
.filters-row[data-v-5f2ba412] {
    flex-direction: column;
    gap: 12px;
}
.search-box[data-v-5f2ba412] {
    min-width: auto;
}
.filter-buttons[data-v-5f2ba412] {
    flex-direction: column;
}
.users-table[data-v-5f2ba412] {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.table-header[data-v-5f2ba412],
  .table-row[data-v-5f2ba412] {
    grid-template-columns: 180px 180px 100px 100px 180px 120px 160px;
    min-width: 900px;
}
.table-cell[data-v-5f2ba412] {
    padding: 12px 8px;
    font-size: 13px;
}
.user-info[data-v-5f2ba412] {
    gap: 8px;
}
.user-avatar[data-v-5f2ba412] {
    width: 32px;
    height: 32px;
}
.user-name[data-v-5f2ba412] {
    font-size: 13px;
}
.user-username[data-v-5f2ba412] {
    font-size: 11px;
}
.activity-stats[data-v-5f2ba412] {
    gap: 1px;
}
.stat[data-v-5f2ba412] {
    font-size: 11px;
}
.last-activity[data-v-5f2ba412] {
    font-size: 10px;
}
.form-row[data-v-5f2ba412] {
    grid-template-columns: 1fr;
}
.modal-content[data-v-5f2ba412] {
    margin: 10px;
    max-height: calc(100vh - 20px);
}
.modal-body[data-v-5f2ba412] {
    padding: 16px;
}
.user-info-modal[data-v-5f2ba412] {
    flex-direction: column;
    text-align: center;
    gap: 12px;
}
.user-info-modal .user-avatar[data-v-5f2ba412] {
    width: 50px;
    height: 50px;
}
}
@media (max-width: 480px) {
.container[data-v-5f2ba412] {
    padding: 0 16px;
}
.filters-section[data-v-5f2ba412] {
    padding: 16px;
}
.table-header[data-v-5f2ba412],
  .table-row[data-v-5f2ba412] {
    grid-template-columns: 160px 160px 80px 80px 160px 100px 140px;
    min-width: 800px;
}
.table-cell[data-v-5f2ba412] {
    padding: 8px 6px;
    font-size: 12px;
}
.user-info[data-v-5f2ba412] {
    gap: 6px;
}
.user-avatar[data-v-5f2ba412] {
    width: 28px;
    height: 28px;
}
.user-name[data-v-5f2ba412] {
    font-size: 12px;
}
.user-username[data-v-5f2ba412] {
    font-size: 10px;
}
.action-buttons[data-v-5f2ba412] {
    flex-direction: column;
    gap: 2px;
}
.btn-icon[data-v-5f2ba412] {
    padding: 6px;
    font-size: 14px;
}
.activity-info[data-v-5f2ba412] {
    gap: 2px;
}
.activity-stats[data-v-5f2ba412] {
    gap: 0;
}
.stat[data-v-5f2ba412] {
    font-size: 10px;
}
.last-activity[data-v-5f2ba412] {
    font-size: 9px;
}
}

.admin-calendar[data-v-0af0c9cd] {
  background: #0a0a0a;
  min-height: 100vh;
  color: white;
}
.section-header[data-v-0af0c9cd] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 32px;
  padding: 24px;
  background: #1a1a1a;
  border-radius: 12px;
  border: 1px solid #333;
}
.header-left[data-v-0af0c9cd] {
  flex: 1;
}
.section-title[data-v-0af0c9cd] {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 8px 0;
  color: white;
}
.section-icon[data-v-0af0c9cd] {
  font-size: 28px;
}
.section-description[data-v-0af0c9cd] {
  color: #a6a6a6;
  margin: 0;
  font-size: 16px;
}
.header-actions[data-v-0af0c9cd] {
  display: flex;
  gap: 12px;
}
.btn[data-v-0af0c9cd] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
}
.btn-primary[data-v-0af0c9cd] {
  background: #10b981;
  color: white;
}
.btn-primary[data-v-0af0c9cd]:hover:not(:disabled) {
  background: #059669;
  transform: translateY(-1px);
}
.btn-secondary[data-v-0af0c9cd] {
  background: #333;
  color: #ffffff;
  border: 1px solid #555;
}
.btn-secondary[data-v-0af0c9cd]:hover {
  background: #444;
  border-color: #666;
}
.btn[data-v-0af0c9cd]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.btn-icon[data-v-0af0c9cd] {
  font-size: 16px;
}
.filters-section[data-v-0af0c9cd] {
  margin-bottom: 24px;
  padding: 20px;
  background: #1a1a1a;
  border-radius: 12px;
  border: 1px solid #333;
}
.filters-row[data-v-0af0c9cd] {
  display: flex;
  gap: 20px;
  align-items: end;
  flex-wrap: wrap;
}
.filter-group[data-v-0af0c9cd] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 200px;
}
.filter-label[data-v-0af0c9cd] {
  font-size: 14px;
  font-weight: 500;
  color: #a6a6a6;
}
.filter-select[data-v-0af0c9cd],
.search-input[data-v-0af0c9cd] {
  padding: 10px 12px;
  background: #2a2a2a;
  border: 1px solid #444;
  border-radius: 6px;
  color: white;
  font-size: 14px;
  transition: all 0.3s ease;
}
.filter-select[data-v-0af0c9cd]:focus,
.search-input[data-v-0af0c9cd]:focus {
  outline: none;
  border-color: #10b981;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}
.search-input[data-v-0af0c9cd] {
  min-width: 300px;
}
.filter-actions[data-v-0af0c9cd] {
  display: flex;
  gap: 12px;
  align-items: center;
}
.sort-info[data-v-0af0c9cd] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: rgba(16, 185, 129, 0.1);
  border: 1px solid rgba(16, 185, 129, 0.3);
  border-radius: 6px;
  font-size: 14px;
}
.sort-label[data-v-0af0c9cd] {
  color: #a6a6a6;
  font-weight: 500;
}
.sort-current[data-v-0af0c9cd] {
  color: #10b981;
  font-weight: 600;
}
.events-table[data-v-0af0c9cd] {
  background: #1a1a1a;
  border-radius: 12px;
  border: 1px solid #333;
  overflow: hidden;
}
.table-header[data-v-0af0c9cd] {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1.5fr 1fr 120px;
  gap: 16px;
  padding: 16px 20px;
  background: #2a2a2a;
  border-bottom: 1px solid #444;
  font-weight: 600;
  color: #a6a6a6;
  font-size: 14px;
}
.sortable[data-v-0af0c9cd] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  user-select: none;
  transition: all 0.3s ease;
  padding: 8px 12px;
  border-radius: 6px;
  margin: -8px -12px;
}
.sortable[data-v-0af0c9cd]:hover {
  background: rgba(16, 185, 129, 0.1);
  color: #10b981;
}
.sort-icon[data-v-0af0c9cd] {
  font-size: 12px;
  margin-left: 8px;
  opacity: 0.7;
  transition: all 0.3s ease;
}
.sortable:hover .sort-icon[data-v-0af0c9cd] {
  opacity: 1;
}
.table-body[data-v-0af0c9cd] {
  max-height: 600px;
  overflow-y: auto;
}
.table-row[data-v-0af0c9cd] {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1.5fr 1fr 120px;
  gap: 16px;
  padding: 16px 20px;
  border-bottom: 1px solid #333;
  transition: background 0.3s ease;
}
.table-row[data-v-0af0c9cd]:hover {
  background: #222;
}
.table-cell[data-v-0af0c9cd] {
  display: flex;
  align-items: center;
  font-size: 14px;
}
.event-info[data-v-0af0c9cd] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.event-title[data-v-0af0c9cd] {
  font-weight: 500;
  color: white;
}
.event-description[data-v-0af0c9cd] {
  color: #a6a6a6;
  font-size: 12px;
  line-height: 1.4;
}
.event-type[data-v-0af0c9cd] {
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
}
.event-type.internship[data-v-0af0c9cd] {
  background: rgba(16, 185, 129, 0.2);
  color: #10b981;
}
.event-type.school[data-v-0af0c9cd] {
  background: rgba(59, 130, 246, 0.2);
  color: #3b82f6;
}
.event-type.competition[data-v-0af0c9cd] {
  background: rgba(245, 158, 11, 0.2);
  color: #f59e0b;
}
.event-type.meetup[data-v-0af0c9cd] {
  background: rgba(139, 92, 246, 0.2);
  color: #8b5cf6;
}
.event-type.conference[data-v-0af0c9cd] {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
}
.company-name[data-v-0af0c9cd] {
  color: white;
  font-weight: 500;
}
.date-info[data-v-0af0c9cd] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.date-item[data-v-0af0c9cd] {
  display: flex;
  gap: 4px;
  font-size: 12px;
}
.date-label[data-v-0af0c9cd] {
  color: #a6a6a6;
}
.date-value[data-v-0af0c9cd] {
  color: white;
}
.event-status[data-v-0af0c9cd] {
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
}
.event-status.upcoming[data-v-0af0c9cd] {
  background: rgba(59, 130, 246, 0.2);
  color: #3b82f6;
}
.event-status.ongoing[data-v-0af0c9cd] {
  background: rgba(16, 185, 129, 0.2);
  color: #10b981;
}
.event-status.ended[data-v-0af0c9cd] {
  background: rgba(107, 114, 128, 0.2);
  color: #6b7280;
}
.action-buttons[data-v-0af0c9cd] {
  display: flex;
  gap: 8px;
}
.btn-icon-small[data-v-0af0c9cd] {
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  transition: all 0.3s ease;
}
.btn-edit[data-v-0af0c9cd] {
  background: rgba(59, 130, 246, 0.2);
  color: #3b82f6;
}
.btn-edit[data-v-0af0c9cd]:hover {
  background: rgba(59, 130, 246, 0.3);
}
.btn-delete[data-v-0af0c9cd] {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
}
.btn-delete[data-v-0af0c9cd]:hover {
  background: rgba(239, 68, 68, 0.3);
}
.loading-state[data-v-0af0c9cd],
.empty-state[data-v-0af0c9cd] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  color: #a6a6a6;
}
.loading-spinner[data-v-0af0c9cd] {
  width: 32px;
  height: 32px;
  border: 3px solid #333;
  border-top: 3px solid #10b981;
  border-radius: 50%;
  animation: spin-0af0c9cd 1s linear infinite;
  margin-bottom: 16px;
}
.loading-spinner-small[data-v-0af0c9cd] {
  width: 16px;
  height: 16px;
  border: 2px solid #333;
  border-top: 2px solid #10b981;
  border-radius: 50%;
  animation: spin-0af0c9cd 1s linear infinite;
}
@keyframes spin-0af0c9cd {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
.empty-icon[data-v-0af0c9cd] {
  font-size: 48px;
  margin-bottom: 16px;
}
.empty-state h3[data-v-0af0c9cd] {
  margin: 0 0 8px 0;
  color: white;
}
.empty-state p[data-v-0af0c9cd] {
  margin: 0;
  text-align: center;
}
.modal-overlay[data-v-0af0c9cd] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 20px;
}
.modal-content[data-v-0af0c9cd] {
  background: #1a1a1a;
  border-radius: 12px;
  border: 1px solid #333;
  width: 100%;
  max-width: 600px;
  max-height: 90vh;
  overflow-y: auto;
}
.modal-header[data-v-0af0c9cd] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid #333;
}
.modal-header h3[data-v-0af0c9cd] {
  margin: 0;
  font-size: 20px;
  color: white;
}
.modal-close[data-v-0af0c9cd] {
  background: none;
  border: none;
  color: #a6a6a6;
  font-size: 20px;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  transition: all 0.3s ease;
}
.modal-close[data-v-0af0c9cd]:hover {
  background: #333;
  color: white;
}
.modal-body[data-v-0af0c9cd] {
  padding: 24px;
}
.form-row[data-v-0af0c9cd] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
}
.form-group[data-v-0af0c9cd] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px;
}
.form-label[data-v-0af0c9cd] {
  font-size: 14px;
  font-weight: 500;
  color: #a6a6a6;
}
.form-input[data-v-0af0c9cd],
.form-select[data-v-0af0c9cd],
.form-textarea[data-v-0af0c9cd] {
  padding: 10px 12px;
  background: #2a2a2a;
  border: 1px solid #444;
  border-radius: 6px;
  color: white;
  font-size: 14px;
  transition: all 0.3s ease;
  font-family: inherit;
}
.form-input[data-v-0af0c9cd]:focus,
.form-select[data-v-0af0c9cd]:focus,
.form-textarea[data-v-0af0c9cd]:focus {
  outline: none;
  border-color: #10b981;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}
.form-textarea[data-v-0af0c9cd] {
  resize: vertical;
  min-height: 80px;
}
.form-actions[data-v-0af0c9cd] {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #333;
}
@media (max-width: 768px) {
.section-header[data-v-0af0c9cd] {
    flex-direction: column;
    gap: 16px;
    align-items: stretch;
}
.filters-row[data-v-0af0c9cd] {
    flex-direction: column;
    gap: 16px;
}
.filter-group[data-v-0af0c9cd] {
    min-width: auto;
}
.search-input[data-v-0af0c9cd] {
    min-width: auto;
}
.table-header[data-v-0af0c9cd],
  .table-row[data-v-0af0c9cd] {
    grid-template-columns: 1fr;
    gap: 8px;
}
.table-cell[data-v-0af0c9cd] {
    padding: 8px 0;
}
.form-row[data-v-0af0c9cd] {
    grid-template-columns: 1fr;
}
.form-actions[data-v-0af0c9cd] {
    flex-direction: column;
}
.filter-actions[data-v-0af0c9cd] {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
}
.sort-info[data-v-0af0c9cd] {
    justify-content: center;
}
}

.admin-page[data-v-381e0a9a] {
  min-height: 100vh;
  background: #0a0a0a;
  color: white;
  overflow-x: hidden;
  width: 100%;
  max-width: 100vw;
  box-sizing: border-box;
}
.container[data-v-381e0a9a] {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
  box-sizing: border-box;
  overflow-x: hidden;
}

/* Заголовок админки */
.admin-header[data-v-381e0a9a] {
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%);
  border-bottom: 1px solid rgba(16, 185, 129, 0.2);
  padding: 40px 0;
  position: relative;
  overflow: hidden;
}
.admin-header[data-v-381e0a9a]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, 
    rgba(16, 185, 129, 0.05) 0%, 
    transparent 50%, 
    rgba(5, 150, 105, 0.05) 100%);
  pointer-events: none;
}
.header-content[data-v-381e0a9a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  position: relative;
  z-index: 1;
}
.admin-title[data-v-381e0a9a] {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 32px;
  font-weight: 700;
  margin: 0;
  background: linear-gradient(135deg, #ffffff 0%, #10b981 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.admin-icon[data-v-381e0a9a] {
  font-size: 36px;
}
.admin-stats[data-v-381e0a9a] {
  display: flex;
  gap: 32px;
  flex-wrap: wrap;
}
.stat-item[data-v-381e0a9a] {
  text-align: center;
}
.stat-number[data-v-381e0a9a] {
  display: block;
  font-size: 24px;
  font-weight: 700;
  color: #10b981;
  margin-bottom: 4px;
}
.stat-label[data-v-381e0a9a] {
  font-size: 14px;
  color: #a6a6a6;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Навигация */
.admin-nav[data-v-381e0a9a] {
  background: #1a1a1a;
  border-bottom: 1px solid #333;
  padding: 0;
  position: sticky;
  top: 0;
  z-index: 100;
  backdrop-filter: blur(10px);
}
.nav-tabs[data-v-381e0a9a] {
  display: flex;
  gap: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.nav-tabs[data-v-381e0a9a]::-webkit-scrollbar {
  display: none;
}
.nav-tab[data-v-381e0a9a] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px 24px;
  background: transparent;
  border: none;
  color: #a6a6a6;
  cursor: pointer;
  transition: all 0.3s ease;
  border-bottom: 3px solid transparent;
  white-space: nowrap;
  position: relative;
  font-weight: 500;
}
.nav-tab[data-v-381e0a9a]:hover {
  color: white;
  background: rgba(16, 185, 129, 0.1);
}
.nav-tab.active[data-v-381e0a9a] {
  color: #10b981;
  border-bottom-color: #10b981;
  background: rgba(16, 185, 129, 0.1);
  font-weight: 600;
}
.nav-tab.active[data-v-381e0a9a]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, 
    transparent 0%, 
    #10b981 50%, 
    transparent 100%);
}
.tab-icon[data-v-381e0a9a] {
  font-size: 18px;
}
.tab-label[data-v-381e0a9a] {
  font-weight: 500;
}
.tab-count[data-v-381e0a9a] {
  background: rgba(16, 185, 129, 0.2);
  color: #10b981;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
}

/* Контент */
.admin-content[data-v-381e0a9a] {
  padding: 40px 0;
  min-height: calc(100vh - 200px);
}

/* Дашборд */
.dashboard-grid[data-v-381e0a9a] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  gap: 24px;
}
.dashboard-card[data-v-381e0a9a] {
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}
.dashboard-card[data-v-381e0a9a]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, 
    rgba(16, 185, 129, 0.8) 0%, 
    rgba(5, 150, 105, 1) 50%, 
    rgba(16, 185, 129, 0.8) 100%);
}
.dashboard-card[data-v-381e0a9a]:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
}
.dashboard-card h3[data-v-381e0a9a] {
  margin: 0 0 20px 0;
  font-size: 18px;
  font-weight: 600;
  color: white;
  position: relative;
  z-index: 1;
}

/* Последние задачи */
.recent-items[data-v-381e0a9a] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.recent-item[data-v-381e0a9a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.item-info[data-v-381e0a9a] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.item-title[data-v-381e0a9a] {
  font-weight: 500;
  color: white;
}
.item-meta[data-v-381e0a9a] {
  font-size: 12px;
  color: #a6a6a6;
}
.item-actions[data-v-381e0a9a] {
  display: flex;
  gap: 8px;
}
.btn-small[data-v-381e0a9a] {
  padding: 6px 12px;
  font-size: 12px;
  border-radius: 6px;
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
}
.btn-primary[data-v-381e0a9a] {
  background: #10b981;
  color: white;
}
.btn-primary[data-v-381e0a9a]:hover {
  background: #059669;
}

/* График активности */
.chart-placeholder[data-v-381e0a9a] {
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #a6a6a6;
  font-size: 16px;
}

/* Быстрые действия */
.quick-actions[data-v-381e0a9a] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
}
.action-btn[data-v-381e0a9a] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  color: white;
  cursor: pointer;
  transition: all 0.3s ease;
  text-align: left;
  position: relative;
  overflow: hidden;
}
.action-btn[data-v-381e0a9a]::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
  transition: left 0.5s;
}
.action-btn[data-v-381e0a9a]:hover {
  background: rgba(16, 185, 129, 0.1);
  border-color: #10b981;
  transform: translateY(-2px);
}
.action-btn[data-v-381e0a9a]:hover::before {
  left: 100%;
}
.action-icon[data-v-381e0a9a] {
  font-size: 20px;
  position: relative;
  z-index: 1;
}

/* Адаптивность */
@media (max-width: 1200px) {
.admin-stats[data-v-381e0a9a] {
    gap: 20px;
}
.stat-number[data-v-381e0a9a] {
    font-size: 20px;
}
}
@media (max-width: 768px) {
.header-content[data-v-381e0a9a] {
    flex-direction: column;
    text-align: center;
    gap: 16px;
}
.admin-title[data-v-381e0a9a] {
    font-size: 24px;
}
.admin-stats[data-v-381e0a9a] {
    justify-content: center;
    gap: 16px;
}
.stat-number[data-v-381e0a9a] {
    font-size: 18px;
}
.nav-tabs[data-v-381e0a9a] {
    padding: 0 20px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.nav-tab[data-v-381e0a9a] {
    padding: 12px 16px;
    font-size: 14px;
}
.dashboard-grid[data-v-381e0a9a] {
    grid-template-columns: 1fr;
    gap: 16px;
}
.quick-actions[data-v-381e0a9a] {
    grid-template-columns: 1fr;
}
.action-btn[data-v-381e0a9a] {
    padding: 12px;
    font-size: 14px;
}
}
@media (max-width: 480px) {
.container[data-v-381e0a9a] {
    padding: 0 16px;
}
.admin-header[data-v-381e0a9a] {
    padding: 24px 0;
}
.admin-title[data-v-381e0a9a] {
    font-size: 20px;
}
.admin-stats[data-v-381e0a9a] {
    gap: 12px;
}
.stat-number[data-v-381e0a9a] {
    font-size: 16px;
}
.stat-label[data-v-381e0a9a] {
    font-size: 12px;
}
}
/* stylelint-disable */
html,
body {
  width: 100%;
  height: 100%;
}
input::-ms-clear,
input::-ms-reveal {
  display: none;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
@-ms-viewport {
  width: device-width;
}
body {
  margin: 0;
}
[tabindex='-1']:focus {
  outline: none;
}
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: 0.5em;
  font-weight: 500;
}
p {
  margin-top: 0;
  margin-bottom: 1em;
}
abbr[title],
abbr[data-original-title] {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline;
  text-decoration: underline dotted;
  border-bottom: 0;
  cursor: help;
}
address {
  margin-bottom: 1em;
  font-style: normal;
  line-height: inherit;
}
input[type='text'],
input[type='password'],
input[type='number'],
textarea {
  -webkit-appearance: none;
}
ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1em;
}
ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}
dt {
  font-weight: 500;
}
dd {
  margin-bottom: 0.5em;
  margin-left: 0;
}
blockquote {
  margin: 0 0 1em;
}
dfn {
  font-style: italic;
}
b,
strong {
  font-weight: bolder;
}
small {
  font-size: 80%;
}
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
pre,
code,
kbd,
samp {
  font-size: 1em;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
}
pre {
  margin-top: 0;
  margin-bottom: 1em;
  overflow: auto;
}
figure {
  margin: 0 0 1em;
}
img {
  vertical-align: middle;
  border-style: none;
}
a,
area,
button,
[role='button'],
input:not([type='range']),
label,
select,
summary,
textarea {
  touch-action: manipulation;
}
table {
  border-collapse: collapse;
}
caption {
  padding-top: 0.75em;
  padding-bottom: 0.3em;
  text-align: left;
  caption-side: bottom;
}
input,
button,
select,
optgroup,
textarea {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}
button,
input {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html [type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button;
}
button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  padding: 0;
  border-style: none;
}
input[type='radio'],
input[type='checkbox'] {
  box-sizing: border-box;
  padding: 0;
}
input[type='date'],
input[type='time'],
input[type='datetime-local'],
input[type='month'] {
  -webkit-appearance: listbox;
}
textarea {
  overflow: auto;
  resize: vertical;
}
fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
legend {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-bottom: 0.5em;
  padding: 0;
  color: inherit;
  font-size: 1.5em;
  line-height: inherit;
  white-space: normal;
}
progress {
  vertical-align: baseline;
}
[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
  height: auto;
}
[type='search'] {
  outline-offset: -2px;
  -webkit-appearance: none;
}
[type='search']::-webkit-search-cancel-button,
[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}
output {
  display: inline-block;
}
summary {
  display: list-item;
}
template {
  display: none;
}
[hidden] {
  display: none !important;
}
mark {
  padding: 0.2em;
  background-color: #feffe6;
}
/* Цветовая палитра проекта */

:root {
  /* Основные цвета фона */
  --bg-primary: #0a0a0a;
  --bg-secondary: #1a1a1a;
  --bg-tertiary: #2a2a2a;
  --bg-card: #1a1a1a;
  --bg-modal: #1a1a1a;

  /* Цвета текста */
  --text-primary: #ffffff;
  --text-secondary: #9ca3af;
  --text-muted: #6b7280;
  --text-inverse: #000000;

  /* Цвета границ */
  --border-primary: #374151;
  --border-secondary: #4b5563;
  --border-accent: #10b981;

  /* Акцентные цвета */
  --accent-primary: #10b981;
  --accent-secondary: #059669;
  --accent-hover: #047857;

  /* Тени */
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.5);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.6);

  /* Градиенты */
  --gradient-primary: linear-gradient(135deg, #10b981 0%, #059669 100%);
  --gradient-bg: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 100%);
  --gradient-card: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%);
  --gradient-telegram: linear-gradient(135deg, #0088cc 0%, #006699 100%);

  /* Цвета событий */
  --event-internship: #10b981;
  --event-school: #3b82f6;
  --event-competition: #f59e0b;
  --event-meetup: #8b5cf6;
  --event-conference: #ef4444;

  /* Градиенты событий */
  --gradient-internship: linear-gradient(135deg, #10b981 0%, #059669 100%);
  --gradient-school: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
  --gradient-competition: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
  --gradient-meetup: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
  --gradient-conference: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);

  /* Фоны событий */
  --bg-event-internship: rgba(16, 185, 129, 0.2);
  --bg-event-school: rgba(59, 130, 246, 0.2);
  --bg-event-competition: rgba(245, 158, 11, 0.2);
  --bg-event-meetup: rgba(139, 92, 246, 0.2);
  --bg-event-conference: rgba(239, 68, 68, 0.2);

  /* Статусы */
  --status-upcoming: #3b82f6;
  --status-ongoing: #10b981;
  --status-ended: #6b7280;

  /* Фоны статусов */
  --bg-status-upcoming: rgba(59, 130, 246, 0.2);
  --bg-status-ongoing: rgba(16, 185, 129, 0.2);
  --bg-status-ended: rgba(107, 114, 128, 0.2);

  /* Ошибки и предупреждения */
  --error: #ef4444;
  --warning: #f59e0b;
  --success: #10b981;
  --info: #3b82f6;

  /* Фоны ошибок */
  --bg-error: rgba(239, 68, 68, 0.2);
  --bg-warning: rgba(245, 158, 11, 0.2);
  --bg-success: rgba(16, 185, 129, 0.2);
  --bg-info: rgba(59, 130, 246, 0.2);

  /* Дополнительные переменные */
  --accent-primary-5: rgba(16, 185, 129, 0.05);
  --accent-primary-10: rgba(16, 185, 129, 0.1);
  --accent-primary-20: rgba(16, 185, 129, 0.2);
  --accent-primary-30: rgba(16, 185, 129, 0.3);
  --accent-primary-50: rgba(16, 185, 129, 0.5);

  --text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
  --modal-overlay: rgba(0, 0, 0, 0.8);

  --warning-20: rgba(245, 158, 11, 0.2);
  --text-muted-20: rgba(107, 114, 128, 0.2);
  --error-dark: #c82333;

  /* Уровни активности для темной темы */
  --activity-level-0: #161b22;
  --activity-level-1: #0e4429;
  --activity-level-2: #006d32;
  --activity-level-3: #26a641;
  --activity-level-4: #39d353;
}

/* Светлая тема */
.theme-light {
  --bg-primary: #ffffff;
  --bg-secondary: #f8fafc;
  --bg-tertiary: #f1f5f9;
  --bg-card: #ffffff;
  --bg-modal: #ffffff;

  --text-primary: #1e293b;
  --text-secondary: #64748b;
  --text-muted: #94a3b8;
  --text-inverse: #ffffff;

  --border-primary: #e2e8f0;
  --border-secondary: #cbd5e1;
  --border-accent: #10b981;

  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1);

  --gradient-bg: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
  --gradient-card: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);

  /* Дополнительные переменные для светлой темы */
  --accent-primary-5: rgba(16, 185, 129, 0.05);
  --accent-primary-10: rgba(16, 185, 129, 0.1);
  --accent-primary-20: rgba(16, 185, 129, 0.2);
  --accent-primary-30: rgba(16, 185, 129, 0.3);
  --accent-primary-50: rgba(16, 185, 129, 0.5);

  --text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  --modal-overlay: rgba(0, 0, 0, 0.5);

  --warning-20: rgba(245, 158, 11, 0.2);
  --text-muted-20: rgba(148, 163, 184, 0.2);
  --error-dark: #dc2626;

  /* Уровни активности для светлой темы */
  --activity-level-0: #ebedf0;
  --activity-level-1: #9be9a8;
  --activity-level-2: #40c463;
  --activity-level-3: #30a14e;
  --activity-level-4: #216e39;
}

/* Темная тема */
.theme-dark {
  --bg-primary: #1d1d1d;
  --bg-secondary: #1a1a1a;
  --bg-tertiary: #2a2a2a;
  --bg-card: #1a1a1a;
  --bg-modal: #1a1a1a;

  --text-primary: #ffffff;
  --text-secondary: #9ca3af;
  --text-muted: #6b7280;
  --text-inverse: #000000;

  --border-primary: #374151;
  --border-secondary: #4b5563;
  --border-accent: #10b981;

  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.5);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.6);

  --gradient-bg: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 100%);
  --gradient-card: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%);

  /* Дополнительные переменные для темной темы */
  --accent-primary-5: rgba(16, 185, 129, 0.05);
  --accent-primary-10: rgba(16, 185, 129, 0.1);
  --accent-primary-20: rgba(16, 185, 129, 0.2);
  --accent-primary-30: rgba(16, 185, 129, 0.3);
  --accent-primary-50: rgba(16, 185, 129, 0.5);

  --text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
  --modal-overlay: rgba(0, 0, 0, 0.8);

  --warning-20: rgba(245, 158, 11, 0.2);
  --text-muted-20: rgba(107, 114, 128, 0.2);
  --error-dark: #c82333;

  /* Уровни активности для темной темы */
  --activity-level-0: #161b22;
  --activity-level-1: #0e4429;
  --activity-level-2: #006d32;
  --activity-level-3: #26a641;
  --activity-level-4: #39d353;
}
