/
diz
/
search
Обзор
Документация
Войти
/
diz
/
search
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/style.css
211 строк
5 KB
Dima
ui: дизайн по design.md, текстовые кнопки, блокировка очистки при обновлении; fix: детект отмены диалога выбора папки, XSS-экранирование меток
10 авг 2026, 21:55
10 авг 2026, 21:55
caaf899
Код
Авторство
О чём код?
/* Дизайн по design.md — светлая тема */ :root { --bg: #f4f6fb; /* фон страницы */ --panel: #ffffff; /* панели и карточки */ --panel-2: #e9edf5; /* поля ввода, подложки, шапки панелей */ --border: #d3d9e6; /* рамки */ --text: #1c2333; /* основной текст */ --dim: #5c6478; /* второстепенный текст */ --accent: #3b7cff; /* акцентный синий */ --accent-glow: rgba(59, 124, 255, 0.08); /* подсветка при наведении */ --accent-2: #6a4df5; /* фиолетовый для градиента кнопок */ --danger: #d93a4c; /* ошибки */ --ok: #2f9e6a; /* успех */ --warn: #a06b12; /* предупреждения */ --info: #6b7280; /* нейтральная информация */ --shadow: 0 6px 24px rgba(23, 32, 60, 0.1); /* мягкая тень карточек */ } * { box-sizing: border-box; } body { margin: 0; min-height: 100vh; display: flex; flex-direction: column; background: var(--bg); color: var(--text); font: 14px/1.5 "Segoe UI", system-ui, -apple-system, sans-serif; } /* ==================== Шапка страницы ==================== */ header { padding: 12px 28px 4px; } header h1 { margin: 0; font-size: 22px; letter-spacing: 0.5px; line-height: 1.15; } /* Без max-width — одна строка, пока помещается по ширине окна */ .subtitle { margin: 3px 0 0; color: var(--dim); } /* ==================== Верхняя панель ==================== */ .top-panel { background: var(--panel); border-bottom: 1px solid var(--border); padding: 6px 28px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; z-index: 10; } /* ==================== Кнопки ==================== */ button { background: var(--panel-2); color: var(--text); border: 1px solid var(--border); border-radius: 8px; padding: 7px 14px; cursor: pointer; font: inherit; white-space: nowrap; line-height: 1.3; transition: border-color 0.15s, background 0.15s, filter 0.15s, opacity 0.15s; } button:hover:not(:disabled) { border-color: var(--accent); } button:disabled { opacity: 0.4; cursor: default; } /* Главная кнопка — градиентная */ button.primary { background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff; border: none; font-weight: 600; box-shadow: 0 4px 14px rgba(59, 124, 255, 0.28); } button.primary:hover:not(:disabled) { filter: brightness(1.12); border-color: transparent; } /* В неактивном состоянии — серая подложка без градиента */ button.primary:disabled { background: var(--panel-2); color: var(--dim); box-shadow: none; } /* ==================== Поля ввода ==================== */ input[type="text"] { flex-grow: 1; color: var(--text); background: var(--panel-2); border: 1px solid var(--border); border-radius: 8px; padding: 7px 9px; font: inherit; } input[type="text"]:focus { outline: none; border-color: var(--accent); } input[type="text"]:disabled { opacity: 0.6; } .db-info { font-size: 12px; color: var(--dim); margin-left: auto; } /* ==================== Карточки категорий ==================== */ .main-grid { flex: 1; overflow: auto; padding: 16px 28px 30px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; } @media (max-width: 1200px) { .main-grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 600px) { .main-grid { grid-template-columns: 1fr; overflow-y: auto; } .card { min-height: 300px; } } .card { background: var(--panel); border: 1px solid var(--border); border-radius: 12px; box-shadow: var(--shadow); display: flex; flex-direction: column; overflow: hidden; } /* Заголовок панели — капсом, как в образце */ .card-header { display: flex; align-items: center; gap: 8px; padding: 8px 12px; background: var(--panel-2); border-bottom: 1px solid var(--border); color: var(--dim); font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; } .results-area { flex: 1; overflow: auto; padding: 8px 10px; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 1.15; white-space: pre-wrap; word-break: break-word; } .result-line { cursor: pointer; border-radius: 4px; padding: 2px 6px; transition: background 0.15s; } .result-line:hover { background: var(--accent-glow); } .label-heading { font-weight: 600; color: var(--text); font-size: 14px; display: block; margin-top: 12px; } .label-heading:first-child { margin-top: 0; } /* ==================== Статус-бар ==================== */ .status-bar { padding: 6px 28px; font-size: 12px; color: var(--dim); background: var(--panel); border-top: 1px solid var(--border); } .dim { color: var(--dim); }