.cf-tts-app{max-width:900px;margin:30px auto;padding:10px}
.cf-tts-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:24px;box-shadow:0 8px 30px rgba(0,0,0,.06)}
.cf-tts-card h2{margin:0 0 6px}
.cf-tts-subtitle{margin:0 0 22px;color:#666}
.cf-tts-card label{display:block;font-weight:600;margin:12px 0 7px}

.cf-tts-card textarea,
.cf-tts-card select,
.cf-tts-card input{width:100%;box-sizing:border-box;font-size:16px}
.cf-tts-card textarea,
.cf-tts-card select,
.cf-tts-card input[type=text],
.cf-tts-card input[type=number]{border:1px solid #d1d5db;border-radius:9px;padding:11px;background:#fff}

.cf-tts-card select{
  min-width:0;
  min-height:44px;
  white-space:nowrap;
  text-overflow:ellipsis;
  overflow:hidden;
}
.cf-tts-card select option{white-space:normal}

.cf-tts-count{font-size:13px;color:#777;text-align:right;margin-top:5px}
.cf-tts-credits{font-size:13px;color:#555;text-align:right;margin-top:3px}
.cf-tts-owner-row{text-align:right;margin-top:4px}
.cf-tts-owner-link{font-size:12px;color:#2563eb;text-decoration:none}
.cf-tts-owner-link:hover{text-decoration:underline}
.cf-tts-pitch-note{font-size:12px;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:8px 10px;margin-top:10px}
.cf-tts-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}

.cf-tts-card button{margin-top:22px;width:100%;border:0;border-radius:9px;padding:13px 18px;font-weight:700;cursor:pointer;background:#111827;color:#fff;font-size:16px}
.cf-tts-card button:disabled{opacity:.75;cursor:wait}

.cf-tts-status{margin-top:14px;min-height:22px}
.cf-tts-status.error{color:#b91c1c}
.cf-tts-status.success{color:#15803d}

.cf-tts-download{display:inline-block;margin-top:14px;padding:10px 15px;border-radius:8px;background:#111827;color:#fff;text-decoration:none}

/* CAPTCHA */
.cf-tts-captcha-row{position:relative;margin-top:12px}
.cf-tts-captcha-row #cf-tts-captcha-question{
  display:inline-block;
  padding:6px 12px;
  border-radius:6px;
  background:#f3f4f6;
  font-size:18px;
  font-weight:800;
  letter-spacing:3px;
  user-select:none;
}
.cf-tts-captcha-row input{padding-right:55px}
.cf-tts-refresh{
  position:absolute!important;
  right:0;bottom:0;
  margin:0!important;
  width:48px!important;
  height:44px;
  padding:0!important;
  background:transparent!important;
  color:#111827!important;
  font-size:22px!important;
  border:1px solid #d1d5db!important;
  border-left:0!important;
  border-radius:0 9px 9px 0!important;
}

/* Loading: animated sound-wave bars */
.cf-tts-loading{position:relative}
.cf-tts-wave{
  display:inline-flex;
  align-items:flex-end;
  gap:3px;
  height:15px;
  vertical-align:-3px;
  margin-right:8px;
}
.cf-tts-wave span{
  display:inline-block;
  width:3px;
  border-radius:2px;
  background:#fff;
  animation:cfwave 0.9s ease-in-out infinite;
}
.cf-tts-wave span:nth-child(1){height:40%;animation-delay:0s}
.cf-tts-wave span:nth-child(2){height:100%;animation-delay:.15s}
.cf-tts-wave span:nth-child(3){height:65%;animation-delay:.3s}
.cf-tts-wave span:nth-child(4){height:85%;animation-delay:.45s}
@keyframes cfwave{
  0%,100%{transform:scaleY(.4);opacity:.6}
  50%{transform:scaleY(1);opacity:1}
}

/* Mobile */
@media(max-width:650px){
  .cf-tts-grid{grid-template-columns:1fr}
  .cf-tts-card{padding:16px}
  .cf-tts-app{margin:14px auto;padding:6px}
  .cf-tts-captcha-row input{font-size:16px}
}
