Files
Phantom/website/css/visual-fixes.css

625 lines
14 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* Визуальные исправления для 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;
}
}