/* Command Component - Brutalist Styling */

.command {
  --brutal-command-bg: var(--brutal-white, #ffffff);
  --brutal-command-border: var(--brutal-black, #000000);
  --brutal-command-text: var(--brutal-black, #000000);
  --brutal-command-accent: var(--brutal-accent, #ff0000);
  --brutal-command-muted: var(--brutal-gray-600, #666666);
  --brutal-command-radius: var(--brutal-radius, 4px);
  --brutal-command-shadow: var(--brutal-shadow, 4px 4px 0px var(--brutal-black, #000000));

  display: flex;
  flex-direction: column;
  background-color: var(--brutal-command-bg);
  border: 2px solid var(--brutal-command-border);
  border-radius: var(--brutal-command-radius);
  box-shadow: var(--brutal-command-shadow);
  overflow: hidden;
  max-height: 400px;
  min-width: 300px;
}

.inputWrapper {
  position: relative;
  border-bottom: 2px solid var(--brutal-command-border);
}

.input {
  width: 100%;
  border: none;
  background: transparent;
  padding: 12px 16px;
  font-size: 14px;
  font-family: var(--brutal-font-mono, 'Courier New', monospace);
  font-weight: 600;
  color: var(--brutal-command-text);
  outline: none;
}

.input::placeholder {
  color: var(--brutal-command-muted);
  opacity: 0.8;
}

.input:focus {
  background-color: var(--brutal-gray-50, #f9fafb);
}

.list {
  flex: 1;
  overflow-y: auto;
  padding: 4px;
  min-height: 0;
}

.list::-webkit-scrollbar {
  width: 8px;
}

.list::-webkit-scrollbar-track {
  background: var(--brutal-gray-100, #f3f4f6);
}

.list::-webkit-scrollbar-thumb {
  background: var(--brutal-command-border);
  border-radius: 0;
}

.list::-webkit-scrollbar-thumb:hover {
  background: var(--brutal-command-accent);
}

.empty {
  padding: 32px 16px;
  text-align: center;
  color: var(--brutal-command-muted);
  font-family: var(--brutal-font-mono, 'Courier New', monospace);
  font-weight: 600;
  font-size: 14px;
}

.group {
  margin: 8px 0;
}

.group:first-child {
  margin-top: 0;
}

.group:last-child {
  margin-bottom: 0;
}

.groupHeading {
  padding: 8px 12px 4px;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  color: var(--brutal-command-muted);
  font-family: var(--brutal-font-mono, 'Courier New', monospace);
  letter-spacing: 0.5px;
}

.groupItems {
  /* Container for group items */
}

.item {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  margin: 2px 4px;
  border: 2px solid transparent;
  border-radius: var(--brutal-command-radius);
  cursor: pointer;
  font-family: var(--brutal-font-mono, 'Courier New', monospace);
  font-weight: 600;
  font-size: 14px;
  color: var(--brutal-command-text);
  transition: all 0.1s ease;
  user-select: none;
}

.item:hover {
  background-color: var(--brutal-gray-100, #f3f4f6);
  border-color: var(--brutal-command-border);
  transform: translateX(2px);
}

.itemSelected {
  background-color: var(--brutal-command-accent);
  color: var(--brutal-white, #ffffff);
  border-color: var(--brutal-command-border);
  transform: translateX(4px);
  box-shadow: 2px 2px 0px var(--brutal-command-border);
}

.itemSelected:hover {
  transform: translateX(4px);
}

.itemDisabled {
  opacity: 0.5;
  cursor: not-allowed;
  color: var(--brutal-command-muted);
}

.itemDisabled:hover {
  background-color: transparent;
  border-color: transparent;
  transform: none;
}

.separator {
  height: 2px;
  background-color: var(--brutal-command-border);
  margin: 8px 12px;
  border: none;
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
  .command {
    --brutal-command-bg: var(--brutal-gray-900, #111827);
    --brutal-command-border: var(--brutal-white, #ffffff);
    --brutal-command-text: var(--brutal-white, #ffffff);
    --brutal-command-muted: var(--brutal-gray-400, #9ca3af);
  }

  .input:focus {
    background-color: var(--brutal-gray-800, #1f2937);
  }

  .item:hover {
    background-color: var(--brutal-gray-800, #1f2937);
  }

  .list::-webkit-scrollbar-track {
    background: var(--brutal-gray-800, #1f2937);
  }
}

/* High contrast mode */
@media (prefers-contrast: high) {
  .command {
    border-width: 3px;
  }

  .item {
    border-width: 2px;
  }

  .itemSelected {
    box-shadow: 3px 3px 0px var(--brutal-command-border);
  }

  .separator {
    height: 3px;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .item {
    transition: none;
  }

  .item:hover,
  .itemSelected {
    transform: none;
  }
}

/* Print styles */
@media print {
  .command {
    box-shadow: none;
    border: 1px solid black;
  }

  .item {
    break-inside: avoid;
  }
}