/* Screen-reader utility */
.ty47-ml .screen-reader-text {
  position:absolute!important;
  height:1px;
  width:1px;
  overflow:hidden;
  clip:rect(1px,1px,1px,1px);
}

/* Wrapper */
.ty47-ml {
  max-width:720px;
  margin:2rem auto;
  padding:1.25rem;
  border-radius:1rem;
  background:#f0f6ff; /* light blue tint */
  box-shadow:0 10px 30px rgba(0,0,0,.06);
}

.ty47-ml__title {font-size:1.5rem;margin:0 0 .25rem;color:#111;}
.ty47-ml__desc {margin:0 0 1rem;color:#444;}
.ty47-ml__row {display:flex;gap:.75rem;flex-wrap:wrap;margin:.5rem 0;}
.ty47-ml__field {flex:1 1 180px;}

.ty47-ml__field input {
  width:100%;
  padding:.9rem 1rem;
  border:1px solid #e5e7eb;
  border-radius:.75rem;
  outline:none;
  background:#fff;
  color:#111;
  transition:border-color 0.2s, box-shadow 0.2s;
}

.ty47-ml__field input:focus {
  border-color:#1d4ed8;
  box-shadow:0 0 0 2px rgba(29,78,216,0.2);
}

.ty47-ml__btn {
  appearance:none;
  border:0;
  border-radius:.75rem;
  padding:.9rem 1.25rem;
  background:#1d4ed8;
  color:#fff;
  font-weight:600;
  cursor:pointer;
  transition:all 0.2s ease;
}
.ty47-ml__btn:hover {filter:brightness(1.1);}
.ty47-ml__btn:disabled {opacity:.6;cursor:not-allowed;}

.ty47-ml__legal {font-size:.9rem;color:#333;}
.ty47-ml__hp {display:none!important;}

/* Messages */
.ty47-ml__msg {
  min-height:1.5rem;
  font-size:.95rem;
  margin-top:.5rem;
  color:#111; /* neutral for light mode */
}
.ty47-ml__msg.success {color:#16a34a;} /* green-600 */
.ty47-ml__msg.error   {color:#dc2626;} /* red-600 */

/* Dark mode */
@media (prefers-color-scheme: dark) {
  .ty47-ml {
    background:#0a1a33; /* deep navy */
    color:#ddd;
    border:1px solid #1f2937;
  }
  .ty47-ml__title {color:#eee;}
  .ty47-ml__desc {color:#bbb;}

  .ty47-ml__field input {
    background:#1f2937;
    color:#eee;
    border-color:#374151;
  }
  .ty47-ml__field input:focus {
    border-color:#60a5fa;
    box-shadow:0 0 0 2px rgba(96,165,250,0.3);
  }

  .ty47-ml__btn {background:#2563eb;color:#fff;}
  .ty47-ml__btn:hover {filter:brightness(1.1);}
  .ty47-ml__legal {color:#ccc;}

  .ty47-ml__msg {color:#eee;} /* neutral */
  .ty47-ml__msg.success {color:#22c55e;} /* green-500 */
  .ty47-ml__msg.error   {color:#f87171;} /* red-400 */
}