/* roulang page: index */
:root{
      --bg:#080a16;
      --bg-2:#10142a;
      --surface:#ffffff;
      --surface-soft:#f6f7fb;
      --surface-tint:#eef2ff;
      --text:#15192c;
      --text-soft:#5b6379;
      --muted:#8b93a7;
      --line:#e5e8f2;
      --primary:#6d5dfc;
      --primary-dark:#5141d9;
      --primary-soft:#edeaff;
      --secondary:#00d4a6;
      --secondary-dark:#09a985;
      --accent:#ffb84d;
      --danger:#ff5f76;
      --radius-sm:12px;
      --radius:20px;
      --radius-lg:32px;
      --shadow-sm:0 10px 28px rgba(18,21,43,.08);
      --shadow:0 20px 55px rgba(18,21,43,.14);
      --shadow-dark:0 24px 60px rgba(0,0,0,.28);
      --container:1180px;
      --nav-h:72px;
      --ease:all .25s 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% 0%,rgba(109,93,252,.18),transparent 32%),
        radial-gradient(circle at 90% 12%,rgba(0,212,166,.14),transparent 28%),
        linear-gradient(180deg,#f8f9ff 0%,#ffffff 36%,#f7f8fc 100%);
      line-height:1.75;
      overflow-x:hidden;
    }
    a{color:inherit;text-decoration:none;transition:var(--ease);}
    a:hover{color:var(--primary);}
    img{max-width:100%;display:block;}
    button,input,select,textarea{font:inherit;}
    ::selection{background:rgba(109,93,252,.22);color:#10142a;}
    .container-xl{max-width:var(--container);}
    .section{
      padding:86px 0;
      position:relative;
    }
    .section-tight{padding:64px 0;}
    .section-title{
      font-weight:900;
      letter-spacing:-.04em;
      font-size:clamp(1.85rem,3vw,3rem);
      line-height:1.18;
      margin:0 0 16px;
      color:#11162a;
    }
    .section-lead{
      color:var(--text-soft);
      font-size:1.05rem;
      max-width:760px;
      margin:0;
    }
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 12px;
      border-radius:999px;
      background:rgba(109,93,252,.1);
      color:var(--primary-dark);
      font-size:.88rem;
      font-weight:800;
      margin-bottom:18px;
      border:1px solid rgba(109,93,252,.16);
    }
    .eyebrow i{font-size:.8rem;}
    .badge-soft{
      display:inline-flex;
      align-items:center;
      gap:7px;
      border-radius:999px;
      padding:7px 12px;
      font-weight:800;
      font-size:.86rem;
      background:rgba(255,255,255,.14);
      color:#fff;
      border:1px solid rgba(255,255,255,.2);
      backdrop-filter:blur(10px);
    }
    .badge-light{
      display:inline-flex;
      align-items:center;
      gap:7px;
      padding:7px 11px;
      border-radius:999px;
      background:#fff;
      color:#3d4358;
      border:1px solid var(--line);
      box-shadow:var(--shadow-sm);
      font-weight:800;
      font-size:.84rem;
    }
    .btn{
      border-radius:999px;
      font-weight:850;
      padding:12px 22px;
      border:none;
      transition:var(--ease);
      letter-spacing:-.01em;
    }
    .btn-primary-custom{
      color:#fff;
      background:linear-gradient(135deg,var(--primary),#8a7cff);
      box-shadow:0 16px 34px rgba(109,93,252,.3);
    }
    .btn-primary-custom:hover,.btn-primary-custom:focus{
      color:#fff;
      background:linear-gradient(135deg,var(--primary-dark),var(--primary));
      transform:translateY(-2px);
      box-shadow:0 20px 42px rgba(109,93,252,.38);
    }
    .btn-secondary-custom{
      color:#061812;
      background:linear-gradient(135deg,var(--secondary),#62f1d4);
      box-shadow:0 16px 34px rgba(0,212,166,.24);
    }
    .btn-secondary-custom:hover,.btn-secondary-custom:focus{
      color:#061812;
      transform:translateY(-2px);
      box-shadow:0 20px 42px rgba(0,212,166,.32);
    }
    .btn-ghost{
      color:#fff;
      border:1px solid rgba(255,255,255,.24);
      background:rgba(255,255,255,.1);
      backdrop-filter:blur(12px);
    }
    .btn-ghost:hover,.btn-ghost:focus{
      color:#fff;
      background:rgba(255,255,255,.18);
      border-color:rgba(255,255,255,.42);
      transform:translateY(-2px);
    }
    .btn-line{
      background:#fff;
      border:1px solid var(--line);
      color:#202640;
      box-shadow:var(--shadow-sm);
    }
    .btn-line:hover,.btn-line:focus{
      background:var(--primary-soft);
      border-color:rgba(109,93,252,.28);
      color:var(--primary-dark);
      transform:translateY(-2px);
    }
    .focus-ring:focus,
    .form-control:focus,
    .form-select:focus,
    .navbar-toggler:focus{
      outline:3px solid rgba(109,93,252,.28);
      box-shadow:none;
      border-color:var(--primary);
    }

    .site-header{
      position:sticky;
      top:0;
      z-index:1000;
      padding:18px 0 10px;
      transition:var(--ease);
    }
    .nav-shell{
      min-height:var(--nav-h);
      border-radius:24px;
      background:rgba(255,255,255,.84);
      border:1px solid rgba(226,230,244,.8);
      box-shadow:0 18px 50px rgba(18,21,43,.12);
      backdrop-filter:blur(18px);
      padding:10px 14px;
    }
    .navbar-brand{
      display:flex;
      align-items:center;
      gap:12px;
      font-weight:950;
      color:#13182c;
      letter-spacing:-.03em;
      white-space:normal;
    }
    .brand-mark{
      width:44px;
      height:44px;
      flex:0 0 44px;
      display:grid;
      place-items:center;
      color:#fff;
      border-radius:15px;
      background:
        linear-gradient(135deg,rgba(255,255,255,.18),transparent),
        linear-gradient(135deg,var(--primary),#15192c);
      box-shadow:0 14px 26px rgba(109,93,252,.28);
    }
    .brand-text{
      display:flex;
      flex-direction:column;
      line-height:1.08;
      font-size:1.05rem;
    }
    .brand-text small{
      color:var(--muted);
      font-size:.72rem;
      font-weight:800;
      letter-spacing:.04em;
      margin-top:4px;
    }
    .navbar-nav .nav-link{
      color:#3b4156;
      font-weight:850;
      border-radius:999px;
      padding:10px 16px!important;
      margin:0 4px;
    }
    .navbar-nav .nav-link:hover{
      background:rgba(109,93,252,.1);
      color:var(--primary-dark);
    }
    .navbar-nav .nav-link.active{
      color:#fff;
      background:linear-gradient(135deg,var(--primary),#7f72ff);
      box-shadow:0 12px 25px rgba(109,93,252,.24);
    }
    .nav-search{
      display:flex;
      align-items:center;
      gap:8px;
      border:1px solid var(--line);
      background:#fff;
      border-radius:999px;
      padding:8px 12px;
      min-width:230px;
    }
    .nav-search i{color:var(--muted);}
    .nav-search input{
      border:0;
      outline:0;
      width:100%;
      color:var(--text);
      background:transparent;
      font-size:.92rem;
    }
    .navbar-toggler{
      border:0;
      width:44px;
      height:44px;
      border-radius:14px;
      background:var(--primary-soft);
      color:var(--primary-dark);
    }

    .hero{
      position:relative;
      min-height:720px;
      padding:94px 0 70px;
      color:#fff;
      overflow:hidden;
      background:
        linear-gradient(100deg,rgba(8,10,22,.94) 0%,rgba(18,21,43,.88) 45%,rgba(8,10,22,.72) 100%),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1600' height='900' viewBox='0 0 1600 900'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop stop-color='%236d5dfc'/%3E%3Cstop offset='.52' stop-color='%2310142a'/%3E%3Cstop offset='1' stop-color='%2300d4a6'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='1600' height='900' fill='url(/%23g)'/%3E%3Cg opacity='.24'%3E%3Ccircle cx='1220' cy='180' r='260' fill='%23ffffff'/%3E%3Ccircle cx='250' cy='760' r='320' fill='%23ffb84d'/%3E%3C/g%3E%3Cg opacity='.18' fill='none' stroke='%23fff' stroke-width='2'%3E%3Cpath d='M0 640 C260 520 460 790 760 610 S1250 430 1600 560'/%3E%3Cpath d='M0 300 C280 210 520 390 760 250 S1260 120 1600 260'/%3E%3C/g%3E%3Cg opacity='.22'%3E%3Crect x='1030' y='360' width='250' height='350' rx='28' fill='%23fff'/%3E%3Crect x='1310' y='250' width='180' height='250' rx='24' fill='%23fff'/%3E%3Crect x='760' y='450' width='210' height='300' rx='26' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E") center/cover no-repeat;
    }
    .hero:before{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(circle at 75% 18%,rgba(109,93,252,.44),transparent 26%),
        radial-gradient(circle at 20% 86%,rgba(0,212,166,.22),transparent 28%);
      pointer-events:none;
    }
    .hero .container-xl{position:relative;z-index:2;}
    .hero-layout{
      display:grid;
      grid-template-columns:minmax(0,1.05fr) minmax(320px,.68fr);
      gap:34px;
      align-items:end;
    }
    .hero-copy{
      padding-top:46px;
      max-width:780px;
    }
    h1.hero-title{
      font-size:clamp(2.38rem,5.3vw,5.8rem);
      line-height:.98;
      letter-spacing:-.075em;
      font-weight:950;
      margin:18px 0 24px;
      color:#fff;
      text-wrap:balance;
    }
    .hero-intro{
      font-size:clamp(1.02rem,1.55vw,1.26rem);
      color:rgba(255,255,255,.82);
      max-width:720px;
      margin:0 0 28px;
    }
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:14px;
      align-items:center;
      margin-bottom:28px;
    }
    .hero-points{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:14px;
      max-width:780px;
    }
    .point-mini{
      border:1px solid rgba(255,255,255,.18);
      background:rgba(255,255,255,.08);
      border-radius:20px;
      padding:16px 18px;
      backdrop-filter:blur(14px);
      min-height:104px;
    }
    .point-mini strong{
      display:block;
      font-size:1.72rem;
      line-height:1;
      letter-spacing:-.04em;
      color:#fff;
      margin-bottom:8px;
    }
    .point-mini span{
      display:block;
      color:rgba(255,255,255,.72);
      font-size:.92rem;
      line-height:1.55;
    }
    .apply-panel{
      border-radius:32px;
      border:1px solid rgba(255,255,255,.18);
      background:rgba(255,255,255,.1);
      backdrop-filter:blur(18px);
      box-shadow:var(--shadow-dark);
      padding:24px;
      overflow:hidden;
      position:relative;
    }
    .apply-panel:after{
      content:"";
      position:absolute;
      width:180px;
      height:180px;
      right:-65px;
      top:-65px;
      background:rgba(0,212,166,.28);
      filter:blur(4px);
      border-radius:50%;
    }
    .apply-panel>*{position:relative;z-index:1;}
    .apply-panel h2{
      font-size:1.45rem;
      font-weight:950;
      letter-spacing:-.04em;
      margin:16px 0 10px;
      color:#fff;
    }
    .apply-panel p{
      color:rgba(255,255,255,.76);
      margin:0 0 18px;
    }
    .eligibility-list{
      list-style:none;
      padding:0;
      margin:0 0 22px;
      display:grid;
      gap:12px;
    }
    .eligibility-list li{
      display:flex;
      align-items:flex-start;
      gap:10px;
      color:rgba(255,255,255,.82);
      font-size:.95rem;
    }
    .eligibility-list i{
      color:var(--secondary);
      margin-top:5px;
    }
    .hero-ribbon{
      position:relative;
      z-index:3;
      margin-top:34px;
      border-radius:28px;
      background:rgba(255,255,255,.94);
      border:1px solid rgba(255,255,255,.8);
      box-shadow:0 24px 70px rgba(0,0,0,.24);
      color:var(--text);
      padding:18px;
      display:grid;
      grid-template-columns:1.2fr 1fr 1fr auto;
      gap:14px;
      align-items:center;
    }
    .ribbon-item{
      display:flex;
      gap:12px;
      align-items:center;
      padding:12px 14px;
      border-radius:18px;
      background:linear-gradient(180deg,#fff,#f7f8ff);
      border:1px solid var(--line);
    }
    .ribbon-item i{
      width:42px;
      height:42px;
      border-radius:14px;
      display:grid;
      place-items:center;
      background:var(--primary-soft);
      color:var(--primary-dark);
      flex:0 0 42px;
    }
    .ribbon-item b{
      display:block;
      font-weight:950;
      line-height:1.2;
      color:#15192c;
    }
    .ribbon-item span{
      display:block;
      color:var(--muted);
      font-size:.88rem;
      line-height:1.45;
      margin-top:3px;
    }

    .commission-section{
      margin-top:-38px;
      z-index:4;
    }
    .commission-board{
      border-radius:34px;
      background:#fff;
      box-shadow:var(--shadow);
      border:1px solid rgba(226,230,244,.9);
      overflow:hidden;
      display:grid;
      grid-template-columns:.95fr 1.35fr;
    }
    .commission-side{
      padding:34px;
      background:
        radial-gradient(circle at 10% 10%,rgba(255,184,77,.26),transparent 30%),
        linear-gradient(135deg,#15192c,#252b4a);
      color:#fff;
    }
    .commission-side h2{
      font-size:clamp(1.7rem,2.8vw,2.75rem);
      font-weight:950;
      line-height:1.13;
      letter-spacing:-.045em;
      margin:0 0 14px;
    }
    .commission-side p{
      color:rgba(255,255,255,.76);
      margin:0 0 24px;
    }
    .rate-pill{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      border-radius:20px;
      background:rgba(255,255,255,.11);
      border:1px solid rgba(255,255,255,.16);
      padding:16px;
      margin-top:14px;
    }
    .rate-pill strong{
      color:#fff;
      font-size:1.35rem;
      letter-spacing:-.03em;
    }
    .rate-pill span{color:rgba(255,255,255,.72);}
    .commission-grid{
      padding:30px;
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:16px;
      background:
        linear-gradient(90deg,rgba(109,93,252,.04),transparent 45%),
        #fff;
    }
    .feature-card{
      border:1px solid var(--line);
      border-radius:24px;
      padding:22px;
      background:#fff;
      box-shadow:0 12px 35px rgba(18,21,43,.06);
      transition:var(--ease);
      height:100%;
    }
    .feature-card:hover{
      transform:translateY(-5px);
      box-shadow:0 20px 45px rgba(18,21,43,.12);
      border-color:rgba(109,93,252,.28);
    }
    .feature-icon{
      width:48px;
      height:48px;
      border-radius:16px;
      display:grid;
      place-items:center;
      background:var(--primary-soft);
      color:var(--primary-dark);
      margin-bottom:16px;
      font-size:1.1rem;
    }
    .feature-card h3{
      font-size:1.1rem;
      font-weight:950;
      margin:0 0 8px;
      letter-spacing:-.02em;
    }
    .feature-card p{
      color:var(--text-soft);
      margin:0;
      font-size:.96rem;
      line-height:1.65;
    }

    .material-wrap{
      display:grid;
      grid-template-columns:1fr 1.05fr;
      gap:30px;
      align-items:stretch;
    }
    .material-stage{
      border-radius:34px;
      padding:30px;
      color:#fff;
      background:
        radial-gradient(circle at 18% 8%,rgba(255,184,77,.3),transparent 28%),
        radial-gradient(circle at 85% 70%,rgba(0,212,166,.26),transparent 30%),
        linear-gradient(135deg,#12152b,#28225e 60%,#132a3a);
      box-shadow:var(--shadow);
      min-height:520px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      overflow:hidden;
      position:relative;
    }
    .material-stage:before{
      content:"";
      position:absolute;
      inset:auto -70px -90px auto;
      width:260px;
      height:260px;
      border-radius:50%;
      background:rgba(255,255,255,.12);
    }
    .poster-stack{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:14px;
      position:relative;
      z-index:1;
      margin-top:28px;
    }
    .poster-tile{
      min-height:150px;
      border-radius:24px;
      padding:18px;
      background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.16);
      backdrop-filter:blur(14px);
      display:flex;
      flex-direction:column;
      justify-content:space-between;
    }
    .poster-tile:nth-child(2){transform:translateY(28px);}
    .poster-tile:nth-child(3){transform:translateY(-8px);}
    .poster-tile b{
      font-size:1.05rem;
      font-weight:950;
      line-height:1.35;
    }
    .poster-tile span{
      color:rgba(255,255,255,.72);
      font-size:.88rem;
    }
    .material-list{
      display:grid;
      gap:16px;
    }
    .material-item{
      display:grid;
      grid-template-columns:58px 1fr auto;
      gap:16px;
      align-items:center;
      padding:18px;
      background:#fff;
      border:1px solid var(--line);
      border-radius:24px;
      box-shadow:var(--shadow-sm);
      transition:var(--ease);
    }
    .material-item:hover{
      transform:translateX(4px);
      border-color:rgba(0,212,166,.35);
      box-shadow:0 18px 45px rgba(18,21,43,.1);
    }
    .material-item .m-icon{
      width:58px;
      height:58px;
      border-radius:18px;
      display:grid;
      place-items:center;
      background:#f0fffb;
      color:var(--secondary-dark);
      font-size:1.18rem;
    }
    .material-item h3{
      font-size:1.05rem;
      font-weight:950;
      margin:0 0 5px;
    }
    .material-item p{
      margin:0;
      color:var(--text-soft);
      font-size:.93rem;
      line-height:1.55;
    }
    .material-item .tag{
      color:var(--primary-dark);
      background:var(--primary-soft);
      padding:7px 10px;
      border-radius:999px;
      font-size:.8rem;
      font-weight:900;
      white-space:nowrap;
    }

    .trust-strip{
      padding:38px 0;
      background:#fff;
      border-top:1px solid var(--line);
      border-bottom:1px solid var(--line);
    }
    .trust-grid{
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:16px;
    }
    .trust-item{
      display:flex;
      align-items:flex-start;
      gap:12px;
      padding:18px;
      border-radius:22px;
      background:linear-gradient(180deg,#fff,#f8f9ff);
      border:1px solid var(--line);
    }
    .trust-item i{
      width:42px;
      height:42px;
      border-radius:14px;
      display:grid;
      place-items:center;
      background:rgba(255,184,77,.18);
      color:#bb7300;
      flex:0 0 42px;
    }
    .trust-item b{
      display:block;
      font-weight:950;
      margin-bottom:3px;
    }
    .trust-item span{
      display:block;
      color:var(--text-soft);
      font-size:.9rem;
      line-height:1.55;
    }

    .news-layout{
      display:grid;
      grid-template-columns:1.22fr .78fr;
      gap:26px;
      align-items:start;
      margin-top:30px;
    }
    .news-panel,.recommend-panel{
      border-radius:30px;
      background:#fff;
      border:1px solid var(--line);
      box-shadow:var(--shadow-sm);
      overflow:hidden;
    }
    .news-panel-head{
      padding:22px 24px;
      border-bottom:1px solid var(--line);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      background:linear-gradient(180deg,#fff,#fafbff);
    }
    .news-panel-head h3{
      font-size:1.18rem;
      font-weight:950;
      margin:0;
    }
    .news-list{
      list-style:none;
      margin:0;
      padding:0;
    }
    .news-list li+li{border-top:1px solid var(--line);}
    .news-link{
      display:grid;
      grid-template-columns:92px 1fr auto;
      gap:16px;
      align-items:center;
      padding:20px 24px;
      color:var(--text);
    }
    .news-link:hover{
      background:#fafbff;
      color:var(--primary-dark);
    }
    .news-date{
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      border-radius:18px;
      background:var(--surface-soft);
      color:var(--text-soft);
      min-height:70px;
      font-weight:900;
    }
    .news-date b{
      font-size:1.25rem;
      color:#15192c;
      line-height:1.05;
    }
    .news-text strong{
      display:block;
      font-size:1.04rem;
      font-weight:950;
      line-height:1.45;
      margin-bottom:6px;
    }
    .news-text span{
      color:var(--text-soft);
      font-size:.94rem;
      line-height:1.55;
      display:block;
    }
    .news-arrow{
      color:var(--muted);
      width:34px;
      height:34px;
      border-radius:999px;
      display:grid;
      place-items:center;
      background:#f7f8fc;
    }
    .news-link:hover .news-arrow{
      background:var(--primary);
      color:#fff;
      transform:translateX(3px);
    }
    .recommend-panel{
      padding:24px;
      position:sticky;
      top:110px;
    }
    .recommend-panel h3{
      font-weight:950;
      font-size:1.2rem;
      margin:0 0 16px;
    }
    .rec-card{
      border-radius:24px;
      background:
        linear-gradient(135deg,rgba(109,93,252,.12),rgba(0,212,166,.1)),
        #fff;
      border:1px solid rgba(109,93,252,.16);
      padding:20px;
      margin-bottom:16px;
    }
    .rec-card b{
      display:block;
      font-size:1.05rem;
      font-weight:950;
      margin-bottom:8px;
    }
    .rec-card p{
      color:var(--text-soft);
      margin:0 0 14px;
      font-size:.94rem;
    }
    .rec-mini{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding:14px 0;
      border-top:1px solid var(--line);
    }
    .rec-mini:first-of-type{border-top:0;}
    .rec-mini span{
      color:var(--text);
      font-weight:850;
      line-height:1.35;
    }
    .rec-mini em{
      font-style:normal;
      color:var(--secondary-dark);
      font-size:.84rem;
      font-weight:900;
      white-space:nowrap;
    }

    .campaign{
      background:
        radial-gradient(circle at 5% 12%,rgba(255,184,77,.22),transparent 28%),
        radial-gradient(circle at 95% 80%,rgba(109,93,252,.18),transparent 30%),
        #11162a;
      color:#fff;
      overflow:hidden;
    }
    .campaign .section-title{color:#fff;}
    .campaign .section-lead{color:rgba(255,255,255,.74);}
    .campaign-grid{
      display:grid;
      grid-template-columns:1.2fr .8fr;
      gap:24px;
      margin-top:34px;
    }
    .campaign-main{
      border-radius:34px;
      padding:32px;
      background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.06));
      border:1px solid rgba(255,255,255,.16);
      box-shadow:var(--shadow-dark);
    }
    .campaign-main h3{
      font-weight:950;
      font-size:clamp(1.5rem,2.5vw,2.35rem);
      letter-spacing:-.04em;
      margin:0 0 14px;
    }
    .gift-row{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:14px;
      margin-top:26px;
    }
    .gift{
      border-radius:24px;
      padding:18px;
      background:rgba(255,255,255,.1);
      border:1px solid rgba(255,255,255,.16);
    }
    .gift i{
      color:var(--accent);
      font-size:1.35rem;
      margin-bottom:14px;
    }
    .gift b{
      display:block;
      font-weight:950;
      margin-bottom:6px;
    }
    .gift span{
      display:block;
      color:rgba(255,255,255,.72);
      font-size:.9rem;
      line-height:1.55;
    }
    .campaign-side{
      display:grid;
      gap:16px;
    }
    .count-card{
      border-radius:28px;
      padding:24px;
      background:#fff;
      color:var(--text);
      border:1px solid rgba(255,255,255,.2);
    }
    .count-card strong{
      display:block;
      font-size:2.2rem;
      font-weight:950;
      letter-spacing:-.05em;
      line-height:1;
      color:var(--primary-dark);
      margin-bottom:8px;
    }
    .count-card span{
      color:var(--text-soft);
      font-size:.95rem;
    }

    .highlight-wall{
      display:grid;
      grid-template-columns:1fr 1fr 1fr;
      gap:18px;
      margin-top:34px;
    }
    .wall-card{
      position:relative;
      min-height:260px;
      border-radius:30px;
      overflow:hidden;
      padding:24px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      background:#fff;
      border:1px solid var(--line);
      box-shadow:var(--shadow-sm);
      transition:var(--ease);
    }
    .wall-card.large{
      grid-column:span 2;
      background:
        linear-gradient(135deg,rgba(109,93,252,.92),rgba(18,21,43,.9)),
        radial-gradient(circle at 80% 20%,rgba(255,255,255,.25),transparent 25%);
      color:#fff;
    }
    .wall-card:hover{
      transform:translateY(-6px);
      box-shadow:var(--shadow);
    }
    .wall-card .num{
      width:46px;
      height:46px;
      border-radius:16px;
      display:grid;
      place-items:center;
      font-weight:950;
      background:var(--primary-soft);
      color:var(--primary-dark);
    }
    .wall-card.large .num{
      background:rgba(255,255,255,.16);
      color:#fff;
      border:1px solid rgba(255,255,255,.18);
    }
    .wall-card h3{
      font-weight:950;
      font-size:1.25rem;
      letter-spacing:-.03em;
      margin:20px 0 8px;
    }
    .wall-card p{
      color:var(--text-soft);
      margin:0;
      font-size:.95rem;
    }
    .wall-card.large p{color:rgba(255,255,255,.76);}
    .wall-card .bottom-label{
      margin-top:22px;
      align-self:flex-start;
      border-radius:999px;
      padding:8px 12px;
      background:#f7f8fc;
      color:var(--text-soft);
      font-weight:850;
      font-size:.84rem;
    }
    .wall-card.large .bottom-label{
      color:#fff;
      background:rgba(255,255,255,.14);
      border:1px solid rgba(255,255,255,.18);
    }

    .timeline{
      margin-top:34px;
      border-radius:32px;
      background:#fff;
      border:1px solid var(--line);
      box-shadow:var(--shadow-sm);
      padding:28px;
    }
    .timeline-item{
      display:grid;
      grid-template-columns:150px 34px 1fr auto;
      gap:18px;
      align-items:start;
      position:relative;
      padding:18px 0;
    }
    .timeline-item:not(:last-child){border-bottom:1px dashed #d9deed;}
    .timeline-time{
      font-weight:950;
      color:var(--primary-dark);
    }
    .timeline-dot{
      width:28px;
      height:28px;
      border-radius:999px;
      background:var(--secondary);
      box-shadow:0 0 0 8px rgba(0,212,166,.12);
      margin-top:4px;
    }
    .timeline-content h3{
      font-size:1.08rem;
      font-weight:950;
      margin:0 0 6px;
    }
    .timeline-content p{
      margin:0;
      color:var(--text-soft);
      font-size:.95rem;
      line-height:1.62;
    }

    .update-card{
      border-radius:32px;
      background:#fff;
      border:1px solid var(--line);
      box-shadow:var(--shadow-sm);
      padding:26px;
      margin-top:32px;
    }
    .update-row{
      display:grid;
      grid-template-columns:120px 1fr;
      gap:20px;
      padding:22px 0;
    }
    .update-row+.update-row{border-top:1px solid var(--line);}
    .update-version{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      height:38px;
      border-radius:999px;
      color:#fff;
      background:linear-gradient(135deg,var(--primary),#8b7dff);
      font-weight:950;
      box-shadow:0 12px 24px rgba(109,93,252,.24);
    }
    .update-row h3{
      font-size:1.08rem;
      font-weight:950;
      margin:0 0 6px;
    }
    .update-row p{
      margin:0;
      color:var(--text-soft);
      font-size:.95rem;
      line-height:1.65;
    }

    .topic-rail{
      display:flex;
      gap:16px;
      overflow-x:auto;
      padding:6px 2px 16px;
      margin-top:30px;
      scrollbar-width:thin;
    }
    .topic-card{
      flex:0 0 270px;
      border-radius:28px;
      background:#fff;
      border:1px solid var(--line);
      box-shadow:var(--shadow-sm);
      overflow:hidden;
      transition:var(--ease);
    }
    .topic-card:hover{
      transform:translateY(-5px);
      border-color:rgba(109,93,252,.28);
      box-shadow:var(--shadow);
    }
    .topic-cover{
      height:120px;
      padding:18px;
      color:#fff;
      display:flex;
      align-items:flex-end;
      background:
        radial-gradient(circle at 72% 18%,rgba(255,255,255,.24),transparent 30%),
        linear-gradient(135deg,#6d5dfc,#12152b);
    }
    .topic-card:nth-child(2) .topic-cover{background:linear-gradient(135deg,#00d4a6,#173b48);}
    .topic-card:nth-child(3) .topic-cover{background:linear-gradient(135deg,#ffb84d,#5f2d69);}
    .topic-card:nth-child(4) .topic-cover{background:linear-gradient(135deg,#ff5f76,#2d1c47);}
    .topic-cover b{
      font-size:1.25rem;
      line-height:1.25;
      font-weight:950;
    }
    .topic-body{padding:18px;}
    .topic-body p{
      color:var(--text-soft);
      margin:0 0 14px;
      font-size:.94rem;
      line-height:1.58;
    }

    .faq-wrap{
      display:grid;
      grid-template-columns:.85fr 1.15fr;
      gap:30px;
      align-items:start;
    }
    .faq-aside{
      border-radius:32px;
      padding:30px;
      background:
        linear-gradient(135deg,rgba(0,212,166,.14),rgba(109,93,252,.12)),
        #fff;
      border:1px solid var(--line);
      box-shadow:var(--shadow-sm);
    }
    .faq-aside h2{
      font-size:clamp(1.7rem,2.6vw,2.6rem);
      font-weight:950;
      letter-spacing:-.04em;
      margin:0 0 14px;
    }
    .faq-aside p{
      color:var(--text-soft);
      margin:0 0 22px;
    }
    .accordion{
      display:grid;
      gap:14px;
    }
    .accordion-item{
      border:1px solid var(--line)!important;
      border-radius:22px!important;
      overflow:hidden;
      box-shadow:var(--shadow-sm);
      background:#fff;
    }
    .accordion-button{
      border-radius:22px!important;
      color:var(--text);
      font-weight:950;
      padding:20px 22px;
      background:#fff;
      box-shadow:none!important;
    }
    .accordion-button:not(.collapsed){
      color:var(--primary-dark);
      background:linear-gradient(180deg,#fff,var(--primary-soft));
    }
    .accordion-button:focus{
      outline:3px solid rgba(109,93,252,.2);
      box-shadow:none;
    }
    .accordion-body{
      color:var(--text-soft);
      padding:0 22px 22px;
      line-height:1.75;
    }

    .join-section{
      padding-bottom:96px;
    }
    .join-box{
      display:grid;
      grid-template-columns:.92fr 1.08fr;
      gap:28px;
      border-radius:38px;
      background:
        radial-gradient(circle at 18% 16%,rgba(255,184,77,.25),transparent 28%),
        linear-gradient(135deg,#12152b,#242a52 56%,#0d2e34);
      color:#fff;
      padding:34px;
      box-shadow:var(--shadow-dark);
      overflow:hidden;
      position:relative;
    }
    .join-box:before{
      content:"";
      position:absolute;
      right:-80px;
      top:-80px;
      width:260px;
      height:260px;
      border-radius:50%;
      background:rgba(109,93,252,.35);
      filter:blur(4px);
    }
    .join-copy,.join-form{position:relative;z-index:1;}
    .join-copy h2{
      font-size:clamp(1.9rem,3.4vw,3.3rem);
      font-weight:950;
      line-height:1.08;
      letter-spacing:-.055em;
      margin:0 0 16px;
    }
    .join-copy p{
      color:rgba(255,255,255,.76);
      margin:0 0 22px;
      max-width:560px;
    }
    .join-checks{
      list-style:none;
      padding:0;
      margin:0;
      display:grid;
      gap:12px;
    }
    .join-checks li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      color:rgba(255,255,255,.82);
    }
    .join-checks i{
      color:var(--secondary);
      margin-top:6px;
    }
    .form-card{
      background:rgba(255,255,255,.94);
      color:var(--text);
      border-radius:30px;
      padding:24px;
      border:1px solid rgba(255,255,255,.55);
      box-shadow:0 24px 60px rgba(0,0,0,.2);
    }
    .form-card h3{
      font-size:1.25rem;
      font-weight:950;
      margin:0 0 16px;
    }
    .form-label{
      color:#343a52;
      font-weight:850;
      margin-bottom:7px;
    }
    .form-control,.form-select{
      border:1px solid #dfe3ef;
      border-radius:16px;
      padding:12px 14px;
      color:var(--text);
      background:#fff;
    }
    .form-text{
      color:var(--muted);
      font-size:.86rem;
    }
    .submit-note{
      display:none;
      margin-top:14px;
      border-radius:16px;
      padding:12px 14px;
      background:#edfff9;
      color:#08775e;
      font-weight:850;
      border:1px solid rgba(0,212,166,.25);
    }

    .site-footer{
      background:#080a16;
      color:rgba(255,255,255,.72);
      padding:54px 0 26px;
      border-top:1px solid rgba(255,255,255,.08);
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.2fr .8fr .8fr;
      gap:30px;
      padding-bottom:32px;
      border-bottom:1px solid rgba(255,255,255,.1);
    }
    .footer-brand{
      display:flex;
      align-items:center;
      gap:12px;
      color:#fff;
      font-weight:950;
      letter-spacing:-.03em;
      margin-bottom:14px;
    }
    .footer-brand .brand-mark{
      width:42px;
      height:42px;
      flex-basis:42px;
    }
    .footer-desc{
      max-width:520px;
      margin:0;
      color:rgba(255,255,255,.68);
    }
    .footer-title{
      color:#fff;
      font-weight:950;
      margin-bottom:14px;
      font-size:1.02rem;
    }
    .footer-links{
      list-style:none;
      padding:0;
      margin:0;
      display:grid;
      gap:10px;
    }
    .footer-links a{
      color:rgba(255,255,255,.68);
    }
    .footer-links a:hover{
      color:#fff;
      padding-left:4px;
    }
    .footer-bottom{
      padding-top:24px;
      display:flex;
      flex-wrap:wrap;
      justify-content:space-between;
      gap:12px;
      color:rgba(255,255,255,.55);
      font-size:.92rem;
    }
    .footer-bottom a{color:rgba(255,255,255,.7);}
    .footer-bottom a:hover{color:#fff;}

    .fixed-cta{
      position:fixed;
      left:50%;
      bottom:18px;
      transform:translateX(-50%);
      z-index:999;
      display:none;
      align-items:center;
      gap:10px;
      border-radius:999px;
      padding:10px 12px 10px 16px;
      color:#fff;
      background:rgba(18,21,43,.9);
      border:1px solid rgba(255,255,255,.14);
      box-shadow:0 18px 45px rgba(0,0,0,.25);
      backdrop-filter:blur(16px);
      max-width:calc(100vw - 24px);
    }
    .fixed-cta span{
      white-space:nowrap;
      font-weight:850;
      font-size:.92rem;
    }
    .fixed-cta .btn{
      padding:9px 14px;
      font-size:.88rem;
    }

    @media (max-width: 1024px){
      .hero-layout,.commission-board,.material-wrap,.campaign-grid,.faq-wrap,.join-box{
        grid-template-columns:1fr;
      }
      .hero{
        min-height:auto;
        padding-top:78px;
      }
      .hero-ribbon{
        grid-template-columns:1fr 1fr;
      }
      .recommend-panel{position:static;}
      .highlight-wall{grid-template-columns:1fr 1fr;}
      .wall-card.large{grid-column:span 2;}
      .trust-grid{grid-template-columns:1fr 1fr;}
      .footer-grid{grid-template-columns:1fr 1fr;}
      .nav-search{min-width:190px;}
    }

    @media (max-width: 768px){
      .site-header{padding:10px 0 6px;}
      .nav-shell{border-radius:20px;padding:8px 10px;}
      .navbar-collapse{
        margin-top:12px;
        padding:14px;
        border-radius:20px;
        background:#fff;
        border:1px solid var(--line);
      }
      .navbar-nav .nav-link{margin:4px 0;}
      .nav-search{
        width:100%;
        min-width:0;
        margin:10px 0;
      }
      .section{padding:66px 0;}
      .section-tight{padding:46px 0;}
      .hero-title{text-wrap:auto;}
      .hero-points{grid-template-columns:1fr;}
      .hero-ribbon{grid-template-columns:1fr;}
      .commission-grid{grid-template-columns:1fr;padding:22px;}
      .gift-row{grid-template-columns:1fr;}
      .news-layout{grid-template-columns:1fr;}
      .news-link{
        grid-template-columns:72px 1fr;
      }
      .news-arrow{display:none;}
      .highlight-wall{grid-template-columns:1fr;}
      .wall-card.large{grid-column:auto;}
      .timeline-item{
        grid-template-columns:1fr;
        gap:8px;
      }
      .timeline-dot{display:none;}
      .update-row{grid-template-columns:1fr;}
      .footer-grid{grid-template-columns:1fr;}
      .footer-bottom{flex-direction:column;}
      .fixed-cta{display:flex;}
    }

    @media (max-width: 520px){
      body{line-height:1.68;}
      .container-xl{padding-left:18px;padding-right:18px;}
      .brand-text{font-size:.98rem;}
      .brand-text small{display:none;}
      .hero{padding:58px 0 54px;}
      .hero-copy{padding-top:24px;}
      .hero-intro{font-size:1rem;}
      .hero-actions .btn{width:100%;justify-content:center;}
      .badge-soft{font-size:.78rem;}
      .apply-panel,.commission-side,.material-stage,.join-box{
        border-radius:26px;
        padding:22px;
      }
      .poster-stack{grid-template-columns:1fr;}
      .poster-tile:nth-child(2),.poster-tile:nth-child(3){transform:none;}
      .material-item{
        grid-template-columns:48px 1fr;
      }
      .material-item .tag{
        grid-column:2;
        justify-self:start;
      }
      .trust-grid{grid-template-columns:1fr;}
      .news-panel-head{align-items:flex-start;flex-direction:column;}
      .news-link{
        grid-template-columns:1fr;
        padding:18px;
      }
      .news-date{
        width:90px;
        min-height:58px;
        flex-direction:row;
        gap:6px;
      }
      .topic-card{flex-basis:82vw;}
      .form-card{padding:20px;border-radius:24px;}
      .fixed-cta span{display:none;}
    }

/* 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}
