:root{
  --bg:#0b0d12;--surface:rgba(255,255,255,.075);--surface2:rgba(255,255,255,.045);
  --border:rgba(255,255,255,.13);--text:#f5f7fb;--muted:#9da5b5;--accent:#8fb8ff;
  --accent2:#c9d9ff;--danger:#ff7777;--shadow:0 25px 80px rgba(0,0,0,.38);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;background:radial-gradient(circle at 50% -10%,#1b2538 0,#0b0d12 42%,#07080b 100%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}
body.light-theme{--bg:#edf1f7;--surface:rgba(255,255,255,.64);--surface2:rgba(255,255,255,.48);--border:rgba(20,30,50,.12);--text:#101522;--muted:#657084;--accent:#456fd1;--accent2:#244aab;background:radial-gradient(circle at 50% -10%,#fff 0,#edf1f7 45%,#dce3ef 100%)}
button,input{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.glass{background:linear-gradient(145deg,var(--surface),rgba(255,255,255,.025));border:1px solid var(--border);box-shadow:var(--shadow);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.topbar{position:sticky;top:14px;z-index:20;width:min(1160px,calc(100% - 28px));margin:14px auto 0;padding:12px 16px;border-radius:20px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;gap:11px;align-items:center;color:inherit;text-decoration:none}
.brand-mark{width:45px;height:45px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,#fff,#a9b4c8);color:#111827;font-weight:950;letter-spacing:-2px;box-shadow:inset 0 1px 0 #fff,0 8px 22px #0003;transform:perspective(180px) rotateX(4deg)}
.brand-copy{display:grid;line-height:1.05}.brand-copy b{font-size:13px;letter-spacing:.8px}.brand-copy small{margin-top:5px;color:var(--muted);font-size:8px;letter-spacing:1.6px}
.header-actions{display:flex;align-items:center;gap:10px}.icon-btn,.small-btn{border:1px solid var(--border);background:var(--surface2);color:inherit;border-radius:12px;padding:9px 12px}.icon-btn{width:40px;height:40px;padding:0;font-size:18px}
.theme-switch input{display:none}.slider{width:52px;height:29px;border-radius:30px;background:#171b24;border:1px solid var(--border);display:block;padding:3px}.slider-dot{height:21px;width:21px;border-radius:50%;background:#f6f7fa;color:#111;display:grid;place-items:center;font-size:12px;transition:.25s}.theme-switch input:checked+.slider{background:#dce5f5}.theme-switch input:checked+.slider .slider-dot{transform:translateX(21px)}
.ambient{position:fixed;width:360px;height:360px;border-radius:50%;filter:blur(100px);opacity:.18;pointer-events:none}.ambient-one{background:#668bd1;top:5%;left:-160px}.ambient-two{background:#b0bfdc;right:-170px;bottom:8%}.grid-overlay{position:fixed;inset:0;pointer-events:none;opacity:.09;background-image:linear-gradient(var(--text) 1px,transparent 1px),linear-gradient(90deg,var(--text) 1px,transparent 1px);background-size:55px 55px;mask-image:linear-gradient(to bottom,black,transparent 80%)}
.page-shell{position:relative;z-index:1;width:min(1100px,calc(100% - 28px));margin:auto}.hero{text-align:center;padding:95px 0 50px}.hero-badge{display:inline-flex;gap:8px;align-items:center;padding:8px 12px;border:1px solid var(--border);background:var(--surface2);border-radius:99px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:1.4px}.hero-badge span{width:7px;height:7px;border-radius:50%;background:var(--accent)}
h1{font-size:clamp(42px,8vw,82px);line-height:.95;letter-spacing:-4px;margin:24px 0 18px;font-weight:950}h1 em{font-style:normal;color:var(--accent)}
.hero-text{max-width:620px;margin:0 auto 34px;color:var(--muted);line-height:1.65;font-size:15px}
.downloader-card{max-width:800px;margin:auto;padding:12px;border-radius:26px;text-align:left;transform:perspective(1200px) rotateX(1deg)}
.input-wrap{display:flex;align-items:center;gap:8px;padding:7px 8px 7px 13px;background:rgba(0,0,0,.14);border:1px solid var(--border);border-radius:18px}.link-icon{color:var(--muted)}.input-wrap input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:inherit;padding:11px 4px}.input-wrap input::placeholder{color:var(--muted)}
.primary-btn{width:100%;margin-top:9px;border:0;border-radius:17px;padding:15px 18px;background:linear-gradient(145deg,var(--accent2),var(--accent));color:#0a1020;font-weight:950;display:flex;justify-content:space-between;align-items:center;box-shadow:0 12px 28px #0003}.primary-btn:disabled{opacity:.6;cursor:wait}.privacy-note{text-align:center;color:var(--muted);font-size:10px;margin:10px 0 2px}
.loader-panel{max-width:800px;margin:18px auto;padding:18px;border-radius:20px;display:flex;gap:14px;align-items:center;text-align:left}.loader-panel div:last-child{display:grid;gap:4px}.loader-panel span{font-size:12px;color:var(--muted)}.spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.results{max-width:800px;margin:22px auto;text-align:left}.video-info-card{display:flex;gap:16px;padding:14px;border-radius:22px;background:var(--surface2);border:1px solid var(--border);box-shadow:var(--shadow)}.video-info-card img{width:180px;height:102px;object-fit:cover;border-radius:14px;background:#111}.details h3{margin:4px 0 12px;font-size:18px}.details p{color:var(--muted);font-size:12px}
#playerContainer{margin:14px 0}#playerContainer video,#playerContainer audio{width:100%;border-radius:20px;border:1px solid var(--border);background:#000;box-shadow:var(--shadow)}
.formats-container{margin-top:14px;padding:15px;border:1px solid var(--border);border-radius:20px;background:var(--surface2)}.formats-container h4{margin:0 0 11px;font-size:13px;letter-spacing:.5px}.format-list{display:grid;gap:8px}.format-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--border);background:rgba(0,0,0,.09);border-radius:15px}.label{font-weight:850;font-size:13px}.quality{font-size:10px;color:var(--muted);margin-top:4px}.actions{display:flex;gap:7px}.play-btn,.download-btn{border:1px solid var(--border);border-radius:10px;padding:8px 10px;background:var(--surface);color:inherit;text-decoration:none;font-size:11px;font-weight:800}.download-btn{background:var(--accent);color:#09101d;border-color:transparent}.empty-state{color:var(--muted);font-size:12px}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:800px;margin:35px auto 0;text-align:left}.feature-card{border-radius:20px;padding:18px}.feature-card span{font-size:10px;color:var(--accent);font-weight:900}.feature-card h3{margin:10px 0 5px}.feature-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
.footer{position:relative;z-index:1;width:min(1100px,calc(100% - 28px));margin:30px auto;padding:25px 0 35px;color:var(--muted);display:flex;justify-content:space-between;font-size:10px;border-top:1px solid var(--border)}
.toast-container{position:fixed;right:18px;bottom:18px;z-index:50;display:grid;gap:9px}.toast{max-width:min(360px,calc(100vw - 36px));padding:12px 15px;border:1px solid var(--border);border-radius:14px;background:#111722ee;color:#fff;box-shadow:var(--shadow);font-size:12px;animation:toastIn .35s ease}.toast.error{border-color:#ff777755}.toast.success{border-color:#9bbdff55}@keyframes toastIn{from{transform:translateY(15px);opacity:0}to{transform:none;opacity:1}}
@media(max-width:650px){.topbar{top:8px;margin-top:8px}.brand-copy{display:none}.hero{padding-top:72px}.hero h1{letter-spacing:-2.5px}.hero-text{font-size:13px}.input-wrap{flex-wrap:wrap}.input-wrap input{width:100%;flex-basis:100%;order:1}.link-icon{order:0}.input-wrap .small-btn{order:2}.feature-grid{grid-template-columns:1fr}.video-info-card{align-items:flex-start}.video-info-card img{width:112px;height:75px}.details h3{font-size:14px}.format-item{align-items:flex-start}.actions{flex-direction:column}.play-btn,.download-btn{text-align:center}.footer{flex-direction:column;gap:7px}}
@media(prefers-reduced-motion:no-preference){.downloader-card{animation:floatIn .7s ease both}.feature-card{animation:floatIn .7s ease both}@keyframes floatIn{from{opacity:0;transform:translateY(12px) perspective(1200px) rotateX(2deg)}to{opacity:1;transform:translateY(0) perspective(1200px) rotateX(1deg)}}}
