/
docNemo
/
hex-map-editor
Обзор
Документация
Войти
/
docNemo
/
hex-map-editor
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
5
CI/CD
Аналитика
Безопасность
main
styles/hex-map-editor.css
319 строк
7 KB
docNemo
feat(hexcrawl): панель маршрута со сроком пути и разбором местности
01 авг 2026, 18:02
01 авг 2026, 18:02
ba4845e
Код
Авторство
О чём код?
/* * Стили модуля Hex Map Editor. * * Файл объявлен в module.json и копируется в сборку как есть, без обработки * бандлером: так пользователю проще посмотреть и переопределить стили на месте. * * Правило одно: не задавать ни фон окон, ни шрифты — их даёт тема Foundry, * и модуль, который их переопределяет, выглядит чужеродно в любой теме, кроме * той, под которую его писали. */ .hex-map-editor { --hme-accent: #4a7c59; --hme-warning: #b45309; --hme-muted: rgba(128, 128, 128, 0.65); } .hex-map-editor .hme-empty { padding: 0.75rem; text-align: center; color: var(--hme-muted); } .hex-map-editor .hme-hint { font-size: 0.85em; color: var(--hme-muted); } .hex-map-editor .hme-primary { border-color: var(--hme-accent); } .hex-map-editor .hme-badge { padding: 0 0.4em; border: 1px solid var(--hme-warning); border-radius: 3px; font-size: 0.8em; color: var(--hme-warning); } .hex-map-editor .hme-field { display: grid; grid-template-columns: 9rem 1fr; gap: 0.4rem; align-items: center; margin-bottom: 0.35rem; } /* Ползунок ведёт за собой своё значение: без него шкала без делений бесполезна. */ .hex-map-editor .hme-field--slider { grid-template-columns: 9rem 1fr 3rem; } .hex-map-editor .hme-field--slider output { text-align: right; font-variant-numeric: tabular-nums; } .hex-map-editor .hme-field--pair span { display: flex; gap: 0.3rem; align-items: center; } .hex-map-editor .hme-field--toggle { grid-template-columns: 9rem auto; } /* --- Генератор --- */ .hex-map-editor .hme-generator { display: grid; grid-template-columns: minmax(18rem, 1fr) auto; gap: 1rem; } .hex-map-editor .hme-generator__preview { display: flex; flex-direction: column; gap: 0.5rem; align-items: center; } .hex-map-editor canvas.hme-preview { /* Карта — самое важное в окне; рамка отделяет её от фона окна. */ border: 1px solid var(--hme-muted); border-radius: 3px; max-width: 100%; } .hex-map-editor .hme-stats { width: 100%; font-size: 0.85em; } .hex-map-editor .hme-stats__biomes { display: flex; flex-wrap: wrap; gap: 0 0.75rem; margin: 0.2rem 0 0; padding: 0; list-style: none; color: var(--hme-muted); } .hex-map-editor .hme-generator__buttons { display: flex; gap: 0.5rem; width: 100%; } .hex-map-editor .hme-generator__buttons button { flex: 1; } .hex-map-editor .hme-palette__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.15rem 0.5rem; } .hex-map-editor .hme-palette__item { display: flex; gap: 0.35rem; align-items: center; font-size: 0.9em; } /* --- Кисть --- */ .hex-map-editor .hme-brush__history { display: flex; gap: 0.5rem; margin-top: 0.6rem; } .hex-map-editor .hme-brush__history button { flex: 1; } /* Журнал последних операций: подсказка о том, что отменится следующим. */ .hex-map-editor .hme-brush__log { margin: 0.4rem 0 0; padding-left: 1.2rem; font-size: 0.85em; color: var(--hme-muted); } .hex-map-editor .hme-brush__reset { width: 100%; margin-top: 0.6rem; border-color: var(--hme-warning); } /* --- Инспектор --- */ .hex-map-editor .hme-inspector__head { display: flex; gap: 0.5rem; align-items: center; justify-content: space-between; margin-bottom: 0.5rem; } .hex-map-editor .hme-inspector__facts { width: 100%; margin: 0.6rem 0; font-size: 0.9em; } .hex-map-editor .hme-inspector__facts th { width: 9rem; text-align: left; font-weight: normal; color: var(--hme-muted); } .hex-map-editor .hme-inspector__buttons { display: flex; gap: 0.5rem; } .hex-map-editor .hme-inspector__buttons button { flex: 1; } /* --- Атлас --- */ .hex-map-editor .hme-atlas__grid { display: flex; flex-direction: column; gap: 2px; margin: 0.6rem 0; overflow-x: auto; } .hex-map-editor .hme-atlas__row { display: flex; gap: 2px; } .hex-map-editor .hme-atlas__cell { flex: 0 0 auto; width: 3.4rem; padding: 0.25rem 0; border: 1px solid var(--hme-muted); border-radius: 3px; font-size: 0.75em; text-align: center; line-height: 1.2; } .hex-map-editor .hme-atlas__cell--empty { border-style: dashed; color: var(--hme-muted); } .hex-map-editor .hme-atlas__cell--current { border-color: var(--hme-accent); border-width: 2px; } .hex-map-editor .hme-atlas__cell--orphan, .hex-map-editor .hme-atlas__missing { color: var(--hme-warning); } .hex-map-editor .hme-atlas__list { width: 100%; font-size: 0.9em; } .hex-map-editor .hme-atlas__row--current { font-weight: bold; } /* --- Панель обзора --- */ .hex-map-editor .hme-visibility__head { display: flex; flex-direction: column; margin-bottom: 0.5rem; } .hex-map-editor .hme-visibility__list { margin: 0 0 0.6rem; padding: 0; list-style: none; } .hex-map-editor .hme-visibility__item { display: flex; gap: 0.5rem; align-items: baseline; padding: 0.2rem 0; border-bottom: 1px solid var(--hme-muted); } .hex-map-editor .hme-visibility__item button { flex: 1; border: none; background: none; text-align: left; } .hex-map-editor .hme-visibility__distance { font-variant-numeric: tabular-nums; } .hex-map-editor .hme-atlas__parent { margin-bottom: 0.6rem; } .hex-map-editor .hme-atlas__parent button { width: 100%; } /* Пустая ячейка — кнопка, а не подпись: по ней создают карту. */ .hex-map-editor button.hme-atlas__cell--empty:hover { border-style: solid; border-color: var(--hme-accent); color: inherit; } /* --- Маршрут --- */ .hex-map-editor .hme-travel__end { display: grid; grid-template-columns: 5rem 1fr auto; gap: 0.4rem; align-items: center; margin-bottom: 0.35rem; } .hex-map-editor .hme-travel__label { color: var(--hme-muted); } .hex-map-editor .hme-travel__days { margin: 0.6rem 0 0.2rem; font-size: 1.15em; font-weight: bold; } .hex-map-editor .hme-travel__terrain { display: flex; flex-wrap: wrap; gap: 0 0.75rem; margin: 0.3rem 0; padding: 0; list-style: none; font-size: 0.85em; color: var(--hme-muted); } .hex-map-editor .hme-travel__result a[data-action='focus'] { cursor: pointer; text-decoration: underline dotted; }