/* Меню быстрого перехода (Ctrl/⌘ + K). Подключается после style.css, перекрывает его .console. */
html.pal-open { overflow: hidden; }

.console { padding-top: min(13vh, 120px); background: radial-gradient(ellipse at 50% 0%, rgba(40, 44, 52, 0.55), rgba(5, 6, 7, 0.82) 62%); -webkit-backdrop-filter: blur(10px) saturate(1.1); backdrop-filter: blur(10px) saturate(1.1); animation: pal-backdrop 0.25s ease both; }
.console:not([hidden]) .pal { animation: pal-in 0.32s var(--ease) both; }

.console .console__box.pal { position: relative; display: block; width: min(680px, 92vw); padding: 0; border: 1px solid var(--hair-strong); background: rgba(14, 15, 18, 0.94); box-shadow: 0 40px 90px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(250, 251, 253, 0.03); }
.pal::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--chrome-hi), transparent); opacity: 0.7; }
.pal__tick { position: absolute; width: 9px; height: 9px; border: 1px solid var(--chrome-lo); background: var(--ink-0); }
.pal__tick--tl { left: -5px; top: -5px; }
.pal__tick--br { right: -5px; bottom: -5px; }

.pal__search { display: flex; align-items: center; gap: 14px; padding: 18px 20px 18px 22px; border-bottom: 1px solid var(--hair); color: var(--paper-2); }
.pal__input { flex: 1; min-width: 0; padding: 4px 0; font: inherit; font-family: var(--sans); font-size: 17px; letter-spacing: -0.01em; color: var(--paper-0); background: none; border: 0; outline: 0; }
.pal__input::placeholder { color: var(--paper-2); }
.pal__esc { padding: 4px 8px; font-family: var(--mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--paper-2); border: 1px solid var(--hair-strong); transition: color 0.2s, border-color 0.2s; }
.pal__esc:hover { color: var(--paper-0); border-color: var(--chrome-mid); }

.pal__list { max-height: min(54vh, 460px); overflow-y: auto; padding: 6px 8px 10px; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--chrome-lo) transparent; }
.pal__list::-webkit-scrollbar { width: 6px; }
.pal__list::-webkit-scrollbar-thumb { background: var(--chrome-lo); }
.pal__group { padding: 16px 14px 7px; font-family: var(--mono); font-size: 10.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--paper-2); }
.pal__group[hidden], .pal__item[hidden], .pal__empty[hidden] { display: none; }

.console .pal__item { position: relative; display: grid; grid-template-columns: 30px minmax(0, 1fr) auto 18px; align-items: center; gap: 12px; padding: 11px 14px; border-left: 2px solid transparent; font-size: 15px; font-weight: 500; letter-spacing: -0.01em; color: var(--paper-1); transition: background 0.15s, color 0.15s, border-color 0.15s; }
.console .pal__item.is-active { color: var(--paper-0); background: linear-gradient(90deg, rgba(250, 251, 253, 0.08), rgba(250, 251, 253, 0.02)); border-left-color: var(--chrome-hi); }
.pal__ico { font-family: var(--mono); font-size: 11px; color: var(--chrome-mid); }
.pal__title { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pal__hint { max-width: 230px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--mono); font-size: 11px; font-weight: 400; letter-spacing: 0.02em; color: var(--paper-2); }
.pal__go { font-family: var(--mono); font-size: 12px; color: var(--paper-2); opacity: 0; transform: translateX(-4px); transition: opacity 0.15s, transform 0.2s var(--ease); }
.pal__item.is-active .pal__go { opacity: 1; transform: none; }

.pal__empty { padding: 34px 20px 38px; text-align: center; font-family: var(--mono); font-size: 12px; letter-spacing: 0.06em; color: var(--paper-2); }

.pal__foot { display: flex; align-items: center; gap: 22px; padding: 12px 20px; border-top: 1px solid var(--hair); font-family: var(--mono); font-size: 10.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--paper-2); }
.pal__foot kbd { display: inline-block; min-width: 20px; margin-right: 4px; padding: 2px 6px; text-align: center; font: inherit; color: var(--paper-1); border: 1px solid var(--hair-strong); background: rgba(250, 251, 253, 0.03); }
.pal__brand { margin-left: auto; color: var(--chrome-lo); }

@keyframes pal-in { from { opacity: 0; transform: translateY(14px) scale(0.985); } to { opacity: 1; transform: none; } }
@keyframes pal-backdrop { from { opacity: 0; } to { opacity: 1; } }

@media (max-width: 640px) {
  .console { padding-top: 8vh; }
  .console .console__box.pal { width: 94vw; }
  .console .pal__item { grid-template-columns: 26px minmax(0, 1fr) 18px; padding: 12px 10px; }
  .pal__hint { display: none; }
  .pal__foot span:not(.pal__brand) { display: none; }
  .pal__foot { justify-content: flex-end; }
  .pal__list { max-height: 60vh; }
}
@media (prefers-reduced-motion: reduce) {
  .console, .console:not([hidden]) .pal { animation: none; }
}
.console .pal__item[hidden], .console .pal__group[hidden] { display: none; }
