:root{--bg:#0b1020;--panel:#121a31;--panel2:#17213d;--text:#f7f9ff;--muted:#aab5d1;--line:#273454;--accent:#6d7cff;--accent2:#8c5cff;--white:#fff;--danger:#ffb2b2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;background:linear-gradient(180deg,#090e1c 0%,#0e1630 55%,#0b1020 100%);color:var(--text);line-height:1.6}.container{width:min(1120px,calc(100% - 32px));margin:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(9,14,28,.78);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.06)}.nav{height:68px;display:flex;align-items:center;justify-content:space-between}.brand{color:#fff;text-decoration:none;font-weight:800;font-size:1.28rem;letter-spacing:-.02em}.nav nav{display:flex;gap:22px}.nav nav a,.footer a{color:var(--muted);text-decoration:none}.nav nav a:hover,.footer a:hover{color:#fff}.hero{padding:90px 0 60px;text-align:center;max-width:900px}.badge,.eyebrow{display:inline-flex;padding:7px 12px;border:1px solid var(--line);border-radius:999px;color:#cad3f3;background:rgba(109,124,255,.08);font-size:.82rem;font-weight:700}.hero h1{font-size:clamp(2.5rem,8vw,5rem);line-height:1.02;letter-spacing:-.055em;margin:20px auto;max-width:980px}.lead{font-size:1.1rem;color:var(--muted);max-width:760px;margin:0 auto}.hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;border-radius:13px;text-decoration:none;font-weight:800;border:1px solid var(--line);cursor:pointer}.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:white;border:0}.btn.ghost{color:#fff;background:rgba(255,255,255,.03)}.section{padding:64px 0}.section.soft{background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);border-radius:28px;padding:42px;margin-top:34px}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:24px}.section h2{font-size:clamp(1.8rem,4vw,2.8rem);margin:10px 0 0;letter-spacing:-.03em}.section-head p{color:var(--muted);max-width:460px;margin:0}.grid{display:grid;gap:16px}.tools-grid{grid-template-columns:repeat(3,1fr)}.card{background:linear-gradient(180deg,var(--panel),#0e162b);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 15px 40px rgba(0,0,0,.16)}a.card{text-decoration:none;color:inherit}.card:hover{transform:translateY(-2px);border-color:#5163a0}.tool .icon{display:grid;place-items:center;width:45px;height:45px;border-radius:13px;background:var(--panel2);font-size:1.2rem;font-weight:900}.tool h3{margin:18px 0 6px}.tool p{color:var(--muted);margin:0 0 18px}.arrow{font-weight:800;color:#bec8ff}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.steps b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#24305b}.steps p{color:var(--muted)}details{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin-top:12px}summary{cursor:pointer;font-weight:800}details p{color:var(--muted);margin-bottom:0}.tool-page{padding:58px 0}.tool-shell{max-width:850px;margin:auto}.tool-title{text-align:center;margin-bottom:28px}.tool-title h1{font-size:clamp(2rem,7vw,3.8rem);line-height:1.05;margin:12px 0}.tool-title p{color:var(--muted);max-width:690px;margin:auto}.downloader{padding:22px}.url-row{display:grid;grid-template-columns:1fr auto;gap:10px}.url-row input{width:100%;padding:16px;border:1px solid var(--line);border-radius:13px;background:#0a1122;color:#fff;font-size:16px;outline:none}.url-row input:focus{border-color:#6d7cff}.status{min-height:28px;color:var(--muted);font-size:.93rem;margin:12px 2px 0}.status.error{color:var(--danger)}.preview{display:none;margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#0b1327}.preview.show{display:block}.preview img{width:100%;max-height:330px;object-fit:cover;border-radius:12px;background:#10172c}.preview h3{margin:12px 0 4px}.preview p{color:var(--muted);margin:0}.result-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.small-note{margin-top:18px;color:var(--muted);font-size:.88rem}.legal-box{margin-top:20px;padding:14px 16px;border:1px dashed #3a4771;border-radius:14px;color:#bac5e5;background:rgba(255,255,255,.02)}footer{border-top:1px solid rgba(255,255,255,.07);margin-top:60px}.footer{display:flex;justify-content:space-between;gap:30px;padding:30px 0}.footer p{margin:4px 0;color:var(--muted)}.footer-links{display:flex;gap:18px;align-items:center}@media(max-width:820px){.tools-grid,.steps{grid-template-columns:1fr 1fr}.section-head{display:block}.section-head p{margin-top:10px}.nav nav{display:none}}@media(max-width:560px){.container{width:min(100% - 22px,1120px)}.hero{padding-top:58px}.tools-grid,.steps{grid-template-columns:1fr}.url-row{grid-template-columns:1fr}.url-row .btn{width:100%}.section.soft{width:min(100% - 22px,1120px);margin-left:auto;margin-right:auto}.footer{display:block}.footer-links{margin-top:16px;flex-wrap:wrap}}

.formats-heading{width:100%;font-weight:800;margin:2px 0 8px}
.formats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}
.format-btn{display:flex;flex-direction:column;gap:2px;text-align:left;padding:13px 14px;border-radius:12px;border:1px solid var(--line);background:#101a33;color:var(--text);cursor:pointer}
.format-btn:hover{border-color:#6d7cff;background:#152043}
.format-btn:disabled{opacity:.65;cursor:wait}
.format-btn strong{font-size:.96rem}
.format-btn span{font-size:.78rem;color:var(--muted)}
.stream-note{width:100%;margin-top:10px;padding:11px 12px;border:1px dashed #3a4771;border-radius:12px;color:#bac5e5;font-size:.82rem;background:rgba(255,255,255,.02)}
@media(max-width:560px){.formats-grid{grid-template-columns:1fr}}

.status.notice{color:#c5ccff}
.availability-note{width:100%;display:flex;flex-direction:column;gap:5px;padding:14px 15px;border:1px solid #46558c;border-radius:14px;background:rgba(111,124,255,.08);color:var(--text)}
.availability-note strong{font-size:1rem}
.availability-note span{font-size:.86rem;line-height:1.5;color:var(--muted)}


/* v0.5 animation system */
body::before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 10%,rgba(109,124,255,.12),transparent 26%),radial-gradient(circle at 82% 18%,rgba(140,92,255,.10),transparent 24%),radial-gradient(circle at 50% 70%,rgba(70,120,255,.08),transparent 34%);opacity:.9;animation:ambientFloat 13s ease-in-out infinite alternate;z-index:-1}
@keyframes ambientFloat{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(0,-18px,0) scale(1.03)}}
@keyframes fadeRise{0%{opacity:0;transform:translateY(22px) scale(.985)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes softPulse{0%,100%{box-shadow:0 0 0 rgba(109,124,255,0)}50%{box-shadow:0 0 0 8px rgba(109,124,255,.08)}}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
@keyframes skeletonPulse{0%,100%{opacity:.65}50%{opacity:1}}
.body-ready .site-header,.body-ready .hero,.body-ready .tool-title,.body-ready .downloader,.body-ready footer{animation:fadeRise .65s ease both}
.body-ready .tool-title{animation-delay:.06s}.body-ready .downloader{animation-delay:.12s}.body-ready footer{animation-delay:.18s}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}.reveal.in-view{opacity:1;transform:translateY(0)}
.card,.btn,.tool .icon,.preview,.legal-box,.availability-note,.format-btn{transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background .25s ease,opacity .25s ease}
.card:hover,.preview:hover{box-shadow:0 18px 42px rgba(0,0,0,.24)}
.btn.primary{background-size:200% 200%;animation:gradientShift 5s ease infinite}
@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.btn.primary:hover{transform:translateY(-1px) scale(1.01);box-shadow:0 14px 28px rgba(109,124,255,.24)}
.url-row input{transition:border-color .25s ease,box-shadow .25s ease,transform .2s ease}
.url-row input:focus{box-shadow:0 0 0 4px rgba(109,124,255,.11);transform:translateY(-1px)}
.status.loading{color:#d6dcff;display:flex;align-items:center;gap:9px}.status.loading::before{content:"";width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.24);border-top-color:#8ea1ff;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.preview.loading{display:block;min-height:270px;position:relative;overflow:hidden}
.preview.loading>*:not(.preview-skeleton){display:none !important}
.preview-skeleton{display:none}
.preview.loading .preview-skeleton{display:block}
.skeleton-box,.skeleton-line{background:linear-gradient(90deg,rgba(255,255,255,.06) 25%,rgba(255,255,255,.14) 50%,rgba(255,255,255,.06) 75%);background-size:200% 100%;animation:shimmer 1.5s linear infinite,skeletonPulse 2.4s ease-in-out infinite;border-radius:12px}
.skeleton-box{height:220px;margin-bottom:14px;border:1px solid rgba(255,255,255,.03)}
.skeleton-line{height:15px;margin-bottom:10px}.skeleton-line.w80{width:80%}.skeleton-line.w45{width:45%}.skeleton-line.w60{width:60%}.skeleton-line.w100{width:100%}
.loading-dots{display:inline-flex;gap:4px;vertical-align:middle;margin-left:6px}.loading-dots span{width:6px;height:6px;border-radius:50%;background:#aab5d1;opacity:.35;animation:dotPulse 1s infinite ease-in-out}.loading-dots span:nth-child(2){animation-delay:.18s}.loading-dots span:nth-child(3){animation-delay:.36s}
@keyframes dotPulse{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}
.formats-grid .format-btn{position:relative;overflow:hidden}.formats-grid .format-btn::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.06) 45%,transparent 80%);transform:translateX(-130%);transition:transform .55s ease}.formats-grid .format-btn:hover::after{transform:translateX(130%)}
.nav nav a,.footer a{position:relative}.nav nav a::after,.footer a::after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:linear-gradient(90deg,var(--accent),var(--accent2));transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.nav nav a:hover::after,.footer a:hover::after{transform:scaleX(1)}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}.reveal{opacity:1;transform:none}.body-ready .site-header,.body-ready .hero,.body-ready .tool-title,.body-ready .downloader,.body-ready footer{animation:none}}
