/* ======================================== ASCII Art Mode Styles ======================================== */

:root {
  --color-ascii: #d97706;
  --color-ascii-dark: #92400e;
  --color-ascii-tint: #fffbeb;
}

.mode-btn.mode-ascii.active {
  background-color: var(--color-ascii-dark);
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
}

.ascii-config-panel {
  border-right-color: var(--color-ascii);
}

.ascii-config-panel h3 {
  color: var(--color-ascii-dark);
}

.ascii-config-panel .btn-primary {
  background-color: var(--color-ascii);
  border-color: var(--color-ascii);
}

.ascii-config-panel .btn-primary:hover {
  background-color: var(--color-ascii-dark);
}

.ascii-config-panel .input-group label {
  color: var(--color-ascii-dark);
}

.ascii-config-panel .input-group input:focus,
.ascii-config-panel .input-group textarea:focus,
.ascii-config-panel .input-group select:focus {
  border-color: var(--color-ascii);
  box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.15);
}

.ascii-config-panel::-webkit-scrollbar-thumb {
  background: var(--color-ascii);
}

.ascii-preview-panel {
  border-right-color: var(--color-ascii);
  background: linear-gradient(135deg, var(--color-surface) 0%, var(--color-ascii-tint) 100%);
}

#asciiModeContent .preview-header h2 {
  color: var(--color-ascii);
}

#asciiPreview {
  font-family: "Courier New", monospace;
  font-size: 14px;
  line-height: 1.3;
  background: #fffef0;
  padding: 12px;
  border-radius: 4px;
  border: 1px solid var(--color-border);
}

#asciiPreview div {
  white-space: pre;
}

.pattern-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 8px;
}

.pattern-item {
  padding: 8px;
  border: 1px solid var(--color-border);
  border-radius: 4px;
  cursor: pointer;
  text-align: center;
  font-size: 10px;
  font-family: "Courier New", monospace;
  background: var(--color-background);
  transition: all 0.15s ease;
}

.pattern-item:hover {
  border-color: var(--color-ascii);
  background: var(--color-ascii-tint);
}

.pattern-item.selected {
  border-color: var(--color-ascii);
  background: var(--color-ascii);
  color: white;
}

.pattern-item .pattern-name {
  display: block;
  margin-top: 4px;
  font-size: 9px;
  color: var(--color-text-muted);
}

.pattern-item.selected .pattern-name {
  color: rgba(255, 255, 255, 0.8);
}

.char-set-selector {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.char-set-option {
  padding: 4px 8px;
  border: 1px solid var(--color-border);
  border-radius: 4px;
  cursor: pointer;
  font-size: 10px;
  font-family: "Courier New", monospace;
  background: var(--color-background);
}

.char-set-option:hover {
  border-color: var(--color-ascii);
}

.char-set-option.selected {
  background: var(--color-ascii);
  color: white;
  border-color: var(--color-ascii);
}

.preview-ascii-container {
  background: #fffef0;
  padding: 16px;
  border-radius: 4px;
  border: 1px solid var(--color-border);
  overflow-x: auto;
}

[data-theme="dark"] .ascii-preview-panel {
  background: linear-gradient(135deg, #2d3748 0%, #1a202c 100%);
}

[data-theme="dark"] #asciiPreview {
  background: #1a1a1a;
  color: #00ff00;
}

[data-theme="dark"] .preview-ascii-container {
  background: #1a1a1a;
}

[data-theme="dark"] .ascii-config-panel {
  border-right-color: var(--color-ascii);
}

[data-theme="dark"] .ascii-config-panel .config-section:hover {
  border-left-color: var(--color-ascii);
}