/
spirzen
/
it-knowledge-base
Обзор
Документация
Войти
/
spirzen
/
it-knowledge-base
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
Mobile
src/components/RoleDevelopmentPlanPlay.module.css
201 строка
4 KB
Spirzen
Components pack 2
23 май 2026, 03:42
23 май 2026, 03:42
b7f65e4
Код
Авторство
О чём код?
.toolbar { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin-bottom: 0.85rem; } .metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 0.5rem; margin-bottom: 1rem; } .metric { padding: 0.5rem 0.65rem; border-radius: 8px; border: 1px solid var(--ifm-color-emphasis-300); background: var(--ifm-background-surface-color); text-align: center; } .metricValue { display: block; font-size: 1.35rem; font-weight: 700; line-height: 1.2; color: var(--ifm-color-primary); } .metricLabel { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--ifm-color-content-secondary); } .progressBar { height: 8px; border-radius: 999px; background: var(--ifm-color-emphasis-200); overflow: hidden; margin: 0.5rem 0 1rem; } .progressFill { height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--ifm-color-primary), var(--level-color, var(--ifm-color-primary))); transition: width 0.45s ease; } .rail { display: flex; gap: 0.35rem; overflow-x: auto; padding-bottom: 0.35rem; margin-bottom: 1rem; scroll-snap-type: x proximity; } .railSpiral .railNode { scroll-snap-align: center; } .railNode { flex: 0 0 auto; min-width: 4.5rem; padding: 0.45rem 0.55rem; border-radius: 10px; border: 2px solid var(--ifm-color-emphasis-300); background: var(--ifm-background-surface-color); cursor: pointer; font-family: inherit; text-align: center; transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease; } .railNode:hover { border-color: var(--level-color, var(--ifm-color-primary)); transform: translateY(-2px); } .railNodeActive { border-color: var(--level-color, var(--ifm-color-primary)); box-shadow: 0 4px 14px color-mix(in srgb, var(--level-color, var(--ifm-color-primary)) 35%, transparent); } .railNodeTour { animation: pulseNode 1.2s ease infinite; } @keyframes pulseNode { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.04); } } .railLabel { display: block; font-size: 0.95rem; font-weight: 700; color: var(--level-color, var(--ifm-color-primary)); } .railShort { display: block; font-size: 0.68rem; color: var(--ifm-color-content-secondary); margin-top: 0.15rem; } .railPct { display: block; font-size: 0.62rem; margin-top: 0.2rem; opacity: 0.85; } .detail { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 1rem; align-items: start; } @media (max-width: 720px) { .detail { grid-template-columns: 1fr; } } .goalCard { padding: 0.85rem 1rem; border-radius: 10px; border-left: 4px solid var(--level-color, var(--ifm-color-primary)); background: color-mix(in srgb, var(--level-color, var(--ifm-color-primary)) 10%, var(--ifm-background-surface-color)); } .goalTitle { margin: 0 0 0.35rem; font-size: 1rem; font-weight: 700; } .goalMeta { margin: 0; font-size: 0.82rem; color: var(--ifm-color-content-secondary); line-height: 1.45; } .milestones { margin: 0; padding: 0; list-style: none; } .milestone { display: flex; align-items: flex-start; gap: 0.5rem; padding: 0.4rem 0; font-size: 0.86rem; line-height: 1.4; border-bottom: 1px solid var(--ifm-color-emphasis-200); } .milestone:last-child { border-bottom: none; } .milestone input { margin-top: 0.2rem; accent-color: var(--level-color, var(--ifm-color-primary)); } .milestoneDone { color: var(--ifm-color-content-secondary); text-decoration: line-through; opacity: 0.75; } .log { margin-top: 0.85rem; padding: 0.55rem 0.75rem; border-radius: 8px; font-family: var(--ifm-font-family-monospace); font-size: 0.78rem; background: var(--ifm-code-background); color: var(--ifm-color-content); min-height: 2.25rem; }