:root{
  --bg:#0b1020; --panel:#141b31; --panel2:#1b2440; --line:#26304f;
  --ink:#eef2ff; --mut:#9aa6c7; --brand:#5b8cff; --brand2:#8a6bff; --ok:#37d19a;
  --radius:16px; --max:820px;
}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:radial-gradient(1200px 600px at 70% -10%,#1a2540 0,transparent 60%),var(--bg);color:var(--ink);line-height:1.6}
a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}
.top{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;max-width:var(--max);margin:0 auto}
.brand{font-weight:800;font-size:20px;color:var(--ink)}
.brand .logo{margin-right:6px}
nav a{color:var(--mut);margin-left:18px;font-size:14px}
main{max-width:var(--max);margin:0 auto;padding:0 22px 60px}
.hero{text-align:center;padding:26px 0 22px}
.hero h1{font-size:38px;line-height:1.15;margin:0 0 10px;
  background:linear-gradient(90deg,var(--brand),var(--brand2));-webkit-background-clip:text;background-clip:text;color:transparent}
.lede{color:var(--mut);font-size:18px;max-width:620px;margin:0 auto}
.tool{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-top:14px}
.dropzone{border:2px dashed var(--line);border-radius:var(--radius);padding:34px 18px;text-align:center;transition:.15s;background:var(--panel2)}
.dropzone.drag{border-color:var(--brand);background:#1c294d}
.dz-icon{font-size:40px}
.dz-title{font-size:17px;margin:8px 0 4px}
.dz-hint{color:var(--mut);font-size:13px;margin:0}
.dz-file{display:flex;align-items:center;justify-content:center;gap:12px;font-size:15px}
.dz-file #chosenName{font-weight:600;word-break:break-all}
.link{background:none;border:none;color:var(--brand);cursor:pointer;font:inherit;padding:0;text-decoration:underline}
.controls{margin-top:20px}
.ctl-label{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);margin-bottom:8px}
.speeds{display:flex;flex-wrap:wrap;gap:8px}
.speeds button{flex:1 1 auto;min-width:64px;padding:12px 0;border-radius:12px;border:1px solid var(--line);
  background:var(--panel2);color:var(--ink);font-size:16px;font-weight:700;cursor:pointer;transition:.12s}
.speeds button:hover{border-color:var(--brand)}
.speeds button.on{background:linear-gradient(90deg,var(--brand),var(--brand2));border-color:transparent}
.est{color:var(--mut);font-size:14px;margin:12px 0 0;min-height:20px}
.go{width:100%;margin-top:16px;padding:15px;border:none;border-radius:12px;font-size:17px;font-weight:800;cursor:pointer;
  color:#fff;background:linear-gradient(90deg,var(--brand),var(--brand2))}
.go:disabled{opacity:.45;cursor:not-allowed}
.progress{margin-top:18px;text-align:center}
.bar{height:10px;border-radius:6px;background:var(--panel2);overflow:hidden;border:1px solid var(--line)}
.bar-fill{height:100%;width:0;background:linear-gradient(90deg,var(--brand),var(--ok));transition:width .2s}
.progress p{color:var(--mut);font-size:14px;margin:10px 0 0}
.result{margin-top:18px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}
.result video{width:100%;max-width:480px;border-radius:12px;background:#000}
.download{display:inline-block;padding:13px 22px;border-radius:12px;font-weight:800;color:#fff;
  background:linear-gradient(90deg,var(--ok),var(--brand))}
.download:hover{text-decoration:none;filter:brightness(1.05)}
.error{margin-top:16px;color:#ff8a8a;background:#2a1622;border:1px solid #52243a;border-radius:10px;padding:12px 14px;font-size:14px}
.assure{margin-top:18px;color:var(--mut);font-size:13px;text-align:center;border-top:1px solid var(--line);padding-top:14px}
.content{margin-top:34px}
.content h2{font-size:24px;margin:0 0 10px}
.content p{color:#cdd6f4}
.steps{color:#cdd6f4;padding-left:20px}
.steps li{margin:8px 0}
details{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:10px 0}
summary{cursor:pointer;font-weight:600}
details p{margin:10px 0 0;color:var(--mut)}
footer{max-width:var(--max);margin:0 auto;padding:24px 22px 50px;color:var(--mut);font-size:14px;text-align:center;border-top:1px solid var(--line)}
footer a{color:var(--mut)}
@media(max-width:560px){.hero h1{font-size:30px}.lede{font-size:16px}}
