.pilot-nsi {
  --pilot-nsi-ink: #16233b;
  --pilot-nsi-accent: #285f9e;
  --pilot-nsi-soft: #edf5ff;
  --pilot-nsi-border: #c5d8ef;
  background: #fff;
  border: 1px solid var(--pilot-nsi-border);
  border-radius: 16px;
  color: var(--pilot-nsi-ink);
  margin: 1.5rem 0;
  padding: clamp(1rem, 3vw, 1.5rem);
}

.pilot-nsi__header h4 { margin: 0; }
.pilot-nsi__eyebrow { color: var(--pilot-nsi-accent); font-size: .78rem; font-weight: 700; letter-spacing: .04em; margin: 0 0 .35rem; text-transform: uppercase; }
.pilot-nsi__form { margin-top: 1rem; }
.pilot-nsi__form fieldset { border: 0; margin: 0; padding: 0; }
.pilot-nsi__form legend { font-weight: 700; margin-bottom: .6rem; }
.pilot-nsi__fields { display: grid; gap: .75rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 1rem; }
.pilot-nsi__fields label { display: grid; font-weight: 700; gap: .35rem; }
.pilot-nsi__fields input { border: 1px solid #7d98bb; border-radius: 8px; font: inherit; min-height: 2.65rem; padding: .4rem .55rem; }
.pilot-nsi__choice { align-items: flex-start; background: var(--pilot-nsi-soft); border-radius: 9px; display: flex; gap: .6rem; margin: .45rem 0; padding: .65rem .75rem; }
.pilot-nsi__choice input { flex: 0 0 auto; margin-top: .2rem; }
.pilot-nsi__form button { background: var(--pilot-nsi-accent); border: 0; border-radius: 8px; color: #fff; cursor: pointer; font: inherit; font-weight: 700; margin-top: 1rem; min-height: 2.7rem; padding: .55rem .85rem; }
.pilot-nsi__form button:focus-visible, .pilot-nsi input:focus-visible { outline: 3px solid #f0b429; outline-offset: 2px; }
.pilot-nsi__code { background: #101b2d; border-radius: 9px; color: #eaf4ff; line-height: 1.45; overflow-x: auto; padding: 1rem; white-space: pre; }
.pilot-nsi__hint { border-left: 3px solid var(--pilot-nsi-accent); font-size: .94rem; padding-left: .75rem; }
.pilot-nsi__result { background: #f4f6f8; border-radius: 9px; margin-top: 1rem; min-height: 1.5rem; padding: .8rem; }
.pilot-nsi__result[data-state="correct"] { background: #e6f6eb; color: #14532d; }
.pilot-nsi__result[data-state="incorrect"] { background: #fff1ec; color: #8a2d18; }

@media (max-width: 520px) {
  .pilot-nsi__fields { grid-template-columns: 1fr; }
  .pilot-nsi__form button { width: 100%; }
}
