/* roulang page: index */
:root{
      --bg:#080a0f;
      --bg2:#0d111a;
      --panel:#121722;
      --panel2:#171e2c;
      --text:#f4f7fb;
      --muted:#9aa5b8;
      --soft:#d7dde9;
      --line:#253044;
      --line2:rgba(255,255,255,.09);
      --red:#ff334f;
      --red2:#cf2037;
      --amber:#ffb84d;
      --green:#35d49a;
      --radius:22px;
      --radius-lg:32px;
      --shadow:0 24px 80px rgba(0,0,0,.42);
      --shadow-card:0 18px 46px rgba(0,0,0,.22);
      --container:1180px;
      --ease:cubic-bezier(.2,.8,.2,1);
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:Inter,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at 8% 0%, rgba(255,51,79,.24), transparent 30%),
        radial-gradient(circle at 88% 10%, rgba(255,184,77,.14), transparent 28%),
        linear-gradient(180deg, #080a0f 0%, #0b0f16 45%, #080a0f 100%);
      line-height:1.75;
      overflow-x:hidden;
      text-rendering:optimizeLegibility;
      -webkit-font-smoothing:antialiased;
    }
    a{color:inherit;text-decoration:none}
    img,svg{display:block;max-width:100%}
    button,input,textarea,select{font:inherit}
    ::selection{background:rgba(255,51,79,.32);color:#fff}
    .containerx{width:min(var(--container), calc(100% - 40px));margin:0 auto}
    .site-header{
      position:sticky;top:0;z-index:60;
      border-bottom:1px solid rgba(255,255,255,.08);
      background:rgba(8,10,15,.78);
      backdrop-filter:blur(18px);
    }
    .nav-wrap{height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px}
    .brand{display:flex;align-items:center;gap:12px;min-width:0;font-weight:900;letter-spacing:.02em}
    .brand-mark{
      width:42px;height:42px;border-radius:14px;
      display:grid;place-items:center;
      background:linear-gradient(135deg,var(--red),#801627);
      box-shadow:0 10px 30px rgba(255,51,79,.32);
      position:relative;overflow:hidden;
    }
    .brand-mark:after{
      content:"";position:absolute;inset:8px;border:1px solid rgba(255,255,255,.42);border-radius:10px;
    }
    .brand-text{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .top-nav{display:flex;align-items:center;gap:10px}
    .nav-link{
      display:inline-flex;align-items:center;gap:8px;
      padding:10px 14px;border-radius:999px;
      color:var(--soft);font-size:14px;font-weight:800;
      border:1px solid transparent;transition:.25s var(--ease);
    }
    .nav-link:hover,.nav-link:focus-visible{
      color:#fff;background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.11);
      outline:none;
    }
    .nav-link.active{background:rgba(255,51,79,.16);color:#fff;border-color:rgba(255,51,79,.35)}
    .nav-cta{
      display:inline-flex;align-items:center;gap:9px;border:none;cursor:pointer;
      color:#fff;background:linear-gradient(135deg,var(--red),#ff6a43);
      border-radius:999px;padding:11px 16px;font-weight:900;font-size:14px;
      box-shadow:0 14px 34px rgba(255,51,79,.24);
      transition:.25s var(--ease);
    }
    .nav-cta:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(255,51,79,.35)}
    .nav-cta:active{transform:translateY(0) scale(.98)}
    .nav-cta:focus-visible{outline:3px solid rgba(255,184,77,.5);outline-offset:3px}
    .mobile-tabs{
      position:fixed;left:12px;right:12px;bottom:12px;z-index:70;
      display:none;grid-template-columns:repeat(5,1fr);gap:6px;
      padding:8px;border:1px solid rgba(255,255,255,.1);
      background:rgba(13,17,26,.88);backdrop-filter:blur(18px);
      border-radius:24px;box-shadow:0 18px 50px rgba(0,0,0,.45);
    }
    .tab-item{
      min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
      padding:8px 4px;border-radius:17px;color:#aeb8c9;font-size:11px;font-weight:800;transition:.22s var(--ease);
    }
    .tab-item svg{width:18px;height:18px}
    .tab-item.active,.tab-item:hover{background:rgba(255,51,79,.17);color:#fff}
    main{position:relative}
    section{scroll-margin-top:90px}
    .section-pad{padding:88px 0}
    .section-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:28px}
    .eyebrow{
      display:inline-flex;align-items:center;gap:8px;
      color:#fff;background:rgba(255,51,79,.12);
      border:1px solid rgba(255,51,79,.28);
      padding:7px 11px;border-radius:999px;font-size:13px;font-weight:900;
    }
    .red-dot{width:8px;height:8px;border-radius:999px;background:var(--red);box-shadow:0 0 0 6px rgba(255,51,79,.14)}
    .section-title{font-size:clamp(28px,3vw,44px);line-height:1.18;letter-spacing:-.04em;font-weight:950;margin:12px 0 0}
    .section-desc{color:var(--muted);max-width:680px;margin:10px 0 0;font-size:16px}
    .btn{
      display:inline-flex;align-items:center;justify-content:center;gap:10px;
      min-height:48px;padding:12px 18px;border-radius:999px;
      font-weight:950;border:1px solid rgba(255,255,255,.11);
      transition:.25s var(--ease);cursor:pointer;white-space:nowrap;
    }
    .btn-primary{background:linear-gradient(135deg,var(--red),#ff6b45);color:#fff;box-shadow:0 18px 44px rgba(255,51,79,.25)}
    .btn-primary:hover{transform:translateY(-2px);box-shadow:0 24px 54px rgba(255,51,79,.36)}
    .btn-secondary{background:rgba(255,255,255,.07);color:#fff}
    .btn-secondary:hover{background:rgba(255,255,255,.11);transform:translateY(-2px)}
    .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,184,77,.35)}
    .btn-ghost:hover{background:rgba(255,184,77,.11);transform:translateY(-2px)}
    .btn:focus-visible{outline:3px solid rgba(255,184,77,.5);outline-offset:3px}
    .hero{
      padding:42px 0 70px;
      position:relative;
      overflow:hidden;
      border-bottom:1px solid rgba(255,255,255,.08);
    }
    .hero:before{
      content:"";position:absolute;inset:0;
      background:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
      background-size:42px 42px;
      mask-image:linear-gradient(180deg,rgba(0,0,0,.9),transparent 80%);
      pointer-events:none;
    }
    .campaign-strip{
      display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
      padding:13px 16px;margin-bottom:24px;border-radius:20px;
      background:linear-gradient(90deg, rgba(255,51,79,.18), rgba(255,184,77,.09));
      border:1px solid rgba(255,255,255,.1);
      box-shadow:var(--shadow-card);
    }
    .strip-left{display:flex;align-items:center;gap:10px;color:#fff;font-weight:900}
    .status-pill{
      display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;
      background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.12);
      color:#ffe0e5;font-size:13px;font-weight:900;
    }
    .hero-stage{
      position:relative;
      display:grid;
      grid-template-columns:1.05fr .95fr;
      gap:24px;
      align-items:stretch;
    }
    .hero-copy{
      min-height:520px;
      padding:44px;
      border-radius:var(--radius-lg);
      background:
        linear-gradient(135deg, rgba(18,23,34,.92), rgba(13,17,26,.68)),
        radial-gradient(circle at 20% 10%, rgba(255,51,79,.2), transparent 38%);
      border:1px solid rgba(255,255,255,.11);
      box-shadow:var(--shadow);
      position:relative;overflow:hidden;
    }
    .hero-copy:after{
      content:"";position:absolute;right:-90px;bottom:-120px;width:330px;height:330px;
      background:radial-gradient(circle,rgba(255,51,79,.22),transparent 70%);
    }
    .hero h1{
      position:relative;z-index:1;
      margin:18px 0 18px;
      font-size:clamp(36px,5.5vw,72px);
      line-height:1.05;
      letter-spacing:-.065em;
      font-weight:1000;
    }
    .hero-intro{
      position:relative;z-index:1;
      max-width:760px;color:#c4ccda;font-size:18px;line-height:1.9;
      margin:0 0 26px;
    }
    .hero-actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 24px}
    .hero-points{
      position:relative;z-index:1;
      display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:26px;
    }
    .point{
      padding:14px;border-radius:18px;background:rgba(255,255,255,.055);
      border:1px solid rgba(255,255,255,.09);
    }
    .point strong{display:block;font-size:20px;line-height:1.2;color:#fff}
    .point span{display:block;margin-top:5px;font-size:13px;color:var(--muted)}
    .hero-panel{
      display:grid;grid-template-rows:auto 1fr;gap:16px;
    }
    .progress-card,.tier-mini{
      border-radius:var(--radius-lg);
      border:1px solid rgba(255,255,255,.11);
      background:linear-gradient(180deg,rgba(23,30,44,.92),rgba(12,15,23,.92));
      box-shadow:var(--shadow-card);
      overflow:hidden;
    }
    .progress-card{padding:28px}
    .progress-layout{display:grid;grid-template-columns:180px 1fr;gap:22px;align-items:center}
    .progress-ring{
      width:176px;height:176px;border-radius:50%;
      background:conic-gradient(var(--red) 0 246deg, rgba(255,255,255,.1) 246deg 360deg);
      display:grid;place-items:center;
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.08), 0 0 52px rgba(255,51,79,.16);
    }
    .progress-ring-inner{
      width:124px;height:124px;border-radius:50%;
      display:grid;place-items:center;text-align:center;
      background:#0d111a;border:1px solid rgba(255,255,255,.1);
    }
    .progress-ring-inner b{font-size:34px;line-height:1;color:#fff}
    .progress-ring-inner small{display:block;color:var(--muted);font-weight:800;margin-top:4px}
    .signal-list{display:grid;gap:11px}
    .signal{
      display:flex;align-items:center;justify-content:space-between;gap:12px;
      padding:11px 12px;border-radius:16px;background:rgba(255,255,255,.055);
      border:1px solid rgba(255,255,255,.08);
    }
    .signal span{color:#cbd3e1;font-size:14px}
    .signal em{font-style:normal;color:var(--amber);font-size:13px;font-weight:900}
    .tier-mini{padding:22px}
    .tier-row{
      display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;
      padding:13px 0;border-bottom:1px solid rgba(255,255,255,.08);
    }
    .tier-row:last-child{border-bottom:0}
    .tier-row strong{display:block;color:#fff}
    .tier-row span{display:block;color:var(--muted);font-size:13px;margin-top:2px}
    .tier-price{color:#fff;background:rgba(255,51,79,.13);border:1px solid rgba(255,51,79,.24);border-radius:999px;padding:6px 10px;font-size:13px;font-weight:950}
    .card{
      background:linear-gradient(180deg,rgba(23,30,44,.78),rgba(14,18,27,.84));
      border:1px solid rgba(255,255,255,.1);
      border-radius:var(--radius);
      box-shadow:var(--shadow-card);
      transition:.25s var(--ease);
    }
    .card:hover{transform:translateY(-4px);border-color:rgba(255,51,79,.26);box-shadow:0 24px 64px rgba(0,0,0,.32)}
    .goal-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:22px}
    .goal-board{padding:28px}
    .bar-item{margin-top:18px}
    .bar-meta{display:flex;justify-content:space-between;gap:12px;color:#dfe5ef;font-size:14px;font-weight:900}
    .bar-track{height:12px;margin-top:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;border:1px solid rgba(255,255,255,.06)}
    .bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--red),var(--amber));box-shadow:0 0 24px rgba(255,51,79,.38)}
    .goal-aside{padding:28px;display:grid;gap:14px}
    .mini-stat{
      display:flex;align-items:center;justify-content:space-between;gap:12px;
      padding:15px;border-radius:18px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);
    }
    .mini-stat b{font-size:23px}.mini-stat span{color:var(--muted);font-size:13px}
    .tiers-grid{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:18px;align-items:stretch}
    .tier-card{padding:26px;position:relative;overflow:hidden}
    .tier-card.featured{border-color:rgba(255,51,79,.38);background:linear-gradient(180deg,rgba(56,20,31,.7),rgba(18,23,34,.9))}
    .tier-card h3{font-size:22px;font-weight:950;margin:12px 0 8px}
    .tier-card p{color:#aeb8c9;margin:0 0 18px}
    .tier-card ul{display:grid;gap:10px;margin:18px 0 0;padding:0;list-style:none}
    .tier-card li{display:flex;gap:10px;color:#dbe2ed;font-size:14px}
    .check{width:19px;height:19px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:rgba(53,212,154,.14);color:#63f3bc}
    .badge{
      display:inline-flex;align-items:center;gap:7px;border-radius:999px;
      padding:6px 10px;font-size:12px;font-weight:950;
      background:rgba(255,184,77,.12);border:1px solid rgba(255,184,77,.25);color:#ffd28a;
    }
    .supporter-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:22px}
    .proof-card{padding:26px}
    .starline{display:flex;gap:4px;color:#ffcf5d;font-size:18px;margin:12px 0}
    .logo-wall{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
    .logo-box{
      min-height:82px;border-radius:18px;display:grid;place-items:center;text-align:center;padding:12px;
      background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);
      color:#dce3ee;font-weight:950;
    }
    .bubble-wall{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
    .bubble{padding:18px;border-radius:20px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08)}
    .bubble p{color:#c4ccda;margin:0}.bubble strong{display:block;margin-top:12px;color:#fff}
    .news-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}
    .news-list,.recommend-box{padding:24px}
    .news-item{
      display:grid;grid-template-columns:92px 1fr auto;gap:16px;align-items:center;
      padding:16px 0;border-bottom:1px solid rgba(255,255,255,.08);
    }
    .news-item:last-child{border-bottom:0}
    .news-date{color:var(--amber);font-weight:950;font-size:13px}
    .news-title{font-weight:950;color:#f2f5fb;transition:.2s var(--ease)}
    .news-title:hover{color:#ff7b8e}
    .news-brief{color:var(--muted);font-size:14px;margin-top:3px}
    .arrow{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.06);color:#fff}
    .recommend-list{display:grid;gap:12px;margin-top:18px}
    .recommend-item{display:flex;justify-content:space-between;gap:12px;padding:13px;border-radius:16px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08)}
    .recommend-item span{color:#d8deea;font-weight:900}.recommend-item em{font-style:normal;color:var(--muted);font-size:13px}
    .calendar-wrap{display:grid;grid-template-columns:.72fr 1.28fr;gap:22px}
    .date-rail{padding:22px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
    .date-chip{padding:15px;border-radius:18px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08)}
    .date-chip b{display:block;color:#fff;font-size:20px}.date-chip span{display:block;color:var(--muted);font-size:13px}
    .compact-list{padding:22px}
    .compact-row{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.08)}
    .compact-row:last-child{border-bottom:0}
    .num{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:rgba(255,51,79,.15);color:#fff;font-weight:950}
    .compact-row strong{display:block;color:#fff}.compact-row span{color:var(--muted);font-size:13px}
    .trend{color:#35d49a;font-weight:950;font-size:13px}
    .timeline{position:relative;display:grid;gap:14px;padding:24px}
    .timeline:before{content:"";position:absolute;left:37px;top:40px;bottom:40px;width:2px;background:rgba(255,255,255,.1)}
    .time-node{position:relative;display:grid;grid-template-columns:28px 1fr;gap:18px;align-items:start}
    .node-dot{width:28px;height:28px;border-radius:50%;background:#111722;border:1px solid rgba(255,51,79,.45);box-shadow:0 0 0 7px rgba(255,51,79,.1);z-index:1}
    .time-box{padding:16px;border-radius:18px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08)}
    .time-box strong{display:block;color:#fff}.time-box p{margin:5px 0 0;color:var(--muted);font-size:14px}
    .rank-layout{display:grid;grid-template-columns:1fr 1fr;gap:22px}
    .rank-card{padding:24px}
    .rank-row{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.08)}
    .rank-row:last-child{border-bottom:0}
    .rank-no{font-weight:1000;color:#fff;width:32px;height:32px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.08)}
    .rank-name strong{display:block;color:#fff}.rank-name span{font-size:13px;color:var(--muted)}
    .hot{font-weight:950;color:#ff8897}
    .faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
    .faq-item{padding:22px}
    .faq-item h3{font-size:18px;font-weight:950;margin:0 0 8px}
    .faq-item p{margin:0;color:#b8c2d2}
    .cta-section{padding:84px 0 110px}
    .cta-panel{
      border-radius:34px;padding:34px;
      background:
        radial-gradient(circle at 10% 10%,rgba(255,51,79,.3),transparent 34%),
        linear-gradient(135deg,rgba(31,37,52,.96),rgba(14,18,27,.96));
      border:1px solid rgba(255,255,255,.12);
      box-shadow:var(--shadow);
      display:grid;grid-template-columns:1fr .9fr;gap:24px;align-items:center;
    }
    .lead-form{display:grid;gap:12px}
    .field{
      width:100%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);
      color:#fff;border-radius:18px;padding:14px 16px;outline:none;transition:.2s var(--ease);
    }
    .field::placeholder{color:#7f8a9e}
    .field:focus{border-color:rgba(255,184,77,.55);box-shadow:0 0 0 4px rgba(255,184,77,.12)}
    .form-note{color:var(--muted);font-size:13px;margin:0}
    .footer{
      border-top:1px solid rgba(255,255,255,.08);
      background:#07090d;padding:34px 0 88px;
    }
    .footer-grid{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}
    .footer-name{font-weight:1000;font-size:18px;margin-bottom:8px}
    .footer p{color:var(--muted);margin:0;font-size:14px}
    .footer-links{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
    .footer-links a{padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.05);color:#cbd3e1;font-weight:800;font-size:13px}
    .footer-links a:hover{background:rgba(255,51,79,.14);color:#fff}
    @media (max-width:1024px){
      .hero-stage,.goal-grid,.supporter-layout,.news-layout,.calendar-wrap,.rank-layout,.cta-panel{grid-template-columns:1fr}
      .hero-copy{min-height:auto}
      .progress-layout{grid-template-columns:auto 1fr}
      .tiers-grid{grid-template-columns:1fr}
      .section-pad{padding:70px 0}
    }
    @media (max-width:768px){
      .containerx{width:min(100% - 28px, var(--container))}
      .nav-wrap{height:66px}
      .brand-text{font-size:15px;max-width:210px}
      .top-nav .nav-link:not(.active){display:none}
      .nav-cta{display:none}
      .mobile-tabs{display:grid}
      .hero{padding:24px 0 54px}
      .hero-copy{padding:28px;border-radius:26px}
      .hero h1{font-size:clamp(34px,10vw,48px)}
      .hero-intro{font-size:16px}
      .hero-actions{display:grid;grid-template-columns:1fr}
      .hero-points{grid-template-columns:1fr}
      .progress-layout{grid-template-columns:1fr;justify-items:center;text-align:center}
      .signal{text-align:left}
      .section-head{display:block}
      .logo-wall,.bubble-wall,.faq-grid{grid-template-columns:1fr}
      .news-item{grid-template-columns:1fr;gap:6px}
      .arrow{display:none}
      .date-rail{grid-template-columns:1fr 1fr}
      .footer-grid{grid-template-columns:1fr}
      .footer-links{justify-content:flex-start}
      .section-pad{padding:58px 0}
    }
    @media (max-width:520px){
      body{padding-bottom:78px}
      .campaign-strip{align-items:flex-start}
      .strip-left{align-items:flex-start}
      .hero-copy,.progress-card,.tier-mini,.cta-panel{padding:22px;border-radius:24px}
      .progress-ring{width:152px;height:152px}
      .progress-ring-inner{width:108px;height:108px}
      .progress-ring-inner b{font-size:29px}
      .date-rail{grid-template-columns:1fr}
      .compact-row,.rank-row{grid-template-columns:auto 1fr;align-items:start}
      .trend,.hot{grid-column:2}
      .btn{width:100%}
      .section-title{font-size:29px}
      .mobile-tabs{left:8px;right:8px;bottom:8px;border-radius:22px}
      .tab-item{font-size:10px}
    }
