.optimizer-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-6);
}

@media (max-width: 768px) {
  .optimizer-layout {
    grid-template-columns: 1fr;
  }
}

.optimizer-panel {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  padding: var(--sp-5);
  border-radius: var(--radius-lg);
}

.optimizer-panel h2 {
  font-size: var(--text-2xl);
  margin-bottom: var(--sp-2);
}

.optimizer-textarea {
  width: 100%;
  min-height: 250px;
  padding: var(--sp-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: var(--color-text);
  resize: vertical;
  font-family: var(--font-mono);
  font-size: var(--text-base);
}

.optimizer-textarea:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px rgba(21, 101, 192, 0.2);
}

.api-key-input {
  width: 100%;
  padding: var(--sp-2) var(--sp-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  color: var(--color-text);
  margin-top: var(--sp-2);
}

.optimizer-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: var(--sp-4);
}

.diff-viewer {
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  white-space: pre-wrap;
  background: var(--color-bg);
  padding: var(--sp-4);
  border-radius: var(--radius-md);
  min-height: 250px;
  border: 1px solid var(--color-border);
}

#shared-prompt-banner {
  background: #E1F5FE;
  color: #0277BD;
  padding: var(--sp-3);
  border-radius: var(--radius-md);
  margin-bottom: var(--sp-4);
  font-weight: 500;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

[data-theme='dark'] #shared-prompt-banner {
  background: rgba(2, 119, 189, 0.2);
  color: #81D4FA;
}
