:root{
  --navy:#0B0F19;
  --navy-soft:#11172A;
  --navy-card:#151C30;
  --cyan:#22D3EE;
  --violet:#A78BFA;
  --violet-deep:#7C5CFF;
  --green:#34D399;
  --amber:#F59E0B;
  --red:#F87171;
  --text-hi:#F1F5F9;
  --text-mid:#94A3B8;
  --text-low:#64748B;
  --border:#232B42;
  --border-soft:#1B2238;
  --font-display:'Outfit', sans-serif;
  --font-body:'Inter', sans-serif;
  --font-mono:'JetBrains Mono', monospace;
  --radius:14px;
  --radius-sm:8px;
  --max-w:1180px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--navy);
  color:var(--text-hi);
  font-family:var(--font-body);
  line-height:1.6;
  overflow-x:hidden;
  width:100%;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
ul{list-style:none;}
.container{max-width:var(--max-w);margin:0 auto;padding:0 24px;}

[data-theme="light"]{
  --navy:#F8FAFC;
  --navy-soft:#FFFFFF;
  --navy-card:#FFFFFF;
  --text-hi:#0F172A;
  --text-mid:#475569;
  --text-low:#94A3B8;
  --border:#E2E8F0;
  --border-soft:#EDF2F7;
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
}

:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-radius:4px;}

/* ===== Skip link ===== */
.skip-link{position:absolute;left:-999px;top:0;background:var(--cyan);color:var(--navy);padding:10px 16px;z-index:200;border-radius:0 0 8px 0;font-weight:600;}
.skip-link:focus{left:0;}

/* ===== Header / Nav ===== */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(11,15,25,0.85);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border-soft);
}
[data-theme="light"] .site-header{background:rgba(248,250,252,0.85);}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;height:68px;}
.logo{font-family:var(--font-display);font-weight:800;font-size:1.25rem;letter-spacing:-0.01em;display:flex;align-items:center;gap:8px;}
.logo .dot{color:var(--cyan);}
.nav-desktop{display:flex;align-items:center;gap:6px;}
.nav-desktop > li{position:relative;}
.nav-link{display:flex;align-items:center;gap:4px;padding:10px 14px;border-radius:var(--radius-sm);font-size:0.92rem;font-weight:500;color:var(--text-mid);transition:color .15s,background .15s;}
.nav-link:hover,.nav-link:focus-visible{color:var(--text-hi);background:var(--navy-card);}
.nav-link svg{width:14px;height:14px;transition:transform .15s;}
.has-dropdown:hover .nav-link svg,.has-dropdown:focus-within .nav-link svg{transform:rotate(180deg);}
.dropdown{
  position:absolute;top:calc(100% + 8px);left:0;
  min-width:280px;max-height:420px;overflow-y:auto;
  background:var(--navy-card);border:1px solid var(--border);border-radius:var(--radius);
  padding:8px;box-shadow:0 20px 40px -10px rgba(0,0,0,0.5);
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .15s,transform .15s,visibility .15s;
  z-index:50;
}
.has-dropdown:hover .dropdown,.has-dropdown:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.dropdown a{display:block;padding:9px 12px;border-radius:var(--radius-sm);font-size:0.88rem;color:var(--text-mid);}
.dropdown a:hover,.dropdown a:focus-visible{background:var(--navy-soft);color:var(--cyan);}
.nav-actions{display:flex;align-items:center;gap:10px;}
.theme-toggle{width:38px;height:38px;border-radius:50%;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-mid);transition:border-color .15s,color .15s;}
.theme-toggle:hover{border-color:var(--cyan);color:var(--cyan);}
.theme-toggle svg{width:18px;height:18px;}
.theme-toggle .icon-sun{display:none;}
[data-theme="light"] .theme-toggle .icon-moon{display:none;}
[data-theme="light"] .theme-toggle .icon-sun{display:block;}
.hamburger{display:none;width:38px;height:38px;border-radius:8px;border:1px solid var(--border);align-items:center;justify-content:center;}
.hamburger svg{width:20px;height:20px;}

.mobile-nav{
  position:fixed;inset:0;top:68px;background:var(--navy);z-index:90;
  transform:translateX(100%);transition:transform .25s ease;
  overflow-y:auto;padding:16px 0 100px;
}
.mobile-nav.open{transform:translateX(0);}
.mobile-nav .container{padding:0 20px;}
.mnav-item{border-bottom:1px solid var(--border-soft);}
.mnav-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;padding:16px 4px;font-size:1rem;font-weight:600;color:var(--text-hi);}
.mnav-trigger svg{width:16px;height:16px;transition:transform .2s;color:var(--text-mid);}
.mnav-trigger[aria-expanded="true"] svg{transform:rotate(180deg);}
.mnav-panel{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.mnav-panel a{display:block;padding:11px 4px 11px 14px;color:var(--text-mid);font-size:0.92rem;border-left:2px solid var(--border);margin-left:4px;}
.mnav-panel a:hover{color:var(--cyan);}
.mnav-direct{display:block;padding:16px 4px;font-size:1rem;font-weight:600;color:var(--text-hi);border-bottom:1px solid var(--border-soft);}

@media (max-width:980px){
  .nav-desktop,.nav-actions .theme-toggle-desktop-spacer{display:none;}
  .hamburger{display:flex;}
}

/* ===== Breadcrumb ===== */
.breadcrumb-bar{border-bottom:1px solid var(--border-soft);background:var(--navy-soft);}
.breadcrumb{display:flex;align-items:center;gap:8px;padding:12px 0;font-size:0.85rem;color:var(--text-low);flex-wrap:wrap;}
.breadcrumb a{color:var(--text-mid);}
.breadcrumb a:hover{color:var(--cyan);}
.breadcrumb .sep{color:var(--text-low);}
.breadcrumb .current{color:var(--cyan);font-weight:500;}

/* ===== Hero ===== */
.hero{padding:64px 0 56px;position:relative;overflow:hidden;}
.hero::before{
  content:'';position:absolute;top:-200px;right:-150px;width:600px;height:600px;
  background:radial-gradient(circle,rgba(124,92,255,0.18),transparent 70%);
  pointer-events:none;
}
.hero::after{
  content:'';position:absolute;bottom:-250px;left:-150px;width:500px;height:500px;
  background:radial-gradient(circle,rgba(34,211,238,0.12),transparent 70%);
  pointer-events:none;
}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;position:relative;z-index:1;}
@media (max-width:980px){.hero-grid{grid-template-columns:1fr;gap:36px;}}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:0.78rem;font-weight:600;color:var(--cyan);letter-spacing:0.06em;text-transform:uppercase;background:rgba(34,211,238,0.08);border:1px solid rgba(34,211,238,0.25);padding:6px 14px;border-radius:999px;margin-bottom:20px;}
.eyebrow .pulse{width:6px;height:6px;border-radius:50%;background:var(--cyan);animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.3;}}
h1{font-family:var(--font-display);font-size:clamp(2rem,4.2vw,3.1rem);font-weight:800;line-height:1.1;letter-spacing:-0.02em;margin-bottom:18px;}
h1 .accent{color:var(--cyan);}
.hero-sub{font-size:1.08rem;color:var(--text-mid);max-width:520px;margin-bottom:28px;}
.hero-stats{display:flex;gap:28px;flex-wrap:wrap;}
.stat .num{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--text-hi);}
.stat .num span{color:var(--violet);}
.stat .label{font-size:0.8rem;color:var(--text-low);}

/* ===== Console (signature element) ===== */
.console{
  background:linear-gradient(180deg,var(--navy-card),var(--navy-soft));
  border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:0 30px 60px -20px rgba(0,0,0,0.6);
  overflow:hidden;
}
.console-bar{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border-soft);background:rgba(0,0,0,0.15);}
.console-dot{width:10px;height:10px;border-radius:50%;}
.console-dot.r{background:#FF5F57;}
.console-dot.y{background:#FEBC2E;}
.console-dot.g{background:#28C840;}
.console-title{margin-left:8px;font-family:var(--font-mono);font-size:0.78rem;color:var(--text-low);}
.console-body{padding:20px;}
.mode-switch{display:flex;background:var(--navy-soft);border:1px solid var(--border);border-radius:10px;padding:4px;margin-bottom:16px;}
.mode-btn{flex:1;text-align:center;padding:9px;border-radius:7px;font-size:0.85rem;font-weight:600;color:var(--text-mid);transition:background .15s,color .15s;}
.mode-btn.active{background:var(--violet-deep);color:#fff;}

.field-group{position:relative;margin-bottom:12px;}
.url-input,.bulk-textarea{
  width:100%;background:var(--navy-soft);border:1px solid var(--border);border-radius:10px;
  padding:13px 44px 13px 14px;color:var(--text-hi);font-family:var(--font-mono);font-size:0.88rem;
  transition:border-color .15s;
}
.bulk-textarea{padding:14px;min-height:140px;resize:vertical;line-height:1.7;}
.url-input:focus,.bulk-textarea:focus{border-color:var(--cyan);}
.url-input.valid{border-color:var(--green);}
.url-input.invalid{border-color:var(--red);}
.field-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--text-low);}
.field-icon.valid{color:var(--green);}
.field-icon.invalid{color:var(--red);}
.validation-msg{font-size:0.8rem;margin-top:6px;min-height:18px;display:flex;align-items:center;gap:6px;}
.validation-msg.valid{color:var(--green);}
.validation-msg.invalid{color:var(--red);}
.validation-msg.checking{color:var(--text-low);}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border-radius:10px;font-weight:600;font-size:0.92rem;transition:transform .15s,box-shadow .15s,opacity .15s;}
.btn-primary{background:linear-gradient(135deg,var(--violet-deep),var(--cyan));color:#fff;width:100%;box-shadow:0 8px 24px -8px rgba(124,92,255,0.5);}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 28px -8px rgba(124,92,255,0.6);}
.btn-primary:disabled{opacity:0.5;cursor:not-allowed;transform:none;}
.btn-secondary{background:var(--navy-soft);border:1px solid var(--border);color:var(--text-hi);}
.btn-secondary:hover{border-color:var(--cyan);color:var(--cyan);}
.btn-ghost{color:var(--text-mid);font-size:0.85rem;padding:8px 12px;}
.btn-ghost:hover{color:var(--cyan);}
.btn svg{width:16px;height:16px;}

.transfer-log{
  margin-top:16px;background:#070A12;border:1px solid var(--border);border-radius:10px;
  padding:14px;font-family:var(--font-mono);font-size:0.78rem;color:var(--text-mid);
  max-height:220px;overflow-y:auto;display:none;
}
.transfer-log.active{display:block;}
.log-line{display:flex;gap:8px;padding:3px 0;opacity:0;animation:fadeIn .3s forwards;}
@keyframes fadeIn{to{opacity:1;}}
.log-line .ts{color:var(--text-low);flex-shrink:0;}
.log-line.ok .msg{color:var(--green);}
.log-line.err .msg{color:var(--red);}
.log-line.info .msg{color:var(--cyan);}
.log-line.warn .msg{color:var(--amber);}

.progress-track{height:6px;background:var(--navy-soft);border-radius:999px;overflow:hidden;margin-top:14px;display:none;}
.progress-track.active{display:block;}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--violet-deep),var(--cyan));width:0%;transition:width .2s;border-radius:999px;}

.result-panel{margin-top:16px;background:var(--navy-soft);border:1px solid var(--border);border-radius:10px;padding:16px;display:none;}
.result-panel.active{display:block;}
.result-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-soft);}
.result-row:last-child{border-bottom:none;}
.result-file{display:flex;align-items:center;gap:10px;min-width:0;}
.result-file svg{width:18px;height:18px;color:var(--cyan);flex-shrink:0;}
.result-name{font-size:0.85rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.result-size{font-size:0.75rem;color:var(--text-low);flex-shrink:0;}
.result-actions{display:flex;gap:6px;flex-shrink:0;}
.icon-btn{width:32px;height:32px;border-radius:7px;display:flex;align-items:center;justify-content:center;color:var(--text-mid);border:1px solid var(--border);transition:color .15s,border-color .15s;}
.icon-btn:hover{color:var(--cyan);border-color:var(--cyan);}
.icon-btn svg{width:15px;height:15px;}
.result-summary{display:flex;gap:8px;margin-top:14px;}
.result-summary .btn{flex:1;}

/* ===== Sections shared ===== */
section{padding:80px 0;}
.section-head{text-align:center;max-width:640px;margin:0 auto 48px;}
.section-tag{font-size:0.78rem;font-weight:600;color:var(--violet);letter-spacing:0.08em;text-transform:uppercase;margin-bottom:10px;}
h2{font-family:var(--font-display);font-size:clamp(1.7rem,3vw,2.4rem);font-weight:700;letter-spacing:-0.01em;margin-bottom:12px;}
.section-desc{color:var(--text-mid);font-size:1rem;}

/* ===== Features ===== */
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media (max-width:900px){.features-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:620px){.features-grid{grid-template-columns:1fr;}}
.feature-card{background:var(--navy-card);border:1px solid var(--border);border-radius:var(--radius);padding:26px;transition:border-color .2s,transform .2s;}
.feature-card:hover{border-color:var(--cyan);transform:translateY(-3px);}
.feature-icon{width:42px;height:42px;border-radius:11px;background:rgba(34,211,238,0.1);display:flex;align-items:center;justify-content:center;color:var(--cyan);margin-bottom:16px;}
.feature-icon svg{width:22px;height:22px;}
.feature-card h3{font-family:var(--font-display);font-size:1.05rem;font-weight:600;margin-bottom:8px;}
.feature-card p{font-size:0.9rem;color:var(--text-mid);}

/* ===== How it works ===== */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.steps{grid-template-columns:1fr;}}
.step{position:relative;padding:24px 20px;background:var(--navy-card);border:1px solid var(--border);border-radius:var(--radius);}
.step-num{font-family:var(--font-display);font-size:0.78rem;font-weight:700;color:var(--cyan);background:rgba(34,211,238,0.1);width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.step h3{font-family:var(--font-display);font-size:1rem;font-weight:600;margin-bottom:6px;}
.step p{font-size:0.86rem;color:var(--text-mid);}

/* ===== Security strip ===== */
.security-strip{background:var(--navy-card);border:1px solid var(--border);border-radius:var(--radius);padding:32px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
@media (max-width:900px){.security-strip{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.security-strip{grid-template-columns:1fr;}}
.security-item{display:flex;gap:12px;align-items:flex-start;}
.security-item svg{width:20px;height:20px;color:var(--green);flex-shrink:0;margin-top:2px;}
.security-item h4{font-size:0.92rem;font-weight:600;margin-bottom:3px;}
.security-item p{font-size:0.82rem;color:var(--text-mid);}

/* ===== Content / SEO paragraph ===== */
.content-block{max-width:760px;margin:0 auto;}
.content-block p{color:var(--text-mid);font-size:0.96rem;margin-bottom:16px;}
.content-block h2{margin-bottom:18px;}

/* ===== FAQ ===== */
.faq-list{max-width:760px;margin:0 auto;}
.faq-item{border-bottom:1px solid var(--border-soft);}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 4px;text-align:left;font-family:var(--font-display);font-weight:600;font-size:1rem;}
.faq-q svg{width:18px;height:18px;flex-shrink:0;color:var(--violet);transition:transform .2s;}
.faq-q[aria-expanded="true"] svg{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.faq-a p{padding:0 4px 20px;color:var(--text-mid);font-size:0.92rem;}

/* ===== CTA ===== */
.cta-section{background:linear-gradient(135deg,rgba(124,92,255,0.12),rgba(34,211,238,0.08));border:1px solid var(--border);border-radius:24px;padding:56px 40px;text-align:center;}
.cta-section h2{margin-bottom:12px;}
.cta-section p{color:var(--text-mid);max-width:520px;margin:0 auto 28px;}
.cta-buttons{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.cta-buttons .btn{padding:14px 26px;}

/* ===== Resource links ===== */
.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
@media (max-width:760px){.resource-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:480px){.resource-grid{grid-template-columns:1fr;}}
.resource-link{display:flex;align-items:center;gap:10px;padding:13px 16px;background:var(--navy-card);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:0.86rem;color:var(--text-mid);transition:border-color .15s,color .15s;}
.resource-link:hover{border-color:var(--cyan);color:var(--cyan);}
.resource-link svg{width:15px;height:15px;flex-shrink:0;color:var(--text-low);}

/* ===== Footer ===== */
footer{border-top:1px solid var(--border-soft);background:var(--navy-soft);padding:56px 0 28px;}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;margin-bottom:40px;}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.footer-grid{grid-template-columns:1fr;}}
.footer-brand p{color:var(--text-mid);font-size:0.88rem;margin:14px 0 18px;max-width:300px;}
.footer-col h4{font-size:0.85rem;font-weight:600;margin-bottom:14px;color:var(--text-hi);}
.footer-links-2col{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;}
.footer-col a{display:block;font-size:0.84rem;color:var(--text-mid);padding:5px 0;}
.footer-col a:hover{color:var(--cyan);}
.footer-bottom{border-top:1px solid var(--border-soft);padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.footer-bottom p{font-size:0.8rem;color:var(--text-low);}
.footer-legal{display:flex;gap:18px;flex-wrap:wrap;}
.footer-legal a{font-size:0.8rem;color:var(--text-low);}
.footer-legal a:hover{color:var(--cyan);}
.trademark-note{font-size:0.76rem;color:var(--text-low);margin-top:14px;line-height:1.6;max-width:900px;}

/* ===== Cookie banner ===== */
.cookie-banner{
  position:fixed;bottom:0;left:0;right:0;z-index:150;
  background:var(--navy-card);border-top:1px solid var(--border);
  padding:16px 20px;display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;
  transform:translateY(100%);transition:transform .3s ease;
}
.cookie-banner.show{transform:translateY(0);}
.cookie-banner p{font-size:0.85rem;color:var(--text-mid);max-width:560px;}
.cookie-banner a{color:var(--cyan);}
.cookie-actions{display:flex;gap:10px;flex-shrink:0;}
.cookie-actions .btn{padding:9px 18px;font-size:0.85rem;}

.visually-hidden{position:absolute;left:-9999px;}