.palette-overlay {
  position: fixed; inset: 0;
  background: rgba(20, 22, 26, 0.45);
  z-index: 300;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 12vh;
}
.palette-box {
  width: 560px;
  max-width: calc(100vw - 48px);
  background: var(--surface);
  border-radius: var(--radius-md);
  box-shadow: 0 20px 60px rgba(0,0,0,0.35);
  overflow: hidden;
}
.palette-input-row {
  display: flex; align-items: center; gap: var(--sp-2);
  padding: var(--sp-3) var(--sp-4);
  border-bottom: 1px solid var(--border);
}
.palette-input-row svg { color: var(--ink-faint); flex-shrink: 0; }
#paletteInput {
  flex: 1; border: none; outline: none;
  font-size: var(--fs-md);
  background: transparent;
}
.palette-kbd {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--ink-faint);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 1px 5px;
}
.palette-list { max-height: 360px; overflow-y: auto; padding: var(--sp-1); }
.palette-item {
  display: flex; align-items: center; justify-content: space-between;
  padding: var(--sp-2) var(--sp-3);
  border-radius: var(--radius-sm);
  font-size: var(--fs-sm);
  cursor: pointer;
}
.palette-item.active { background: var(--primary-tint); color: var(--primary-dark); }
.palette-hint { font-family: var(--font-mono); font-size: var(--fs-xs); color: var(--ink-faint); }
.palette-item.active .palette-hint { color: var(--primary); }
.palette-empty { padding: var(--sp-4); text-align: center; color: var(--ink-faint); font-size: var(--fs-sm); }
