/* roulang page: index */
:root{
      --primary:#6d5dfc;
      --primary-dark:#493be7;
      --secondary:#10d7b0;
      --accent:#ffb545;
      --danger:#ff6b8a;
      --ink:#15172f;
      --text:#343854;
      --muted:#6e7391;
      --soft:#f6f7ff;
      --soft-2:#eef7ff;
      --surface:#ffffff;
      --surface-dark:#10142b;
      --border:#e5e8f5;
      --border-strong:#d5daf0;
      --radius-xs:10px;
      --radius-sm:14px;
      --radius-md:22px;
      --radius-lg:34px;
      --shadow-sm:0 10px 30px rgba(33,38,76,.08);
      --shadow-md:0 18px 50px rgba(35,39,83,.12);
      --shadow-lg:0 28px 90px rgba(42,35,120,.20);
      --gradient:linear-gradient(135deg,#6d5dfc 0%,#8c63ff 45%,#10d7b0 100%);
      --gradient-warm:linear-gradient(135deg,#ffb545 0%,#ff6b8a 52%,#8b5cf6 100%);
      --container:1180px;
      --nav-height:76px;
      --transition:all .24s ease;
    }

    *{
      box-sizing:border-box;
    }

    html{
      scroll-behavior:smooth;
    }

    body{
      margin:0;
      font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at 10% 3%,rgba(109,93,252,.12),transparent 34%),
        radial-gradient(circle at 92% 10%,rgba(16,215,176,.12),transparent 30%),
        linear-gradient(180deg,#fbfcff 0%,#f7f8ff 45%,#ffffff 100%);
      line-height:1.7;
      overflow-x:hidden;
    }

    a{
      color:inherit;
      text-decoration:none;
      transition:var(--transition);
    }

    a:hover{
      color:var(--primary);
    }

    img{
      max-width:100%;
      height:auto;
      display:block;
    }

    button,
    input,
    textarea,
    select{
      font:inherit;
    }

    button{
      border:0;
    }

    ::selection{
      background:rgba(109,93,252,.18);
      color:var(--ink);
    }

    .container-xl{
      max-width:var(--container);
    }

    .site-header{
      position:sticky;
      top:0;
      z-index:1030;
      background:rgba(255,255,255,.86);
      backdrop-filter:blur(18px);
      border-bottom:1px solid rgba(229,232,245,.86);
      box-shadow:0 8px 30px rgba(22,25,54,.04);
    }

    .topbar{
      min-height:var(--nav-height);
      display:flex;
      align-items:center;
      gap:22px;
      padding:14px 0;
    }

    .brand-logo{
      display:flex;
      align-items:center;
      gap:12px;
      min-width:260px;
      color:var(--ink);
      font-weight:900;
      letter-spacing:-.02em;
    }

    .brand-logo:hover{
      color:var(--ink);
      transform:translateY(-1px);
    }

    .logo-mark{
      width:42px;
      height:42px;
      border-radius:16px;
      background:var(--gradient);
      box-shadow:0 14px 30px rgba(109,93,252,.28);
      display:grid;
      place-items:center;
      color:#fff;
      font-weight:900;
      position:relative;
      overflow:hidden;
      flex:0 0 auto;
    }

    .logo-mark::after{
      content:"";
      position:absolute;
      width:26px;
      height:26px;
      border:2px solid rgba(255,255,255,.64);
      border-radius:50%;
      right:-8px;
      bottom:-8px;
    }

    .brand-text{
      display:flex;
      flex-direction:column;
      line-height:1.1;
    }

    .brand-text strong{
      font-size:1.02rem;
    }

    .brand-text span{
      margin-top:4px;
      color:var(--muted);
      font-size:.76rem;
      font-weight:700;
    }

    .header-search{
      flex:1;
      position:relative;
      max-width:520px;
    }

    .header-search input{
      width:100%;
      height:46px;
      border:1px solid var(--border);
      border-radius:999px;
      background:#f8f9ff;
      color:var(--ink);
      padding:0 48px 0 18px;
      outline:none;
      transition:var(--transition);
    }

    .header-search input:focus{
      background:#fff;
      border-color:rgba(109,93,252,.55);
      box-shadow:0 0 0 4px rgba(109,93,252,.12);
    }

    .search-icon{
      position:absolute;
      right:17px;
      top:50%;
      transform:translateY(-50%);
      color:var(--muted);
      pointer-events:none;
    }

    .nav-action{
      display:flex;
      align-items:center;
      gap:10px;
      flex:0 0 auto;
    }

    .btn-brand{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      min-height:46px;
      padding:12px 20px;
      border-radius:999px;
      background:var(--gradient);
      color:#fff;
      font-weight:800;
      box-shadow:0 14px 30px rgba(109,93,252,.25);
      border:1px solid rgba(255,255,255,.22);
      transition:var(--transition);
      white-space:nowrap;
    }

    .btn-brand:hover,
    .btn-brand:focus{
      color:#fff;
      transform:translateY(-2px);
      box-shadow:0 20px 45px rgba(109,93,252,.34);
    }

    .btn-ghost{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      min-height:46px;
      padding:12px 20px;
      border-radius:999px;
      color:var(--ink);
      background:rgba(255,255,255,.72);
      border:1px solid var(--border);
      font-weight:800;
      box-shadow:var(--shadow-sm);
      transition:var(--transition);
      white-space:nowrap;
    }

    .btn-ghost:hover,
    .btn-ghost:focus{
      color:var(--primary);
      border-color:rgba(109,93,252,.36);
      transform:translateY(-2px);
      box-shadow:var(--shadow-md);
    }

    .channel-row{
      border-top:1px solid rgba(229,232,245,.68);
      padding:10px 0 12px;
      overflow:hidden;
    }

    .channel-tabs{
      display:flex;
      align-items:center;
      gap:10px;
      overflow-x:auto;
      scrollbar-width:none;
      padding-bottom:1px;
    }

    .channel-tabs::-webkit-scrollbar{
      display:none;
    }

    .channel-tab{
      flex:0 0 auto;
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:9px 15px;
      border-radius:999px;
      background:#fff;
      color:var(--text);
      border:1px solid var(--border);
      font-size:.92rem;
      font-weight:800;
      box-shadow:0 8px 18px rgba(21,23,47,.04);
    }

    .channel-tab:hover{
      color:var(--primary);
      border-color:rgba(109,93,252,.35);
      transform:translateY(-1px);
    }

    .channel-tab.active{
      color:#fff;
      border-color:transparent;
      background:var(--ink);
      box-shadow:0 12px 28px rgba(21,23,47,.16);
    }

    .section{
      padding:82px 0;
      position:relative;
    }

    .section-tight{
      padding:62px 0;
    }

    .section-kicker{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:8px 12px;
      border-radius:999px;
      color:var(--primary-dark);
      background:rgba(109,93,252,.10);
      border:1px solid rgba(109,93,252,.16);
      font-weight:900;
      font-size:.88rem;
      margin-bottom:16px;
    }

    .section-title{
      color:var(--ink);
      font-weight:950;
      letter-spacing:-.04em;
      line-height:1.15;
      font-size:clamp(2rem,4vw,3.25rem);
      margin:0;
    }

    .section-desc{
      max-width:760px;
      color:var(--muted);
      font-size:1.04rem;
      margin:18px 0 0;
    }

    .hero{
      min-height:690px;
      display:flex;
      align-items:center;
      padding:92px 0 70px;
      color:#fff;
      background:
        linear-gradient(110deg,rgba(16,20,43,.88),rgba(40,31,114,.62) 48%,rgba(16,215,176,.18)),
        url("data:image/svg+xml,%3Csvg width='1400' height='780' viewBox='0 0 1400 780' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' x2='1' y1='0' y2='1'%3E%3Cstop stop-color='%236d5dfc'/%3E%3Cstop offset='.52' stop-color='%239466ff'/%3E%3Cstop offset='1' stop-color='%2310d7b0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='1400' height='780' fill='%2310142b'/%3E%3Ccircle cx='210' cy='130' r='190' fill='%236d5dfc' opacity='.45'/%3E%3Ccircle cx='1110' cy='130' r='250' fill='%2310d7b0' opacity='.22'/%3E%3Ccircle cx='820' cy='620' r='280' fill='%23ffb545' opacity='.16'/%3E%3Cg opacity='.18' stroke='%23fff' stroke-width='2'%3E%3Cpath d='M114 545h230l92-120h208l82 90h180l92-156h286'/%3E%3Cpath d='M88 250h188l74 78h166l70-118h214l76 96h438'/%3E%3Cpath d='M238 670h170l80-88h208l80 52h178l82-88h222'/%3E%3C/g%3E%3Cg opacity='.24'%3E%3Crect x='790' y='154' width='370' height='116' rx='26' fill='url(/%23g)'/%3E%3Crect x='830' y='318' width='450' height='132' rx='30' fill='%23ffffff'/%3E%3Crect x='930' y='504' width='310' height='108' rx='26' fill='%23ffffff'/%3E%3C/g%3E%3C/svg%3E") center/cover no-repeat;
      position:relative;
      overflow:hidden;
    }

    .hero::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(circle at 22% 18%,rgba(255,255,255,.12),transparent 24%),
        linear-gradient(180deg,rgba(16,20,43,.08),rgba(16,20,43,.62));
      pointer-events:none;
    }

    .hero .container-xl{
      position:relative;
      z-index:2;
    }

    .hero-kv{
      max-width:980px;
    }

    .hero-badge{
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding:10px 14px;
      border-radius:999px;
      color:#fff;
      background:rgba(255,255,255,.13);
      border:1px solid rgba(255,255,255,.18);
      backdrop-filter:blur(14px);
      font-weight:900;
      margin-bottom:22px;
    }

    .hero-badge .dot{
      width:10px;
      height:10px;
      border-radius:50%;
      background:var(--secondary);
      box-shadow:0 0 0 7px rgba(16,215,176,.18);
    }

    .hero h1{
      max-width:920px;
      margin:0;
      font-size:clamp(2.55rem,6vw,5.35rem);
      line-height:1.04;
      letter-spacing:-.065em;
      font-weight:950;
      text-wrap:balance;
    }

    .hero-lead{
      max-width:760px;
      color:rgba(255,255,255,.82);
      font-size:1.14rem;
      line-height:1.9;
      margin:24px 0 0;
    }

    .hero-actions{
      display:flex;
      align-items:center;
      flex-wrap:wrap;
      gap:14px;
      margin-top:32px;
    }

    .hero-actions .btn-ghost{
      color:#fff;
      background:rgba(255,255,255,.12);
      border-color:rgba(255,255,255,.24);
      box-shadow:none;
    }

    .hero-actions .btn-ghost:hover{
      color:#fff;
      background:rgba(255,255,255,.18);
      border-color:rgba(255,255,255,.42);
    }

    .countdown-strip{
      display:grid;
      grid-template-columns:auto 1fr auto;
      align-items:center;
      gap:18px;
      max-width:1020px;
      margin-top:44px;
      padding:18px;
      border-radius:26px;
      background:rgba(255,255,255,.13);
      border:1px solid rgba(255,255,255,.18);
      box-shadow:0 30px 80px rgba(0,0,0,.20);
      backdrop-filter:blur(18px);
    }

    .countdown-title{
      display:flex;
      flex-direction:column;
      gap:2px;
      min-width:190px;
      font-weight:900;
    }

    .countdown-title span{
      color:rgba(255,255,255,.68);
      font-size:.9rem;
      font-weight:700;
    }

    .countdown-items{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
    }

    .count-item{
      min-width:82px;
      padding:10px 12px;
      text-align:center;
      border-radius:18px;
      background:rgba(16,20,43,.36);
      border:1px solid rgba(255,255,255,.12);
    }

    .count-item strong{
      display:block;
      color:#fff;
      font-size:1.35rem;
      line-height:1.1;
      font-weight:950;
    }

    .count-item span{
      color:rgba(255,255,255,.68);
      font-size:.78rem;
      font-weight:800;
    }

    .hero-stats{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:14px;
      margin-top:20px;
      max-width:900px;
    }

    .stat-pill{
      border-radius:22px;
      padding:16px 18px;
      background:rgba(255,255,255,.10);
      border:1px solid rgba(255,255,255,.16);
      backdrop-filter:blur(12px);
    }

    .stat-pill strong{
      display:block;
      font-size:1.35rem;
      color:#fff;
      font-weight:950;
    }

    .stat-pill span{
      color:rgba(255,255,255,.70);
      font-size:.9rem;
      font-weight:700;
    }

    .feature-grid{
      display:grid;
      grid-template-columns:1.15fr .85fr;
      gap:24px;
      margin-top:34px;
      align-items:stretch;
    }

    .feature-main{
      min-height:390px;
      border-radius:var(--radius-lg);
      padding:36px;
      color:#fff;
      background:
        linear-gradient(135deg,rgba(109,93,252,.96),rgba(139,92,246,.88) 52%,rgba(16,215,176,.88)),
        radial-gradient(circle at 85% 10%,rgba(255,255,255,.22),transparent 25%);
      box-shadow:var(--shadow-lg);
      overflow:hidden;
      position:relative;
    }

    .feature-main::after{
      content:"";
      position:absolute;
      right:-70px;
      bottom:-90px;
      width:260px;
      height:260px;
      border-radius:50%;
      background:rgba(255,255,255,.16);
    }

    .feature-main h2{
      position:relative;
      z-index:2;
      max-width:620px;
      font-size:clamp(1.9rem,3.6vw,3.25rem);
      line-height:1.12;
      font-weight:950;
      letter-spacing:-.045em;
      margin:0 0 16px;
    }

    .feature-main p{
      position:relative;
      z-index:2;
      max-width:680px;
      color:rgba(255,255,255,.82);
      margin:0;
      font-size:1.06rem;
    }

    .feature-rank{
      position:relative;
      z-index:2;
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:12px;
      margin-top:34px;
    }

    .rank-badge{
      border-radius:20px;
      padding:16px;
      background:rgba(255,255,255,.14);
      border:1px solid rgba(255,255,255,.20);
    }

    .rank-badge b{
      display:block;
      font-size:1.55rem;
      line-height:1.1;
      color:#fff;
      font-weight:950;
    }

    .rank-badge span{
      color:rgba(255,255,255,.72);
      font-size:.84rem;
      font-weight:800;
    }

    .feature-side{
      display:grid;
      gap:18px;
    }

    .mini-card,
    .content-card,
    .time-card,
    .step-card,
    .faq-card,
    .price-card{
      border-radius:var(--radius-md);
      background:rgba(255,255,255,.82);
      border:1px solid rgba(229,232,245,.92);
      box-shadow:var(--shadow-sm);
      transition:var(--transition);
    }

    .mini-card:hover,
    .content-card:hover,
    .time-card:hover,
    .step-card:hover,
    .faq-card:hover,
    .price-card:hover{
      transform:translateY(-4px);
      box-shadow:var(--shadow-md);
      border-color:rgba(109,93,252,.24);
    }

    .mini-card{
      padding:24px;
    }

    .icon-bubble{
      width:48px;
      height:48px;
      border-radius:18px;
      display:grid;
      place-items:center;
      color:#fff;
      background:var(--gradient);
      box-shadow:0 14px 26px rgba(109,93,252,.22);
      font-size:1.25rem;
      margin-bottom:18px;
    }

    .mini-card h3,
    .content-card h3,
    .time-card h3,
    .step-card h3,
    .price-card h3{
      color:var(--ink);
      font-weight:950;
      letter-spacing:-.025em;
      margin:0 0 8px;
      font-size:1.16rem;
    }

    .mini-card p,
    .content-card p,
    .time-card p,
    .step-card p,
    .price-card p{
      margin:0;
      color:var(--muted);
      font-size:.98rem;
    }

    .selling-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:18px;
      margin-top:28px;
    }

    .content-card{
      padding:26px;
      position:relative;
      overflow:hidden;
    }

    .content-card::before{
      content:"";
      position:absolute;
      inset:0 0 auto;
      height:5px;
      background:var(--gradient);
      opacity:.9;
    }

    .badge-soft{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:6px 10px;
      border-radius:999px;
      background:rgba(16,215,176,.12);
      color:#087d69;
      border:1px solid rgba(16,215,176,.18);
      font-size:.82rem;
      font-weight:900;
      margin-bottom:16px;
    }

    .time-wrap{
      margin-top:34px;
      display:grid;
      grid-template-columns:1fr 1fr 1fr;
      gap:18px;
    }

    .time-card{
      padding:26px;
      min-height:260px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      overflow:hidden;
      position:relative;
    }

    .time-card.featured{
      background:linear-gradient(145deg,#10142b 0%,#272154 55%,#4130a8 100%);
      color:#fff;
      box-shadow:var(--shadow-lg);
    }

    .time-card.featured h3,
    .time-card.featured p{
      color:#fff;
    }

    .time-card.featured p{
      opacity:.78;
    }

    .time-top{
      display:flex;
      justify-content:space-between;
      align-items:flex-start;
      gap:14px;
    }

    .time-label{
      display:inline-flex;
      padding:6px 10px;
      border-radius:999px;
      background:rgba(109,93,252,.10);
      color:var(--primary-dark);
      font-weight:900;
      font-size:.82rem;
      border:1px solid rgba(109,93,252,.14);
    }

    .time-card.featured .time-label{
      background:rgba(255,255,255,.14);
      color:#fff;
      border-color:rgba(255,255,255,.18);
    }

    .time-num{
      font-weight:950;
      font-size:2.2rem;
      letter-spacing:-.05em;
      color:var(--ink);
    }

    .time-card.featured .time-num{
      color:#fff;
    }

    .time-list{
      list-style:none;
      padding:0;
      margin:20px 0 0;
      display:grid;
      gap:10px;
    }

    .time-list li{
      display:flex;
      gap:10px;
      color:var(--muted);
      font-size:.94rem;
    }

    .time-card.featured .time-list li{
      color:rgba(255,255,255,.75);
    }

    .time-list li::before{
      content:"";
      width:8px;
      height:8px;
      border-radius:50%;
      background:var(--secondary);
      margin-top:10px;
      flex:0 0 auto;
    }

    .news-panel{
      margin-top:34px;
      display:grid;
      grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr);
      gap:22px;
      align-items:start;
    }

    .news-list{
      border-radius:var(--radius-lg);
      background:#fff;
      border:1px solid var(--border);
      box-shadow:var(--shadow-sm);
      overflow:hidden;
    }

    .news-item{
      display:grid;
      grid-template-columns:auto 1fr auto;
      align-items:center;
      gap:16px;
      padding:20px 22px;
      border-bottom:1px solid var(--border);
      transition:var(--transition);
    }

    .news-item:last-child{
      border-bottom:0;
    }

    .news-item:hover{
      background:#fafbff;
    }

    .news-date{
      min-width:72px;
      text-align:center;
      border-radius:16px;
      background:var(--soft);
      padding:10px 8px;
      color:var(--primary-dark);
      font-weight:950;
      line-height:1.2;
    }

    .news-date span{
      display:block;
      color:var(--muted);
      font-size:.76rem;
      font-weight:800;
      margin-top:2px;
    }

    .news-title{
      color:var(--ink);
      font-weight:950;
      margin:0 0 4px;
      font-size:1.06rem;
    }

    .news-summary{
      color:var(--muted);
      margin:0;
      font-size:.94rem;
    }

    .news-arrow{
      width:38px;
      height:38px;
      border-radius:50%;
      display:grid;
      place-items:center;
      color:var(--primary);
      background:rgba(109,93,252,.09);
      font-weight:950;
    }

    .news-item:hover .news-arrow{
      background:var(--primary);
      color:#fff;
      transform:translateX(2px);
    }

    .recommend-box{
      border-radius:var(--radius-lg);
      background:linear-gradient(160deg,#ffffff 0%,#f3f6ff 100%);
      border:1px solid var(--border);
      box-shadow:var(--shadow-sm);
      padding:24px;
      position:sticky;
      top:150px;
    }

    .recommend-box h3{
      color:var(--ink);
      font-weight:950;
      margin:0 0 16px;
    }

    .recommend-list{
      display:grid;
      gap:12px;
      margin:0;
      padding:0;
      list-style:none;
    }

    .recommend-list a{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:12px;
      padding:13px 14px;
      border-radius:16px;
      background:#fff;
      border:1px solid var(--border);
      color:var(--text);
      font-weight:800;
    }

    .recommend-list a:hover{
      color:var(--primary);
      border-color:rgba(109,93,252,.30);
      transform:translateY(-2px);
      box-shadow:0 10px 22px rgba(33,38,76,.08);
    }

    .recommend-list small{
      color:var(--muted);
      font-weight:800;
      white-space:nowrap;
    }

    .metrics-band{
      border-radius:var(--radius-lg);
      background:#10142b;
      color:#fff;
      padding:34px;
      box-shadow:var(--shadow-lg);
      overflow:hidden;
      position:relative;
    }

    .metrics-band::before{
      content:"";
      position:absolute;
      inset:auto -90px -130px auto;
      width:360px;
      height:360px;
      border-radius:50%;
      background:rgba(16,215,176,.18);
      filter:blur(2px);
    }

    .metrics-grid{
      position:relative;
      z-index:2;
      display:grid;
      grid-template-columns:1fr repeat(3,.72fr);
      gap:18px;
      align-items:stretch;
    }

    .metric-intro{
      padding:8px 10px;
    }

    .metric-intro h2{
      color:#fff;
      font-size:clamp(1.65rem,3vw,2.45rem);
      line-height:1.16;
      font-weight:950;
      letter-spacing:-.04em;
      margin:0 0 12px;
    }

    .metric-intro p{
      color:rgba(255,255,255,.68);
      margin:0;
    }

    .metric-card{
      border-radius:24px;
      background:rgba(255,255,255,.09);
      border:1px solid rgba(255,255,255,.14);
      padding:24px;
    }

    .metric-card strong{
      display:block;
      font-size:2.1rem;
      color:#fff;
      font-weight:950;
      letter-spacing:-.05em;
    }

    .metric-card span{
      color:rgba(255,255,255,.68);
      font-weight:800;
      font-size:.92rem;
    }

    .steps-layout{
      display:grid;
      grid-template-columns:.8fr 1.2fr;
      gap:26px;
      align-items:center;
      margin-top:34px;
    }

    .steps-visual{
      min-height:420px;
      border-radius:var(--radius-lg);
      background:
        linear-gradient(145deg,rgba(109,93,252,.14),rgba(16,215,176,.10)),
        #fff;
      border:1px solid var(--border);
      box-shadow:var(--shadow-sm);
      padding:28px;
      display:grid;
      align-content:center;
      gap:16px;
    }

    .stage-line{
      display:flex;
      align-items:center;
      gap:10px;
      padding:16px;
      border-radius:22px;
      background:#fff;
      border:1px solid var(--border);
      box-shadow:0 10px 22px rgba(33,38,76,.06);
    }

    .stage-dot{
      width:42px;
      height:42px;
      border-radius:16px;
      display:grid;
      place-items:center;
      background:var(--gradient);
      color:#fff;
      font-weight:950;
      flex:0 0 auto;
    }

    .stage-line b{
      display:block;
      color:var(--ink);
      font-weight:950;
    }

    .stage-line span{
      display:block;
      color:var(--muted);
      font-size:.9rem;
    }

    .steps-grid{
      display:grid;
      gap:16px;
    }

    .step-card{
      padding:24px;
      display:grid;
      grid-template-columns:auto 1fr;
      gap:16px;
      align-items:start;
    }

    .step-no{
      width:46px;
      height:46px;
      border-radius:16px;
      display:grid;
      place-items:center;
      color:#fff;
      background:var(--ink);
      font-weight:950;
      box-shadow:0 12px 24px rgba(21,23,47,.16);
    }

    .hot-scroll{
      margin-top:34px;
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:16px;
    }

    .hot-card{
      position:relative;
      min-height:250px;
      border-radius:var(--radius-lg);
      padding:24px;
      overflow:hidden;
      background:#fff;
      border:1px solid var(--border);
      box-shadow:var(--shadow-sm);
      transition:var(--transition);
    }

    .hot-card:hover{
      transform:translateY(-5px);
      box-shadow:var(--shadow-md);
      border-color:rgba(109,93,252,.28);
    }

    .hot-card:nth-child(2){
      background:linear-gradient(145deg,#fff9ed,#ffffff);
    }

    .hot-card:nth-child(3){
      background:linear-gradient(145deg,#effffb,#ffffff);
    }

    .hot-card:nth-child(4){
      background:linear-gradient(145deg,#f1f0ff,#ffffff);
    }

    .hot-no{
      position:absolute;
      right:18px;
      top:16px;
      color:rgba(109,93,252,.14);
      font-size:3.5rem;
      font-weight:950;
      line-height:1;
    }

    .hot-card h3{
      color:var(--ink);
      font-weight:950;
      margin:48px 0 10px;
      position:relative;
      z-index:2;
    }

    .hot-card p{
      color:var(--muted);
      margin:0 0 20px;
      position:relative;
      z-index:2;
    }

    .text-link{
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:var(--primary-dark);
      font-weight:950;
    }

    .text-link:hover{
      gap:12px;
      color:var(--primary);
    }

    .compare-wrap{
      margin-top:34px;
      border-radius:var(--radius-lg);
      background:#fff;
      border:1px solid var(--border);
      box-shadow:var(--shadow-sm);
      overflow:hidden;
    }

    .compare-head,
    .compare-row{
      display:grid;
      grid-template-columns:1fr 1fr 1fr;
    }

    .compare-head{
      background:linear-gradient(135deg,#f4f5ff,#effffb);
      color:var(--ink);
      font-weight:950;
    }

    .compare-head div,
    .compare-row div{
      padding:18px 20px;
      border-right:1px solid var(--border);
    }

    .compare-head div:last-child,
    .compare-row div:last-child{
      border-right:0;
    }

    .compare-row{
      border-top:1px solid var(--border);
    }

    .compare-row div{
      color:var(--muted);
    }

    .compare-row div:first-child{
      color:var(--ink);
      font-weight:900;
    }

    .good{
      color:#087d69 !important;
      font-weight:900;
    }

    .normal{
      color:#8a6070 !important;
      font-weight:800;
    }

    .faq-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:18px;
      margin-top:34px;
    }

    .faq-card{
      padding:26px;
    }

    .faq-card h3{
      color:var(--ink);
      font-weight:950;
      font-size:1.1rem;
      margin:0 0 10px;
    }

    .faq-card p{
      color:var(--muted);
      margin:0;
      font-size:.98rem;
    }

    .form-section{
      padding-bottom:96px;
    }

    .lead-card{
      border-radius:var(--radius-lg);
      overflow:hidden;
      background:#fff;
      border:1px solid var(--border);
      box-shadow:var(--shadow-lg);
      display:grid;
      grid-template-columns:.92fr 1.08fr;
    }

    .lead-copy{
      padding:42px;
      background:
        linear-gradient(145deg,rgba(21,23,47,.96),rgba(53,43,137,.92)),
        radial-gradient(circle at 80% 20%,rgba(16,215,176,.35),transparent 28%);
      color:#fff;
      position:relative;
      overflow:hidden;
    }

    .lead-copy::after{
      content:"";
      position:absolute;
      width:220px;
      height:220px;
      border-radius:50%;
      right:-72px;
      bottom:-82px;
      background:rgba(255,255,255,.12);
    }

    .lead-copy h2{
      position:relative;
      z-index:2;
      color:#fff;
      font-size:clamp(1.8rem,3.3vw,3rem);
      line-height:1.15;
      font-weight:950;
      letter-spacing:-.045em;
      margin:0 0 16px;
    }

    .lead-copy p{
      position:relative;
      z-index:2;
      color:rgba(255,255,255,.74);
      margin:0 0 22px;
    }

    .lead-list{
      position:relative;
      z-index:2;
      display:grid;
      gap:12px;
      padding:0;
      margin:24px 0 0;
      list-style:none;
    }

    .lead-list li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      color:rgba(255,255,255,.82);
      font-weight:800;
    }

    .lead-list li::before{
      content:"✓";
      display:grid;
      place-items:center;
      width:24px;
      height:24px;
      border-radius:50%;
      background:rgba(16,215,176,.20);
      color:#65ffd8;
      flex:0 0 auto;
      font-size:.82rem;
      margin-top:2px;
    }

    .lead-form{
      padding:42px;
    }

    .form-title{
      color:var(--ink);
      font-weight:950;
      font-size:1.45rem;
      margin:0 0 8px;
    }

    .form-note{
      color:var(--muted);
      margin:0 0 24px;
    }

    .form-label{
      color:var(--ink);
      font-weight:900;
      margin-bottom:8px;
    }

    .form-control,
    .form-select{
      border:1px solid var(--border);
      border-radius:16px;
      min-height:50px;
      color:var(--ink);
      background:#fbfcff;
      transition:var(--transition);
    }

    .form-control:focus,
    .form-select:focus{
      border-color:rgba(109,93,252,.55);
      box-shadow:0 0 0 4px rgba(109,93,252,.12);
      background:#fff;
    }

    textarea.form-control{
      min-height:112px;
      resize:vertical;
    }

    .privacy-tip{
      display:flex;
      gap:10px;
      align-items:flex-start;
      margin:16px 0 22px;
      color:var(--muted);
      font-size:.9rem;
    }

    .privacy-tip::before{
      content:"";
      width:9px;
      height:9px;
      border-radius:50%;
      background:var(--secondary);
      box-shadow:0 0 0 6px rgba(16,215,176,.12);
      margin-top:9px;
      flex:0 0 auto;
    }

    .form-alert{
      display:none;
      margin-top:14px;
      padding:12px 14px;
      border-radius:16px;
      color:#087d69;
      background:rgba(16,215,176,.12);
      border:1px solid rgba(16,215,176,.18);
      font-weight:800;
    }

    .site-footer{
      background:#0d1024;
      color:rgba(255,255,255,.72);
      padding:54px 0 28px;
      position:relative;
      overflow:hidden;
    }

    .site-footer::before{
      content:"";
      position:absolute;
      width:420px;
      height:420px;
      border-radius:50%;
      left:-180px;
      top:-210px;
      background:rgba(109,93,252,.20);
    }

    .footer-grid{
      position:relative;
      z-index:2;
      display:grid;
      grid-template-columns:1.1fr .7fr .7fr;
      gap:30px;
      padding-bottom:34px;
      border-bottom:1px solid rgba(255,255,255,.10);
    }

    .footer-brand{
      display:flex;
      align-items:center;
      gap:12px;
      color:#fff;
      font-weight:950;
      margin-bottom:16px;
    }

    .footer-brand .logo-mark{
      box-shadow:none;
    }

    .footer-text{
      max-width:520px;
      margin:0;
      color:rgba(255,255,255,.62);
    }

    .footer-title{
      color:#fff;
      font-weight:950;
      margin:0 0 14px;
    }

    .footer-links{
      display:grid;
      gap:10px;
    }

    .footer-links a{
      color:rgba(255,255,255,.64);
    }

    .footer-links a:hover{
      color:#fff;
      transform:translateX(3px);
    }

    .footer-bottom{
      position:relative;
      z-index:2;
      padding-top:22px;
      display:flex;
      justify-content:space-between;
      gap:16px;
      flex-wrap:wrap;
      color:rgba(255,255,255,.52);
      font-size:.92rem;
    }

    .floating-cta{
      position:fixed;
      left:50%;
      bottom:18px;
      transform:translateX(-50%);
      z-index:1040;
      display:flex;
      align-items:center;
      gap:12px;
      padding:10px 12px 10px 18px;
      border-radius:999px;
      background:rgba(16,20,43,.88);
      color:#fff;
      border:1px solid rgba(255,255,255,.14);
      box-shadow:0 20px 55px rgba(16,20,43,.22);
      backdrop-filter:blur(16px);
    }

    .floating-cta span{
      font-weight:900;
      white-space:nowrap;
    }

    .floating-cta a{
      min-height:38px;
      padding:8px 14px;
      font-size:.9rem;
      box-shadow:none;
    }

    .focus-ring:focus-visible,
    a:focus-visible,
    button:focus-visible{
      outline:3px solid rgba(16,215,176,.42);
      outline-offset:3px;
    }

    @media (max-width: 1024px){
      .topbar{
        flex-wrap:wrap;
      }

      .brand-logo{
        min-width:auto;
      }

      .header-search{
        order:3;
        max-width:100%;
        flex-basis:100%;
      }

      .feature-grid,
      .steps-layout,
      .lead-card,
      .news-panel{
        grid-template-columns:1fr;
      }

      .recommend-box{
        position:relative;
        top:auto;
      }

      .metrics-grid{
        grid-template-columns:1fr 1fr;
      }

      .hot-scroll{
        grid-template-columns:repeat(2,1fr);
      }
    }

    @media (max-width: 768px){
      :root{
        --nav-height:auto;
      }

      .site-header{
        position:sticky;
      }

      .topbar{
        gap:12px;
        padding:12px 0;
      }

      .brand-text strong{
        font-size:.92rem;
      }

      .brand-text span{
        display:none;
      }

      .nav-action{
        width:100%;
      }

      .nav-action .btn-brand,
      .nav-action .btn-ghost{
        flex:1;
        padding-left:14px;
        padding-right:14px;
      }

      .section{
        padding:62px 0;
      }

      .hero{
        min-height:auto;
        padding:70px 0 54px;
      }

      .hero h1{
        font-size:clamp(2.3rem,12vw,3.8rem);
      }

      .hero-lead{
        font-size:1rem;
      }

      .countdown-strip{
        grid-template-columns:1fr;
        align-items:start;
      }

      .hero-stats,
      .feature-rank,
      .selling-grid,
      .time-wrap,
      .faq-grid{
        grid-template-columns:1fr;
      }

      .metrics-grid{
        grid-template-columns:1fr;
      }

      .compare-head,
      .compare-row{
        grid-template-columns:1fr;
      }

      .compare-head div,
      .compare-row div{
        border-right:0;
        border-bottom:1px solid var(--border);
      }

      .compare-head div:last-child,
      .compare-row div:last-child{
        border-bottom:0;
      }

      .news-item{
        grid-template-columns:1fr auto;
      }

      .news-date{
        grid-row:1 / span 2;
      }

      .news-arrow{
        display:none;
      }

      .footer-grid{
        grid-template-columns:1fr;
      }

      .floating-cta{
        width:calc(100% - 24px);
        justify-content:space-between;
      }

      .floating-cta span{
        font-size:.88rem;
        white-space:normal;
      }
    }

    @media (max-width: 520px){
      .container-xl{
        padding-left:18px;
        padding-right:18px;
      }

      .logo-mark{
        width:38px;
        height:38px;
        border-radius:14px;
      }

      .brand-logo{
        gap:9px;
      }

      .brand-text strong{
        max-width:190px;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
      }

      .hero-actions{
        display:grid;
        grid-template-columns:1fr;
      }

      .btn-brand,
      .btn-ghost{
        width:100%;
      }

      .countdown-items{
        display:grid;
        grid-template-columns:1fr 1fr;
        width:100%;
      }

      .count-item{
        min-width:0;
      }

      .feature-main,
      .metrics-band,
      .lead-copy,
      .lead-form{
        padding:26px;
      }

      .hot-scroll{
        display:flex;
        overflow-x:auto;
        scroll-snap-type:x mandatory;
        padding-bottom:10px;
      }

      .hot-card{
        min-width:82%;
        scroll-snap-align:start;
      }

      .channel-tab{
        font-size:.86rem;
      }

      .footer-bottom{
        display:grid;
      }
    }

/* roulang: framework shim */
/* 覆盖 Bootstrap 等对 a/btn 的全局默认，避免导航出现下划线/蓝链 */
.site-header a,.site-header a:hover,.navbar a,.navbar a:hover,.nav-links a,.nav-links a:hover,header nav a,header nav a:hover{text-decoration:none}
.site-header .btn,.navbar .btn,.nav-cta{text-decoration:none}
