:root {
  color-scheme: light;
}
html {
  scroll-behavior: smooth;
}
body {
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
}
/* remove it if want to turn on */
.ad-wrap {
  display: none !important;
}
.exam-paper {
  width: min(100%, 210mm);
  min-height: 297mm;
  margin-inline: auto;
  background: white;
  box-shadow: 0 20px 45px rgba(15, 23, 42, 0.1);
}
.question-text,
.option-text,
.statement-text {
  white-space: pre-line;
}
.choice-input:checked + .choice-card {
  border-color: rgb(37 99 235);
  background: rgb(239 246 255);
  box-shadow: 0 0 0 2px rgb(191 219 254);
}
.question-nav-button.answered {
  background: rgb(220 252 231);
  border-color: rgb(34 197 94);
  color: rgb(21 128 61);
}
.question-nav-button.current {
  background: rgb(37 99 235);
  border-color: rgb(37 99 235);
  color: white;
}
.ad-placeholder {
  min-height: 100px;
  background: repeating-linear-gradient(
    135deg,
    #f8fafc,
    #f8fafc 12px,
    #f1f5f9 12px,
    #f1f5f9 24px
  );
}
.prose-content h2 {
  margin-top: 1.5rem;
  font-size: 1.35rem;
  font-weight: 800;
  color: #0f172a;
}
.prose-content p {
  margin-top: 0.75rem;
  line-height: 1.8;
  color: #475569;
}
.prose-content ul {
  margin-top: 0.75rem;
  padding-left: 1.25rem;
  list-style: disc;
  color: #475569;
}
.prose-content li + li {
  margin-top: 0.35rem;
}
.skeleton {
  animation: pulse 1.5s ease-in-out infinite;
  background: #e2e8f0;
  border-radius: 0.75rem;
}
@keyframes pulse {
  50% {
    opacity: 0.45;
  }
}
@media (max-width: 640px) {
  .exam-paper {
    min-height: auto;
    box-shadow: none;
  }
}
@media print {
  @page {
    size: A4;
    margin: 12mm;
  }
  body {
    background: white !important;
  }
  .no-print,
  header,
  footer,
  .ad-wrap {
    display: none !important;
  }
  .exam-paper {
    width: auto;
    min-height: auto;
    box-shadow: none;
    padding: 0 !important;
  }
  .paper-question {
    break-inside: avoid;
  }
  input,
  button {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
}
