[data-c42-command-palette] {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 12vh 1rem 1rem;
}

[data-c42-command-palette][hidden] {
  display: none;
}

[data-c42-command-overlay] {
  position: fixed;
  inset: 0;
  background: rgba(17, 24, 39, 0.5);
}

[data-c42-command-dialog] {
  position: relative;
  z-index: 1;
  inline-size: 100%;
  max-inline-size: 36rem;
  max-block-size: 70vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: var(--c42-color-fg, #111827);
  background: var(--c42-color-bg, #ffffff);
  border: 1px solid var(--c42-color-border, #e5e7eb);
  border-radius: var(--c42-radius, 0.75rem);
  box-shadow: var(--c42-shadow, 0 20px 50px rgba(0, 0, 0, 0.25));
}

[data-c42-command-input] {
  flex: none;
  inline-size: 100%;
  padding: 0.875rem 1rem;
  font: inherit;
  font-size: 1rem;
  color: inherit;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--c42-color-border, #e5e7eb);
  outline: none;
}

[data-c42-command-input]::placeholder {
  color: var(--c42-color-muted, #6b7280);
}

[data-c42-command-list] {
  flex: 1;
  overflow-y: auto;
  padding: 0.375rem;
}

[data-c42-command-group] {
  padding-block: 0.25rem;
}

[data-c42-command-group][data-label]::before {
  content: attr(data-label);
  display: block;
  padding: 0.375rem 0.625rem 0.25rem;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--c42-color-muted, #6b7280);
}

[data-c42-command-item] {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  inline-size: 100%;
  padding: 0.5rem 0.625rem;
  font: inherit;
  text-align: start;
  color: inherit;
  background: transparent;
  border: 0;
  border-radius: var(--c42-radius-sm, 0.5rem);
  cursor: pointer;
}

[data-c42-command-item][data-active='true'],
[data-c42-command-item]:hover {
  background: var(--c42-color-accent-soft, #eef2ff);
  color: var(--c42-color-accent, #4f46e5);
}

[data-c42-command-item][aria-disabled='true'] {
  opacity: 0.5;
  cursor: not-allowed;
}

[data-c42-command-item][hidden],
[data-c42-command-group][hidden],
[data-c42-command-empty][hidden] {
  display: none;
}

[data-c42-command-empty] {
  padding: 1.25rem 0.625rem;
  text-align: center;
  color: var(--c42-color-muted, #6b7280);
}
