:root{ --bg:#0b0f15; --card:#111827; --line:rgba(255,255,255,.12); --txt:#e5e7eb; --mut:rgba(229,231,235,.75); }
*{ box-sizing:border-box; font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial; }
body{ margin:0; background:var(--bg); color:var(--txt); }
.wrap{ max-width:980px; margin:18px auto; padding:14px; }
.card{ background:var(--card); border:1px solid var(--line); border-radius:18px; padding:14px; }
.row{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.between{ justify-content:space-between; }
h1{ margin:0 0 6px; font-size:20px; }
.hint{ color:var(--mut); font-size:13px; }
hr{ border:0; border-top:1px solid var(--line); margin:12px 0; }
.btn{ border:1px solid var(--line); background:rgba(255,255,255,.04); color:var(--txt);
  padding:10px 12px; border-radius:14px; cursor:pointer; }
.btn.primary{ background:rgba(255,255,255,.10); }
.btn:disabled{ opacity:.55; cursor:not-allowed; }
.file, select{ width:100%; padding:10px 12px; border-radius:14px; border:1px solid var(--line);
  background:rgba(0,0,0,.25); color:var(--txt); }
.pill{ padding:6px 10px; border:1px solid var(--line); border-radius:999px; font-size:12px; }
.badge{ padding:6px 10px; border:1px solid var(--line); border-radius:12px; font-size:13px; }
.grid2{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media(max-width:760px){ .grid2{ grid-template-columns:1fr; } }
.sliderBlock{ margin-top:12px; padding:12px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,0.03); }
.tiny{ font-size:12px; opacity:0.85; }
.slider{ width:100%; }
.spinner{ width:14px;height:14px;border:2px solid rgba(255,255,255,.25);
  border-top-color:rgba(255,255,255,.85); border-radius:50%;
  display:inline-block; animation:spin 0.8s linear infinite; vertical-align:-2px;}
@keyframes spin{ to{ transform:rotate(360deg);} }
.audioBox{ border:1px solid var(--line); border-radius:16px; padding:12px; background:rgba(0,0,0,.18); }
.waveBox{ border:1px solid var(--line); border-radius:14px; overflow:hidden; background:#000; margin-top:10px; }
.waveBox canvas{ width:100%; height:90px; display:block; }
