:root {
  --ic-bg1: #0b1220;
  --ic-bg2: #111827;
  --ic-card: rgba(255, 255, 255, 0.04);
  --ic-card-border: rgba(255, 255, 255, 0.12);

  /* Text-Farben (bessere Lesbarkeit / Kontrast) */
  --ic-text: #f3f4f6;                 /* Haupttext */
  --ic-text-muted: rgba(243,244,246,.78); /* „kleiner“/Hilfetext */
  --ic-text-soft: rgba(243,244,246,.90);  /* Buttons etc. */
}

body {
  background: radial-gradient(1200px circle at 10% 10%, #1f2a44 0, transparent 55%),
              radial-gradient(900px circle at 90% 20%, #2a1644 0, transparent 50%),
              linear-gradient(180deg, var(--ic-bg1), var(--ic-bg2));
  color: var(--ic-text);
  min-height: 100vh;
}

.card.ic-card {
  background: var(--ic-card);
  border: 1px solid var(--ic-card-border);
  backdrop-filter: blur(10px);
  border-radius: 16px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.35);
}

.form-check-input:checked {
  border-color: rgba(255,255,255,0.5);
}

.ic-question {
  padding: 18px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(0,0,0,0.10);
}

.ic-muted {
  color: var(--ic-text-muted);
}

.btn-choice {
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(0,0,0,0.15);
  color: var(--ic-text-soft);
}

.form-control.ic-input,
.form-select.ic-input {
  background: rgba(0,0,0,0.20);
  color: var(--ic-text);
  border-color: rgba(255,255,255,0.18);
}

.form-control.ic-input:focus,
.form-select.ic-input:focus {
  background: rgba(0,0,0,0.22);
  color: var(--ic-text);
  border-color: rgba(255,255,255,0.35);
  box-shadow: 0 0 0 0.25rem rgba(255,255,255,0.08);
}

.form-control.ic-input::placeholder {
  color: rgba(243, 244, 246, 0.55);
}

.btn-choice:hover {
  border-color: rgba(255,255,255,0.35);
}

.btn-check:checked + .btn-choice {
  border-color: rgba(255,255,255,0.55);
  background: rgba(255,255,255,0.12);
}

.progress {
  height: 14px;
  border-radius: 999px;
  background: rgba(255,255,255,0.10);
}

.progress-bar {
  border-radius: 999px;
}

.small-note {
  font-size: 0.92rem;
}