:root {
    --pd-bg-body: #0a0c10;
    --pd-bg-navbar: #000000;
    --pd-bg-card: #12161f;
    --pd-border: rgba(255, 255, 255, 0.1);
    --pd-text-main: #e0e6ed;
    --pd-text-muted: #8898aa;
    --pd-accent: #00f2fe;
    --pd-accent-hover: #4facfe;
    --pd-accent-glow: rgba(0, 242, 254, 0.4);
    --pd-shadow-card: 0 4px 6px rgba(0,0,0,0.3);
    --font-family-base: 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
}
[data-theme="light"] {
    --pd-bg-body: #f4f7f6;
    --pd-bg-navbar: #ffffff;
    --pd-bg-card: #ffffff;
    --pd-border: rgba(0, 0, 0, 0.15);
    --pd-text-main: #2d3748;
    --pd-text-muted: #718096;
    --pd-accent: #0056b3;
    --pd-accent-glow: rgba(0, 86, 179, 0.2);
    --pd-shadow-card: 0 4px 12px rgba(0,0,0,0.08);
}
body { background-color: var(--pd-bg-body) !important; color: var(--pd-text-main) !important; font-family: var(--font-family-base); transition: 0.3s ease; -webkit-font-smoothing: antialiased; }
.pd-text { color: var(--pd-text-main) !important; }
.pd-label { color: var(--pd-text-muted) !important; font-weight: 600; }
.pd-balance { color: #f59e0b !important; }
.pd-navbar { background-color: var(--pd-bg-navbar) !important; border-bottom: 1px solid var(--pd-border) !important; padding-top: 15px; padding-bottom: 15px; transition: 0.3s ease; }
.pd-logo span { color: var(--pd-accent); text-shadow: 0 0 10px var(--pd-accent-glow); }
.pd-logo { color: var(--pd-text-main) !important; text-decoration: none;}
.pd-nav-link { color: var(--pd-text-muted) !important; font-weight: 500; transition: 0.2s; }
.pd-nav-link:hover, .pd-nav-link.active { color: var(--pd-accent) !important; }
.pd-theme-toggle { border: 1px solid var(--pd-border); color: var(--pd-text-main); background: transparent; transition: 0.3s; }
.pd-theme-toggle:hover { background: var(--pd-border); color: var(--pd-text-main); }
.pd-auth-btn { background-color: transparent; border: 1px solid var(--pd-accent) !important; color: var(--pd-accent) !important; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; transition: 0.3s ease; }
.pd-auth-btn:hover { background-color: var(--pd-accent) !important; color: #fff !important; box-shadow: 0 0 15px var(--pd-accent-glow); }
.game-card { background-color: var(--pd-bg-card) !important; border: 1px solid var(--pd-border) !important; border-radius: 10px; overflow: hidden; box-shadow: var(--pd-shadow-card); transition: 0.3s ease !important; }
.game-card:hover { transform: translateY(-5px); border-color: var(--pd-accent) !important; box-shadow: 0 10px 20px rgba(0,0,0,0.2), 0 0 15px var(--pd-accent-glow); }
.pd-input { background-color: var(--pd-bg-body) !important; color: var(--pd-text-main) !important; border: 1px solid var(--pd-border) !important; border-radius: 6px; transition: 0.3s ease; }
.pd-input:focus { border-color: var(--pd-accent) !important; box-shadow: 0 0 8px var(--pd-accent-glow) !important; outline: none; }
.pd-input::placeholder { color: var(--pd-text-muted) !important; opacity: 0.6; }
.pd-tab-btn { color: var(--pd-text-muted) !important; border: 1px solid var(--pd-border) !important; background: transparent !important; transition: 0.3s; }
.pd-tab-btn.active { color: var(--pd-accent) !important; border-color: var(--pd-accent) !important; background: rgba(0, 150, 255, 0.05) !important; }
.pd-play-btn { background-color: transparent; border: 1px solid var(--pd-border); color: var(--pd-text-muted); transition: all 0.3s ease; }
.pd-play-btn:hover { border-color: var(--pd-accent); color: var(--pd-accent); background-color: rgba(0, 242, 254, 0.05); box-shadow: 0 0 10px var(--pd-accent-glow); }
.pd-footer-link { color: var(--pd-text-muted); text-decoration: none; transition: 0.2s ease; }
.pd-footer-link:hover { color: var(--pd-accent); padding-left: 5px; }
.pd-modal-content { background-color: var(--pd-bg-body) !important; border: 1px solid var(--pd-accent) !important; box-shadow: 0 0 30px rgba(0, 0, 0, 0.5); }
.pd-inventory-card { background-color: var(--pd-bg-navbar) !important; border-color: var(--pd-border) !important; }
[data-theme="light"] .btn-close-white { filter: invert(1) grayscale(100%) brightness(200%); }
[data-theme="light"] .modal-title { color: var(--pd-text-main) !important; }
.bg-matrix { background: linear-gradient(rgba(10, 12, 16, 0.9), rgba(10, 12, 16, 0.9)), url('https://www.transparenttextures.com/patterns/black-scales.png'); border-color: #22c55e !important; }
.bg-synthwave { background: linear-gradient(135deg, rgba(236, 72, 153, 0.1) 0%, rgba(139, 92, 246, 0.1) 100%); border-color: #ec4899 !important; }
.pd-notification-bell { background: transparent; border: none; color: var(--pd-text-muted); transition: 0.3s; position: relative; }
.pd-notification-bell:hover { color: var(--pd-accent); }
.pd-notification-dot { position: absolute; top: 0; right: 2px; width: 8px; height: 8px; background-color: #ef4444; border-radius: 50%; box-shadow: 0 0 5px #ef4444; }
.pd-btn-copy { background-color: var(--pd-accent) !important; color: #000000 !important; font-weight: 800 !important; text-transform: uppercase; border: none; }

/* ФИКС ДЛЯ ТАБЛИЦ */
.table { --bs-table-bg: transparent; --bs-table-color: var(--pd-text-main); }
.table-borderless tbody tr { border-bottom: 1px solid var(--pd-border) !important; }

/* ФИКС ДЛЯ КОЛОКОЛЬЧИКА И ВЫПАДАЮЩЕГО МЕНЮ */
.dropdown-menu.game-card { background-color: var(--pd-bg-card) !important; color: var(--pd-text-main); }
.dropdown-menu.game-card .dropdown-item { color: var(--pd-text-main); transition: 0.2s; background: transparent; }
.dropdown-menu.game-card .dropdown-item:hover { background-color: var(--pd-border); color: var(--pd-accent); }

/* ПРОФЕССИОНАЛЬНЫЙ ГОРИЗОНТАЛЬНЫЙ СКРОЛЛ ДЛЯ ФИЛЬТРОВ */
.pd-filter-scroll {
    display: flex; gap: 0.5rem; overflow-x: auto; white-space: nowrap; padding-bottom: 0.5rem; scrollbar-width: none;
}
.pd-filter-scroll::-webkit-scrollbar { display: none; }

/* Фикс для аватарки в светлой теме */
#profAvatarLetter, #previewLetter { color: #ffffff !important; }
.spinner-border { color: var(--pd-accent); }

/* --- ЖЕЛЕЗОБЕТОННЫЙ ФИКС МЕНЮ УВЕДОМЛЕНИЙ --- */
.pd-notif-menu {
    width: 350px;
    max-height: 60vh; /* Меню не будет больше 60% высоты экрана */
    overflow-y: auto; /* Включаем скролл */
    left: auto !important; 
    right: 0 !important;
    scrollbar-width: thin;
    scrollbar-color: var(--pd-accent) transparent;
}

/* Кастомный скроллбар для красоты */
.pd-notif-menu::-webkit-scrollbar { width: 5px; }
.pd-notif-menu::-webkit-scrollbar-track { background: transparent; }
.pd-notif-menu::-webkit-scrollbar-thumb { background-color: var(--pd-accent); border-radius: 5px; }

/* Мобильная версия: отрываем меню от шапки и прибиваем к экрану */
@media (max-width: 576px) {
    .pd-notif-menu.show {
        position: fixed !important;
        top: 60px !important; 
        right: 10px !important; 
        left: 10px !important; 
        width: auto !important; 
        max-height: calc(100vh - 80px) !important;
        transform: none !important; /* Убиваем скрипты Popper.js */
        z-index: 1050;
    }
}
/* === ГЛОБАЛЬНЫЕ КЛАССЫ РЕДКОСТИ (Свечение) === */
.rarity-glow-common { box-shadow: 0 0 15px rgba(156, 163, 175, 0.3); border-color: #9ca3af !important; }
.rarity-glow-rare { box-shadow: 0 0 15px rgba(59, 130, 246, 0.4); border-color: #3b82f6 !important; }
.rarity-glow-epic { box-shadow: 0 0 15px rgba(168, 85, 247, 0.5); border-color: #a855f7 !important; }
.rarity-glow-legendary { box-shadow: 0 0 15px rgba(234, 179, 8, 0.6); border-color: #eab308 !important; }

.rarity-glow-common:hover { box-shadow: 0 0 25px rgba(156, 163, 175, 0.5); border-color: #9ca3af !important; }
.rarity-glow-rare:hover { box-shadow: 0 0 25px rgba(59, 130, 246, 0.6); border-color: #3b82f6 !important; }
.rarity-glow-epic:hover { box-shadow: 0 0 25px rgba(168, 85, 247, 0.7); border-color: #a855f7 !important; }
.rarity-glow-legendary:hover { box-shadow: 0 0 25px rgba(234, 179, 8, 0.8); border-color: #eab308 !important; }

/* === УНИВЕРСАЛЬНЫЕ ЭЛЕМЕНТЫ ПРОФИЛЕЙ И ИНВЕНТАРЯ === */
[data-theme="dark"] .btn-close { filter: invert(1) grayscale(100%) brightness(200%); }

/* Фильтры и Вкладки */
.inv-category-btn, .inv-game-filter, .pub-tab-btn { background: transparent; border: 1px solid var(--pd-border); color: var(--pd-text-muted); padding: 8px 16px; border-radius: 8px; font-weight: bold; transition: 0.2s; cursor: pointer; text-align: center; white-space: nowrap; }
.inv-category-btn.active, .inv-category-btn:hover, .inv-game-filter.active, .inv-game-filter:hover { background: var(--pd-accent); color: var(--pd-bg-body); border-color: var(--pd-accent); }
.pub-tab-btn { border-radius: 0; border: none; border-bottom: 2px solid transparent; }
.pub-tab-btn.active, .pub-tab-btn:hover { color: var(--pd-accent); border-bottom-color: var(--pd-accent); background: transparent; }

/* Карточки Инвентаря */
.inv-item-card { background: var(--pd-bg-card); border: 2px solid transparent; border-radius: 12px; padding: 10px; cursor: pointer; transition: 0.2s; text-align: center; position: relative; }
.inv-item-card:hover { transform: translateY(-3px); box-shadow: 0 5px 15px rgba(0,0,0,0.1); }
.inv-item-card.equipped { border-color: var(--pd-accent); background: rgba(0,242,254,0.05); }

/* Элементы настроек и друзей */
.settings-block { background: var(--pd-bg-card); border: 1px solid var(--pd-border); border-radius: 12px; padding: 20px; height: 100%; }
.friend-card { background: rgba(0,0,0,0.2); border: 1px solid var(--pd-border); border-radius: 8px; transition: 0.2s; display: flex; align-items: center; justify-content: space-between; padding: 10px 15px; cursor: pointer; position: relative;}
.friend-card:hover { border-color: var(--pd-accent); background: rgba(0,242,254,0.05); transform: translateY(-2px); }
.ref-stat-box { background: rgba(139, 92, 246, 0.1); border: 1px solid #8b5cf6; border-radius: 12px; padding: 20px; text-align: center; }
.pub-section { display: none; animation: fadeIn 0.3s; }
.pub-section.active { display: block; }

/* === КНОПКИ И БЛОКИ ПРЕДПРОСМОТРА (Preview) === */
.preview-mode-btn { background: transparent; border: 1px solid var(--pd-border); color: inherit; padding: 4px 10px; border-radius: 20px; font-size: 0.8rem; cursor: pointer; transition: 0.2s; opacity: 0.6; }
.preview-mode-btn.active { opacity: 1; border-color: var(--pd-accent); background: rgba(0,242,254,0.1); color: var(--pd-accent); font-weight: bold; }
.preview-mode-box { display: none; width: 100%; align-items: center; justify-content: center; animation: fadeIn 0.3s; }
.preview-mode-box.active { display: flex; }