/* v1.1.6.312 (REV46): шар --n-* переведено на канонні імена.
   Обіцяно в .304 і зроблено окремо, щоб diff лишався читабельним.
   Рівність тут навіть простіша за минулий раз: канонні токени ВИЗНАЧЕНІ через
   ці ж --n-* (`--kp-color-surface: var(--n-bg-2)`), тож збіг не випадковий, а
   за побудовою. Однак я все одно звірив кожну пару після повного розкриття
   ланцюжка var() і ОКРЕМО у світлій та темній схемі — сім із семи.
   Жодне обчислене значення не змінюється. --n-* лишаються оголошеними в
   tokens.css: канонні токени спираються на них, і це шар значень під шаром імен. */
/* v1.1.6.303 (REV46): радіус панелей зведено до канонного --kp-radius-lg.
   Перепис: у пакеті 690 справжніх панелей (тло + рамка + радіус, не контроли)
   і 68 різних радіусів. Найпоширеніший — уже канонний (91), далі йдуть 10px
   (86), 14px (59) і --n-r-md, який теж 14px (58): три сусідні значення для
   одного й того самого — картки. Канон для неї однозначний:
   `.kp-card { border-radius: var(--kp-radius-lg) }`.
   Контроли (кнопки, чипи, аватари, поля) з проходу виключені: там канон
   справді вживає 10-11px, і зводити їх до 12 означало б відійти ВІД прев'ю.
   `--r` (20px) теж не чіпано — це інший рівень, а не сусіднє значення. */
/* v1.1.6.298 (REV46): рамка прозорих контролів переведена з --n-line на
   канонний --kp-color-control-border. Порахував: --n-line (#dfe6f0) на тлі
   сторінки (#f3f6fb) дає контраст 1.16:1, у темній 1.54:1 — рамку фізично
   не видно, а це єдине, чим така кнопка себе позначає. WCAG для не-текстових
   елементів вимагає 3:1; канонний колір контролю дає 3.2 і 3.89.
   --n-line лишається там, де він і має бути — на роздільниках і краях
   поверхонь, які нічого не позначають. */
/* v1.1.6.291 (REV46, CANON-STEP-8): значення, які ВЖЕ дорівнювали кроку
   канонної шкали, отримали її ім'я: радіус 0, pill 0,
   відступи 2, вага 0. Жодне число не змінено — це
   перейменування, не редизайн. Значення поза шкалою лишились літералами
   свідомо: прев'ю канону саме вживає 10/14/6px для падінгів компонентів,
   тож стягувати їх до шкали означало б відійти ВІД прев'ю, а не до нього. */
/* v1.1.6.290 (REV46, CANON-STEP-7): 1 значень font-size переведено на
   канонну шкалу (--kp-text-xs/sm/md/lg/xl/2xl). Правило: найближчий крок,
   і лише коли зміна ≤12%%. Все, що далі (герой-цифри 3-5rem, мікропідписи
   <0.6rem), лишилось літералом — це не текстова шкала. Перелік: _meta/. */
.kp-minimap {
display: flex;
flex-direction: column;
gap: 10px;
}
.kp-minimap__canvas {
width: 100%;
border: 1px solid var(--kp-color-border);
border-radius: var(--kp-radius-lg);
background: var(--n-bg-1, var(--kp-color-surface));
overflow: hidden;
z-index: 0;
}
.kp-minimap--display .kp-minimap__canvas {
cursor: grab;
}
.kp-minimap--display .kp-minimap__canvas:active {
cursor: grabbing;
}
.kp-minimap--picker .kp-minimap__canvas {
cursor: crosshair;
}
.kp-minimap__controls {
display: flex;
gap: var(--kp-space-2);
flex-wrap: wrap;
}
.kp-minimap__btn {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 7px var(--kp-space-3);
background: color-mix(in oklab, var(--kp-accent) 10%, transparent);
border: 1px solid color-mix(in oklab, var(--kp-accent) 30%, transparent);
border-radius: var(--n-r-pill, 999px);
color: var(--kp-color-text);
font-family: inherit;
font-size: var(--kp-text-sm);
cursor: pointer;
transition: background var(--n-dur-fast, .15s) ease,
border-color var(--n-dur-fast, .15s) ease;
}
.kp-minimap__btn:hover {
background: color-mix(in oklab, var(--kp-accent) 18%, transparent);
border-color: color-mix(in oklab, var(--kp-accent) 50%, transparent);
}
.kp-minimap__btn--ghost {
background: transparent;
border-color: var(--kp-color-control-border);
color: var(--kp-color-text-muted);
}
.kp-minimap__btn--ghost:hover {
border-color: var(--kp-color-text-muted);
color: var(--kp-color-text);
background: transparent;
}
.kp-minimap__btn[disabled] {
opacity: 0.45;
cursor: not-allowed;
}