/* Prismind — tiny custom polish on top of Tailwind */

html { scroll-behavior: smooth; }

/* Slight noise/grain for warmth */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image: radial-gradient(rgba(27,31,59,.035) 1px, transparent 1px);
  background-size: 3px 3px;
  opacity: .6;
}

details > summary::-webkit-details-marker { display: none; }

/* Nice focus ring matching the palette */
*:focus-visible {
  outline: 2px solid #8B5CF6;
  outline-offset: 2px;
  border-radius: 6px;
}

/* Step / tab indicator */
.step-pill {
  transition: all .25s ease;
}

/* Input polish */
.field {
  width: 100%;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1.5px solid rgba(27,31,59,.1);
  background: #fff;
  font-size: 15px;
  color: #1B1F3B;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.field:focus {
  border-color: #A78BFA;
  box-shadow: 0 0 0 4px rgba(167,139,250,.15);
  outline: none;
}
.field::placeholder { color: #9CA3AF; }

.label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #1B1F3B;
  margin-bottom: 6px;
}

.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 16px 22px;
  border-radius: 999px;
  background: #1B1F3B;
  color: white;
  font-weight: 700;
  transition: transform .2s, opacity .2s;
  border: 0;
  cursor: pointer;
}
.btn-primary:hover { transform: translateY(-1px); opacity: .94; }
.btn-primary:disabled { opacity: .5; cursor: wait; }
