/* ==========================================================
   07FLY 官网页面样式  ——  Win11 Fluent 风格 + 品牌蓝 #3da6f7
   ========================================================== */

:root{
  --brand:        #3da6f7;   /* 品牌主色（沿用 07fly.xyz） */
  --brand-dark:   #1a86dd;
  --brand-deep:   #106ebe;
  --brand-light:  #e8f4fe;
  --ink:          #1b1b1f;   /* 正文 */
  --ink-2:        #4a4a52;   /* 次要文字 */
  --ink-3:        #7a7a85;   /* 辅助文字 */
  --line:         rgba(0,0,0,.08);
  --card:         rgba(255,255,255,.72);
  --radius:       12px;
  --radius-sm:    8px;
  --shadow:       0 2px 8px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
  --shadow-hover: 0 12px 28px rgba(0,0,0,.12), 0 2px 6px rgba(0,0,0,.06);
  --mica:         linear-gradient(180deg,#f6f9fd 0%,#eef4fa 100%);
}

*{ margin:0; padding:0; box-sizing:border-box; }

html{ scroll-behavior:smooth; scroll-padding-top:76px; }

body{
  font-family:"Segoe UI","Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif;
  color:var(--ink);
  background:var(--mica) fixed;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}

/* 背景光斑（Win11 Mica 质感） */
body::before{
  content:"";
  position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(900px 500px at 12% -10%, rgba(61,166,247,.18), transparent 60%),
    radial-gradient(700px 460px at 92% 8%,  rgba(61,166,247,.12), transparent 60%),
    radial-gradient(800px 500px at 60% 100%, rgba(26,134,221,.10), transparent 60%);
}

a{ color:inherit; text-decoration:none; }
ul{ list-style:none; }
img{ max-width:100%; display:block; }

.wrap{ width:min(1180px,92vw); margin:0 auto; }

/* ---------- 通用标题 ---------- */
.sec{ padding:78px 0 20px; }
.sec-head{ text-align:center; margin-bottom:38px; }
.sec-head h2{
  font-size:30px; font-weight:650; letter-spacing:.3px;
  display:inline-block; position:relative; padding-bottom:14px;
}
.sec-head h2::after{
  content:""; position:absolute; left:50%; transform:translateX(-50%);
  bottom:0; width:56px; height:4px; border-radius:2px;
  background:linear-gradient(90deg,var(--brand),var(--brand-deep));
}
.sec-head p{ margin-top:14px; color:var(--ink-2); font-size:15px; }

/* ==========================================================
   导航（毛玻璃）
   ========================================================== */
.nav{
  position:sticky; top:0; z-index:100;
  background:rgba(255,255,255,.72);
  backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid var(--line);
  transition:box-shadow .25s, background .25s;
}
.nav.solid{ box-shadow:0 2px 12px rgba(0,0,0,.08); background:rgba(255,255,255,.9); }
.nav-in{ display:flex; align-items:center; height:64px; gap:24px; }

.logo{ display:flex; align-items:center; gap:10px; font-weight:700; font-size:20px; letter-spacing:.5px; }
.logo-mark{
  width:34px; height:34px; border-radius:9px; flex:none;
  background:linear-gradient(135deg,var(--brand) 0%,var(--brand-deep) 100%);
  color:#fff; display:flex; align-items:center; justify-content:center;
  font-size:15px; font-weight:700; box-shadow:0 4px 12px rgba(61,166,247,.38);
}
.logo small{ display:block; font-size:11px; font-weight:500; color:var(--ink-3); letter-spacing:1px; margin-top:-4px; }

.nav-menu{ display:flex; gap:4px; margin-left:auto; }
.nav-menu a{
  padding:8px 14px; border-radius:var(--radius-sm); font-size:14.5px; color:var(--ink-2);
  transition:background .2s, color .2s;
}
.nav-menu a:hover{ background:rgba(61,166,247,.10); color:var(--brand-deep); }
.nav-menu a.active{ color:var(--brand-deep); background:var(--brand-light); font-weight:600; }

.nav-cta{
  padding:9px 18px; border-radius:var(--radius-sm); font-size:14px; font-weight:600;
  background:linear-gradient(135deg,var(--brand) 0%,var(--brand-deep) 100%);
  color:#fff !important; box-shadow:0 4px 14px rgba(61,166,247,.35);
  transition:transform .2s, box-shadow .2s;
}
.nav-cta:hover{ transform:translateY(-2px); box-shadow:0 8px 20px rgba(61,166,247,.45); }

.burger{ display:none; margin-left:auto; width:40px; height:40px; border:none; background:transparent; cursor:pointer; }
.burger span{ display:block; height:2px; background:var(--ink); margin:6px 8px; border-radius:2px; transition:.25s; }
.burger.on span:nth-child(1){ transform:translateY(8px) rotate(45deg); }
.burger.on span:nth-child(2){ opacity:0; }
.burger.on span:nth-child(3){ transform:translateY(-8px) rotate(-45deg); }

/* ==========================================================
   Hero
   ========================================================== */
.hero{ padding:72px 0 30px; }
.hero-in{ display:flex; gap:48px; align-items:center; flex-wrap:wrap; }
.hero-txt{ flex:1 1 460px; min-width:300px; }
.badge{
  display:inline-flex; align-items:center; gap:8px; padding:6px 14px; border-radius:999px;
  background:var(--brand-light); color:var(--brand-deep); font-size:13px; font-weight:600;
  border:1px solid rgba(61,166,247,.25);
}
.badge i{ width:7px; height:7px; border-radius:50%; background:var(--brand); display:inline-block; }
.hero h1{ font-size:42px; line-height:1.28; font-weight:700; margin:20px 0 18px; letter-spacing:.5px; }
.hero h1 em{ font-style:normal; color:var(--brand-deep); }
.hero-desc{ font-size:16px; color:var(--ink-2); max-width:560px; }
.hero-btns{ display:flex; gap:14px; margin-top:30px; flex-wrap:wrap; }

.btn{
  display:inline-flex; align-items:center; gap:8px; padding:13px 26px; border-radius:var(--radius-sm);
  font-size:15px; font-weight:600; cursor:pointer; border:1px solid transparent;
  transition:transform .2s, box-shadow .2s, background .2s;
}
.btn-pri{
  background:linear-gradient(135deg,var(--brand) 0%,var(--brand-deep) 100%);
  color:#fff; box-shadow:0 6px 18px rgba(61,166,247,.36);
}
.btn-pri:hover{ transform:translateY(-2px); box-shadow:0 12px 26px rgba(61,166,247,.46); }
.btn-sec{
  background:rgba(255,255,255,.8); color:var(--brand-deep);
  border-color:rgba(61,166,247,.4); backdrop-filter:blur(10px);
}
.btn-sec:hover{ background:#fff; transform:translateY(-2px); box-shadow:var(--shadow-hover); }

/* Hero 数据卡（Win11 卡片堆叠） */
.hero-cards{ flex:0 1 380px; display:grid; grid-template-columns:1fr 1fr; gap:14px; min-width:300px; }
.stat{
  background:var(--card); backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.7); border-radius:var(--radius);
  padding:20px 18px; box-shadow:var(--shadow); transition:transform .25s, box-shadow .25s;
}
.stat:hover{ transform:translateY(-4px); box-shadow:var(--shadow-hover); }
.stat b{ display:block; font-size:28px; color:var(--brand-deep); font-weight:700; line-height:1.2; }
.stat span{ font-size:13px; color:var(--ink-3); }

/* ==========================================================
   特色卡片
   ========================================================== */
.feat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.feat{
  background:var(--card); backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.7); border-radius:var(--radius);
  padding:26px 22px; box-shadow:var(--shadow);
  transition:transform .25s, box-shadow .25s, border-color .25s;
}
.feat:hover{ transform:translateY(-6px); box-shadow:var(--shadow-hover); border-color:rgba(61,166,247,.4); }
.feat-ico{
  width:46px; height:46px; border-radius:11px; margin-bottom:16px;
  display:flex; align-items:center; justify-content:center; font-size:22px; color:#fff;
  background:linear-gradient(135deg,var(--brand) 0%,var(--brand-deep) 100%);
  box-shadow:0 6px 16px rgba(61,166,247,.34);
}
.feat h3{ font-size:17px; font-weight:650; margin-bottom:8px; }
.feat p{ font-size:14px; color:var(--ink-2); }
.feat .tagline{ display:block; margin-top:12px; font-size:13px; color:var(--brand-deep); font-weight:600; }

/* ==========================================================
   产品矩阵
   ========================================================== */
.tabs{ display:flex; justify-content:center; gap:8px; margin-bottom:26px; flex-wrap:wrap; }
.tab{
  padding:8px 20px; border-radius:999px; font-size:14px; cursor:pointer;
  background:rgba(255,255,255,.7); border:1px solid var(--line); color:var(--ink-2);
  transition:.2s; backdrop-filter:blur(10px);
}
.tab:hover{ border-color:rgba(61,166,247,.45); color:var(--brand-deep); }
.tab.on{
  background:linear-gradient(135deg,var(--brand) 0%,var(--brand-deep) 100%);
  color:#fff; border-color:transparent; font-weight:600; box-shadow:0 4px 14px rgba(61,166,247,.3);
}

.mod-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.mod{
  position:relative; background:var(--card); backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.7); border-radius:var(--radius);
  padding:20px 18px; box-shadow:var(--shadow);
  transition:transform .25s, box-shadow .25s, border-color .25s;
}
.mod:hover{ transform:translateY(-5px); box-shadow:var(--shadow-hover); border-color:rgba(61,166,247,.45); }
.mod h4{ font-size:16px; font-weight:650; margin-bottom:6px; display:flex; align-items:center; gap:8px; padding-right:52px; }
.mod .price{ font-size:14px; color:var(--brand-deep); font-weight:650; }
.mod .price small{ display:block; font-size:12px; color:var(--ink-3); font-weight:400; margin-top:2px; }
/* 卡片为链接：详情入口 */
.mod .more{
  display:inline-block; margin-top:14px; font-size:12.5px; font-weight:600;
  color:var(--brand-deep); opacity:.7; transition:opacity .2s, transform .2s;
}
.mod:hover .more{ opacity:1; transform:translateX(3px); }
/* 主站暂无独立详情页的模块（落应用市场） */
.mod.is-pending .more{ color:var(--ink-3); }
.mod.is-pending:hover{ border-color:rgba(61,166,247,.35); }
.mod .flag{
  position:absolute; top:14px; right:14px; font-size:11px; padding:2px 8px; border-radius:6px;
  background:var(--brand-light); color:var(--brand-deep); font-weight:600;
}
.mod .flag.hot{ background:#fff0e6; color:#d2691e; }
.mod .flag.ind{ background:#eaf7ee; color:#1e8e3e; }
.mod .flag.free{ background:#eef0f3; color:#5f6368; }

/* ==========================================================
   演示 / 文档 三栏
   ========================================================== */
.res-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.res{
  background:var(--card); backdrop-filter:blur(20px); border:1px solid rgba(255,255,255,.7);
  border-radius:var(--radius); padding:28px 24px; box-shadow:var(--shadow);
  transition:transform .25s, box-shadow .25s;
}
.res:hover{ transform:translateY(-5px); box-shadow:var(--shadow-hover); }
.res h3{ font-size:18px; margin-bottom:10px; }
.res p{ font-size:14px; color:var(--ink-2); min-height:66px; }
.res .link{
  display:inline-flex; align-items:center; gap:6px; margin-top:12px;
  color:var(--brand-deep); font-weight:600; font-size:14px;
}
.res .link:hover{ gap:10px; }

/* ==========================================================
   代理招商
   ========================================================== */
.agent-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; align-items:start; }
.plan{
  background:var(--card); backdrop-filter:blur(20px); border:1px solid rgba(255,255,255,.7);
  border-radius:var(--radius); padding:28px 24px; box-shadow:var(--shadow);
  transition:transform .25s, box-shadow .25s;
}
.plan:hover{ transform:translateY(-5px); box-shadow:var(--shadow-hover); }
.plan.rec{
  border:2px solid var(--brand);
  background:linear-gradient(180deg, rgba(61,166,247,.10) 0%, rgba(255,255,255,.8) 60%);
}
.plan .pname{ font-size:17px; font-weight:650; }
.plan .pprice{ font-size:32px; color:var(--brand-deep); font-weight:700; margin:10px 0 4px; }
.plan .pprice small{ font-size:14px; font-weight:500; color:var(--ink-3); }
.plan .pded{ font-size:13px; color:#1e8e3e; font-weight:600; margin-bottom:14px; }
.plan ul li{ font-size:14px; color:var(--ink-2); padding:6px 0 6px 22px; position:relative; }
.plan ul li::before{
  content:""; position:absolute; left:0; top:13px; width:8px; height:8px; border-radius:50%;
  background:var(--brand); opacity:.85;
}
.plan .btn{ width:100%; justify-content:center; margin-top:18px; }
.plan .ribbon{
  display:inline-block; font-size:12px; padding:3px 10px; border-radius:6px; margin-bottom:8px;
  background:var(--brand); color:#fff; font-weight:600;float:right;
}

/* ==========================================================
   CTA
   ========================================================== */
.cta{
  margin:70px 0 0; border-radius:16px; padding:44px 40px; text-align:center; color:#fff;
  background:linear-gradient(135deg,var(--brand) 0%,var(--brand-deep) 100%);
  box-shadow:0 16px 40px rgba(26,110,190,.34);
}
.cta h2{ font-size:27px; font-weight:700; margin-bottom:10px; }
.cta p{ opacity:.92; margin-bottom:24px; }
.cta .btn{ background:#fff; color:var(--brand-deep); box-shadow:0 6px 18px rgba(0,0,0,.16); }
.cta .btn:hover{ transform:translateY(-2px); box-shadow:0 12px 26px rgba(0,0,0,.2); }

/* ==========================================================
   页脚
   ========================================================== */
.foot{ margin-top:70px; padding:38px 0 30px; border-top:1px solid var(--line); }
.foot-grid{ display:grid; grid-template-columns:2fr 1fr 1fr; gap:30px; }
.foot h5{ font-size:15px; margin-bottom:12px; }
.foot p, .foot li{ font-size:13.5px; color:var(--ink-2); }
.foot li{ padding:4px 0; }
.foot li a:hover{ color:var(--brand-deep); }
.copy{  padding-top:18px; border-top:1px solid var(--line); font-size:13px; color:var(--ink-3); text-align:center; }

/* 回到顶部 */
.totop{
  position:fixed; right:26px; bottom:26px; width:44px; height:44px; border-radius:22px;
  background:rgba(255,255,255,.85); backdrop-filter:blur(20px); border:1px solid var(--line);
  box-shadow:var(--shadow-hover); cursor:pointer; display:none; align-items:center; justify-content:center;
  color:var(--brand-deep); font-size:24px; z-index:90; transition:transform .2s;
  text-align:center;
}
.totop:hover{ transform:translateY(-3px); }

/* 入场动画（jQuery 加类触发） */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease; }
.reveal.in{ opacity:1; transform:none; }

/* ==========================================================
   响应式
   ========================================================== */
@media (max-width:1000px){
  .feat-grid,.mod-grid{ grid-template-columns:repeat(2,1fr); }
  .res-grid,.agent-grid{ grid-template-columns:1fr; }
}
@media (max-width:768px){
  .nav-menu{
    display:none; position:absolute; top:64px; left:0; right:0; flex-direction:column; gap:0;
    background:rgba(255,255,255,.96); backdrop-filter:blur(20px);
    border-bottom:1px solid var(--line); padding:10px 16px 16px;
  }
  .nav-menu.show{ display:flex; }
  .nav-menu a{ padding:12px 10px; font-size:15px; }
  .nav-cta{ display:none; }
  .burger{ display:block; }
  .hero h1{ font-size:31px; }
  .hero-cards{ flex:1 1 100%; }
  .sec-head h2{ font-size:24px; }
  .foot-grid{ grid-template-columns:1fr; }
  .cta{ padding:32px 22px; }
}
@media (max-width:520px){
  .feat-grid,.mod-grid{ grid-template-columns:1fr; }
  .hero-cards{ grid-template-columns:1fr 1fr; }
}

/* ==========================================================
   共用组件层（首页 / 模块页 / 历史页共享）
   —— 原先只定义在 history.css，store 页面未引用该文件导致样式缺失，已上提至此
   ========================================================== */

/* ---------- 提示框 ---------- */
.notice{
  display:flex; gap:12px; align-items:flex-start;
  border-radius:var(--radius); padding:16px 18px; font-size:14px; margin:26px 0 0;
  border:1px solid rgba(61,166,247,.3); background:var(--brand-light); color:#0f4c7a;
}
.notice.warn{
  border-color:#f3d3a0; background:#fff8ec; color:#8a5300;
}
.notice .ic{ flex:none; font-weight:700; }

/* ---------- 演示 / 试用区块 ---------- */
.demobox{
  margin-top:34px; border-radius:var(--radius); padding:28px 26px; text-align:center;
  background:var(--card); backdrop-filter:blur(20px);
  border:1px dashed rgba(61,166,247,.5); box-shadow:var(--shadow);
}
.demobox h3{ font-size:19px; margin-bottom:8px; }
.demobox p{ font-size:14px; color:var(--ink-2); margin-bottom:18px; }
.demobox .btn{ margin:0 6px; }
.hint{
  display:none; margin:16px auto 0; max-width:640px; font-size:13.5px;
  color:#8a5300; background:#fff8ec; border:1px solid #f3d3a0;
  border-radius:var(--radius-sm); padding:11px 14px; text-align:left;
}

/* ---------- 对比表（价格与授权等） ---------- */
.cmp-wrap{ overflow-x:auto; }
.cmp{
  width:100%; border-collapse:collapse; margin-top:8px;
  background:var(--card); backdrop-filter:blur(20px);
  border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); font-size:14px;
}
.cmp th, .cmp td{ padding:14px 18px; text-align:left; border-bottom:1px solid var(--line); vertical-align:top; }
.cmp thead th{
  background:rgba(61,166,247,.10); font-size:14px; font-weight:650; color:var(--brand-deep);
  white-space:nowrap;
}
.cmp tbody tr:last-child td{ border-bottom:none; }
.cmp td:first-child{ color:var(--ink-3); width:26%; }
.cmp .old{ color:var(--ink-2); }
.cmp .new{ color:var(--ink); font-weight:600; }

@media (max-width:768px){
  .cmp th, .cmp td{ padding:11px 12px; font-size:13px; }
  .cmp td:first-child{ width:auto; }
  .cmp thead th{ white-space:normal; }
}

/* ==========================================================
   代理招商 · 卡片内分类小标题（li.pgrp）
   ========================================================== */
.plan ul li.pgrp{
  list-style:none; padding:16px 0 5px; font-size:12px; font-weight:700;
  color:var(--brand-deep); letter-spacing:1.5px;
}
.plan ul li.pgrp::before{ display:none; }
.plan ul li.pgrp:first-child{ padding-top:2px; }
