/* roulang page: index */
:root{
      --primary:#5b3df5;
      --primary-dark:#4026d8;
      --secondary:#00c2ff;
      --accent:#ffb020;
      --pink:#ff4d8d;
      --ink:#101828;
      --muted:#667085;
      --soft:#f6f7fb;
      --card:#ffffff;
      --line:#e6e9f2;
      --deep:#14122b;
      --radius-xl:28px;
      --radius-lg:22px;
      --radius-md:16px;
      --shadow-sm:0 10px 24px rgba(16,24,40,.06);
      --shadow-md:0 18px 45px rgba(34,28,88,.12);
      --shadow-lg:0 28px 70px rgba(52,36,140,.18);
      --container:1180px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      color:var(--ink);
      background:
        radial-gradient(circle at 10% 0%, rgba(91,61,245,.13), transparent 32%),
        radial-gradient(circle at 92% 8%, rgba(0,194,255,.16), transparent 30%),
        linear-gradient(180deg,#fbfbff 0%,#f7f8fc 48%,#fff 100%);
      font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",Arial,sans-serif;
      line-height:1.7;
      min-height:100vh;
    }
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input{font:inherit}
    ::selection{background:rgba(91,61,245,.2)}
    .site-container{width:min(var(--container),calc(100% - 40px));margin:0 auto}
    .glass{
      background:rgba(255,255,255,.82);
      border:1px solid rgba(255,255,255,.78);
      box-shadow:var(--shadow-sm);
      backdrop-filter:blur(18px);
    }
    .top-header{
      position:sticky;
      top:0;
      z-index:50;
      border-bottom:1px solid rgba(230,233,242,.85);
      background:rgba(255,255,255,.88);
      backdrop-filter:blur(18px);
    }
    .brand-mark{
      width:42px;height:42px;border-radius:15px;
      background:linear-gradient(135deg,var(--primary),var(--secondary));
      box-shadow:0 14px 30px rgba(91,61,245,.24);
      display:grid;place-items:center;color:#fff;font-weight:900;
      letter-spacing:-.04em;
    }
    .search-box{
      border:1px solid var(--line);
      border-radius:999px;
      background:#fff;
      min-width:320px;
      transition:.2s ease;
      box-shadow:0 8px 20px rgba(16,24,40,.04);
    }
    .search-box:focus-within{
      border-color:rgba(91,61,245,.55);
      box-shadow:0 0 0 5px rgba(91,61,245,.1);
    }
    .search-box input{outline:none;background:transparent;width:100%;font-size:14px;color:var(--ink)}
    .nav-tabs{
      display:flex;
      gap:10px;
      overflow-x:auto;
      scrollbar-width:none;
      padding:12px 0 14px;
    }
    .nav-tabs::-webkit-scrollbar{display:none}
    .nav-pill{
      white-space:nowrap;
      border:1px solid var(--line);
      background:#fff;
      color:#475467;
      border-radius:999px;
      padding:9px 16px;
      font-size:14px;
      font-weight:700;
      transition:.2s ease;
    }
    .nav-pill:hover{color:var(--primary);border-color:rgba(91,61,245,.35);transform:translateY(-1px)}
    .nav-pill.active{
      color:#fff;
      border-color:transparent;
      background:linear-gradient(135deg,var(--primary),#7a5cff);
      box-shadow:0 12px 24px rgba(91,61,245,.22);
    }
    .btn{
      display:inline-flex;align-items:center;justify-content:center;gap:8px;
      border-radius:999px;
      padding:12px 20px;
      font-weight:800;
      transition:.22s ease;
      border:1px solid transparent;
      cursor:pointer;
      user-select:none;
    }
    .btn:focus-visible,.nav-pill:focus-visible,a:focus-visible,input:focus-visible{
      outline:3px solid rgba(91,61,245,.25);
      outline-offset:3px;
    }
    .btn-primary{
      color:#fff;
      background:linear-gradient(135deg,var(--primary),#7c4dff 55%,var(--secondary));
      box-shadow:0 16px 34px rgba(91,61,245,.28);
    }
    .btn-primary:hover{transform:translateY(-2px);box-shadow:0 22px 44px rgba(91,61,245,.32)}
    .btn-secondary{
      color:var(--primary-dark);
      background:#fff;
      border-color:rgba(91,61,245,.18);
      box-shadow:0 10px 22px rgba(16,24,40,.06);
    }
    .btn-secondary:hover{background:#f7f5ff;border-color:rgba(91,61,245,.34);transform:translateY(-2px)}
    .badge{
      display:inline-flex;align-items:center;gap:7px;
      border-radius:999px;
      padding:7px 12px;
      font-size:13px;
      font-weight:800;
      color:var(--primary-dark);
      background:rgba(91,61,245,.1);
      border:1px solid rgba(91,61,245,.13);
    }
    .section{padding:62px 0}
    .section-tight{padding:46px 0}
    .section-title{font-size:clamp(28px,3.2vw,44px);line-height:1.18;font-weight:900;letter-spacing:-.04em;color:var(--ink)}
    .section-desc{color:var(--muted);font-size:16px;max-width:760px}
    .card{
      background:var(--card);
      border:1px solid var(--line);
      border-radius:var(--radius-lg);
      box-shadow:var(--shadow-sm);
      transition:.24s ease;
    }
    .card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:rgba(91,61,245,.22)}
    .hero-wrap{
      margin-top:22px;
      border-radius:34px;
      overflow:hidden;
      position:relative;
      background:
        linear-gradient(135deg,rgba(20,18,43,.94),rgba(65,42,184,.9) 55%,rgba(0,194,255,.75)),
        radial-gradient(circle at 20% 20%,rgba(255,255,255,.2),transparent 28%);
      box-shadow:var(--shadow-lg);
    }
    .hero-wrap:before{
      content:"";
      position:absolute;inset:0;
      background:
        linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px),
        linear-gradient(180deg,rgba(255,255,255,.07) 1px,transparent 1px);
      background-size:52px 52px;
      mask-image:linear-gradient(90deg,#000,transparent 90%);
      opacity:.5;
    }
    .hero-inner{position:relative;padding:46px;display:grid;grid-template-columns:1.25fr .75fr;gap:28px;align-items:center}
    .hero-title{font-size:clamp(34px,5vw,62px);line-height:1.05;font-weight:950;letter-spacing:-.055em;color:#fff}
    .hero-desc{color:rgba(255,255,255,.78);font-size:17px;max-width:760px}
    .hero-demo{
      background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.18);
      border-radius:28px;
      padding:18px;
      backdrop-filter:blur(18px);
      color:#fff;
    }
    .demo-bar{height:12px;border-radius:99px;background:rgba(255,255,255,.18);overflow:hidden}
    .demo-bar span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--accent),#fff);width:76%}
    .demo-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.12);padding:14px 0}
    .demo-row:last-child{border-bottom:0}
    .mini-dot{width:10px;height:10px;border-radius:50%;background:var(--secondary);box-shadow:0 0 0 6px rgba(0,194,255,.13)}
    .data-badge{
      border-radius:18px;
      background:rgba(255,255,255,.13);
      border:1px solid rgba(255,255,255,.18);
      padding:12px 14px;
      color:#fff;
    }
    .flat-entry{
      border-radius:20px;
      background:linear-gradient(180deg,#fff,#fbfbff);
      border:1px solid var(--line);
      padding:18px;
      transition:.22s ease;
    }
    .flat-entry:hover{border-color:rgba(91,61,245,.28);box-shadow:var(--shadow-sm);transform:translateY(-2px)}
    .icon-tile{
      width:46px;height:46px;border-radius:16px;display:grid;place-items:center;
      background:linear-gradient(135deg,rgba(91,61,245,.12),rgba(0,194,255,.12));
      color:var(--primary);font-weight:900;
    }
    .commission-panel{
      background:linear-gradient(135deg,#ffffff 0%,#f7f5ff 48%,#eefbff 100%);
      border:1px solid rgba(91,61,245,.13);
      border-radius:30px;
      box-shadow:var(--shadow-md);
      overflow:hidden;
    }
    .metric{
      border-radius:22px;
      padding:20px;
      background:#fff;
      border:1px solid rgba(230,233,242,.9);
      box-shadow:0 12px 26px rgba(16,24,40,.05);
    }
    .metric strong{display:block;font-size:34px;line-height:1;font-weight:950;letter-spacing:-.04em;color:var(--primary-dark)}
    .material-strip{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:18px;
    }
    .material-card{
      position:relative;
      min-height:210px;
      overflow:hidden;
      border-radius:28px;
      padding:24px;
      border:1px solid rgba(255,255,255,.2);
      color:#fff;
      background:linear-gradient(135deg,#24185f,#5b3df5);
      box-shadow:var(--shadow-md);
    }
    .material-card.alt{background:linear-gradient(135deg,#0f6079,#00a7d8)}
    .material-card:after{
      content:"";
      position:absolute;right:-44px;bottom:-54px;width:170px;height:170px;border-radius:50%;
      background:rgba(255,255,255,.14);
    }
    .collection-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:18px}
    .collection-card{padding:22px;min-height:188px;display:flex;flex-direction:column;justify-content:space-between}
    .collection-card.featured{
      color:#fff;
      border:0;
      background:linear-gradient(135deg,var(--deep),var(--primary));
      box-shadow:var(--shadow-lg);
    }
    .rank-list{counter-reset:item}
    .rank-item{
      counter-increment:item;
      display:grid;
      grid-template-columns:44px 1fr auto;
      align-items:center;
      gap:14px;
      padding:15px 0;
      border-bottom:1px solid var(--line);
    }
    .rank-item:last-child{border-bottom:0}
    .rank-item:before{
      content:counter(item);
      width:34px;height:34px;border-radius:12px;
      display:grid;place-items:center;
      background:#f1efff;
      color:var(--primary);
      font-weight:900;
    }
    .rank-item:nth-child(-n+3):before{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff}
    .trend{font-weight:900;color:#12b76a;background:rgba(18,183,106,.1);border-radius:999px;padding:5px 10px;font-size:12px}
    .quote-card{
      border-radius:30px;
      padding:30px;
      background:#fff;
      border:1px solid var(--line);
      box-shadow:var(--shadow-sm);
      position:relative;
    }
    .quote-card:before{
      content:"“";
      position:absolute;right:26px;top:6px;
      font-size:100px;line-height:1;
      color:rgba(91,61,245,.1);
      font-family:Georgia,serif;
    }
    .news-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:22px}
    .news-item{
      display:grid;
      grid-template-columns:92px 1fr;
      gap:16px;
      align-items:center;
      padding:16px;
      border-bottom:1px solid var(--line);
      transition:.2s ease;
    }
    .news-item:last-child{border-bottom:0}
    .news-item:hover{background:#fafaff}
    .date-box{
      border-radius:18px;
      background:linear-gradient(135deg,#f4f2ff,#ecfbff);
      padding:12px;
      text-align:center;
      color:var(--primary-dark);
      font-weight:900;
    }
    .date-box small{display:block;color:var(--muted);font-weight:800}
    .faq-item{
      border:1px solid var(--line);
      border-radius:20px;
      background:#fff;
      padding:20px;
      box-shadow:0 10px 22px rgba(16,24,40,.04);
    }
    .faq-item summary{
      cursor:pointer;
      font-weight:900;
      list-style:none;
      display:flex;
      justify-content:space-between;
      gap:18px;
    }
    .faq-item summary::-webkit-details-marker{display:none}
    .faq-item summary:after{content:"+";font-size:22px;color:var(--primary);line-height:1}
    .faq-item[open] summary:after{content:"−"}
    .faq-item p{margin:12px 0 0;color:var(--muted)}
    .cta-band{
      border-radius:34px;
      background:linear-gradient(135deg,#171335,#4c31dc 58%,#00b8ed);
      color:#fff;
      padding:36px;
      box-shadow:var(--shadow-lg);
      position:relative;
      overflow:hidden;
    }
    .cta-band:after{
      content:"";
      position:absolute;right:-80px;top:-100px;width:280px;height:280px;border-radius:50%;
      background:rgba(255,255,255,.13);
    }
    .input-field{
      width:100%;
      border:1px solid rgba(255,255,255,.24);
      background:rgba(255,255,255,.12);
      color:#fff;
      border-radius:16px;
      padding:13px 15px;
      outline:none;
      transition:.2s ease;
    }
    .input-field::placeholder{color:rgba(255,255,255,.68)}
    .input-field:focus{border-color:rgba(255,255,255,.72);box-shadow:0 0 0 5px rgba(255,255,255,.12)}
    .footer{
      background:#0f1024;
      color:rgba(255,255,255,.76);
      padding:46px 0 24px;
      margin-top:58px;
    }
    .footer a{transition:.2s ease}
    .footer a:hover{color:#fff}
    .footer-line{border-top:1px solid rgba(255,255,255,.1);margin-top:28px;padding-top:20px}
    @media (max-width:1024px){
      .hero-inner{grid-template-columns:1fr;padding:34px}
      .collection-grid{grid-template-columns:1fr 1fr}
      .news-layout{grid-template-columns:1fr}
      .search-box{min-width:240px}
    }
    @media (max-width:768px){
      .site-container{width:min(100% - 28px,var(--container))}
      .section{padding:48px 0}
      .top-row{flex-direction:column;align-items:stretch!important}
      .search-box{min-width:0;width:100%}
      .header-actions{width:100%;justify-content:space-between}
      .hero-inner{padding:28px}
      .material-strip{grid-template-columns:1fr}
      .collection-grid{grid-template-columns:1fr}
      .news-item{grid-template-columns:1fr}
      .rank-item{grid-template-columns:38px 1fr;align-items:start}
      .rank-item .trend{grid-column:2}
      .cta-band{padding:28px}
    }
    @media (max-width:520px){
      .btn{width:100%;padding:12px 16px}
      .hero-title{font-size:34px}
      .hero-desc{font-size:15px}
      .section-title{font-size:28px}
      .hero-cta{flex-direction:column}
      .data-row{grid-template-columns:1fr!important}
      .footer-grid{grid-template-columns:1fr!important}
    }
