:root {
      --theme: #0B3D91;
      --theme-deep: #061a3b;
      --ink: #10213b;
      --muted: #68768b;
      --line: #dce5f0;
      --soft: #f3f7fc;
      --accent: #19d3c5;
      --white: #ffffff;
      --shadow: 0 18px 50px rgba(16, 33, 59, .11);
      --radius: 8px;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      color: var(--ink);
      background: #f7faff;
      font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
      line-height: 1.7;
    }
    a { color: inherit; text-decoration: none; }
    button, input { font: inherit; }
    img { max-width: 100%; }
    .container { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }

    .topbar {
      color: #c9d8ee;
      background: #07172f;
      font-size: 13px;
    }
    .topbar-inner {
      min-height: 36px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
    }
    .topbar-links { display: flex; gap: 22px; }
    .topbar a:hover { color: var(--accent); }

    .header {
      position: relative;
      z-index: 20;
      background: rgba(255,255,255,.97);
      border-bottom: 1px solid var(--line);
    }
    .header-inner {
      min-height: 76px;
      display: flex;
      align-items: center;
      gap: 34px;
    }
    .logo {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      min-width: 180px;
      color: var(--theme-deep);
      font-size: 19px;
      font-weight: 800;
      white-space: nowrap;
    }
    .logo img { width: 38px; height: 38px; object-fit: contain; }
    .main-nav { flex: 1; }
    .nav-list {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 4px;
      padding: 0;
      margin: 0;
      list-style: none;
    }
    .nav-item { position: relative; }
    .nav-link {
      display: block;
      padding: 25px 13px;
      color: #30415b;
      font-size: 14px;
      font-weight: 700;
      white-space: nowrap;
    }
    .nav-link:hover, .nav-item:focus-within > .nav-link { color: var(--theme); }
    .has-arrow::after {
      content: "⌄";
      display: inline-block;
      margin-left: 6px;
      color: #8391a5;
      font-size: 13px;
    }
    .dropdown-panel, .mega-menu {
      position: absolute;
      top: 100%;
      left: 50%;
      z-index: 30;
      visibility: hidden;
      opacity: 0;
      transform: translate(-50%, 8px);
      transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
      background: #fff;
      border: 1px solid var(--line);
      box-shadow: var(--shadow);
      pointer-events: none;
    }
    .dropdown-panel::before, .mega-menu::before {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: -12px;
      height: 12px;
    }
    .nav-item:hover .dropdown-panel,
    .nav-item:focus-within .dropdown-panel,
    .nav-item:hover .mega-menu,
    .nav-item:focus-within .mega-menu {
      visibility: visible;
      opacity: 1;
      transform: translate(-50%, 0);
      pointer-events: auto;
    }
    .dropdown-panel {
      width: 280px;
      padding: 18px;
    }
    .dropdown-title, .mega-heading {
      margin-bottom: 11px;
      color: var(--theme);
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .08em;
    }
    .dropdown-panel a {
      display: block;
      padding: 8px 0;
      border-bottom: 1px solid #edf1f6;
      color: #40516b;
      font-size: 13px;
    }
    .dropdown-panel a:last-child { color: var(--theme); border-bottom: 0; font-weight: 700; }
    .mega-menu { width: 700px; padding: 24px; }
    .mega-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 30px; }
    .mega-list { display: grid; gap: 8px; }
    .mega-list a {
      display: flex;
      align-items: center;
      gap: 10px;
      min-width: 0;
      padding: 7px 0;
      border-bottom: 1px solid #edf1f6;
    }
    .mega-list img {
      width: 34px;
      height: 34px;
      flex: 0 0 34px;
      border-radius: 6px;
      object-fit: cover;
      background: #eef3f9;
    }
    .mega-item-title, .mega-item-meta { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .mega-item-title { color: #283b58; font-size: 13px; font-weight: 700; }
    .mega-item-meta { max-width: 290px; color: #8490a1; font-size: 11px; }
    .mega-categories { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
    .mega-categories a, .mega-tools span {
      padding: 8px 10px;
      color: #4e607a;
      background: #f3f7fc;
      border-radius: 5px;
      font-size: 12px;
    }
    .mega-tools { display: flex; flex-wrap: wrap; gap: 7px; margin: 17px 0; }
    .mega-footer { color: var(--theme); font-size: 13px; font-weight: 800; }

    .header-btns { display: flex; align-items: center; gap: 12px; }
    .member-link { color: var(--theme); font-size: 13px; font-weight: 700; white-space: nowrap; }
    .account-btn {
      padding: 9px 15px;
      color: #fff;
      background: var(--theme);
      border-radius: 5px;
      font-size: 13px;
      font-weight: 700;
      white-space: nowrap;
    }
    .account-btn:hover { background: #082e70; }
    .hamburger {
      display: none;
      width: 42px;
      height: 42px;
      padding: 9px;
      border: 1px solid var(--line);
      border-radius: 5px;
      background: #fff;
      cursor: pointer;
    }
    .hamburger span { display: block; width: 22px; height: 2px; margin: 4px auto; background: var(--theme-deep); transition: transform .2s ease; }
    .hamburger.active span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
    .hamburger.active span:nth-child(2) { opacity: 0; }
    .hamburger.active span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

    .drawer-overlay {
      position: fixed;
      inset: 0;
      z-index: 40;
      visibility: hidden;
      opacity: 0;
      background: rgba(3, 13, 29, .58);
      transition: opacity .2s ease, visibility .2s ease;
    }
    .drawer-overlay.open { visibility: visible; opacity: 1; }
    .mobile-drawer {
      position: fixed;
      top: 0;
      right: 0;
      bottom: 0;
      z-index: 50;
      width: min(360px, 88vw);
      overflow-y: auto;
      visibility: hidden;
      transform: translateX(100%);
      background: #fff;
      box-shadow: -15px 0 40px rgba(5, 18, 40, .2);
      transition: transform .25s ease, visibility .25s ease;
    }
    .mobile-drawer.open { visibility: visible; transform: translateX(0); }
    .drawer-head {
      display: flex;
      align-items: center;
      gap: 15px;
      padding: 20px;
      color: #fff;
      background: var(--theme-deep);
      font-weight: 700;
    }
    .drawer-head span { flex: 1; }
    .drawer-head a { padding: 5px 10px; color: var(--theme-deep); background: var(--accent); border-radius: 4px; font-size: 12px; }
    .drawer-close { border: 0; color: #fff; background: transparent; font-size: 28px; cursor: pointer; }
    .drawer-menu { padding: 12px 20px 30px; }
    .drawer-link, .drawer-toggle {
      display: block;
      width: 100%;
      padding: 14px 0;
      border: 0;
      border-bottom: 1px solid #e7edf5;
      color: #263954;
      background: transparent;
      text-align: left;
      font-weight: 700;
      cursor: pointer;
    }
    .drawer-toggle::after { content: "+"; float: right; color: var(--theme); font-size: 18px; font-weight: 400; }
    .drawer-toggle.active::after { content: "−"; }
    .drawer-submenu { display: none; padding: 7px 0 8px 16px; border-bottom: 1px solid #e7edf5; }
    .drawer-submenu.open { display: block; }
    .drawer-submenu a { display: block; padding: 7px 0; color: #68768b; font-size: 13px; }

    .download-page-main { overflow: hidden; }
    .download-hero {
      position: relative;
      padding: 78px 0 88px;
      color: #fff;
      background:
        linear-gradient(115deg, rgba(4, 20, 49, .98), rgba(11, 61, 145, .86)),
        radial-gradient(circle at 78% 10%, rgba(25,211,197,.27), transparent 31%);
    }
    .download-hero::after {
      content: "";
      position: absolute;
      right: -100px;
      bottom: -180px;
      width: 500px;
      height: 500px;
      border: 1px solid rgba(25,211,197,.22);
      border-radius: 50%;
      box-shadow: 0 0 0 35px rgba(25,211,197,.04), 0 0 0 70px rgba(25,211,197,.03);
    }
    .download-hero-inner { position: relative; z-index: 1; max-width: 780px; }
    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 16px;
      color: var(--accent);
      font-size: 13px;
      font-weight: 800;
      letter-spacing: .12em;
    }
    .eyebrow::before { content: ""; width: 25px; height: 2px; background: var(--accent); }
    .download-hero h1 { max-width: 700px; margin: 0 0 16px; font-size: clamp(34px, 5vw, 60px); line-height: 1.15; letter-spacing: 0; }
    .download-hero p { max-width: 650px; margin: 0; color: #cedbf0; font-size: 17px; }
    .download-stats { display: flex; flex-wrap: wrap; gap: 34px; margin-top: 34px; }
    .download-stat strong { display: block; color: #fff; font-size: 25px; line-height: 1.2; }
    .download-stat span { color: #9fb2d0; font-size: 12px; }

    .download-content { padding: 70px 0 84px; }
    .section-heading { margin-bottom: 25px; }
    .section-heading h2 { margin: 0 0 8px; color: var(--ink); font-size: 30px; line-height: 1.25; }
    .section-heading p { margin: 0; color: var(--muted); }
    .software-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
    .software-card {
      display: flex;
      min-height: 245px;
      flex-direction: column;
      padding: 24px;
      border: 1px solid var(--line);
      background: #fff;
      box-shadow: 0 8px 25px rgba(16,33,59,.05);
      border-radius: var(--radius);
    }
    .software-icon {
      display: grid;
      width: 48px;
      height: 48px;
      place-items: center;
      margin-bottom: 18px;
      color: var(--theme);
      background: #e9f1ff;
      border-radius: 8px;
      font-size: 22px;
      font-weight: 800;
    }
    .software-card h3 { margin: 0 0 8px; font-size: 19px; }
    .software-card p { flex: 1; margin: 0 0 18px; color: var(--muted); font-size: 13px; }
    .card-meta { display: flex; flex-wrap: wrap; gap: 8px 14px; color: #8490a1; font-size: 12px; }
    .download-action { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 17px; }
    .download-button {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      padding: 9px 13px;
      color: #fff;
      background: var(--theme);
      border-radius: 5px;
      font-size: 13px;
      font-weight: 700;
    }
    .download-button:hover { background: #082e70; }
    .download-note { color: #8a97a8; font-size: 11px; }
    .steps-section { margin-top: 70px; }
    .steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
    .step {
      position: relative;
      padding: 23px;
      border-top: 3px solid var(--accent);
      background: #fff;
      box-shadow: 0 8px 25px rgba(16,33,59,.05);
    }
    .step-number { color: var(--theme); font-size: 12px; font-weight: 800; letter-spacing: .1em; }
    .step h3 { margin: 10px 0 7px; font-size: 17px; }
    .step p { margin: 0; color: var(--muted); font-size: 13px; }
    .faq-section { margin-top: 70px; }
    .faq-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 24px; }
    .faq-item { padding: 18px 0; border-bottom: 1px solid var(--line); }
    .faq-item h3 { margin: 0 0 7px; font-size: 16px; }
    .faq-item p { margin: 0; color: var(--muted); font-size: 13px; }
    .download-cta {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 25px;
      margin-top: 70px;
      padding: 27px 30px;
      color: #fff;
      background: var(--theme-deep);
      border-radius: var(--radius);
    }
    .download-cta h2 { margin: 0 0 5px; font-size: 22px; }
    .download-cta p { margin: 0; color: #afc0da; font-size: 13px; }
    .cta-button { display: inline-block; padding: 11px 18px; color: var(--theme-deep); background: var(--accent); border-radius: 5px; font-size: 13px; font-weight: 800; white-space: nowrap; }

    .footer { padding: 54px 0 22px; color: #b5c5dc; background: #07172f; }
    .footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 38px; }
    .footer-brand img { width: 40px; height: 40px; object-fit: contain; }
    .footer-brand h3 { margin: 11px 0 7px; color: #fff; font-size: 18px; }
    .footer-brand p { max-width: 280px; margin: 0; color: #8da1c0; font-size: 13px; }
    .footer h4 { margin: 0 0 14px; color: #fff; font-size: 14px; }
    .footer-links, .footer-contact { display: grid; gap: 8px; font-size: 13px; }
    .footer-links a:hover { color: var(--accent); }
    .footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 42px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.12); color: #7187a8; font-size: 12px; }

    @media (max-width: 1050px) {
      .main-nav { display: none; }
      .hamburger { display: block; }
      .header-btns { margin-left: auto; }
    }
    @media (max-width: 760px) {
      .container { width: min(100% - 28px, 620px); }
      .topbar-inner { align-items: flex-start; flex-direction: column; gap: 0; padding: 7px 0; }
      .topbar-links { gap: 14px; }
      .member-link { display: none; }
      .download-hero { padding: 56px 0 65px; }
      .download-hero p { font-size: 15px; }
      .download-stats { gap: 20px; }
      .software-grid, .steps-grid, .faq-list { grid-template-columns: 1fr; }
      .download-content { padding: 50px 0 60px; }
      .steps-section, .faq-section, .download-cta { margin-top: 50px; }
      .download-cta { align-items: flex-start; flex-direction: column; padding: 23px; }
      .footer-grid { grid-template-columns: 1fr 1fr; gap: 28px 20px; }
      .footer-bottom { align-items: flex-start; flex-direction: column; gap: 7px; }
    }
    @media (max-width: 430px) {
      .logo { min-width: 0; font-size: 16px; }
      .logo img { width: 32px; height: 32px; }
      .account-btn { display: none; }
      .footer-grid { grid-template-columns: 1fr; }
      .topbar-links { align-items: flex-start; flex-direction: column; gap: 0; }
    }