/* ============================================================
   真实主题色（直接取自 Main.qml 源码）
   石墨(默认): bgA=#16181D  bgB=#222632  panel2=#171C25
               card=#2C3544  border=#576276  text=#F0F4FC
               muted=#A7B0C0  accent=#7CC4FF  ok=#61D997  danger=#FF7A70
   深海:       bgA=#0B1526  bgB=#13233A  panel2=#0D1E33
               card=#1B3657  border=#3D5F88  text=#EAF2FF
               muted=#9FB5D4  accent=#4BB6FF  ok=#2ECC71  danger=#F25C54
   云白:       bgA=#F3F7FE  bgB=#EAF1FB  panel2=#FFFFFF
               card=#EFF5FD  border=#BFD2E8  text=#1B2D45
               muted=#61758F  accent=#2F8FFF  ok=#1FB26A  danger=#E85B56
   ============================================================ */
:root {
  --bg:          #080c14;
  --bg2:         #0d1220;
  --panel:       #171C25;
  --card:        #2C3544;
  --card-hover:  #374155;
  --border:      #576276;
  --border-a:    rgba(87,98,118,0.5);
  --text:        #F0F4FC;
  --muted:       #A7B0C0;
  --accent:      #7CC4FF;
  --accent-soft: #304154;
  --ok:          #61D997;
  --danger:      #FF7A70;
  --radius-sm:   8px;
  --radius-md:   12px;
  --radius-lg:   18px;
  --shadow:      0 8px 40px rgba(0,0,0,0.55);
  --glow:        0 0 32px rgba(124,196,255,0.18);
  --tr:          0.22s ease;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  min-height:100vh;
  background:var(--bg);
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;
  font-size:16px;line-height:1.65;overflow-x:hidden;
}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}

/* ============================================================
   Canvas & Noise
   ============================================================ */
#bgCanvas{position:fixed;inset:0;z-index:0;pointer-events:none;}
.noise{
  position:fixed;inset:0;z-index:1;pointer-events:none;opacity:0.03;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:180px;
}

/* ============================================================
   Layout
   ============================================================ */
.container{width:min(1200px,calc(100% - 2.5rem));margin:0 auto;position:relative;z-index:2;}
.section{padding:6rem 0;}

/* ============================================================
   Header
   ============================================================ */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(8,12,20,0.85);
  border-bottom:1px solid var(--border-a);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  transition:box-shadow var(--tr);
}
.nav-inner{display:flex;align-items:center;gap:0.7rem;min-height:64px;}
.logo{display:flex;align-items:center;gap:0.55rem;font-size:1.1rem;font-weight:800;white-space:nowrap;}
.logo-img{width:28px;height:28px;border-radius:6px;object-fit:contain;flex-shrink:0;}
.site-brand{gap:0.4rem;}
.brand-name{font-weight:900;font-size:1.08rem;color:var(--text);}
.brand-sep{color:var(--muted);font-weight:300;font-size:1rem;opacity:0.6;}
.brand-tool{font-size:0.82rem;font-weight:600;color:var(--accent);padding:0.1rem 0.55rem;border-radius:999px;background:rgba(124,196,255,0.1);border:1px solid rgba(124,196,255,0.25);}
.nav-links{display:flex;gap:1.8rem;margin-left:auto;}
.nav-links a{color:var(--muted);font-size:0.9rem;font-weight:500;transition:color var(--tr);}
.nav-links a:hover{color:var(--text);}
.nav-actions{display:flex;align-items:center;gap:0.7rem;margin-left:1rem;}
.version-badge{
  font-size:0.72rem;font-weight:700;letter-spacing:0.06em;
  padding:0.2rem 0.6rem;border-radius:999px;
  border:1px solid rgba(124,196,255,0.4);color:var(--accent);
  background:rgba(124,196,255,0.1);
}

/* ============================================================
   Buttons
   ============================================================ */
.btn-primary{
  display:inline-flex;align-items:center;justify-content:center;
  padding:0.58rem 1.35rem;
  background:linear-gradient(135deg,var(--accent) 0%,#4a9eff 100%);
  color:#0d1220;font-weight:700;font-size:0.88rem;
  border-radius:var(--radius-sm);border:none;cursor:pointer;
  transition:filter var(--tr),transform var(--tr);white-space:nowrap;
}
.btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px);}
.btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;
  padding:0.58rem 1.2rem;background:transparent;
  color:var(--muted);font-weight:500;font-size:0.88rem;
  border:1px solid var(--border-a);border-radius:var(--radius-sm);cursor:pointer;
  transition:color var(--tr),border-color var(--tr);white-space:nowrap;
}
.btn-ghost:hover{color:var(--text);border-color:rgba(255,255,255,0.2);}
.btn-outline{
  display:inline-flex;align-items:center;justify-content:center;
  padding:0.58rem 1.35rem;background:transparent;
  color:var(--accent);font-weight:600;font-size:0.88rem;
  border:1px solid var(--accent);border-radius:var(--radius-sm);cursor:pointer;
  transition:background var(--tr),transform var(--tr);white-space:nowrap;
}
.btn-outline:hover{background:rgba(124,196,255,0.12);transform:translateY(-1px);}
.btn-lg{padding:0.82rem 1.9rem;font-size:0.98rem;border-radius:var(--radius-md);}
.glow-btn{box-shadow:0 0 20px rgba(124,196,255,0.3);}
.glow-btn:hover{box-shadow:0 0 36px rgba(124,196,255,0.5);}

/* ============================================================
   Hamburger
   ============================================================ */
.hamburger{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:34px;height:34px;background:none;
  border:1px solid var(--border-a);border-radius:var(--radius-sm);
  cursor:pointer;padding:6px;margin-left:auto;
}
.hamburger span{display:block;height:2px;background:var(--text);border-radius:2px;transition:transform .3s,opacity .3s;}
.mobile-menu{
  display:none;flex-direction:column;gap:0.2rem;
  padding:1rem 1.25rem 1.25rem;
  border-top:1px solid var(--border-a);
  background:rgba(23,28,37,0.98);
}
.mobile-menu a{padding:0.65rem 0.5rem;color:var(--muted);font-weight:500;border-radius:var(--radius-sm);transition:color var(--tr);}
.mobile-menu a:hover{color:var(--text);}
.mobile-menu .btn-primary{margin-top:0.5rem;}

/* ============================================================
   Aurora
   ============================================================ */
.aurora{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;}
.aurora-a,.aurora-b,.aurora-c{
  position:absolute;border-radius:50%;filter:blur(80px);opacity:0.18;
  animation:auroraDrift 16s ease-in-out infinite alternate;
}
.aurora-a{width:680px;height:400px;background:radial-gradient(ellipse,#00f5d4 0%,transparent 70%);top:-120px;left:-100px;animation-delay:0s;opacity:0.2;}
.aurora-b{width:580px;height:360px;background:radial-gradient(ellipse,#7c3aed 0%,transparent 70%);top:-80px;right:-80px;animation-delay:-5s;opacity:0.18;}
.aurora-c{width:500px;height:300px;background:radial-gradient(ellipse,#2d88ff 0%,transparent 70%);bottom:0;left:40%;animation-delay:-9s;opacity:0.16;}
@keyframes auroraDrift{
  0%{transform:translate(0,0) scale(1);}
  33%{transform:translate(32px,22px) scale(1.07);}
  66%{transform:translate(-22px,16px) scale(0.97);}
  100%{transform:translate(16px,-16px) scale(1.04);}
}

/* ============================================================
   Hero
   ============================================================ */
.hero{position:relative;padding:6rem 0 4rem;overflow:hidden;}
.hero-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:3.5rem;align-items:center;}
.badge-row{display:flex;flex-wrap:wrap;gap:0.45rem;margin-bottom:1.3rem;}
.badge{
  display:inline-flex;align-items:center;
  padding:0.26rem 0.75rem;
  background:rgba(255,255,255,0.05);border:1px solid var(--border-a);
  border-radius:999px;font-size:0.76rem;color:var(--muted);font-weight:500;
}
.badge-new{background:rgba(124,196,255,0.1);border-color:rgba(124,196,255,0.4);color:var(--accent);}
.hero-title{font-size:clamp(1.9rem,4vw,3.1rem);font-weight:900;line-height:1.18;letter-spacing:-0.02em;margin-bottom:1.1rem;}
.gradient-text{
  background:linear-gradient(135deg,var(--accent) 0%,#4a9eff 50%,var(--ok) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.hero-sub{color:var(--muted);font-size:0.97rem;max-width:490px;margin-bottom:1.9rem;line-height:1.78;}
.hero-actions{display:flex;flex-wrap:wrap;gap:0.8rem;margin-bottom:1.7rem;}
.trust-strip{display:flex;flex-wrap:wrap;gap:1.1rem;color:var(--muted);font-size:0.8rem;}

/* ============================================================
   App Window 模拟（石墨主题，取自真实 QML 代码）
   ============================================================ */
.app-window{
  background:linear-gradient(145deg,#222632 0%,#16181D 100%);
  border:1px solid #576276;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,0.7), 0 0 0 1px rgba(124,196,255,0.06);
  transition:transform 0.08s linear;
  font-size:13px;
  height:480px;
  display:flex;flex-direction:column;
}

/* 标题栏 — 对应 QML headerBar height:56 color:panel2 */
.win-titlebar{
  display:flex;align-items:center;gap:0.6rem;
  padding:0 14px;
  height:50px;
  background:#171C25;
  border-bottom:1px solid rgba(255,255,255,0.08);
  user-select:none;
}
.win-dots{display:flex;gap:6px;}
.dot{width:11px;height:11px;border-radius:50%;}
.dot-r{background:#FF5F57;}
.dot-y{background:#FEBC2E;}
.dot-g{background:#28C840;}
.win-title-center{
  display:flex;align-items:center;gap:0.45rem;
  flex:1;justify-content:center;
  font-size:12px;color:#A7B0C0;font-weight:600;
}
.win-logo{width:16px;height:16px;border-radius:3px;object-fit:contain;}
.win-ver{
  font-size:10px;padding:0.1rem 0.4rem;border-radius:999px;
  background:rgba(124,196,255,0.12);color:#7CC4FF;border:1px solid rgba(124,196,255,0.3);
}
.win-title-actions{display:flex;gap:6px;}
.win-btn{
  width:26px;height:26px;border-radius:7px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);
  color:#A7B0C0;font-size:11px;cursor:pointer;
  transition:background var(--tr),color var(--tr);
}
.win-btn:hover{background:rgba(255,255,255,0.12);color:var(--text);}

/* 主体布局 */
.win-body{display:flex;height:320px;}

/* 左侧分类栏 — 对应 QML sideCategoryPanel */
.win-sidebar{
  width:90px;flex-shrink:0;
  background:#171C25;
  border-right:1px solid rgba(255,255,255,0.07);
  padding:6px 0;
  display:flex;flex-direction:column;gap:2px;
  overflow:hidden;
}
.cat-item{
  padding:6px 10px;font-size:11px;color:#A7B0C0;
  cursor:pointer;border-radius:6px;margin:0 4px;
  transition:all var(--tr);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.cat-item:hover{background:rgba(255,255,255,0.06);color:#F0F4FC;}
.cat-active{background:rgba(124,196,255,0.14)!important;color:#7CC4FF!important;font-weight:600;}
.cat-folder{color:#A7B0C0;font-size:10px;}
.cat-add{color:rgba(124,196,255,0.6);font-size:10px;margin-top:auto;}

/* 右侧主面板 */
.win-main{flex:1;display:flex;flex-direction:column;overflow:hidden;}

/* 工具栏 — 对应 QML filterTopRow height:50 radius:12 */
.win-toolbar{
  display:flex;align-items:center;gap:8px;
  padding:6px 10px;
  background:rgba(255,255,255,0.04);
  border-bottom:1px solid rgba(255,255,255,0.07);
  flex-shrink:0;
}
.toolbar-filters{display:flex;gap:4px;flex:1;flex-wrap:wrap;}
.type-pill{
  padding:3px 9px;border-radius:7px;font-size:11px;
  background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);
  color:#A7B0C0;cursor:pointer;transition:all var(--tr);
}
.type-pill:hover{color:#F0F4FC;border-color:rgba(255,255,255,0.2);}
.type-active{background:rgba(124,196,255,0.12)!important;border-color:rgba(124,196,255,0.4)!important;color:#7CC4FF!important;}
.toolbar-search{
  display:flex;align-items:center;gap:5px;
  padding:4px 9px;background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.1);border-radius:8px;
  font-size:11px;color:#576276;min-width:90px;
}
.search-icon{font-size:10px;}
.search-placeholder{color:#576276;}

/* 智能推荐条 */
.smart-bar{
  display:flex;align-items:center;gap:6px;
  padding:5px 10px;
  background:rgba(124,196,255,0.07);
  border-bottom:1px solid rgba(124,196,255,0.15);
  font-size:11px;color:#7CC4FF;flex-shrink:0;
}
.smart-icon{font-size:10px;}
.smart-bar strong{color:#a8d8ff;}

/* 笔记列表 */
.note-list{
  flex:1;overflow-y:auto;padding:6px 8px;
  display:flex;flex-direction:column;gap:5px;
  scrollbar-width:thin;scrollbar-color:rgba(87,98,118,0.4) transparent;
}
.note-list::-webkit-scrollbar{width:4px;}
.note-list::-webkit-scrollbar-track{background:transparent;}
.note-list::-webkit-scrollbar-thumb{background:rgba(87,98,118,0.5);border-radius:2px;}

/* 笔记卡片 — 对应 QML card:#2C3544 cardHover:#374155 height:96(compact) radius:12 */
.note-card{
  display:flex;align-items:center;gap:8px;
  padding:7px 9px;
  background:#2C3544;border:1px solid rgba(87,98,118,0.5);
  border-radius:10px;cursor:pointer;
  transition:background var(--tr),border-color var(--tr);
}
.note-card:hover{background:#374155;border-color:#576276;}
.nc-recommended{border-color:rgba(124,196,255,0.35)!important;background:rgba(48,65,84,0.9)!important;}
.nc-left{flex-shrink:0;}
.nc-type-badge{
  width:26px;height:26px;border-radius:6px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(124,196,255,0.14);color:#7CC4FF;
  font-size:11px;font-weight:800;
}
.nc-img .nc-type-badge,.nc-img .nc-thumb{background:rgba(97,217,151,0.12);color:#61D997;font-size:14px;}
.nc-file .nc-type-badge,.nc-file .nc-thumb{background:rgba(74,158,255,0.12);color:#4a9eff;font-size:14px;}
.nc-thumb{width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px;}
.nc-thumb-file{background:rgba(74,158,255,0.12);}
.nc-body{flex:1;min-width:0;}
.nc-content{
  font-size:11.5px;color:#F0F4FC;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  margin-bottom:3px;
}
.nc-meta{display:flex;align-items:center;gap:6px;font-size:10px;}
.nc-cat{
  padding:1px 6px;border-radius:999px;
  background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);
  color:#A7B0C0;
}
.nc-rec{color:#7CC4FF;font-weight:600;}
.nc-size{color:#576276;}
.nc-actions{display:flex;gap:4px;flex-shrink:0;}
.nc-btn{
  padding:3px 8px;border-radius:6px;font-size:10.5px;font-weight:600;
  cursor:pointer;border:1px solid;transition:all var(--tr);
}
.nc-send{background:rgba(124,196,255,0.12);border-color:rgba(124,196,255,0.35);color:#7CC4FF;}
.nc-send:hover{background:rgba(124,196,255,0.22);}
.nc-copy{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.12);color:#A7B0C0;}
.nc-copy:hover{background:rgba(255,255,255,0.1);color:#F0F4FC;}
.nc-drag{background:rgba(97,217,151,0.1);border-color:rgba(97,217,151,0.3);color:#61D997;}
.nc-drag:hover{background:rgba(97,217,151,0.2);}
@keyframes pulseRing{
  0%,100%{box-shadow:0 0 0 0 rgba(124,196,255,0.45);}
  50%{box-shadow:0 0 0 4px rgba(124,196,255,0);}
}
.pulse-btn{animation:pulseRing 2s ease-in-out infinite;}

/* 状态栏 */
.win-statusbar{
  display:flex;justify-content:space-between;align-items:center;
  padding:5px 12px;
  border-top:1px solid rgba(255,255,255,0.06);
  font-size:10.5px;color:#576276;flex-shrink:0;
  background:#171C25;
}
.status-ok{color:#61D997;font-weight:600;}
.status-count{color:#576276;}

/* ============================================================
   Metrics
   ============================================================ */
.metrics{
  border-top:1px solid var(--border-a);border-bottom:1px solid var(--border-a);
  padding:3.5rem 0;background:rgba(255,255,255,0.01);
}
.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center;}
.metric-num{
  display:block;
  font-size:clamp(1.7rem,2.8vw,2.4rem);font-weight:900;
  background:linear-gradient(135deg,var(--accent),var(--ok));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  letter-spacing:-0.02em;
}
.metric-label{display:block;color:var(--muted);font-size:0.84rem;margin-top:0.3rem;}

/* ============================================================
   Section Head
   ============================================================ */
.section-head{text-align:center;margin-bottom:3.2rem;}
.section-head h2{font-size:clamp(1.5rem,2.6vw,2.2rem);font-weight:800;margin:0.5rem 0;letter-spacing:-0.02em;}
.section-sub{color:var(--muted);max-width:500px;margin:0.7rem auto 0;font-size:0.93rem;}
.eyebrow{
  display:inline-block;font-size:0.72rem;font-weight:700;
  text-transform:uppercase;letter-spacing:0.12em;
  color:var(--accent);background:rgba(124,196,255,0.1);
  padding:0.2rem 0.7rem;border-radius:999px;
}

/* ============================================================
   Theme Switcher & Preview
   ============================================================ */
.theme-switcher{display:flex;justify-content:center;gap:0.6rem;margin-bottom:2rem;}
.theme-tab{
  padding:0.45rem 1.2rem;border-radius:999px;
  background:rgba(255,255,255,0.05);border:1px solid var(--border-a);
  color:var(--muted);font-size:0.85rem;font-weight:600;cursor:pointer;
  transition:all var(--tr);
}
.theme-tab:hover{border-color:var(--accent);color:var(--text);}
.theme-tab.active{background:rgba(124,196,255,0.12);border-color:rgba(124,196,255,0.45);color:var(--accent);}
.theme-preview{
  border-radius:var(--radius-lg);overflow:hidden;
  border:1px solid var(--border-a);
  box-shadow:var(--shadow);
  min-height:260px;
  transition:all 0.4s ease;
}
/* 主题展示卡 */
.tp-win{
  padding:0;
  display:flex;flex-direction:column;
}
.tp-bar{
  display:flex;align-items:center;gap:8px;
  padding:10px 16px;
  border-bottom:1px solid var(--tp-border,#576276);
}
.tp-dot{width:10px;height:10px;border-radius:50%;}
.tp-title{flex:1;text-align:center;font-size:11px;font-weight:600;}
.tp-body{
  display:flex;gap:0;flex:1;
}
.tp-sidebar{
  width:80px;padding:8px 0;
  border-right:1px solid var(--tp-border,#576276);
  display:flex;flex-direction:column;gap:2px;
}
.tp-cat{
  padding:5px 10px;font-size:11px;margin:0 3px;
  border-radius:5px;cursor:pointer;
}
.tp-cat.a{background:rgba(124,196,255,0.14);font-weight:700;}
.tp-main{flex:1;padding:8px;display:flex;flex-direction:column;gap:6px;}
.tp-card{
  padding:8px 10px;border-radius:8px;
  border:1px solid;
  font-size:11px;
  display:flex;align-items:center;justify-content:space-between;
}
.tp-tag{
  font-size:9px;padding:2px 6px;border-radius:999px;
  border:1px solid;font-weight:600;
}

/* ============================================================
   Features
   ============================================================ */
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;}
.feat-card{
  padding:1.7rem 1.4rem;
  background:rgba(44,53,68,0.6);border:1px solid var(--border-a);
  border-radius:var(--radius-lg);
  transition:border-color var(--tr),transform var(--tr),box-shadow var(--tr);
}
.feat-card:hover{border-color:rgba(124,196,255,0.4);transform:translateY(-4px);box-shadow:var(--glow);}
.feat-icon{font-size:1.7rem;margin-bottom:0.9rem;}
.feat-card h3{font-size:0.98rem;font-weight:700;margin-bottom:0.45rem;}
.feat-card p{color:var(--muted);font-size:0.86rem;line-height:1.72;}

/* ============================================================
   AI Section
   ============================================================ */
.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;max-width:820px;margin:0 auto;}
.ai-card{
  padding:1.9rem 1.7rem;
  background:rgba(44,53,68,0.5);border:1px solid var(--border-a);
  border-radius:var(--radius-lg);
  transition:border-color var(--tr),transform var(--tr);
}
.ai-card:hover{border-color:rgba(124,196,255,0.4);transform:translateY(-3px);}
.ai-card-featured{
  border-color:rgba(97,217,151,0.35);
  background:linear-gradient(160deg,rgba(97,217,151,0.06) 0%,rgba(44,53,68,0.5) 100%);
  box-shadow:0 0 32px rgba(97,217,151,0.1);
}
.ai-card-head{display:flex;align-items:center;gap:0.7rem;margin-bottom:0.9rem;}
.ai-icon{font-size:1.5rem;}
.ai-card-head h3{font-size:1rem;font-weight:700;}
.ai-card p{color:var(--muted);font-size:0.86rem;line-height:1.72;margin-bottom:1.1rem;}
.ai-features{display:flex;flex-direction:column;gap:0.45rem;}
.ai-features li{color:var(--muted);font-size:0.84rem;}

/* ============================================================
   Theme Cards
   ============================================================ */
.theme-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;}
.theme-card{
  border-radius:var(--radius-lg);overflow:hidden;
  border:1px solid var(--tc-border,#576276);
  background:var(--tc-panel,#171C25);
  box-shadow:0 8px 32px rgba(0,0,0,0.4);
  transition:transform var(--tr);
}
.theme-card:hover{transform:translateY(-4px);}
.tc-header{
  display:flex;align-items:center;gap:6px;
  padding:10px 14px;
  background:var(--tc-bg,#16181D);
  border-bottom:1px solid var(--tc-border,#576276);
}
.tc-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.tc-name{font-size:11px;font-weight:700;color:var(--tc-accent,#7CC4FF);margin-left:4px;}
.tc-body{
  padding:14px;
  background:var(--tc-panel,#171C25);
}
.tc-row{
  display:flex;align-items:center;gap:8px;
  padding:5px 0;border-bottom:1px solid rgba(255,255,255,0.05);
  font-size:11px;
}
.tc-row:last-child{border-bottom:none;}
.tc-label{color:var(--tc-muted,#A7B0C0);width:48px;flex-shrink:0;}
.tc-swatch{width:16px;height:16px;border-radius:4px;flex-shrink:0;border:1px solid rgba(255,255,255,0.15);}
.tc-body code{font-family:'JetBrains Mono','Consolas',monospace;font-size:10px;color:var(--tc-accent,#7CC4FF);}

/* ============================================================
   Tech Grid
   ============================================================ */
.tech-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;}
.tech-card{
  padding:1.4rem;
  background:rgba(44,53,68,0.5);border:1px solid var(--border-a);
  border-radius:var(--radius-md);
  transition:border-color var(--tr),transform var(--tr);
}
.tech-card:hover{border-color:rgba(124,196,255,0.4);transform:translateY(-3px);}
.tech-label{font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--muted);margin-bottom:0.35rem;}
.tech-value{font-size:0.95rem;font-weight:800;color:var(--accent);margin-bottom:0.55rem;}
.tech-card p{color:var(--muted);font-size:0.83rem;line-height:1.65;}

/* ============================================================
   CTA
   ============================================================ */
.cta-section{text-align:center;padding:6.5rem 0;}
.cta-inner h2{font-size:clamp(1.7rem,3vw,2.5rem);font-weight:900;letter-spacing:-0.02em;margin:0.9rem 0 0.75rem;}
.cta-inner p{color:var(--muted);margin-bottom:1.8rem;}
.cta-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:0.9rem;margin-bottom:1rem;}
.cta-note{font-size:0.78rem;color:var(--muted);}

/* ============================================================
   Footer
   ============================================================ */
.site-footer{border-top:1px solid var(--border-a);padding:3rem 0 2rem;}
.footer-inner{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:2.5rem;}
.footer-brand .logo{margin-bottom:0.75rem;}
.footer-brand p{color:var(--muted);font-size:0.84rem;max-width:220px;line-height:1.65;}
.footer-col h4{font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--text);margin-bottom:0.85rem;}
.footer-col ul{display:flex;flex-direction:column;gap:0.48rem;}
.footer-col li a{color:var(--muted);font-size:0.84rem;transition:color var(--tr);}
.footer-col li a:hover{color:var(--text);}
.footer-bottom{
  margin-top:2.2rem;padding-top:1.4rem;border-top:1px solid var(--border-a);
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:0.5rem;color:var(--muted);font-size:0.78rem;
}
.footer-col ul{
  display:flex;flex-direction:column;gap:0.48rem;
  /* 对齐：所有列统一顶部对齐 */
  align-items:flex-start;
}
.footer-inner{
  align-items:start;
}

/* ============================================================
   Tool Tabs（产品切换）
   ============================================================ */
.tool-tabs{
  display:flex;gap:4px;margin-left:auto;
  background:rgba(255,255,255,0.04);
  border:1px solid var(--border-a);
  border-radius:999px;padding:3px;
}
.tool-tab{
  padding:0.28rem 0.7rem;border-radius:999px;
  background:transparent;border:none;
  color:var(--muted);font-size:0.78rem;font-weight:600;
  cursor:pointer;transition:all var(--tr);white-space:nowrap;
}
.tool-tab:hover{color:var(--text);}
.tool-tab.active{
  background:rgba(255,255,255,0.1);
  color:var(--text);
  box-shadow:0 1px 4px rgba(0,0,0,0.3);
}
/* 当前工具为去重时 active tab 用紫蓝色 */
body.tool-dedup .tool-tab[data-tool="dedup"].active{
  background:rgba(111,140,255,0.18);
  color:#8ea7ff;
}
body.tool-station .tool-tab[data-tool="station"].active{
  background:rgba(124,196,255,0.14);
  color:var(--accent);
}
body.tool-media .tool-tab[data-tool="media"].active{
  background:rgba(255,124,60,0.18);
  color:#ff7c3c;
}

/* ============================================================
   去重工具 — 颜色变量
   accent:  #6f8cff  accentStrong: #8ea7ff
   mint:    #45d8c1  gold: #f2cf74  coral: #ff7f7f
   ============================================================ */
.gradient-text-dedup{
  background:linear-gradient(135deg,#6f8cff 0%,#45d8c1 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.btn-dedup{
  display:inline-flex;align-items:center;justify-content:center;
  padding:0.58rem 1.35rem;
  background:linear-gradient(135deg,#6f8cff 0%,#45d8c1 100%);
  color:#0d1220;font-weight:700;font-size:0.88rem;
  border-radius:var(--radius-md);border:none;cursor:pointer;
  transition:filter var(--tr),transform var(--tr);white-space:nowrap;
}
.btn-dedup:hover{filter:brightness(1.1);transform:translateY(-1px);}
.btn-dedup.btn-lg{padding:0.82rem 1.9rem;font-size:0.98rem;}
.glow-btn-dedup{box-shadow:0 0 20px rgba(111,140,255,0.35);}
.glow-btn-dedup:hover{box-shadow:0 0 36px rgba(111,140,255,0.55);}
.btn-outline-dedup{
  display:inline-flex;align-items:center;justify-content:center;
  padding:0.58rem 1.35rem;background:transparent;
  color:#6f8cff;font-weight:600;font-size:0.88rem;
  border:1px solid #6f8cff;border-radius:var(--radius-md);cursor:pointer;
  transition:background var(--tr),transform var(--tr);white-space:nowrap;
}
.btn-outline-dedup:hover{background:rgba(111,140,255,0.1);transform:translateY(-1px);}
.btn-outline-dedup.btn-lg{padding:0.82rem 1.9rem;font-size:0.98rem;}

/* ============================================================
   去重工具窗口 — 真实还原（对照 Theme.qml + Main.qml）
   windowBg:#161d33  sideBg:#1c233b  panelBg:#1f2742
   cardBg:#242d4a    border:#344264  accent:#6f8cff
   ============================================================ */
.dedup-window{
  background:#161d33;
  border:1px solid #344264;
  border-radius:14px;overflow:hidden;
  box-shadow:0 24px 64px rgba(0,0,0,0.75),0 0 0 1px rgba(111,140,255,0.07);
  transition:transform 0.08s linear;
  font-size:12px;
  display:flex;flex-direction:column;
  height:480px;
}
/* 标题栏 */
.dedup-titlebar{
  display:flex;align-items:center;gap:0.6rem;
  padding:0 12px;height:46px;flex-shrink:0;
  background:#1c233b;
  border-bottom:1px solid #344264;
}
.dedup-title-right{margin-left:auto;}
.dedup-theme-btn{
  width:22px;height:22px;border-radius:5px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,0.06);border:1px solid #344264;
  color:#b5c2de;font-size:11px;cursor:pointer;
}
/* 类型筛选栏（真实 QML 顶部 category bar height:56 radius:8）*/
.dedup-catbar{
  display:flex;align-items:center;gap:5px;
  padding:6px 10px;flex-shrink:0;
  background:rgba(36,45,74,0.7);
  border-bottom:1px solid #344264;
}
.dedup-catbar-chip{
  padding:4px 10px;border-radius:7px;font-size:10.5px;
  background:rgba(36,45,74,0.5);border:1px solid #344264;
  color:#b5c2de;cursor:pointer;transition:all var(--tr);
  white-space:nowrap;
}
.dedup-catbar-chip:hover{background:rgba(111,140,255,0.1);border-color:rgba(111,140,255,0.3);color:#eef2ff;}
.dedup-chip-active{
  background:rgba(111,140,255,0.16)!important;
  border-color:rgba(111,140,255,0.5)!important;
  color:#8ea7ff!important;font-weight:600;
}
/* 主体 */
.dedup-body{display:flex;flex:1;min-height:0;}
/* 左侧导航栏（真实 width~120 sideBg:#1c233b）*/
.dedup-sidebar{
  width:108px;flex-shrink:0;
  background:#1c233b;
  border-right:1px solid #344264;
  padding:6px 0;
  display:flex;flex-direction:column;
  overflow-y:auto;overflow-x:hidden;
}
.dedup-nav-item{
  padding:8px 12px;font-size:11px;color:#b5c2de;
  cursor:pointer;border-radius:7px;margin:1px 5px;
  transition:all var(--tr);position:relative;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.dedup-nav-item:hover{background:rgba(255,255,255,0.05);color:#eef2ff;}
.dedup-nav-active{
  background:rgba(111,140,255,0.14)!important;
  color:#8ea7ff!important;font-weight:600;
}
.dedup-nav-active::before{
  content:'';position:absolute;left:4px;top:50%;transform:translateY(-50%);
  width:3px;height:18px;border-radius:2px;background:#8ea7ff;
}
/* 帮助提示框（真实 QML 左侧 navHelpItems）*/
.dedup-help-box{
  margin:8px 5px 0;
  padding:8px;
  background:rgba(36,45,74,0.6);
  border:1px solid #344264;
  border-radius:8px;
  display:none;flex-direction:column;gap:4px;
}
.dedup-help-tag{
  font-size:9px;font-weight:700;padding:2px 5px;border-radius:4px;
  display:inline-block;width:fit-content;
}
.dedup-tag-info{background:rgba(111,140,255,0.2);color:#8ea7ff;}
.dedup-tag-accent{background:rgba(69,216,193,0.2);color:#45d8c1;}
.dedup-tag-warn{background:rgba(255,127,127,0.2);color:#ff7f7f;}
.dedup-tag-safe{background:rgba(69,216,193,0.2);color:#45d8c1;}
.dedup-help-desc{font-size:9.5px;color:#6b7d9e;line-height:1.4;}
/* 右侧主区 */
.dedup-main{
  flex:1;display:flex;flex-direction:column;overflow:hidden;
  background:linear-gradient(160deg,rgba(31,39,66,0.94) 0%,rgba(36,45,74,0.84) 100%);
}
/* 面板基础 */
.dedup-panel{
  flex:1;display:flex;flex-direction:column;
  padding:10px 12px;overflow-y:auto;
  gap:8px;
}
.dedup-panel-header{
  display:flex;align-items:baseline;gap:10px;flex-shrink:0;
}
.dedup-panel-title{font-size:13px;font-weight:700;color:#eef2ff;}
.dedup-panel-sub{font-size:10px;color:#6b7d9e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;}
/* ① 总览：2×2 统计卡 */
.dedup-stat-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:6px;flex-shrink:0;
}
.dedup-stat-card2{
  background:rgba(var(--sc-rgb,111,140,255),0.16);
  border:1px solid rgba(var(--sc-rgb,111,140,255),0.45);
  background-color:color-mix(in srgb,var(--sc) 16%,#242d4a);
  border-color:color-mix(in srgb,var(--sc) 45%,transparent);
  border-radius:9px;padding:8px 10px;
}
.dedup-stat-label2{font-size:9.5px;color:#b5c2de;margin-bottom:3px;}
.dedup-stat-big{font-size:1.4rem;font-weight:800;color:var(--sc,#6f8cff);line-height:1;}
/* 快捷按钮行 */
.dedup-quick-row{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap;}
.dedup-btn-themed{
  padding:5px 10px;border-radius:8px;font-size:10.5px;font-weight:600;
  background:rgba(255,255,255,0.06);border:1px solid #415178;
  color:#b5c2de;cursor:pointer;transition:all var(--tr);white-space:nowrap;
}
.dedup-btn-themed:hover{background:rgba(255,255,255,0.1);color:#eef2ff;border-color:#576276;}
.dedup-btn-accent{
  background:rgba(111,140,255,0.18)!important;border-color:rgba(111,140,255,0.5)!important;
  color:#8ea7ff!important;
}
.dedup-btn-accent:hover{background:rgba(111,140,255,0.28)!important;}
.dedup-btn-danger{
  background:rgba(159,77,66,0.18)!important;border-color:rgba(159,77,66,0.4)!important;
  color:#ff7f7f!important;
}
.dedup-btn-sm{padding:3px 8px;font-size:10px;}
/* ② 扫描面板 */
.dedup-field-row{
  display:flex;align-items:center;gap:6px;
  padding:6px 0;border-bottom:1px solid rgba(52,66,100,0.4);
  flex-shrink:0;
}
.dedup-field-label{font-size:10.5px;color:#b5c2de;width:72px;flex-shrink:0;}
.dedup-field-input{
  flex:1;padding:4px 8px;
  background:#202a46;border:1px solid #415178;
  border-radius:6px;font-size:10.5px;color:#e9efff;
}
.dedup-field-placeholder{color:#6b7d9e!important;}
.dedup-field-hint{font-size:9.5px;color:#6b7d9e;}
.dedup-toggle-row{display:flex;align-items:center;gap:8px;padding:5px 0;flex-shrink:0;}
.dedup-toggle{
  width:28px;height:15px;border-radius:999px;
  background:#344264;border:1px solid #415178;
  position:relative;cursor:pointer;flex-shrink:0;
  transition:background var(--tr);
}
.dedup-toggle::after{
  content:'';position:absolute;top:2px;left:2px;
  width:9px;height:9px;border-radius:50%;
  background:#6b7d9e;transition:all var(--tr);
}
.dedup-toggle-on{background:rgba(111,140,255,0.3)!important;border-color:rgba(111,140,255,0.5)!important;}
.dedup-toggle-on::after{left:15px!important;background:#8ea7ff!important;}
.dedup-toggle-label{font-size:10px;color:#b5c2de;}
.dedup-scan-progress{margin-top:8px;flex-shrink:0;}
.dedup-scan-bar{
  height:4px;background:rgba(52,66,100,0.5);
  border-radius:2px;overflow:hidden;margin-bottom:5px;
}
.dedup-scan-fill{
  height:100%;border-radius:2px;
  background:linear-gradient(90deg,#6f8cff,#45d8c1);
  animation:progressPulse 2s ease-in-out infinite;
}
@keyframes progressPulse{0%,100%{opacity:1;}50%{opacity:0.55;}}
.dedup-scan-status{font-size:9.5px;color:#6b7d9e;}
/* ③ 去重结果面板 */
.dedup-panel-result{padding:0!important;gap:0!important;}
.dedup-result-toolbar{
  display:flex;align-items:center;gap:4px;
  padding:6px 8px;flex-shrink:0;
  background:rgba(28,35,59,0.8);
  border-bottom:1px solid #344264;
  flex-wrap:wrap;
}
.dedup-toolbar-sep{
  width:1px;height:14px;background:#344264;margin:0 2px;
}
.dedup-select{
  padding:3px 6px;border-radius:6px;font-size:10px;
  background:#202a46;border:1px solid #415178;
  color:#e9efff;cursor:pointer;
}
.dedup-select-sm{font-size:9.5px;padding:2px 5px;}
.dedup-result-body{display:flex;flex:1;min-height:0;overflow:hidden;}
/* 左：重复组列表 */
.dedup-group-col{
  width:52%;flex-shrink:0;
  border-right:1px solid #344264;
  overflow-y:auto;padding:6px;
  scrollbar-width:thin;scrollbar-color:rgba(52,66,100,0.5) transparent;
}
.dedup-group-item{
  display:flex;align-items:center;gap:6px;
  padding:6px 7px;border-radius:8px;
  background:#242d4a;border:1px solid rgba(52,66,100,0.6);
  margin-bottom:4px;cursor:pointer;
  transition:all var(--tr);
}
.dedup-group-item:hover{border-color:#415178;background:#293252;}
.dedup-group-checked{border-color:rgba(111,140,255,0.4)!important;}
.dedup-group-selected{border-color:rgba(111,140,255,0.6)!important;background:#293252!important;box-shadow:0 0 0 1px rgba(111,140,255,0.2);}
.dedup-checkbox{
  width:16px;height:16px;border-radius:4px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-size:9px;font-weight:800;
  background:rgba(111,140,255,0.2);color:#8ea7ff;
  border:1px solid rgba(111,140,255,0.45);
}
.dedup-checkbox-empty{
  background:rgba(255,255,255,0.03);
  border-color:rgba(52,66,100,0.8);color:transparent;
}
.dedup-group-body{flex:1;min-width:0;}
.dedup-group-name{font-size:10.5px;color:#eef2ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px;}
.dedup-group-meta{font-size:9px;color:#6b7d9e;}
.dedup-keep-badge{
  font-size:8.5px;padding:1px 5px;border-radius:999px;flex-shrink:0;
  background:rgba(111,140,255,0.12);border:1px solid rgba(111,140,255,0.28);
  color:#8ea7ff;white-space:nowrap;
}
/* 右：文件详情列 */
.dedup-detail-col{
  flex:1;overflow-y:auto;padding:8px;
  display:flex;flex-direction:column;gap:5px;
  scrollbar-width:thin;scrollbar-color:rgba(52,66,100,0.5) transparent;
}
.dedup-detail-header{font-size:11px;font-weight:700;color:#eef2ff;margin-bottom:2px;flex-shrink:0;}
.dedup-file-item{
  display:flex;align-items:flex-start;gap:6px;
  padding:7px 8px;border-radius:8px;
  background:#242d4a;border:1px solid rgba(52,66,100,0.6);
  transition:border-color var(--tr);
}
.dedup-file-keep{border-color:rgba(69,216,193,0.4)!important;background:rgba(36,45,74,0.9)!important;}
.dedup-file-icon{font-size:14px;flex-shrink:0;margin-top:1px;}
.dedup-file-body{flex:1;min-width:0;}
.dedup-file-name{font-size:10.5px;color:#eef2ff;font-weight:600;margin-bottom:2px;}
.dedup-file-path{font-size:9px;color:#6b7d9e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px;}
.dedup-file-meta{font-size:9px;color:#6b7d9e;}
.dedup-file-keep-tag{
  font-size:9px;padding:2px 6px;border-radius:999px;flex-shrink:0;
  background:rgba(69,216,193,0.15);border:1px solid rgba(69,216,193,0.4);
  color:#45d8c1;font-weight:700;white-space:nowrap;
}
.dedup-file-action-tag{
  font-size:9px;padding:2px 6px;border-radius:999px;flex-shrink:0;
  background:rgba(159,77,66,0.15);border:1px solid rgba(159,77,66,0.35);
  color:#ff7f7f;font-weight:700;white-space:nowrap;
}
/* 可释放空间卡（真实 QML gold 色 accentGold）*/
.dedup-release-card{
  display:flex;justify-content:space-between;align-items:center;
  padding:8px 10px;border-radius:9px;
  background:rgba(242,207,116,0.14);
  border:1px solid rgba(242,207,116,0.45);
  flex-shrink:0;margin-top:2px;
}
.dedup-release-label{font-size:10px;color:#b5c2de;}
.dedup-release-val{font-size:1.2rem;font-weight:800;color:#f4d77f;}
.dedup-warn-text{font-size:9.5px;color:#f39a7d;flex-shrink:0;}
/* 状态栏 */
.dedup-statusbar{
  display:flex;justify-content:space-between;align-items:center;
  padding:5px 12px;flex-shrink:0;
  background:#1c233b;border-top:1px solid #344264;
  font-size:10px;color:#6b7d9e;
}
.dedup-statusbar-right{color:#6b7d9e;}

/* feat-card 去重变体 */
.feat-card-dedup:hover{border-color:rgba(111,140,255,0.4)!important;box-shadow:0 0 32px rgba(111,140,255,0.12)!important;}

/* ============================================================
   下载弹窗
   ============================================================ */
.dl-overlay{
  position:fixed;inset:0;z-index:1000;
  background:rgba(0,0,0,0.72);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;
  transition:opacity 0.25s ease;
}
.dl-overlay.open{opacity:1;pointer-events:all;}
.dl-modal{
  position:relative;
  width:min(440px,calc(100vw - 2rem));
  background:linear-gradient(160deg,#1c233b 0%,#161d33 100%);
  border:1px solid rgba(111,140,255,0.25);
  border-radius:20px;
  padding:2.2rem 2rem 1.8rem;
  box-shadow:0 32px 80px rgba(0,0,0,0.8),0 0 0 1px rgba(111,140,255,0.1);
  transform:translateY(20px) scale(0.97);
  transition:transform 0.28s cubic-bezier(0.34,1.56,0.64,1);
}
.dl-overlay.open .dl-modal{transform:translateY(0) scale(1);}
.dl-close{
  position:absolute;top:14px;right:14px;
  width:28px;height:28px;border-radius:8px;
  background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.12);
  color:#b5c2de;font-size:12px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all var(--tr);
}
.dl-close:hover{background:rgba(255,127,127,0.2);color:#ff7f7f;border-color:rgba(255,127,127,0.3);}
.dl-content{display:flex;flex-direction:column;align-items:center;text-align:center;}
.dl-icon{font-size:2.8rem;margin-bottom:0.8rem;}
.dl-title{
  font-size:1.2rem;font-weight:800;color:#eef2ff;
  margin-bottom:0.4rem;
}
.dl-ver{
  font-size:0.75rem;font-weight:600;padding:0.15rem 0.55rem;
  border-radius:999px;vertical-align:middle;
  background:rgba(111,140,255,0.15);color:#8ea7ff;
  border:1px solid rgba(111,140,255,0.3);
}
.dl-desc{color:#b5c2de;font-size:0.86rem;margin-bottom:1.4rem;}
.dl-btn{
  display:inline-flex;align-items:center;gap:0.6rem;
  padding:0.75rem 2rem;border-radius:12px;
  font-size:1rem;font-weight:700;text-decoration:none;
  transition:filter var(--tr),transform var(--tr);
  margin-bottom:0.9rem;width:100%;justify-content:center;
}
.dl-btn:hover{filter:brightness(1.1);transform:translateY(-2px);}
.dl-btn-primary{
  background:linear-gradient(135deg,var(--accent) 0%,#4a9eff 100%);
  color:#080c14;
  box-shadow:0 4px 20px rgba(124,196,255,0.35);
}
.dl-btn-dedup{
  background:linear-gradient(135deg,#6f8cff 0%,#45d8c1 100%);
  color:#080c14;
  box-shadow:0 4px 20px rgba(111,140,255,0.35);
}
.dl-btn-icon{font-size:1.1rem;}
.dl-meta{
  display:flex;flex-wrap:wrap;justify-content:center;
  gap:0.4rem 0.6rem;font-size:0.75rem;color:#6b7d9e;
  margin-bottom:1.2rem;
}
.dl-tips{
  width:100%;display:flex;flex-direction:column;gap:0.4rem;
  background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.07);
  border-radius:10px;padding:0.9rem 1rem;
  text-align:left;
}
.dl-tip{font-size:0.82rem;color:#b5c2de;}

/* ============================================================
   Reveal
   ============================================================ */
.reveal{opacity:0;transform:translateY(20px);transition:opacity 0.65s ease,transform 0.65s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* ============================================================
   Responsive
   ============================================================ */
@media(max-width:1080px){
  .features-grid{grid-template-columns:repeat(2,1fr);}
  .tech-grid{grid-template-columns:repeat(2,1fr);}
  .theme-cards{grid-template-columns:1fr 1fr;}
  .footer-inner{grid-template-columns:1fr 1fr;}
}
@media(max-width:860px){
  .hero-grid{grid-template-columns:1fr;}
  .metrics-grid{grid-template-columns:repeat(2,1fr);}
  .ai-grid{grid-template-columns:1fr;max-width:480px;margin:0 auto;}
  .nav-links,.nav-actions{display:none;}
  .hamburger{display:flex;}
  .win-sidebar{width:72px;}
}
@media(max-width:580px){
  .features-grid{grid-template-columns:1fr;}
  .tech-grid{grid-template-columns:1fr;}
  .theme-cards{grid-template-columns:1fr;}
  .footer-inner{grid-template-columns:1fr;}
  .section{padding:4rem 0;}
  .btn-lg{width:100%;justify-content:center;}
  .cta-actions{flex-direction:column;align-items:center;}
  .hero-title{font-size:1.8rem;}
  .app-window{font-size:11px;}
}

/* ============================================================
   全能媒体工具 专属样式
   ============================================================ */
.gradient-text-media{
  background:linear-gradient(135deg,#ff7c3c 0%,#ffb347 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.btn-media{
  display:inline-flex;align-items:center;gap:0.5rem;
  background:linear-gradient(135deg,#ff7c3c,#ffb347);color:#fff;
  border:none;border-radius:var(--radius-md);padding:0.75rem 1.75rem;
  font-weight:700;cursor:pointer;transition:var(--tr);
}
.btn-media:hover{opacity:0.88;transform:translateY(-1px);}
.glow-btn-media{box-shadow:0 0 28px rgba(255,124,60,0.35);}
.btn-outline-media{
  display:inline-flex;align-items:center;gap:0.5rem;
  border:1.5px solid rgba(255,124,60,0.5);color:var(--text);
  border-radius:var(--radius-md);padding:0.75rem 1.75rem;
  font-weight:600;cursor:pointer;transition:var(--tr);background:transparent;
}
.btn-outline-media:hover{border-color:#ff7c3c;color:#ff7c3c;}

/* 媒体工具模拟窗口 */
.media-window{
  background:#0f121a;border-radius:var(--radius-lg);
  border:1px solid rgba(255,124,60,0.2);
  box-shadow:0 24px 80px rgba(0,0,0,0.6),0 0 0 1px rgba(255,124,60,0.08);
  overflow:hidden;font-size:12px;color:#dbe2ff;
  display:flex;flex-direction:column;
  height:480px;
}
.media-titlebar{
  display:flex;align-items:center;justify-content:space-between;
  padding:0.55rem 0.9rem;
  background:rgba(255,255,255,0.04);
  border-bottom:1px solid rgba(255,124,60,0.12);
}
.media-tabbar{
  display:flex;gap:0;border-bottom:1px solid rgba(255,124,60,0.12);
  background:rgba(0,0,0,0.2);
}
.media-tab{
  padding:0.45rem 1rem;cursor:pointer;color:var(--muted);
  border-bottom:2px solid transparent;font-size:11px;transition:var(--tr);
}
.media-tab-active{color:#ff7c3c;border-bottom-color:#ff7c3c;background:rgba(255,124,60,0.06);}
.media-body{display:flex;flex-direction:column;gap:0;flex:1;overflow:hidden;}
.media-drop-zone{
  margin:0.75rem;border:1.5px dashed rgba(255,124,60,0.3);
  border-radius:var(--radius-md);padding:1rem;
  text-align:center;background:rgba(255,124,60,0.04);
}
.media-drop-icon{font-size:1.4rem;margin-bottom:0.2rem;}
.media-drop-text{font-weight:600;color:var(--text);font-size:12px;}
.media-drop-sub{color:var(--muted);font-size:10px;margin-top:0.2rem;}
.media-task-list{display:flex;flex-direction:column;gap:0.3rem;padding:0 0.75rem;}
.media-task{
  display:flex;align-items:center;gap:0.6rem;
  background:rgba(255,255,255,0.04);border-radius:var(--radius-sm);
  padding:0.45rem 0.65rem;border:1px solid rgba(255,255,255,0.06);
}
.media-task-icon{font-size:1rem;flex-shrink:0;}
.media-task-info{flex:1;min-width:0;}
.media-task-name{font-weight:600;font-size:11px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.media-task-meta{font-size:10px;color:var(--muted);margin-top:1px;}
.media-task-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0;}
.media-task-fmt{font-size:10px;color:#ff7c3c;font-weight:600;}
.media-task-status{font-size:10px;padding:1px 6px;border-radius:4px;}
.media-status-done{background:rgba(97,217,151,0.15);color:#61d997;}
.media-status-running{background:rgba(255,124,60,0.15);color:#ff7c3c;}
.media-status-wait{background:rgba(255,255,255,0.06);color:var(--muted);}
.media-params-bar{
  display:flex;align-items:center;gap:0.75rem;flex-wrap:wrap;
  padding:0.5rem 0.75rem;border-top:1px solid rgba(255,124,60,0.1);
  background:rgba(0,0,0,0.2);margin-top:auto;
}
.media-param{font-size:10px;color:var(--muted);}
.media-param b{color:var(--text);}
.media-convert-btn{
  margin-left:auto;background:linear-gradient(135deg,#ff7c3c,#ffb347);
  border:none;border-radius:6px;color:#fff;font-weight:700;
  padding:0.3rem 0.9rem;cursor:pointer;font-size:11px;
}
.media-statusbar{
  display:flex;justify-content:space-between;align-items:center;
  padding:0.3rem 0.75rem;font-size:10px;color:var(--muted);
  background:rgba(0,0,0,0.3);border-top:1px solid rgba(255,124,60,0.1);
}

/* 媒体下载按钮 */
.dl-btn-media{
  display:inline-flex;align-items:center;gap:0.6rem;
  background:linear-gradient(135deg,#ff7c3c,#ffb347);
  color:#fff;border-radius:var(--radius-md);padding:0.8rem 2rem;
  font-weight:700;font-size:1rem;text-decoration:none;
  transition:var(--tr);box-shadow:0 4px 20px rgba(255,124,60,0.3);
}
.dl-btn-media:hover{opacity:0.88;transform:translateY(-2px);}

@media(max-width:860px){
  .media-window{font-size:11px;}
  .media-tabbar{overflow-x:auto;}
}

/* ============================================================
   隐私安全横幅
   ============================================================ */
.privacy-banner{
  display:flex;align-items:flex-start;gap:1.5rem;
  margin-top:2.5rem;
  background:linear-gradient(135deg,rgba(97,217,151,0.06) 0%,rgba(124,196,255,0.06) 100%);
  border:1px solid rgba(97,217,151,0.25);
  border-radius:var(--radius-lg);
  padding:1.8rem 2rem;
}
.privacy-banner-icon{
  font-size:2.2rem;flex-shrink:0;margin-top:0.1rem;
}
.privacy-banner-body{flex:1;}
.privacy-banner-title{
  font-size:1.15rem;font-weight:700;color:var(--text);
  margin-bottom:0.6rem;
}
.privacy-banner-desc{
  font-size:0.92rem;color:var(--muted);line-height:1.75;
  margin-bottom:1rem;
}
.privacy-banner-desc strong{
  color:var(--ok);font-weight:600;
}
.privacy-banner-tags{
  display:flex;flex-wrap:wrap;gap:0.5rem;
}
.privacy-tag{
  display:inline-flex;align-items:center;
  background:rgba(97,217,151,0.1);
  border:1px solid rgba(97,217,151,0.25);
  color:var(--ok);
  border-radius:999px;
  padding:0.25rem 0.8rem;
  font-size:0.8rem;font-weight:600;
}
@media(max-width:680px){
  .privacy-banner{flex-direction:column;gap:1rem;padding:1.2rem 1.2rem;}
  .privacy-banner-icon{font-size:1.6rem;}
}

/* ============================================================
   Tool Page 切换淡入动画
   ============================================================ */
@keyframes pageFadeIn{
  from{opacity:0;transform:translateY(10px);}
  to{opacity:1;transform:translateY(0);}
}
.tool-page-enter{
  animation:pageFadeIn 0.28s ease forwards;
}
/* 固定 hero section 最小高度，防止切换时页面跳动 */
.hero.section{
  min-height:600px;
}

/* ============================================================
   全局亮色主题
   ============================================================ */
[data-theme="light"] {
  --bg:          #D6DCE8;
  --bg2:         #CBD2E0;
  --panel:       #E2E6EF;
  --card:        #F0F3F8;
  --card-hover:  #FFFFFF;
  --border:      #BBC3D4;
  --border-a:    rgba(140,155,190,0.45);
  --text:        #0F1320;
  --muted:       #4A5270;
  --accent:      #3A7FFF;
  --accent-soft: #D4E4FF;
  --ok:          #0FA85A;
  --danger:      #D94040;
  --shadow:      0 8px 40px rgba(0,0,0,0.14);
  --glow:        0 0 40px rgba(58,127,255,0.14);
}
[data-theme="light"] body{
  background:linear-gradient(160deg,#C8D0E0 0%,#D6DCE8 40%,#CDD5E4 100%);
  color:var(--text);
}
/* Canvas 粒子在亮色下保留，增加透明度，保持科技动感 */
[data-theme="light"] #bgCanvas{opacity:0.28;filter:hue-rotate(200deg) saturate(0.6);}
[data-theme="light"] .noise{opacity:0.018;}
/* 导航栏 — 毛玻璃效果增强 */
[data-theme="light"] .site-header{
  background:rgba(210,218,232,0.88);
  border-bottom:1px solid rgba(255,255,255,0.55);
  box-shadow:0 2px 20px rgba(0,0,0,0.10),0 1px 0 rgba(255,255,255,0.7) inset;
  backdrop-filter:blur(20px) saturate(1.4);
}
[data-theme="light"] .tool-tabs{
  background:rgba(0,0,0,0.07);
  border-color:var(--border);
}
[data-theme="light"] .tool-tab{color:var(--muted);}
[data-theme="light"] .tool-tab:hover{color:var(--text);}
[data-theme="light"] .tool-tab.active{
  background:rgba(58,127,255,0.15);color:var(--accent);
  box-shadow:0 1px 4px rgba(58,127,255,0.20),inset 0 1px 0 rgba(255,255,255,0.4);
}
[data-theme="light"] .btn-ghost{
  color:var(--muted);border-color:var(--border);
  background:rgba(255,255,255,0.3);
}
[data-theme="light"] .btn-ghost:hover{color:var(--accent);border-color:var(--accent);background:rgba(58,127,255,0.08);}
[data-theme="light"] .nav-links a{color:var(--muted);}
[data-theme="light"] .nav-links a:hover{color:var(--accent);}
/* Hero — 标题加深色渐变，更有力 */
[data-theme="light"] .hero-title{
  background:linear-gradient(135deg,#0A0F2A 0%,#1A2A5E 50%,#2A4A9E 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
[data-theme="light"] .hero-sub{color:#3A4260;}
[data-theme="light"] .trust-strip{color:var(--muted);}
[data-theme="light"] .badge{
  background:rgba(58,127,255,0.10);
  border-color:rgba(58,127,255,0.22);
  color:var(--accent);
}
[data-theme="light"] .badge-new{
  background:rgba(15,168,90,0.10);
  border-color:rgba(15,168,90,0.22);
  color:var(--ok);
}
/* 模拟窗口 — 保持深色，加更强投影增加悬浮感 */
[data-theme="light"] .app-window{
  box-shadow:0 32px 100px rgba(0,0,0,0.30),0 0 0 1px rgba(124,196,255,0.12),0 0 60px rgba(58,127,255,0.08);
}
[data-theme="light"] .dedup-window{
  box-shadow:0 32px 100px rgba(0,0,0,0.30),0 0 0 1px rgba(111,140,255,0.14),0 0 60px rgba(111,140,255,0.08);
}
[data-theme="light"] .media-window{
  box-shadow:0 32px 100px rgba(0,0,0,0.30),0 0 0 1px rgba(255,124,60,0.14),0 0 60px rgba(255,124,60,0.08);
}
/* 功能卡片 — 白色毛玻璃卡片，更有层次 */
[data-theme="light"] .feat-card{
  background:rgba(255,255,255,0.65);
  border-color:rgba(255,255,255,0.80);
  box-shadow:0 4px 24px rgba(0,0,0,0.08),inset 0 1px 0 rgba(255,255,255,0.9);
  backdrop-filter:blur(12px);
}
[data-theme="light"] .feat-card:hover{
  background:rgba(255,255,255,0.88);
  box-shadow:0 8px 32px rgba(58,127,255,0.14),0 0 0 1px rgba(58,127,255,0.18),inset 0 1px 0 rgba(255,255,255,1);
  border-color:rgba(58,127,255,0.22);
  transform:translateY(-2px);
}
[data-theme="light"] .feat-card h3{color:#0F1320;}
[data-theme="light"] .feat-card p{color:#4A5270;}
/* Section */
[data-theme="light"] .section-head h2{color:#0A0F2A;}
[data-theme="light"] .section-sub{color:var(--muted);}
[data-theme="light"] .eyebrow{color:var(--accent)!important;background:rgba(58,127,255,0.10)!important;border-color:rgba(58,127,255,0.20)!important;}
/* 指标 */
[data-theme="light"] .metric-item{color:#0A0F2A;}
[data-theme="light"] .metric-label{color:var(--muted);}
/* CTA */
[data-theme="light"] .cta-section{
  background:linear-gradient(135deg,rgba(58,127,255,0.10),rgba(15,168,90,0.06));
  border:1px solid rgba(58,127,255,0.12);
  backdrop-filter:blur(8px);
}
[data-theme="light"] .cta-note{color:var(--muted);}
/* 隐私横幅 */
[data-theme="light"] .privacy-banner{
  background:linear-gradient(135deg,rgba(15,168,90,0.10),rgba(58,127,255,0.07));
  border-color:rgba(15,168,90,0.28);
  backdrop-filter:blur(8px);
}
/* 下载弹窗 */
[data-theme="light"] .dl-overlay{background:rgba(8,10,18,0.55);}
[data-theme="light"] .dl-modal{
  background:rgba(232,236,244,0.97);
  border:1px solid rgba(255,255,255,0.7);
  box-shadow:0 40px 100px rgba(0,0,0,0.22),inset 0 1px 0 rgba(255,255,255,0.8);
  backdrop-filter:blur(20px);
}
[data-theme="light"] .dl-title{color:#0A0F2A;}
[data-theme="light"] .dl-desc{color:var(--muted);}
[data-theme="light"] .dl-meta{color:var(--muted);}
[data-theme="light"] .dl-tip{color:var(--muted);border-color:var(--border);}
[data-theme="light"] .dl-close{color:var(--muted);}
[data-theme="light"] .dl-close:hover{color:#0A0F2A;}
/* Footer */
[data-theme="light"] .site-footer{
  background:rgba(200,208,224,0.96);
  border-top:1px solid rgba(255,255,255,0.5);
}
[data-theme="light"] .footer-col h4{color:var(--text);}
[data-theme="light"] .footer-col a{color:var(--muted);}
[data-theme="light"] .footer-col a:hover{color:var(--accent);}
[data-theme="light"] .footer-bottom{color:var(--muted);}
[data-theme="light"] .footer-bottom a{color:var(--accent);}
/* version badge */
[data-theme="light"] .version-badge{
  background:rgba(74,143,255,0.10);color:var(--accent);
  border-color:rgba(74,143,255,0.2);
}

/* 切换按钮样式 */
.theme-toggle{
  width:34px;height:34px;border-radius:50%;
  border:1px solid var(--border-a);
  background:rgba(255,255,255,0.06);
  color:var(--text);font-size:1rem;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:var(--tr);flex-shrink:0;
}
.theme-toggle:hover{
  background:rgba(124,196,255,0.12);
  border-color:var(--accent);
  transform:rotate(20deg);
}
/* 鼠标光晕亮色适配 */
[data-theme="light"] #cursorGlow{
  background:radial-gradient(circle,rgba(58,127,255,0.07) 0%,transparent 70%);
}
[data-theme="light"] #cursorGlow.cursor-hover{
  background:radial-gradient(circle,rgba(58,127,255,0.12) 0%,transparent 65%);
}
[data-theme="light"] #cursorDot{
  background:rgba(58,127,255,0.55);
}
/* Hero区背景层次 */
[data-theme="light"] .hero-grid{
  background:linear-gradient(135deg,rgba(58,127,255,0.04) 0%,transparent 60%);
}
[data-theme="light"] .theme-toggle{
  background:rgba(0,0,0,0.04);
  border-color:var(--border);
}
[data-theme="light"] .theme-toggle:hover{
  background:rgba(47,143,255,0.1);
}

/* ============================================================
   鼠标跟随光晕
   ============================================================ */
#cursorGlow{
  position:fixed;
  top:-150px;left:-150px;
  width:300px;height:300px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(124,196,255,0.09) 0%,transparent 70%);
  pointer-events:none;
  z-index:9999;
  transform:translate(0,0);
  margin-left:-150px;margin-top:-150px;
  transition:opacity 0.3s ease;
  will-change:transform;
}
#cursorGlow.cursor-hover{
  background:radial-gradient(circle,rgba(124,196,255,0.15) 0%,transparent 65%);
  width:380px;height:380px;
  margin-left:-190px;margin-top:-190px;
}
#cursorGlow.cursor-click{
  background:radial-gradient(circle,rgba(124,196,255,0.18) 0%,transparent 60%);
}
#cursorDot{
  position:fixed;
  top:-4px;left:-4px;
  width:8px;height:8px;
  border-radius:50%;
  background:rgba(124,196,255,0.9);
  pointer-events:none;
  z-index:10000;
  margin-left:-4px;margin-top:-4px;
  transition:opacity 0.3s ease, width 0.2s ease, height 0.2s ease, background 0.2s ease;
  will-change:transform;
  box-shadow:0 0 6px rgba(124,196,255,0.6);
}
#cursorDot.dot-hover{
  width:12px;height:12px;
  margin-left:-6px;margin-top:-6px;
  background:rgba(124,196,255,1);
  box-shadow:0 0 12px rgba(124,196,255,0.8);
}
/* 触屏设备隐藏光晕 */
@media(hover:none){
  #cursorGlow,#cursorDot{display:none;}
}
