625 lines
14 KiB
CSS
625 lines
14 KiB
CSS
/**
|
||
* Визуальные исправления для Phantom Protocol
|
||
* Исправляет проблемы с читаемостью и наложением блоков
|
||
* Version: 2.1.0
|
||
*/
|
||
|
||
/* ==========================================
|
||
ИСПРАВЛЕНИЕ КОНТРАСТНОСТИ ТЕКСТА
|
||
========================================== */
|
||
|
||
/* Основной текст - увеличенная контрастность */
|
||
body {
|
||
color: #e6e6ff;
|
||
}
|
||
|
||
/* Заголовки - яркий белый цвет */
|
||
h1, h2, h3, h4, h5, h6 {
|
||
color: #ffffff !important;
|
||
text-shadow: 0 0 20px rgba(0, 240, 255, 0.3);
|
||
}
|
||
|
||
/* Текст на карточках - улучшенная читаемость */
|
||
.card, .glass-card {
|
||
color: #e6e6ff !important;
|
||
}
|
||
|
||
.card-title {
|
||
color: #ffffff !important;
|
||
font-weight: 600;
|
||
}
|
||
|
||
.card-text, .card-body p {
|
||
color: #d0d0e8 !important;
|
||
}
|
||
|
||
/* Мутированный текст - более читаемый */
|
||
.text-muted {
|
||
color: #b0b0d0 !important;
|
||
}
|
||
|
||
.card .text-muted {
|
||
color: #c0c0dd !important;
|
||
}
|
||
|
||
/* Текст на темном фоне */
|
||
.bg-dark .text-muted,
|
||
.bg-dark p,
|
||
.bg-dark small {
|
||
color: #d0d0e8 !important;
|
||
}
|
||
|
||
/* Lead текст - более заметный */
|
||
.lead {
|
||
color: #f0f0ff !important;
|
||
font-weight: 400;
|
||
}
|
||
|
||
/* Ссылки - улучшенная видимость */
|
||
a {
|
||
color: #00f0ff !important;
|
||
}
|
||
|
||
a:hover {
|
||
color: #7a3eff !important;
|
||
}
|
||
|
||
/* Ссылки в карточках */
|
||
.card a, .glass-card a {
|
||
color: #00f0ff !important;
|
||
font-weight: 500;
|
||
}
|
||
|
||
/* ==========================================
|
||
ИСПРАВЛЕНИЕ НАЛОЖЕНИЯ БЛОКОВ
|
||
========================================== */
|
||
|
||
/* Navbar - правильный z-index */
|
||
.navbar {
|
||
z-index: 1030 !important;
|
||
position: fixed !important;
|
||
top: 0;
|
||
left: 0;
|
||
right: 0;
|
||
}
|
||
|
||
/* Hero section - отступ сверху для navbar */
|
||
.hero-section,
|
||
section[class*="hero"] {
|
||
margin-top: 80px !important;
|
||
padding-top: 80px !important;
|
||
}
|
||
|
||
/* Основные секции - правильные отступы */
|
||
section {
|
||
position: relative;
|
||
z-index: 1;
|
||
padding: 80px 0;
|
||
}
|
||
|
||
section:first-of-type {
|
||
padding-top: 120px;
|
||
}
|
||
|
||
/* Карточки - правильный z-index */
|
||
.card, .glass-card {
|
||
position: relative;
|
||
z-index: 2;
|
||
margin-bottom: 30px;
|
||
}
|
||
|
||
/* Sticky sidebar - правильный z-index */
|
||
.sticky-top {
|
||
z-index: 10 !important;
|
||
top: 100px !important;
|
||
}
|
||
|
||
/* Footer - не налазит на контент */
|
||
.footer {
|
||
position: relative;
|
||
z-index: 1;
|
||
margin-top: 80px;
|
||
clear: both;
|
||
}
|
||
|
||
/* Модальные окна */
|
||
.modal {
|
||
z-index: 1050 !important;
|
||
}
|
||
|
||
.modal-backdrop {
|
||
z-index: 1040 !important;
|
||
}
|
||
|
||
/* Dropdown меню */
|
||
.dropdown-menu {
|
||
z-index: 1000 !important;
|
||
}
|
||
|
||
/* ==========================================
|
||
ИСПРАВЛЕНИЕ SPACING
|
||
========================================== */
|
||
|
||
/* Контейнеры - правильные отступы */
|
||
.container {
|
||
padding-left: 15px !important;
|
||
padding-right: 15px !important;
|
||
}
|
||
|
||
/* Строки - убираем переполнение */
|
||
.row {
|
||
margin-left: -15px !important;
|
||
margin-right: -15px !important;
|
||
}
|
||
|
||
/* Колонки - правильные отступы */
|
||
[class*="col-"] {
|
||
padding-left: 15px !important;
|
||
padding-right: 15px !important;
|
||
}
|
||
|
||
/* Margin между секциями */
|
||
section + section {
|
||
margin-top: 0;
|
||
}
|
||
|
||
/* Padding в карточках */
|
||
.card-body {
|
||
padding: 2rem !important;
|
||
}
|
||
|
||
/* ==========================================
|
||
УЛУЧШЕНИЕ КАРТОЧЕК (GLASS CARDS)
|
||
========================================== */
|
||
|
||
.glass-card {
|
||
background: rgba(19, 19, 26, 0.85) !important;
|
||
backdrop-filter: blur(20px) !important;
|
||
border: 1px solid rgba(255, 255, 255, 0.1) !important;
|
||
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5) !important;
|
||
}
|
||
|
||
/* Hover эффект для карточек */
|
||
.glass-card:hover {
|
||
background: rgba(19, 19, 26, 0.95) !important;
|
||
border-color: rgba(0, 240, 255, 0.3) !important;
|
||
box-shadow: 0 12px 48px rgba(0, 240, 255, 0.2) !important;
|
||
}
|
||
|
||
/* Карточки Bootstrap */
|
||
.card {
|
||
background: rgba(19, 19, 26, 0.85) !important;
|
||
border: 1px solid rgba(255, 255, 255, 0.1) !important;
|
||
color: #e6e6ff !important;
|
||
}
|
||
|
||
.card-header {
|
||
background: rgba(0, 240, 255, 0.1) !important;
|
||
border-bottom: 1px solid rgba(0, 240, 255, 0.2) !important;
|
||
color: #ffffff !important;
|
||
}
|
||
|
||
/* ==========================================
|
||
ИСПРАВЛЕНИЕ ТАБЛИЦ
|
||
========================================== */
|
||
|
||
.table {
|
||
color: #e6e6ff !important;
|
||
}
|
||
|
||
.table-dark {
|
||
background-color: rgba(19, 19, 26, 0.8) !important;
|
||
color: #e6e6ff !important;
|
||
}
|
||
|
||
.table-dark thead th {
|
||
background-color: rgba(0, 240, 255, 0.1) !important;
|
||
color: #ffffff !important;
|
||
border-color: rgba(0, 240, 255, 0.2) !important;
|
||
}
|
||
|
||
.table-dark tbody tr {
|
||
border-color: rgba(255, 255, 255, 0.1) !important;
|
||
}
|
||
|
||
.table-dark td {
|
||
color: #d0d0e8 !important;
|
||
}
|
||
|
||
/* Hover эффект для строк */
|
||
.table-hover tbody tr:hover {
|
||
background-color: rgba(0, 240, 255, 0.05) !important;
|
||
color: #ffffff !important;
|
||
}
|
||
|
||
/* ==========================================
|
||
ИСПРАВЛЕНИЕ ФОРМ
|
||
========================================== */
|
||
|
||
.form-control {
|
||
background-color: rgba(19, 19, 26, 0.8) !important;
|
||
border: 1px solid rgba(255, 255, 255, 0.2) !important;
|
||
color: #e6e6ff !important;
|
||
}
|
||
|
||
.form-control:focus {
|
||
background-color: rgba(19, 19, 26, 0.9) !important;
|
||
border-color: var(--color-accent) !important;
|
||
color: #ffffff !important;
|
||
box-shadow: 0 0 0 0.2rem rgba(0, 240, 255, 0.25) !important;
|
||
}
|
||
|
||
.form-control::placeholder {
|
||
color: #9999b8 !important;
|
||
opacity: 0.8;
|
||
}
|
||
|
||
/* ==========================================
|
||
ИСПРАВЛЕНИЕ КНОПОК
|
||
========================================== */
|
||
|
||
/* Все кнопки - улучшенная контрастность */
|
||
.btn {
|
||
font-weight: 500;
|
||
border: none;
|
||
padding: 0.75rem 1.5rem;
|
||
}
|
||
|
||
.btn-primary {
|
||
background: linear-gradient(135deg, #00f0ff 0%, #7a3eff 100%) !important;
|
||
color: #ffffff !important;
|
||
border: none !important;
|
||
}
|
||
|
||
.btn-outline-light {
|
||
border: 2px solid rgba(255, 255, 255, 0.3) !important;
|
||
color: #ffffff !important;
|
||
}
|
||
|
||
.btn-outline-light:hover {
|
||
background: rgba(255, 255, 255, 0.1) !important;
|
||
border-color: var(--color-accent) !important;
|
||
color: #ffffff !important;
|
||
}
|
||
|
||
.btn-gradient {
|
||
background: linear-gradient(135deg, #00f0ff 0%, #7a3eff 100%) !important;
|
||
color: #ffffff !important;
|
||
border: none !important;
|
||
font-weight: 600;
|
||
}
|
||
|
||
/* ==========================================
|
||
ИСПРАВЛЕНИЕ НАВИГАЦИИ
|
||
========================================== */
|
||
|
||
.navbar {
|
||
background: rgba(10, 10, 15, 0.95) !important;
|
||
backdrop-filter: blur(20px) !important;
|
||
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
|
||
}
|
||
|
||
.navbar-brand {
|
||
color: #ffffff !important;
|
||
font-weight: 700;
|
||
}
|
||
|
||
.nav-link {
|
||
color: #d0d0e8 !important;
|
||
font-weight: 500;
|
||
}
|
||
|
||
.nav-link:hover,
|
||
.nav-link.active {
|
||
color: #00f0ff !important;
|
||
}
|
||
|
||
/* Theme toggle button */
|
||
.theme-toggle {
|
||
background: rgba(255, 255, 255, 0.1) !important;
|
||
border: 1px solid rgba(255, 255, 255, 0.2) !important;
|
||
color: #ffffff !important;
|
||
}
|
||
|
||
.theme-toggle:hover {
|
||
background: rgba(0, 240, 255, 0.2) !important;
|
||
border-color: var(--color-accent) !important;
|
||
}
|
||
|
||
/* ==========================================
|
||
ИСПРАВЛЕНИЕ FOOTER
|
||
========================================== */
|
||
|
||
.footer {
|
||
background: rgba(10, 10, 15, 0.95) !important;
|
||
border-top: 1px solid rgba(255, 255, 255, 0.1);
|
||
color: #d0d0e8 !important;
|
||
}
|
||
|
||
.footer h5, .footer h6 {
|
||
color: #ffffff !important;
|
||
}
|
||
|
||
.footer a {
|
||
color: #d0d0e8 !important;
|
||
}
|
||
|
||
.footer a:hover {
|
||
color: #00f0ff !important;
|
||
}
|
||
|
||
.footer-title {
|
||
color: #ffffff !important;
|
||
font-weight: 600;
|
||
}
|
||
|
||
.footer-links a {
|
||
color: #d0d0e8 !important;
|
||
transition: color 0.3s ease;
|
||
}
|
||
|
||
.footer-links a:hover {
|
||
color: #00f0ff !important;
|
||
}
|
||
|
||
/* ==========================================
|
||
ИСПРАВЛЕНИЕ BADGES
|
||
========================================== */
|
||
|
||
.badge {
|
||
font-weight: 600;
|
||
padding: 0.5rem 1rem;
|
||
}
|
||
|
||
.badge.bg-primary {
|
||
background: linear-gradient(135deg, #00f0ff 0%, #7a3eff 100%) !important;
|
||
color: #ffffff !important;
|
||
}
|
||
|
||
.badge.bg-success {
|
||
background: var(--color-success) !important;
|
||
color: #000000 !important;
|
||
}
|
||
|
||
.badge.bg-warning {
|
||
background: var(--color-warning) !important;
|
||
color: #000000 !important;
|
||
}
|
||
|
||
.badge.bg-danger {
|
||
background: var(--color-error) !important;
|
||
color: #ffffff !important;
|
||
}
|
||
|
||
.badge.bg-info {
|
||
background: var(--color-accent) !important;
|
||
color: #000000 !important;
|
||
}
|
||
|
||
/* ==========================================
|
||
ИСПРАВЛЕНИЕ ALERTS
|
||
========================================== */
|
||
|
||
.alert {
|
||
border: 1px solid;
|
||
background-color: rgba(19, 19, 26, 0.8) !important;
|
||
}
|
||
|
||
.alert-info {
|
||
border-color: rgba(0, 240, 255, 0.5) !important;
|
||
background-color: rgba(0, 240, 255, 0.1) !important;
|
||
color: #ffffff !important;
|
||
}
|
||
|
||
.alert-warning {
|
||
border-color: rgba(255, 184, 0, 0.5) !important;
|
||
background-color: rgba(255, 184, 0, 0.1) !important;
|
||
color: #ffffff !important;
|
||
}
|
||
|
||
.alert-success {
|
||
border-color: rgba(0, 255, 157, 0.5) !important;
|
||
background-color: rgba(0, 255, 157, 0.1) !important;
|
||
color: #ffffff !important;
|
||
}
|
||
|
||
.alert-danger {
|
||
border-color: rgba(255, 42, 109, 0.5) !important;
|
||
background-color: rgba(255, 42, 109, 0.1) !important;
|
||
color: #ffffff !important;
|
||
}
|
||
|
||
/* ==========================================
|
||
ИСПРАВЛЕНИЕ ACCORDION
|
||
========================================== */
|
||
|
||
.accordion-item {
|
||
background: rgba(19, 19, 26, 0.8) !important;
|
||
border: 1px solid rgba(255, 255, 255, 0.1) !important;
|
||
}
|
||
|
||
.accordion-button {
|
||
background: rgba(19, 19, 26, 0.9) !important;
|
||
color: #ffffff !important;
|
||
font-weight: 600;
|
||
}
|
||
|
||
.accordion-button:not(.collapsed) {
|
||
background: rgba(0, 240, 255, 0.1) !important;
|
||
color: #ffffff !important;
|
||
}
|
||
|
||
.accordion-body {
|
||
background: rgba(19, 19, 26, 0.7) !important;
|
||
color: #d0d0e8 !important;
|
||
}
|
||
|
||
/* ==========================================
|
||
ИСПРАВЛЕНИЕ CODE BLOCKS
|
||
========================================== */
|
||
|
||
pre {
|
||
background: rgba(10, 10, 15, 0.9) !important;
|
||
border: 1px solid rgba(0, 240, 255, 0.2) !important;
|
||
border-radius: 8px;
|
||
padding: 1.5rem !important;
|
||
margin: 1rem 0;
|
||
}
|
||
|
||
code {
|
||
color: #00f0ff !important;
|
||
background: rgba(0, 240, 255, 0.1) !important;
|
||
padding: 0.2rem 0.5rem;
|
||
border-radius: 4px;
|
||
font-family: var(--font-mono);
|
||
}
|
||
|
||
pre code {
|
||
background: transparent !important;
|
||
padding: 0 !important;
|
||
}
|
||
|
||
/* ==========================================
|
||
LIGHT THEME ИСПРАВЛЕНИЯ
|
||
========================================== */
|
||
|
||
[data-theme="light"] body {
|
||
color: #1a1a2e !important;
|
||
}
|
||
|
||
[data-theme="light"] h1,
|
||
[data-theme="light"] h2,
|
||
[data-theme="light"] h3,
|
||
[data-theme="light"] h4,
|
||
[data-theme="light"] h5,
|
||
[data-theme="light"] h6 {
|
||
color: #1a1a2e !important;
|
||
text-shadow: none !important;
|
||
}
|
||
|
||
[data-theme="light"] .glass-card,
|
||
[data-theme="light"] .card {
|
||
background: rgba(255, 255, 255, 0.95) !important;
|
||
color: #1a1a2e !important;
|
||
border: 1px solid rgba(0, 0, 0, 0.1) !important;
|
||
}
|
||
|
||
[data-theme="light"] .text-muted {
|
||
color: #6b6b8f !important;
|
||
}
|
||
|
||
[data-theme="light"] .navbar {
|
||
background: rgba(248, 249, 255, 0.95) !important;
|
||
}
|
||
|
||
[data-theme="light"] .nav-link {
|
||
color: #1a1a2e !important;
|
||
}
|
||
|
||
[data-theme="light"] .nav-link:hover,
|
||
[data-theme="light"] .nav-link.active {
|
||
color: #00f0ff !important;
|
||
}
|
||
|
||
/* ==========================================
|
||
RESPONSIVE ИСПРАВЛЕНИЯ
|
||
========================================== */
|
||
|
||
@media (max-width: 991px) {
|
||
/* Убираем наложения на планшетах */
|
||
.sticky-top {
|
||
position: relative !important;
|
||
top: 0 !important;
|
||
}
|
||
|
||
/* Увеличиваем padding в карточках */
|
||
.card-body {
|
||
padding: 1.5rem !important;
|
||
}
|
||
}
|
||
|
||
@media (max-width: 767px) {
|
||
/* Мобильные устройства - увеличиваем отступы */
|
||
section {
|
||
padding: 60px 0;
|
||
}
|
||
|
||
section:first-of-type {
|
||
padding-top: 100px;
|
||
}
|
||
|
||
/* Уменьшаем padding в карточках на мобильных */
|
||
.card-body {
|
||
padding: 1rem !important;
|
||
}
|
||
|
||
/* Убираем сложные эффекты на мобильных */
|
||
.glass-card {
|
||
backdrop-filter: none !important;
|
||
background: rgba(19, 19, 26, 0.95) !important;
|
||
}
|
||
}
|
||
|
||
/* ==========================================
|
||
ДОПОЛНИТЕЛЬНЫЕ ИСПРАВЛЕНИЯ
|
||
========================================== */
|
||
|
||
/* Убираем переполнение */
|
||
* {
|
||
overflow-wrap: break-word;
|
||
word-wrap: break-word;
|
||
}
|
||
|
||
/* Убираем горизонтальный скролл */
|
||
body, html {
|
||
overflow-x: hidden !important;
|
||
}
|
||
|
||
/* Плавные переходы для всех изменений */
|
||
* {
|
||
transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
|
||
}
|
||
|
||
/* Улучшенная видимость focus */
|
||
*:focus {
|
||
outline: 2px solid var(--color-accent) !important;
|
||
outline-offset: 2px;
|
||
}
|
||
|
||
button:focus,
|
||
a:focus {
|
||
outline: 2px solid var(--color-accent) !important;
|
||
}
|
||
|
||
/* Убираем outline на мышиных кликах */
|
||
*:focus:not(:focus-visible) {
|
||
outline: none !important;
|
||
}
|
||
|
||
/* ==========================================
|
||
ANIMATED BACKGROUND CANVAS
|
||
========================================== */
|
||
|
||
/* Canvas фон на всю страницу */
|
||
#phantomBackground {
|
||
position: fixed;
|
||
top: 0;
|
||
left: 0;
|
||
width: 100%;
|
||
height: 100vh;
|
||
z-index: -2;
|
||
pointer-events: none;
|
||
opacity: 1;
|
||
}
|
||
|
||
/* Для light темы - уменьшаем видимость фона */
|
||
[data-theme="light"] #phantomBackground {
|
||
opacity: 0.25;
|
||
}
|
||
|
||
/* На мобильных уменьшаем количество частиц (через JS) */
|
||
@media (max-width: 767px) {
|
||
#phantomBackground {
|
||
opacity: 0.5;
|
||
}
|
||
} |