/* Practice Problems Styles */
.practice-problem {
  background: var(--swiss-white);
  border: 2px solid var(--swiss-gray-200);
  border-radius: 8px;
  padding: var(--space-6);
  margin: var(--space-6) 0;
}

.problem-header {
  display: flex;
  justify-content: space-between;
  margin-bottom: var(--space-4);
  font-size: var(--text-sm);
  color: var(--swiss-gray-600);
}

.problem-question {
  font-size: var(--text-xl);
  margin-bottom: var(--space-6);
  color: var(--swiss-black);
}

.options-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.option {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-4);
  background: var(--swiss-gray-100);
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.option:hover {
  background: var(--swiss-gray-200);
}

.option input[type="radio"] {
  width: 20px;
  height: 20px;
  accent-color: var(--swiss-accent);
}

.numerical-input input,
.fill-blank input {
  width: 100%;
  padding: var(--space-3);
  font-size: var(--text-lg);
  border: 2px solid var(--swiss-gray-300);
  border-radius: 4px;
  font-family: 'IBM Plex Mono', monospace;
}

.code-editor textarea {
  width: 100%;
  padding: var(--space-3);
  border: 2px solid var(--swiss-gray-300);
  border-radius: 4px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: var(--text-sm);
  resize: vertical;
}

.test-cases {
  margin-top: var(--space-4);
  padding: var(--space-4);
  background: var(--swiss-gray-100);
  border-radius: 4px;
}

.test-case {
  padding: var(--space-2) 0;
  font-family: 'IBM Plex Mono', monospace;
  font-size: var(--text-sm);
  border-bottom: 1px solid var(--swiss-gray-200);
}

.test-case:last-child {
  border-bottom: none;
}

.problem-actions {
  display: flex;
  gap: var(--space-3);
  margin-top: var(--space-6);
}

.hint-box {
  margin-top: var(--space-4);
  padding: var(--space-4);
  background: #fef3c7;
  border-left: 4px solid #f59e0b;
  border-radius: 4px;
}

.feedback-box {
  margin-top: var(--space-4);
  padding: var(--space-4);
  border-radius: 4px;
}

.feedback-box.correct {
  background: #dcfce7;
  border-left: 4px solid #22c55e;
}

.feedback-box.incorrect {
  background: #fee2e2;
  border-left: 4px solid #dc2626;
}

.completion-message {
  text-align: center;
  padding: var(--space-12);
  background: var(--swiss-white);
  border-radius: 8px;
  margin: var(--space-8) 0;
}

.completion-message h2 {
  font-size: var(--text-3xl);
  margin-bottom: var(--space-4);
}

/* Drag and Drop Styles */
.drag-container {
  display: flex;
  gap: var(--space-6);
  margin: var(--space-6) 0;
}

.drag-items, .drop-zones {
  flex: 1;
}

.drag-item {
  padding: var(--space-3);
  background: var(--swiss-accent);
  color: var(--swiss-white);
  border-radius: 4px;
  margin: var(--space-2) 0;
  cursor: move;
}

.drop-zone {
  min-height: 50px;
  padding: var(--space-3);
  background: var(--swiss-gray-100);
  border: 2px dashed var(--swiss-gray-300);
  border-radius: 4px;
  margin: var(--space-2) 0;
}

.drop-zone.drag-over {
  background: var(--swiss-gray-200);
  border-color: var(--swiss-accent);
}
