/
MarkZhukov
/
web
Обзор
Документация
Войти
/
MarkZhukov
/
web
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
task12
static/css/style.css
486 строк
12 KB
markkentos
tast-12
01 июн 2026, 14:48
01 июн 2026, 14:48
0623715
Код
Авторство
О чём код?
:root { --bg: #0b0f19; --surface: #121824; --surface-hover: #1a2233; --primary: #10b981; /* Изумрудный */ --primary-hover: #059669; --primary-glow: rgba(16, 185, 129, 0.2); --accent: #6366f1; /* Индиго */ --accent-glow: rgba(99, 102, 241, 0.15); --text: #f3f4f6; --text-muted: #9ca3af; --border: #1e293b; --danger: #ef4444; --success: #10b981; --warning: #f59e0b; --info: #3b82f6; --font-head: 'Outfit', sans-serif; --font-body: 'Inter', sans-serif; --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); } body { font-family: var(--font-body); background-color: var(--bg); color: var(--text); margin: 0; padding: 0; min-height: 100vh; display: flex; flex-direction: column; line-height: 1.5; } /* Навигация (Header) */ header { background: rgba(18, 24, 36, 0.85); backdrop-filter: blur(12px); border-bottom: 1px solid var(--border); position: sticky; top: 0; z-index: 100; padding: 0; } .header-container { max-width: 1200px; margin: 0 auto; padding: 16px 24px; display: flex; justify-content: space-between; align-items: center; } header h1 { margin: 0; font-family: var(--font-head); font-size: 24px; font-weight: 800; background: linear-gradient(135deg, #10b981 0%, #6366f1 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; letter-spacing: -0.5px; } header nav { display: flex; gap: 20px; align-items: center; } header nav a { color: var(--text-muted); font-weight: 500; font-size: 15px; padding: 6px 12px; border-radius: 8px; transition: var(--transition); } header nav a:hover { color: var(--text); background: rgba(255, 255, 255, 0.05); } header nav a.active { color: var(--primary); background: var(--primary-glow); } /* Основной контент */ main { max-width: 1200px; width: 100%; margin: 32px auto; padding: 0 24px; box-sizing: border-box; flex: 1; } a { color: var(--primary); text-decoration: none; transition: var(--transition); } a:hover { color: var(--primary-hover); } /* Компоненты карт */ .card { background: var(--surface); border: 1px solid var(--border); border-radius: 16px; padding: 24px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25); margin-bottom: 24px; transition: var(--transition); } .card:hover { border-color: rgba(99, 102, 241, 0.4); box-shadow: 0 15px 35px rgba(99, 102, 241, 0.08); } h2, h3, h4 { font-family: var(--font-head); color: var(--text); margin-top: 0; font-weight: 700; } h2 { font-size: 24px; letter-spacing: -0.5px; border-left: 4px solid var(--primary); padding-left: 12px; margin-bottom: 20px; } /* Интерактивные кнопки */ .actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 16px; } .button, button, input[type="submit"] { background: linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%); color: #fff; border: 0; border-radius: 10px; padding: 11px 20px; font-family: var(--font-body); font-weight: 600; font-size: 14px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 8px; box-shadow: 0 4px 12px var(--primary-glow); transition: var(--transition); } .button:hover, button:hover, input[type="submit"]:hover { transform: translateY(-2px); box-shadow: 0 6px 16px var(--primary-glow); opacity: 0.95; } .button:active, button:active, input[type="submit"]:active { transform: translateY(0); } .button.secondary { background: var(--border); color: var(--text); box-shadow: none; border: 1px solid rgba(255, 255, 255, 0.05); } .button.secondary:hover { background: var(--surface-hover); border-color: var(--text-muted); box-shadow: none; } /* Таблицы */ table { width: 100%; border-collapse: separate; border-spacing: 0; margin-top: 12px; } th { background: rgba(255, 255, 255, 0.02); color: var(--text-muted); font-family: var(--font-head); font-weight: 600; text-transform: uppercase; font-size: 12px; letter-spacing: 0.5px; border-bottom: 2px solid var(--border); padding: 12px 16px; text-align: left; } td { border-bottom: 1px solid var(--border); padding: 14px 16px; vertical-align: middle; font-size: 14px; } tr:hover td { background: rgba(255, 255, 255, 0.01); } /* Формы и поля ввода */ form p { display: flex; flex-direction: column; gap: 8px; margin-bottom: 18px; } input, select, textarea { background: #182232; color: var(--text); padding: 12px 16px; border: 1px solid var(--border); border-radius: 10px; font-family: var(--font-body); font-size: 14px; transition: var(--transition); width: 100%; box-sizing: border-box; } input:focus, select:focus, textarea:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-glow); background: #1d2b3f; } .hint { color: var(--text-muted); font-size: 13px; margin-top: 4px; } /* Всплывающие уведомления */ .messages { list-style: none; padding: 0; margin: 0 0 24px; } .messages li { border-radius: 12px; padding: 12px 16px; margin-bottom: 12px; font-size: 14px; font-weight: 500; display: flex; align-items: center; border: 1px solid transparent; } .messages li.error { background: rgba(239, 68, 110, 0.1); color: #f87171; border-color: rgba(239, 68, 110, 0.2); } .messages li.success { background: rgba(16, 185, 129, 0.1); color: #34d399; border-color: rgba(16, 185, 129, 0.2); } .messages li.warning { background: rgba(245, 158, 11, 0.1); color: #fbbf24; border-color: rgba(245, 158, 11, 0.2); } .messages li.info { background: rgba(59, 130, 246, 0.1); color: #60a5fa; border-color: rgba(59, 130, 246, 0.2); } /* ============================================================================= ВЕРСИЯ ДЛЯ СЛАБОВИДЯЩИХ (ACCESSIBILITY OVERRIDES) ============================================================================= */ body.accessibility-active { background-color: #ffffff !important; background: #ffffff !important; color: #000000 !important; font-family: Arial, sans-serif !important; line-height: 1.8 !important; letter-spacing: 1px !important; } body.accessibility-active, body.accessibility-active * { background-color: transparent !important; background: transparent !important; color: #000000 !important; box-shadow: none !important; text-shadow: none !important; border-radius: 0 !important; } body.accessibility-active header, body.accessibility-active footer, body.accessibility-active .card, body.accessibility-active table, body.accessibility-active tr, body.accessibility-active th, body.accessibility-active td, body.accessibility-active th *, body.accessibility-active td *, body.accessibility-active input, body.accessibility-active select, body.accessibility-active textarea, body.accessibility-active button, body.accessibility-active .button, body.accessibility-active form, body.accessibility-active .stat-box, body.accessibility-active .promotion-card, body.accessibility-active .arrival-item, body.accessibility-active .search-product-card { border: 2px solid #000000 !important; background-color: #ffffff !important; background: #ffffff !important; } body.accessibility-active a, body.accessibility-active a * { color: #0000ee !important; text-decoration: underline !important; font-weight: bold !important; } body.accessibility-active a:hover { color: #551a8b !important; } /* Белым по черному */ body.accessibility-active.theme-wb { background-color: #000000 !important; background: #000000 !important; color: #ffffff !important; } body.accessibility-active.theme-wb * { color: #ffffff !important; } body.accessibility-active.theme-wb header, body.accessibility-active.theme-wb footer, body.accessibility-active.theme-wb .card, body.accessibility-active.theme-wb table, body.accessibility-active.theme-wb tr, body.accessibility-active.theme-wb th, body.accessibility-active.theme-wb td, body.accessibility-active.theme-wb th *, body.accessibility-active.theme-wb td *, body.accessibility-active.theme-wb input, body.accessibility-active.theme-wb select, body.accessibility-active.theme-wb textarea, body.accessibility-active.theme-wb button, body.accessibility-active.theme-wb .button, body.accessibility-active.theme-wb form, body.accessibility-active.theme-wb .stat-box, body.accessibility-active.theme-wb .promotion-card, body.accessibility-active.theme-wb .arrival-item, body.accessibility-active.theme-wb .search-product-card { border: 2px solid #ffffff !important; background-color: #000000 !important; background: #000000 !important; } body.accessibility-active.theme-wb a, body.accessibility-active.theme-wb a * { color: #3399ff !important; } /* Синим по голубому */ body.accessibility-active.theme-bc { background-color: #cce6ff !important; background: #cce6ff !important; color: #002699 !important; } body.accessibility-active.theme-bc * { color: #002699 !important; } body.accessibility-active.theme-bc header, body.accessibility-active.theme-bc footer, body.accessibility-active.theme-bc .card, body.accessibility-active.theme-bc table, body.accessibility-active.theme-bc tr, body.accessibility-active.theme-bc th, body.accessibility-active.theme-bc td, body.accessibility-active.theme-bc th *, body.accessibility-active.theme-bc td *, body.accessibility-active.theme-bc input, body.accessibility-active.theme-bc select, body.accessibility-active.theme-bc textarea, body.accessibility-active.theme-bc button, body.accessibility-active.theme-bc .button, body.accessibility-active.theme-bc form, body.accessibility-active.theme-bc .stat-box, body.accessibility-active.theme-bc .promotion-card, body.accessibility-active.theme-bc .arrival-item, body.accessibility-active.theme-bc .search-product-card { border: 2px solid #002699 !important; background-color: #cce6ff !important; background: #cce6ff !important; } body.accessibility-active.theme-bc a, body.accessibility-active.theme-bc a * { color: #000099 !important; } /* Размеры шрифта */ body.accessibility-active.fs-small { font-size: 18px !important; } body.accessibility-active.fs-medium { font-size: 22px !important; } body.accessibility-active.fs-large { font-size: 26px !important; } body.accessibility-active.fs-small h1, body.accessibility-active.fs-small h2, body.accessibility-active.fs-small h3 { font-size: 26px !important; } body.accessibility-active.fs-medium h1, body.accessibility-active.fs-medium h2, body.accessibility-active.fs-medium h3 { font-size: 30px !important; } body.accessibility-active.fs-large h1, body.accessibility-active.fs-large h2, body.accessibility-active.fs-large h3 { font-size: 34px !important; } /* Сокрытие изображений */ body.accessibility-active.hide-images img, body.accessibility-active.hide-images svg, body.accessibility-active.hide-images .arrival-img-placeholder { display: none !important; } /* Роли (Role Switcher) */ .role-switcher { display: inline-flex; align-items: center; gap: 4px; background: rgba(255, 255, 255, 0.03); padding: 3px; border-radius: 8px; border: 1px solid var(--border); } .role-btn { color: var(--text-muted) !important; font-family: var(--font-body) !important; font-size: 12px !important; font-weight: 600 !important; padding: 5px 10px !important; border-radius: 6px !important; transition: var(--transition) !important; cursor: pointer !important; text-decoration: none !important; display: inline-flex !important; align-items: center !important; border: 0 !important; background: transparent !important; } .role-btn:hover { color: var(--text) !important; background: rgba(255, 255, 255, 0.05) !important; } .role-btn.active { color: #fff !important; background: var(--primary) !important; }