/
komarovdd
/
GraphViz
Обзор
Документация
Войти
/
komarovdd
/
GraphViz
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
styles.css
344 строки
7 KB
komarovdd
new project
09 фев 2026, 14:29
Верифицирован
09 фев 2026, 14:29
966388e
Код
Авторство
О чём код?
:root { /* Transitions */ --transition-fast: 0.2s ease; --transition-slow: 0.4s ease; /* Shadow & Glass */ --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.1); --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.15); --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.2); --glass-bg: rgba(255, 255, 255, 0.05); --glass-border: rgba(255, 255, 255, 0.1); } /* Dark Theme Variables */ body.dark-theme { --bg-color: #0f1115; --sidebar-bg: #161a21; --panel-bg: #1c222d; --text-color: #e2e8f0; --text-muted: #94a3b8; --accent-color: #38bdf8; --accent-hover: #0ea5e9; --secondary-color: #818cf8; --border-color: #2d3748; --input-bg: #0f172a; --canvas-dots: #334155; --button-secondary-bg: #334155; } /* Light Theme Variables */ body.light-theme { --bg-color: #f8fafc; --sidebar-bg: #ffffff; --panel-bg: #f1f5f9; --text-color: #1e293b; --text-muted: #64748b; --accent-color: #0284c7; --accent-hover: #0369a1; --secondary-color: #4f46e5; --border-color: #e2e8f0; --input-bg: #ffffff; --canvas-dots: #cbd5e1; --button-secondary-bg: #e2e8f0; --glass-bg: rgba(0, 0, 0, 0.02); --glass-border: rgba(0, 0, 0, 0.05); } * { box-sizing: border-box; margin: 0; padding: 0; } body, html { height: 100%; font-family: 'Inter', -apple-system, system-ui, sans-serif; background-color: var(--bg-color); color: var(--text-color); overflow: hidden; transition: background-color var(--transition-slow), color var(--transition-slow); } .app-container { display: flex; height: 100vh; width: 100vw; } /* Sidebar Styling */ .sidebar { width: 340px; background-color: var(--sidebar-bg); border-right: 1px solid var(--border-color); display: flex; flex-direction: column; padding: 2rem 1.5rem; overflow-y: auto; z-index: 10; box-shadow: var(--shadow-lg); } header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 2.5rem; } header h1 { font-size: 1.25rem; font-weight: 700; color: var(--accent-color); letter-spacing: -0.5px; text-transform: uppercase; } /* Theme Toggle */ .theme-toggle button { background: none; border: none; color: var(--text-muted); cursor: pointer; padding: 0.5rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: background-color var(--transition-fast), color var(--transition-fast); } .theme-toggle button:hover { background-color: var(--button-secondary-bg); color: var(--text-color); } .control-group { margin-bottom: 2rem; } .control-group h3 { font-size: 0.75rem; font-weight: 600; margin-bottom: 1rem; text-transform: uppercase; color: var(--text-muted); letter-spacing: 1px; } textarea { width: 100%; height: 100px; background-color: var(--input-bg); color: var(--text-color); border: 1px solid var(--border-color); border-radius: 8px; padding: 0.75rem; margin-bottom: 0.75rem; font-family: 'Fira Code', monospace; font-size: 0.85rem; resize: none; outline: none; transition: border-color var(--transition-fast); } textarea:focus { border-color: var(--accent-color); } .button-row { display: flex; gap: 0.5rem; margin-bottom: 0.5rem; flex-wrap: wrap; } button { background-color: var(--button-secondary-bg); color: var(--text-color); border: 1px solid var(--border-color); padding: 0.6rem 0.8rem; border-radius: 6px; cursor: pointer; font-size: 0.85rem; font-weight: 500; transition: all var(--transition-fast); display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; } button:hover { background-color: var(--panel-bg); border-color: var(--text-muted); transform: translateY(-1px); } button:active { transform: translateY(0); } button.primary { background-color: var(--accent-color); border-color: var(--accent-color); color: white; } button.primary:hover { background-color: var(--accent-hover); border-color: var(--accent-hover); box-shadow: 0 4px 12px rgba(56, 189, 248, 0.3); } button.secondary { background-color: var(--secondary-color); border-color: var(--secondary-color); color: white; } .input-row { margin-top: 1rem; } .input-row label { display: flex; justify-content: space-between; font-size: 0.8rem; margin-bottom: 0.5rem; color: var(--text-muted); } input[type="range"] { width: 100%; height: 4px; background: var(--border-color); border-radius: 2px; appearance: none; outline: none; accent-color: var(--accent-color); } select { width: 100%; background-color: var(--input-bg); color: var(--text-color); border: 1px solid var(--border-color); padding: 0.6rem; border-radius: 6px; font-size: 0.85rem; outline: none; cursor: pointer; } .advanced-settings { margin-top: 1.5rem; } .advanced-settings summary { cursor: pointer; font-size: 0.8rem; font-weight: 600; color: var(--text-muted); margin-bottom: 0.75rem; list-style: none; display: flex; align-items: center; gap: 0.5rem; } .advanced-settings summary::before { content: '▶'; font-size: 0.6rem; transition: transform 0.2s; } .advanced-settings[open] summary::before { transform: rotate(90deg); } .legend { margin-top: 1.5rem; padding: 1rem; background-color: var(--panel-bg); border-radius: 8px; border: 1px solid var(--border-color); font-size: 0.8rem; } .stats { margin-top: auto; padding-top: 1.5rem; border-top: 1px solid var(--border-color); display: flex; justify-content: space-between; font-size: 0.75rem; color: var(--text-muted); } .stats span { color: var(--text-color); font-weight: 600; } /* Viewport Area */ .viewport { flex-grow: 1; position: relative; background-color: var(--bg-color); background-image: radial-gradient(var(--canvas-dots) 1px, transparent 1px); background-size: 24px 24px; } #graphCanvas { width: 100%; height: 100%; } .overlay-controls { position: absolute; bottom: 2rem; right: 2rem; display: flex; flex-direction: column; gap: 0.75rem; align-items: center; } .overlay-controls button { width: 44px; height: 44px; border-radius: 12px; background-color: var(--sidebar-bg); border: 1px solid var(--border-color); color: var(--text-color); box-shadow: var(--shadow-md); font-size: 1.25rem; } .overlay-controls button:hover { background-color: var(--panel-bg); transform: scale(1.05); } #zoomPercent { font-size: 0.75rem; font-weight: 700; color: var(--text-muted); background: var(--glass-bg); backdrop-filter: blur(4px); padding: 4px 8px; border-radius: 6px; border: 1px solid var(--glass-border); } /* Custom Icons/Symbols Styling */ .icon { width: 18px; height: 18px; stroke: currentColor; stroke-width: 2; fill: none; }