:root{
    --brand:#16a34a;
    --brand-deep:#0f7a37;
    --accent:#84cc16;
    --accent-soft:#d9f99d;
    --bg:#f7fee7;
    --ink:#1a2e05;
    --ink-soft:#33471a;
    --card:#ffffff;
    --line:#d7e8b8;
    --shadow-1:0 2px 0 #cfe3a8, 0 10px 24px rgba(26,46,5,.10);
    --shadow-2:0 4px 0 #c7de9d, 0 18px 40px rgba(26,46,5,.14);
    --r-lg:22px;
    --r-md:16px;
    --r-sm:10px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--ink);
    font-family:'Inter','PingFang SC','Microsoft YaHei',system-ui,-apple-system,sans-serif;
    line-height:1.9;
    font-weight:400;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4,h5{font-weight:900;letter-spacing:-.02em;line-height:1.3;color:var(--ink);}
  a{text-decoration:none;color:var(--brand-deep);}
  a:hover{color:var(--brand);}
  .mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;}

  /* ---------- 导航 ---------- */
  .topbar{
    position:sticky;top:0;z-index:1030;
    background:linear-gradient(180deg,#ffffff 0%,#f2fddd 100%);
    border-bottom:3px solid var(--brand);
    box-shadow:0 6px 18px rgba(26,46,5,.08);
  }
  .brand-lockup{
    display:flex;align-items:center;gap:.55rem;
    font-weight:900;font-size:1.18rem;color:var(--ink);
    padding:.55rem .1rem;
  }
  .brand-badge{
    width:38px;height:38px;flex:0 0 38px;
    display:grid;place-items:center;
    border-radius:12px;
    background:linear-gradient(160deg,var(--accent) 0%,var(--brand) 100%);
    color:#fff;font-size:1.05rem;
    box-shadow:inset 0 -3px 0 rgba(0,0,0,.14),0 4px 10px rgba(22,163,74,.35);
  }
  .nav-main .nav-link{
    color:var(--ink-soft);font-weight:600;font-size:.95rem;
    padding:.55rem .85rem;border-radius:10px;
    transition:.2s;
  }
  .nav-main .nav-link:hover,.nav-main .nav-link:focus{
    color:var(--brand-deep);background:var(--accent-soft);
  }
  .navbar-toggler{
    border:2px solid var(--brand);border-radius:10px;padding:.25rem .55rem;
  }
  .navbar-toggler:focus{box-shadow:0 0 0 3px rgba(132,204,22,.4);}

  /* ---------- Hero ---------- */
  .hero{
    position:relative;
    padding:5.5rem 0 4.5rem;
    background:
      radial-gradient(1200px 420px at 50% -80px, #eaffc9 0%, rgba(247,254,231,0) 70%),
      linear-gradient(180deg,#f7fee7 0%,#f1fbdc 100%);
    overflow:hidden;
  }
  .hero-inner{
    background:linear-gradient(180deg,#ffffff 0%,#fbfff2 100%);
    border:3px solid var(--brand);
    border-radius:28px;
    padding:3rem 2rem;
    box-shadow:var(--shadow-2);
    position:relative;
  }
  .hero-inner::after{
    content:"";position:absolute;left:0;right:0;top:0;height:8px;
    border-radius:28px 28px 0 0;
    background:linear-gradient(90deg,var(--brand) 0%,var(--accent) 55%,#bef264 100%);
  }
  .hero-kicker{
    display:inline-block;
    background:var(--accent-soft);
    color:var(--brand-deep);
    font-weight:700;font-size:.83rem;
    padding:.32rem .85rem;border-radius:999px;
    border:2px solid var(--accent);
    margin-bottom:1.2rem;
  }
  .typewriter{
    font-size:clamp(1.75rem,4.4vw,3rem);
    font-weight:900;letter-spacing:-.03em;line-height:1.25;
    min-height:2.6em;
    color:var(--ink);
  }
  .typewriter .caret{
    display:inline-block;width:4px;height:1em;
    background:var(--brand);margin-left:2px;vertical-align:-.12em;
    animation:blink 1s steps(1) infinite;
  }
  @keyframes blink{50%{opacity:0;}}
  .hero-sub{
    color:var(--ink-soft);font-size:1.03rem;max-width:44rem;margin-top:1rem;
  }
  .hero-stats{
    display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem;
  }
  .stat-chip{
    flex:1 1 150px;
    background:linear-gradient(180deg,#ffffff,#f4fde5);
    border:2px solid var(--line);
    border-radius:var(--r-md);
    padding:.9rem 1rem;
    box-shadow:0 3px 0 #dcebc0;
  }
  .stat-chip b{
    display:block;font-size:1.55rem;font-weight:800;color:var(--brand-deep);
    font-variant-numeric:tabular-nums;
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  }
  .stat-chip span{font-size:.85rem;color:var(--ink-soft);}

  /* ---------- 通用区块 ---------- */
  section{padding:4.2rem 0;}
  .sec-head{max-width:52rem;margin-bottom:2.4rem;}
  .sec-tag{
    display:inline-block;font-weight:800;font-size:.78rem;letter-spacing:.14em;
    color:var(--brand);text-transform:uppercase;margin-bottom:.6rem;
  }
  .sec-title{font-size:clamp(1.4rem,2.6vw,1.95rem);}
  .sec-desc{color:var(--ink-soft);margin-top:.75rem;font-size:1rem;}

  /* ---------- 长文介绍 ---------- */
  .prose-card{
    background:var(--card);
    border:2px solid var(--line);
    border-radius:var(--r-lg);
    padding:2.3rem;
    box-shadow:var(--shadow-1);
  }
  .prose-card p{margin-bottom:1.15rem;color:var(--ink-soft);}
  .prose-card p:last-child{margin-bottom:0;}
  .prose-lead{
    font-size:1.08rem;color:var(--ink);font-weight:500;
  }
  .numbered{
    list-style:none;counter-reset:np;padding:0;margin:1.8rem 0 0;
  }
  .numbered li{
    counter-increment:np;
    position:relative;padding-left:3.1rem;margin-bottom:1.15rem;
    color:var(--ink-soft);
  }
  .numbered li::before{
    content:counter(np);
    position:absolute;left:0;top:.15rem;
    width:2.1rem;height:2.1rem;border-radius:50%;
    display:grid;place-items:center;
    font-weight:900;font-size:.9rem;color:#fff;
    background:linear-gradient(160deg,var(--accent),var(--brand));
    box-shadow:inset 0 -2px 0 rgba(0,0,0,.15);
    font-family:ui-monospace,Menlo,Consolas,monospace;
  }
  .numbered li strong{color:var(--ink);}

  /* ---------- 对比表格 ---------- */
  .cmp-wrap{
    background:var(--card);
    border:3px solid var(--brand);
    border-radius:var(--r-lg);
    overflow:hidden;
    box-shadow:var(--shadow-2);
  }
  .cmp-table{margin:0;width:100%;}
  .cmp-table thead th{
    background:linear-gradient(180deg,var(--brand) 0%,var(--brand-deep) 100%);
    color:#fff;font-weight:800;font-size:.92rem;
    padding:1rem 1.1rem;border:none;vertical-align:middle;
    letter-spacing:.02em;
  }
  .cmp-table thead th:first-child{background:linear-gradient(180deg,#155e2d 0%,#0c4422 100%);}
  .cmp-table tbody td{
    padding:.95rem 1.1rem;
    border-bottom:1px solid var(--line);
    font-size:.94rem;color:var(--ink-soft);vertical-align:middle;
  }
  .cmp-table tbody tr:nth-child(even){background:#fafff0;}
  .cmp-table tbody tr:hover{background:var(--accent-soft);}
  .cmp-table tbody td:first-child{
    font-weight:700;color:var(--ink);
  }
  .cmp-num{
    font-family:ui-monospace,Menlo,Consolas,monospace;
    font-weight:700;color:var(--brand-deep);
  }
  .pill{
    display:inline-block;font-size:.75rem;font-weight:700;
    padding:.18rem .6rem;border-radius:999px;
    background:var(--accent-soft);color:var(--brand-deep);
    border:1px solid var(--accent);
  }

  /* ---------- FAQ ---------- */
  .accordion-item{
    border:2px solid var(--line);
    border-radius:var(--r-md)!important;
    margin-bottom:1rem;
    overflow:hidden;
    background:#fff;
    box-shadow:0 3px 0 #e2efc9;
  }
  .accordion-button{
    font-weight:800;color:var(--ink);background:#fcfff4;
    font-size:1rem;padding:1.15rem 1.3rem;
  }
  .accordion-button:not(.collapsed){
    background:linear-gradient(180deg,#eefcd4 0%,#e0f7c0 100%);
    color:var(--brand-deep);
    box-shadow:none;
  }
  .accordion-button:focus{box-shadow:0 0 0 3px rgba(132,204,22,.35);}
  .accordion-button::after{
    filter:hue-rotate(70deg) saturate(1.4);
  }
  .accordion-body{
    color:var(--ink-soft);font-size:.95rem;padding:1.1rem 1.3rem 1.4rem;
    background:#fff;
  }

  /* ---------- 特色卡片 ---------- */
  .feat-card{
    height:100%;
    background:linear-gradient(180deg,#ffffff 0%,#fbfff2 100%);
    border:2px solid var(--line);
    border-radius:var(--r-lg);
    padding:1.8rem 1.6rem;
    box-shadow:var(--shadow-1);
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
  }
  .feat-card:hover{
    transform:scale(1.025);
    border-color:var(--brand);
    box-shadow:var(--shadow-2);
  }
  .feat-icon{
    width:54px;height:54px;border-radius:16px;
    display:grid;place-items:center;font-size:1.35rem;color:#fff;
    background:linear-gradient(160deg,var(--accent) 0%,var(--brand) 100%);
    box-shadow:inset 0 -3px 0 rgba(0,0,0,.16),0 6px 14px rgba(22,163,74,.3);
    margin-bottom:1.1rem;
  }
  .feat-card h3{font-size:1.08rem;margin-bottom:.55rem;}
  .feat-card p{font-size:.93rem;color:var(--ink-soft);margin:0;}

  /* ---------- CTA ---------- */
  .cta-band{
    background:linear-gradient(140deg,var(--brand-deep) 0%,var(--brand) 45%,#3fb950 100%);
    border-radius:26px;
    padding:3rem 2rem;
    color:#fff;
    box-shadow:0 20px 44px rgba(22,163,74,.30),inset 0 -6px 0 rgba(0,0,0,.12);
    text-align:center;
    position:relative;
    overflow:hidden;
  }
  .cta-band h2{color:#fff;font-size:clamp(1.35rem,2.8vw,2rem);}
  .cta-band p{color:#eaffd6;max-width:38rem;margin:1rem auto 1.9rem;font-size:1rem;}
  .btn-cta{
    display:inline-block;
    background:#fafff0;color:var(--brand-deep);
    font-weight:900;font-size:1rem;
    padding:.85rem 2.2rem;border-radius:999px;
    border:3px solid #d9f99d;
    box-shadow:0 8px 0 #0b5c29,0 14px 26px rgba(0,0,0,.18);
    transition:.18s;
  }
  .btn-cta:hover{
    color:#0b5c29;transform:translateY(-2px);
    box-shadow:0 10px 0 #0b5c29,0 18px 30px rgba(0,0,0,.2);
  }
  .btn-cta:active{transform:translateY(2px);box-shadow:0 4px 0 #0b5c29;}

  /* ---------- 友链 & 页脚 ---------- */
  .friendlinks{
    background:#fffff8;
    border-top:3px solid var(--accent);
    padding:2.6rem 0;
  }
  .friendlinks h5{
    font-size:1rem;color:var(--ink);margin-bottom:.9rem;
    display:flex;align-items:center;gap:.5rem;
  }
  .friendlinks .fl-body{
    color:var(--ink-soft);font-size:.9rem;line-height:2.1;
    word-break:break-all;
  }
  footer{
    background:linear-gradient(180deg,#123a1d 0%,#0b2513 100%);
    color:#cfe3b8;
    padding:3rem 0 1.8rem;
  }
  footer h6{
    color:#eaffd0;font-weight:900;font-size:.95rem;margin-bottom:1rem;
    letter-spacing:.02em;
  }
  footer a{color:#cfe3b8;font-size:.9rem;}
  footer a:hover{color:#bef264;}
  footer .f-brand{
    display:flex;align-items:center;gap:.6rem;
    font-weight:900;color:#fff;font-size:1.12rem;margin-bottom:.9rem;
  }
  footer p{font-size:.88rem;line-height:1.95;color:#a9c894;}
  .f-div{border-top:1px solid rgba(207,227,184,.18);margin-top:2rem;padding-top:1.3rem;}
  .f-copy{font-size:.82rem;color:#8fb47a;}
  .f-list{list-style:none;padding:0;margin:0;}
  .f-list li{margin-bottom:.5rem;}

  /* ---------- 回到顶部 ---------- */
  #toTop{
    position:fixed;right:22px;bottom:22px;z-index:1050;
    width:52px;height:52px;border-radius:50%;border:3px solid #d9f99d;
    background:linear-gradient(160deg,var(--accent),var(--brand));
    color:#fff;font-size:1.05rem;
    display:grid;place-items:center;cursor:pointer;
    opacity:0;visibility:hidden;transform:translateY(14px);
    transition:.3s ease;
    box-shadow:0 8px 20px rgba(22,163,74,.4),inset 0 -3px 0 rgba(0,0,0,.18);
  }
  #toTop.show{opacity:1;visibility:visible;transform:translateY(0);}
  #toTop:hover{transform:translateY(-3px);}

  @media (max-width:991.98px){
    .hero{padding:3.6rem 0 3rem;}
    .hero-inner{padding:2.2rem 1.3rem;border-radius:22px;}
    .prose-card{padding:1.6rem;}
    section{padding:3.2rem 0;}
    .cmp-table thead th,.cmp-table tbody td{font-size:.85rem;padding:.75rem .7rem;}
  }
  @media (max-width:575.98px){
    .stat-chip{flex:1 1 100%;}
    .cta-band{padding:2.2rem 1.2rem;}
    .typewriter{min-height:3.4em;}
  }

/* --- 子页面追加 --- */
.legal-nav {display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 6px}
.legal-nav a {display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;
      background:var(--card);border:1px solid var(--line);color:var(--ink-soft);font-size:14px;font-weight:600;
      text-decoration:none;box-shadow:var(--shadow-1);transition:.18s ease}
.legal-nav a:hover {color:var(--brand-deep);border-color:var(--brand);transform:translateY(-2px)}
.legal-nav a i {color:var(--brand);font-size:12px}
.legal-block {background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);
      box-shadow:var(--shadow-1);padding:26px 28px;margin-bottom:22px}
.legal-block h2 {font-size:1.22rem;font-weight:800;color:var(--ink);margin:0 0 14px;
      display:flex;align-items:center;gap:12px}
.legal-block h2 .dot {width:26px;height:26px;border-radius:9px;flex:0 0 auto;
      background:linear-gradient(135deg,var(--brand),var(--accent));color:#fff;font-size:13px;
      display:inline-flex;align-items:center;justify-content:center;font-weight:800}
.legal-block p {color:var(--ink-soft);line-height:1.9;margin:0 0 12px;font-size:15px}
.legal-block p:last-child {margin-bottom:0}
.legal-block ul {margin:0 0 12px;padding-left:0;list-style:none}
.legal-block ul li {position:relative;padding-left:22px;color:var(--ink-soft);line-height:1.9;
      font-size:15px;margin-bottom:8px}
.legal-block ul li::before {content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;
      position:absolute;left:0;top:2px;font-size:12px;color:var(--brand)}
.legal-note {background:var(--accent-soft);border:1px solid #bfe58a;border-radius:var(--r-md);
      padding:16px 18px;color:var(--ink);font-size:14px;line-height:1.85;margin-top:16px}
.legal-note strong {color:var(--brand-deep)}
.legal-meta {font-size:13px;color:#6b7f4d;margin-top:6px}
.legal-block {padding:20px 18px;border-radius:var(--r-md)}
.legal-block h2 {font-size:1.08rem}

/* --- Bootstrap 组件配色适配(程序自动补,避免白底黑字) --- */
.accordion-header { background:transparent !important; }
