/
spirzen
/
it-knowledge-base
Обзор
Документация
Войти
/
spirzen
/
it-knowledge-base
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
Mobile
src/components/AlgoCodeVisualizer.module.css
187 строк
3 KB
Spirzen
Components Rework
19 май 2026, 19:17
19 май 2026, 19:17
d8d92a3
Код
Авторство
О чём код?
.scenarioBar { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-bottom: 1rem; } .panels { display: grid; grid-template-columns: 1fr auto 1fr; gap: 0.5rem; align-items: stretch; } @media (max-width: 996px) { .panels { grid-template-columns: 1fr; } } .panel { border-radius: 10px; border: 1px solid var(--demo-border, var(--ifm-color-emphasis-300)); overflow: hidden; min-height: 12rem; } .panelHead { padding: 0.5rem 0.75rem; font-size: 0.72rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; border-bottom: 1px solid var(--demo-border); } .panelAlgo .panelHead { background: color-mix(in srgb, var(--ifm-color-primary) 10%, var(--ifm-background-surface-color)); color: var(--ifm-color-primary); } .panelCode .panelHead { background: #1e1e2e; color: #a6e3a1; } .panelAlgo .panelBody { background: var(--ifm-background-surface-color); padding: 0.5rem 0; } .panelCode .panelBody { background: #11111b; padding: 0.5rem 0; font-family: var(--ifm-font-family-monospace); } .stepLine { display: flex; align-items: flex-start; gap: 0.5rem; padding: 0.45rem 0.75rem; font-size: 0.85rem; line-height: 1.45; border-left: 3px solid transparent; transition: background 0.2s ease, border-color 0.2s ease; color: var(--ifm-color-content-secondary); } .stepLineActive { border-left-color: var(--ifm-color-primary); background: var(--demo-highlight, rgba(123, 104, 238, 0.15)); color: var(--ifm-color-content); font-weight: 600; } .stepLineDone { color: var(--ifm-color-content); opacity: 0.85; } .stepNum { flex-shrink: 0; width: 1.25rem; height: 1.25rem; display: flex; align-items: center; justify-content: center; font-size: 0.65rem; font-weight: 700; border-radius: 50%; background: var(--ifm-color-emphasis-200); color: var(--ifm-color-content-secondary); } .stepLineActive .stepNum { background: var(--ifm-color-primary); color: var(--ifm-button-color); } .stepLineDone .stepNum { background: var(--demo-success, #2e7d32); color: #fff; } .codeLine { padding: 0.45rem 0.75rem; font-size: 0.8rem; line-height: 1.5; color: #6c7086; border-left: 3px solid transparent; white-space: pre-wrap; word-break: break-word; } .codeLineActive { border-left-color: #a6e3a1; background: rgba(166, 227, 161, 0.08); color: #cdd6f4; font-weight: 600; } .codeLineDone { color: #a6adc8; } .connector { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.25rem; color: var(--ifm-color-primary); font-size: 1.5rem; padding: 0.25rem; } @media (max-width: 996px) { .connector { transform: rotate(90deg); padding: 0.5rem 0; } } .connectorPulse { animation: algoPulse 1.2s ease-in-out infinite; } @keyframes algoPulse { 0%, 100% { opacity: 0.4; transform: scale(1); } 50% { opacity: 1; transform: scale(1.15); } } .controls { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; justify-content: center; margin-top: 1rem; } .progressWrap { flex: 1; min-width: 8rem; max-width: 14rem; } .hint { margin-top: 0.75rem; padding: 0.65rem 0.85rem; font-size: 0.8rem; line-height: 1.5; border-radius: 8px; border-left: 3px solid var(--ifm-color-primary); background: color-mix(in srgb, var(--ifm-color-primary) 8%, var(--ifm-background-surface-color)); color: var(--ifm-color-content); }