/* Map tab. Every class starts with kmt-. */
.kmt-layout { display: grid; grid-template-columns: minmax(260px, 320px) minmax(0, 1fr); gap: 16px; align-items: start; }
@media (max-width: 860px) { .kmt-layout { grid-template-columns: 1fr; } }
.kmt-panel { margin: 0 0 12px; padding: 12px; }
.kmt-panel h3 { margin-top: 10px; }
.kmt-panel h3:first-child { margin-top: 0; }
.kmt-tools { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.kmt-tool { display: inline-flex; align-items: center; }
.kmt-sw { width: 16px; height: 16px; margin-right: 6px; background: #eee; }
.kmt-sw-clear { background: #f1ecd6; }
.kmt-sw-woods { background: #c2d19a; }
.kmt-sw-rough { background: #d8c9a8; }
.kmt-sw-marsh { background: #b9d3c4; }
.kmt-sw-town { background: #e3b9a1; }
.kmt-sw-city { background: #d79c88; }
.kmt-sw-water { background: #9cc7e0; }
.kmt-sw-mountain { background: #b9ab9a; }
.kit-btn[aria-pressed=true] .kmt-sw { border-color: #fff; }
.kmt-line { display: inline-block; width: 22px; height: 0; margin-right: 6px; border-top: 3px solid #1b6cb0; vertical-align: middle; }
.kmt-line-streams { border-top: 2px solid #4a8fc6; }
.kmt-line-roads { border-top: 4px solid #6b4a2a; }
.kmt-line-roads2 { border-top: 2px solid #6b4a2a; }
.kmt-line-rails { border-top: 3px dashed #222; }
.kmt-line-bridges { border-top: 5px double #6b4a2a; }
.kit-btn[aria-pressed=true] .kmt-line { border-color: #fff; }
.kmt-inline { display: flex; align-items: center; gap: 8px; margin: 4px 0; }
.kmt-inline select { margin: 0; width: auto; }
.kmt-check { display: flex; align-items: center; gap: 8px; }
.kmt-check input { width: auto; min-height: 0; margin: 0; }
.kmt-bar { justify-content: space-between; margin-top: 0; }
.kmt-readout { font: 14px var(--spi-ui, Arial, sans-serif); color: var(--k-muted); min-height: 1.4em; }
.kmt-board { overflow: auto; max-height: 78vh; background: #fff; border: 1px solid var(--k-rule); border-radius: 4px; user-select: none; -webkit-user-select: none; }
.kmt-board[data-tool=terrain], .kmt-board[data-tool=line] { touch-action: none; cursor: crosshair; }
.kmt-board[data-tool=inspect] { cursor: pointer; }
.kmt-board svg { display: block; max-width: none; }
.kmt-board .kmt-hl-sel { fill: rgba(6, 106, 122, 0.22); stroke: #066a7a; stroke-width: 3; }
.kmt-board .kmt-hl-anchor { fill: rgba(200, 140, 20, 0.28); stroke: #b87a00; stroke-width: 3; }
.kmt-board .kmt-hl-hover { fill: rgba(0, 0, 0, 0.08); stroke: #333; stroke-width: 1.5; }
.kmt-board:focus-visible { outline: 3px solid var(--k-teal); outline-offset: 2px; }
.kmt-files { list-style: none; margin: 0 0 8px; padding: 0; font: 13px var(--spi-ui, Arial, sans-serif); }
.kmt-files a { color: var(--k-teal); }
