:root {
  color-scheme: dark;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: #0b0e0b;
  color: #eef1ea;
  font-synthesis: none;
}

* { box-sizing: border-box; }
body { margin: 0; background: radial-gradient(circle at 10% 0%, #203022 0, #0b0e0b 38rem); }
main { width: min(920px, calc(100% - 32px)); margin: 0 auto; padding: 56px 0 80px; }
header { max-width: 720px; margin-bottom: 32px; }
.eyebrow { color: #9fcb83; letter-spacing: .16em; font-size: .76rem; font-weight: 750; }
h1 { margin: 6px 0 8px; font-size: clamp(2.8rem, 8vw, 5.4rem); line-height: .98; letter-spacing: -.055em; }
.lede { color: #b8c0b3; font-size: 1.08rem; line-height: 1.6; }
.card { background: rgba(22, 27, 22, .94); border: 1px solid #30382f; border-radius: 18px; padding: 22px; box-shadow: 0 18px 60px rgba(0,0,0,.24); }
.settings { display: grid; grid-template-columns: 1fr 1fr auto; gap: 20px; align-items: end; }
label { display: grid; gap: 9px; color: #dce1d8; font-weight: 650; font-size: .92rem; }
select, textarea, input[type="number"], input[type="file"] { width: 100%; color: #f4f6f2; background: #0e120e; border: 1px solid #3b463a; border-radius: 11px; padding: 11px 13px; font: inherit; }
textarea { resize: vertical; line-height: 1.6; }
input[type="range"] { accent-color: #9fcb83; }
.badge { margin: 0; border: 1px solid #44623e; border-radius: 999px; padding: 10px 13px; color: #abd18f; white-space: nowrap; font-size: .82rem; }
.tabs { display: flex; gap: 8px; margin: 28px 0 10px; }
.tab, button { border: 0; border-radius: 10px; padding: 11px 16px; background: #252b24; color: #d9ded5; font: inherit; font-weight: 720; cursor: pointer; }
.tab.active { background: #d9f2c8; color: #152011; }
.panel { display: none; }
.panel.active { display: grid; gap: 18px; }
.row { display: grid; grid-template-columns: 150px 1fr; gap: 14px; align-items: end; }
.primary { background: #9fcb83; color: #11180e; min-height: 46px; }
.primary:disabled { opacity: .5; cursor: wait; }
.output { margin-top: 18px; display: grid; gap: 16px; }
.status-row { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
#status { color: #aeb7aa; font-size: .9rem; text-align: right; }
progress { width: 100%; height: 8px; accent-color: #9fcb83; }
audio { width: 100%; }
.download { color: #b9df9e; }
pre { white-space: pre-wrap; color: #abb3a7; font-size: .8rem; }
footer { color: #7f897b; font-size: .82rem; line-height: 1.5; padding: 16px 4px; }

@media (max-width: 700px) {
  main { padding-top: 32px; }
  .settings { grid-template-columns: 1fr; }
  .row { grid-template-columns: 1fr; }
  .status-row { display: grid; }
  #status { text-align: left; }
}
