/* roulang page: index */
:root{
      --bg:#0b0810;
      --bg-2:#120e17;
      --panel:#17131d;
      --panel-2:#1f1a26;
      --panel-3:#251f2f;
      --line:rgba(255,219,177,.14);
      --line-2:rgba(255,255,255,.08);
      --text:#f6efe9;
      --muted:#beafa4;
      --muted-2:#8f7f76;
      --accent:#f3b35d;
      --accent-2:#d45f6f;
      --accent-3:#ffe0a9;
      --shadow:0 24px 60px rgba(0,0,0,.36);
      --shadow-soft:0 16px 34px rgba(0,0,0,.24);
      --radius:18px;
      --radius-lg:26px;
      --space:clamp(16px,2vw,28px);
      --max:1240px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      color:var(--text);
      background:
        radial-gradient(circle at 12% 12%, rgba(212,95,111,.18), transparent 26%),
        radial-gradient(circle at 88% 10%, rgba(243,179,93,.12), transparent 20%),
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.05), transparent 24%),
        linear-gradient(180deg, #0a0710 0%, #0b0810 38%, #0d0912 100%);
      font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
      line-height:1.72;
      overflow-x:hidden;
      text-rendering:optimizeLegibility;
      -webkit-font-smoothing:antialiased;
    }
    body::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      background:
        linear-gradient(120deg, rgba(255,255,255,.025), transparent 25%, transparent 75%, rgba(255,255,255,.02)),
        radial-gradient(circle at 20% 80%, rgba(255,255,255,.035), transparent 18%),
        radial-gradient(circle at 80% 30%, rgba(255,255,255,.03), transparent 16%);
      mix-blend-mode:screen;
      opacity:.8;
      z-index:-1;
    }
    ::selection{background:rgba(243,179,93,.32);color:#fff}
    a{
      color:inherit;
      text-decoration:none;
      transition:color .22s ease, transform .22s ease, opacity .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
    }
    img{max-width:100%;display:block}
    button,input,select,textarea{
      font:inherit;
      color:inherit;
      outline:none;
    }
    .grid-container{
      max-width:var(--max);
      padding-left:clamp(16px,2vw,24px);
      padding-right:clamp(16px,2vw,24px);
    }
    .page-wrap{
      position:relative;
      min-height:100vh;
      padding-bottom:84px;
    }

    .info-strip{
      position:relative;
      z-index:40;
      border-bottom:1px solid var(--line-2);
      background:linear-gradient(90deg, rgba(31,26,38,.98), rgba(22,18,28,.93));
      backdrop-filter:blur(14px);
    }
    .strip-inner{
      min-height:44px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      padding:8px 0;
      font-size:.92rem;
    }
    .strip-brand{
      font-weight:800;
      letter-spacing:.04em;
      color:var(--accent-3);
      white-space:nowrap;
    }
    .strip-note{
      color:var(--muted);
      text-align:center;
      flex:1;
      opacity:.92;
    }
    .strip-right{
      display:flex;
      align-items:center;
      gap:10px;
      white-space:nowrap;
    }
    .domain-chip{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:6px 12px;
      border:1px solid rgba(255,255,255,.12);
      border-radius:999px;
      color:#ddd0c7;
      background:rgba(255,255,255,.03);
    }
    .strip-action{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding:6px 14px;
      border-radius:999px;
      background:linear-gradient(135deg, rgba(243,179,93,.95), rgba(212,95,111,.92));
      color:#170f14;
      font-weight:800;
      box-shadow:0 10px 24px rgba(212,95,111,.22);
    }
    .strip-action:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(212,95,111,.32)}
    .nav-wrap{
      position:sticky;
      top:0;
      z-index:35;
      border-bottom:1px solid rgba(255,255,255,.08);
      background:rgba(11,8,16,.72);
      backdrop-filter:blur(18px);
    }
    .nav-shell{
      min-height:76px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      padding:14px 0;
    }
    .brand{
      display:inline-flex;
      align-items:center;
      gap:12px;
      font-size:1.15rem;
      font-weight:900;
      letter-spacing:.06em;
      color:#fff7ee;
      text-transform:none;
      white-space:nowrap;
    }
    .brand::before{
      content:"";
      width:12px;
      height:12px;
      border-radius:50%;
      background:radial-gradient(circle, #ffe3b6 0%, #f3b35d 46%, #d45f6f 100%);
      box-shadow:0 0 18px rgba(243,179,93,.55);
      flex:none;
    }
    .menu-toggle{
      display:none;
      width:48px;
      height:48px;
      border:1px solid rgba(255,255,255,.12);
      border-radius:14px;
      background:rgba(255,255,255,.04);
      color:var(--text);
      align-items:center;
      justify-content:center;
      box-shadow:var(--shadow-soft);
      cursor:pointer;
    }
    .site-menu{
      display:flex;
      align-items:center;
      gap:10px;
    }
    .nav-link{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:42px;
      padding:0 16px;
      border-radius:999px;
      border:1px solid transparent;
      color:var(--muted);
      background:transparent;
      font-weight:700;
      letter-spacing:.02em;
    }
    .nav-link:hover,
    .nav-link:focus{
      color:#fff;
      background:rgba(255,255,255,.04);
      border-color:rgba(255,255,255,.08);
      transform:translateY(-1px);
    }
    .nav-link.active{
      color:#140d10;
      background:linear-gradient(135deg, rgba(243,179,93,1), rgba(255,224,169,.95));
      box-shadow:0 10px 24px rgba(243,179,93,.18);
    }

    main{position:relative}
    section{
      position:relative;
      padding:clamp(28px,4vw,52px) 0;
    }
    section + section{margin-top:4px}
    .section-shell{
      position:relative;
      border:1px solid rgba(255,255,255,.06);
      border-radius:var(--radius-lg);
      background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02));
      box-shadow:var(--shadow-soft);
      overflow:hidden;
    }
    .section-shell::before{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      background:
        linear-gradient(135deg, rgba(243,179,93,.04), transparent 32%),
        linear-gradient(315deg, rgba(212,95,111,.04), transparent 34%);
      opacity:.9;
    }
    .section-head{
      margin-bottom:clamp(18px,2.2vw,28px);
    }
    .section-kicker{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:6px 12px;
      border-radius:999px;
      border:1px solid rgba(243,179,93,.22);
      background:rgba(243,179,93,.07);
      color:#ffd8a4;
      font-size:.84rem;
      font-weight:800;
      letter-spacing:.08em;
      text-transform:uppercase;
      margin-bottom:12px;
    }
    .section-title{
      margin:0;
      font-size:clamp(1.6rem,2.8vw,2.6rem);
      line-height:1.12;
      letter-spacing:-.03em;
      color:#fff8f0;
    }
    .section-lead{
      margin:14px 0 0;
      color:var(--muted);
      max-width:72ch;
      font-size:1.01rem;
    }

    .hero{
      padding-top:clamp(22px,3vw,34px);
    }
    .hero-shell{
      border-radius:32px;
      border:1px solid rgba(255,255,255,.07);
      overflow:hidden;
      background:
        radial-gradient(circle at 10% 14%, rgba(212,95,111,.28), transparent 20%),
        radial-gradient(circle at 82% 18%, rgba(243,179,93,.16), transparent 18%),
        linear-gradient(180deg, rgba(25,20,32,.94), rgba(13,10,16,.98));
      box-shadow:0 30px 90px rgba(0,0,0,.42);
      position:relative;
    }
    .hero-shell::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(110deg, rgba(255,255,255,.05), transparent 22%, transparent 78%, rgba(255,255,255,.03)),
        radial-gradient(circle at 50% 50%, rgba(255,255,255,.05), transparent 48%);
      pointer-events:none;
    }
    .hero-grid{
      position:relative;
      z-index:1;
      padding:clamp(26px,4vw,44px);
      min-height:640px;
      display:flex;
      align-items:center;
    }
    .hero-copy{
      padding-right:clamp(10px,2vw,28px);
    }
    .hero-labels{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-bottom:18px;
    }
    .mini-badge{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 12px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.12);
      background:rgba(255,255,255,.04);
      color:#efe4da;
      font-size:.86rem;
      font-weight:700;
      letter-spacing:.02em;
    }
    .mini-badge.hot{
      background:rgba(212,95,111,.12);
      border-color:rgba(212,95,111,.3);
      color:#ffd7dc;
    }
    .mini-badge.gold{
      background:rgba(243,179,93,.11);
      border-color:rgba(243,179,93,.28);
      color:#ffe4ba;
    }
    .hero h1{
      margin:0;
      font-size:clamp(2.5rem,5.5vw,5.2rem);
      line-height:.96;
      letter-spacing:-.05em;
      text-shadow:0 16px 32px rgba(0,0,0,.32);
    }
    .hero-sub{
      margin:18px 0 0;
      max-width:38rem;
      font-size:1.08rem;
      color:#dccfc5;
    }
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:24px;
    }
    .button{
      margin:0;
      border-radius:999px;
      border:1px solid transparent;
      padding:.92rem 1.3rem;
      font-weight:800;
      letter-spacing:.02em;
      transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease, color .2s ease, opacity .2s ease;
      box-shadow:none;
    }
    .button.primary{
      background:linear-gradient(135deg, #f3b35d 0%, #ffdca2 100%);
      color:#120b10;
      box-shadow:0 14px 30px rgba(243,179,93,.22);
    }
    .button.primary:hover,
    .button.primary:focus{
      transform:translateY(-2px);
      box-shadow:0 18px 34px rgba(243,179,93,.28);
      color:#120b10;
    }
    .button.secondary{
      background:rgba(255,255,255,.03);
      color:#fff7ef;
      border-color:rgba(255,255,255,.12);
    }
    .button.secondary:hover,
    .button.secondary:focus{
      transform:translateY(-2px);
      border-color:rgba(243,179,93,.4);
      background:rgba(243,179,93,.07);
      color:#fff;
    }
    .hero-tags{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:20px;
    }
    .hero-tags .tag{
      padding:8px 12px;
      border-radius:999px;
      background:rgba(255,255,255,.04);
      color:#e1d5cd;
      border:1px solid rgba(255,255,255,.08);
      font-size:.88rem;
    }
    .quick-search{
      margin-top:22px;
      display:flex;
      align-items:center;
      gap:10px;
      max-width:560px;
      padding:10px;
      border-radius:18px;
      border:1px solid rgba(255,255,255,.1);
      background:rgba(255,255,255,.04);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
    }
    .quick-search input{
      flex:1;
      min-width:0;
      height:48px;
      padding:0 16px;
      border-radius:14px;
      border:1px solid rgba(255,255,255,.1);
      background:rgba(8,7,12,.62);
      color:#fff;
    }
    .quick-search input::placeholder{color:#988983}
    .quick-search .button{height:48px;padding:.78rem 1.1rem;white-space:nowrap}
    .hero-visual{
      padding-left:clamp(8px,1vw,24px);
    }
    .poster-stage{
      position:relative;
      min-height:560px;
      border-radius:28px;
      padding:18px;
      border:1px solid rgba(255,255,255,.08);
      background:
        linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02)),
        radial-gradient(circle at 50% 18%, rgba(243,179,93,.16), transparent 24%),
        linear-gradient(160deg, rgba(33,27,39,.86), rgba(17,13,22,.94));
      overflow:hidden;
    }
    .poster-stage::before{
      content:"";
      position:absolute;
      inset:12px;
      border-radius:22px;
      border:1px solid rgba(255,255,255,.07);
      pointer-events:none;
    }
    .poster-stage::after{
      content:"";
      position:absolute;
      left:0;
      right:0;
      bottom:0;
      height:22%;
      background:linear-gradient(180deg, transparent, rgba(0,0,0,.58));
      pointer-events:none;
    }
    .poster-main{
      position:relative;
      min-height:360px;
      border-radius:24px;
      padding:26px;
      display:flex;
      flex-direction:column;
      justify-content:flex-end;
      background:
        linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.01)),
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.08), transparent 30%),
        linear-gradient(145deg, rgba(180,57,72,.76), rgba(22,16,26,.94) 68%);
      border:1px solid rgba(255,255,255,.12);
      box-shadow:0 24px 50px rgba(0,0,0,.36);
      overflow:hidden;
    }
    .poster-main::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(115deg, rgba(255,255,255,.09), transparent 28%, transparent 72%, rgba(255,255,255,.06)),
        radial-gradient(circle at 80% 20%, rgba(255,224,169,.18), transparent 18%);
      opacity:.9;
      pointer-events:none;
    }
    .poster-main > *{position:relative;z-index:1}
    .poster-main .poster-kicker{
      display:inline-flex;
      align-self:flex-start;
      margin-bottom:12px;
      padding:7px 12px;
      border-radius:999px;
      background:rgba(11,8,16,.42);
      border:1px solid rgba(255,255,255,.13);
      color:#ffecc8;
      font-weight:800;
      font-size:.86rem;
    }
    .poster-main .poster-title{
      font-size:2.15rem;
      line-height:1.02;
      font-weight:900;
      letter-spacing:-.04em;
      margin-bottom:10px;
    }
    .poster-main .poster-copy{
      font-size:.98rem;
      color:#f2e7dd;
      max-width:22rem;
    }
    .poster-stack{
      display:grid;
      grid-template-columns:1fr 1fr 1fr;
      gap:10px;
      margin-top:14px;
    }
    .poster-chip{
      min-height:104px;
      padding:14px;
      border-radius:20px;
      border:1px solid rgba(255,255,255,.09);
      background:rgba(255,255,255,.04);
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
    }
    .poster-chip strong{
      display:block;
      font-size:1.15rem;
      color:#fff;
      margin-bottom:6px;
    }
    .poster-chip span{
      color:var(--muted);
      font-size:.88rem;
    }
    .poster-chip.gold{
      background:linear-gradient(180deg, rgba(243,179,93,.14), rgba(255,255,255,.03));
    }
    .poster-chip.red{
      background:linear-gradient(180deg, rgba(212,95,111,.16), rgba(255,255,255,.03));
    }
    .poster-ribbon{
      position:absolute;
      top:18px;
      right:18px;
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:8px 12px;
      border-radius:999px;
      background:rgba(10,8,14,.62);
      border:1px solid rgba(255,255,255,.12);
      color:#fff3dd;
      font-size:.86rem;
      z-index:2;
    }
    .poster-ribbon i{color:#f3b35d}

    .friction-grid{
      margin-top:18px;
    }
    .friction-card{
      height:100%;
      padding:22px;
      border-radius:22px;
      border:1px solid rgba(255,255,255,.08);
      background:
        linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)),
        linear-gradient(135deg, rgba(37,30,45,.96), rgba(19,15,24,.96));
      box-shadow:var(--shadow-soft);
      position:relative;
      overflow:hidden;
      transition:transform .24s ease, border-color .24s ease, box-shadow .24s ease;
    }
    .friction-card:hover{
      transform:translateY(-4px);
      border-color:rgba(243,179,93,.24);
      box-shadow:0 18px 40px rgba(0,0,0,.28);
    }
    .friction-card .num{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:36px;
      height:36px;
      border-radius:12px;
      margin-bottom:18px;
      background:rgba(243,179,93,.13);
      color:#ffd59c;
      font-weight:900;
      border:1px solid rgba(243,179,93,.24);
    }
    .friction-card h3{
      margin:0 0 10px;
      font-size:1.08rem;
      color:#fff8f2;
    }
    .friction-card p{
      margin:0;
      color:var(--muted);
      font-size:.96rem;
    }

    .content-grid{
      margin-top:18px;
    }
    .filter-bar{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-bottom:18px;
    }
    .chip{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      height:38px;
      padding:0 14px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.1);
      background:rgba(255,255,255,.03);
      color:#e9ddd3;
      font-size:.9rem;
      font-weight:700;
      cursor:pointer;
      user-select:none;
    }
    .chip:hover,
    .chip:focus{
      transform:translateY(-1px);
      border-color:rgba(243,179,93,.3);
      background:rgba(243,179,93,.08);
      color:#fff;
    }
    .chip.active{
      background:linear-gradient(135deg, rgba(243,179,93,.95), rgba(255,221,177,.95));
      color:#140d11;
      border-color:transparent;
      box-shadow:0 12px 22px rgba(243,179,93,.18);
    }
    .poster-wall{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:14px;
    }
    .content-card{
      height:100%;
      display:flex;
      flex-direction:column;
      border-radius:22px;
      border:1px solid rgba(255,255,255,.08);
      background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
      overflow:hidden;
      box-shadow:var(--shadow-soft);
      transition:transform .24s ease, border-color .24s ease, box-shadow .24s ease;
    }
    .content-card:hover{
      transform:translateY(-5px);
      border-color:rgba(243,179,93,.25);
      box-shadow:0 20px 44px rgba(0,0,0,.32);
    }
    .cover{
      min-height:156px;
      padding:16px;
      position:relative;
      background:
        radial-gradient(circle at 70% 20%, rgba(255,255,255,.12), transparent 16%),
        linear-gradient(145deg, rgba(212,95,111,.58), rgba(34,24,38,.95));
    }
    .cover.gold{background:linear-gradient(145deg, rgba(243,179,93,.66), rgba(35,25,28,.95))}
    .cover.dark{background:linear-gradient(145deg, rgba(83,58,77,.72), rgba(19,15,24,.96))}
    .cover.red{background:linear-gradient(145deg, rgba(201,63,84,.66), rgba(20,15,24,.95))}
    .cover::before{
      content:"";
      position:absolute;
      inset:12px;
      border-radius:18px;
      border:1px solid rgba(255,255,255,.18);
      pointer-events:none;
    }
    .cover-title{
      position:absolute;
      left:16px;
      bottom:16px;
      right:16px;
      z-index:1;
      font-size:1.02rem;
      font-weight:900;
      line-height:1.18;
      text-shadow:0 8px 20px rgba(0,0,0,.28);
    }
    .content-body{
      padding:16px;
      display:flex;
      flex-direction:column;
      gap:10px;
      flex:1;
    }
    .meta-row{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
    }
    .meta-row .label{
      border-radius:999px;
      padding:.32rem .55rem;
      font-size:.74rem;
      font-weight:800;
      letter-spacing:.02em;
      background:rgba(255,255,255,.08);
      color:#f2e8de;
    }
    .meta-row .label.hot{background:rgba(212,95,111,.18);color:#ffd9df}
    .meta-row .label.new{background:rgba(243,179,93,.16);color:#ffe7be}
    .content-body p{
      margin:0;
      color:var(--muted);
      font-size:.95rem;
      line-height:1.7;
    }
    .content-actions{
      margin-top:auto;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
    }
    .content-link{
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:#fff2da;
      font-weight:800;
      font-size:.92rem;
    }
    .content-link i{transition:transform .22s ease}
    .content-card:hover .content-link i{transform:translateX(3px)}
    .side-panel{
      height:100%;
      border-radius:24px;
      padding:22px;
      border:1px solid rgba(255,255,255,.08);
      background:
        radial-gradient(circle at 16% 12%, rgba(243,179,93,.13), transparent 17%),
        linear-gradient(180deg, rgba(34,28,40,.96), rgba(18,14,24,.96));
      box-shadow:var(--shadow-soft);
    }
    .side-panel .callout{
      margin:0 0 18px;
      border-radius:20px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.08);
      color:var(--text);
    }
    .side-title{
      margin:0 0 12px;
      font-size:1.08rem;
      color:#fff8f2;
      font-weight:900;
    }
    .news-list{
      list-style:none;
      margin:0;
      padding:0;
      display:grid;
      gap:10px;
    }
    .news-list a{
      display:flex;
      align-items:flex-start;
      gap:12px;
      padding:12px 0;
      border-bottom:1px solid rgba(255,255,255,.07);
    }
    .news-list a:last-child{border-bottom:0}
    .news-list .dot{
      width:10px;
      height:10px;
      border-radius:50%;
      margin-top:7px;
      background:linear-gradient(180deg, #f3b35d, #d45f6f);
      box-shadow:0 0 12px rgba(243,179,93,.4);
      flex:none;
    }
    .news-list .text{
      flex:1;
      color:#e9ddd4;
      line-height:1.65;
    }
    .news-list .time{
      color:var(--muted-2);
      font-size:.82rem;
      white-space:nowrap;
    }
    .news-cta{
      margin-top:18px;
      display:flex;
      gap:10px;
      flex-wrap:wrap;
    }

    .stats-grid{
      margin-top:18px;
    }
    .stat-card{
      height:100%;
      padding:24px 20px;
      border-radius:22px;
      border:1px solid rgba(255,255,255,.08);
      background:
        linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
      box-shadow:var(--shadow-soft);
      text-align:center;
      position:relative;
      overflow:hidden;
    }
    .stat-card::before{
      content:"";
      position:absolute;
      inset:auto 0 0 0;
      height:4px;
      background:linear-gradient(90deg, rgba(243,179,93,.1), rgba(243,179,93,.96), rgba(212,95,111,.9));
    }
    .stat-number{
      display:block;
      font-size:clamp(2rem,4vw,3.2rem);
      line-height:1;
      font-weight:900;
      letter-spacing:-.05em;
      color:#fff8ef;
      margin-bottom:10px;
    }
    .stat-label{
      color:#f0e3d6;
      font-size:1rem;
      font-weight:800;
      margin-bottom:6px;
    }
    .stat-note{
      color:var(--muted);
      font-size:.92rem;
    }
    .meter{
      margin-top:16px;
      height:9px;
      border-radius:999px;
      background:rgba(255,255,255,.08);
      overflow:hidden;
    }
    .meter span{
      display:block;
      height:100%;
      border-radius:inherit;
      background:linear-gradient(90deg, #f3b35d, #ffdba6 55%, #d45f6f 100%);
    }

    .voices-grid{
      margin-top:18px;
    }
    .quote-card{
      height:100%;
      padding:22px;
      border-radius:22px;
      border:1px solid rgba(255,255,255,.08);
      background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
      box-shadow:var(--shadow-soft);
      position:relative;
    }
    .quote-card::before{
      content:"“";
      position:absolute;
      left:18px;
      top:-6px;
      font-size:4rem;
      line-height:1;
      color:rgba(243,179,93,.2);
      font-family:Georgia,serif;
    }
    .quote-card p{
      margin:18px 0 14px;
      color:#f0e4d9;
      font-size:1.02rem;
      line-height:1.8;
      min-height:92px;
    }
    .quote-meta{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      color:var(--muted);
      font-size:.9rem;
    }
    .quote-user{
      display:inline-flex;
      align-items:center;
      gap:10px;
      font-weight:800;
      color:#fff8f1;
    }
    .avatar{
      width:38px;
      height:38px;
      border-radius:50%;
      background:linear-gradient(145deg, rgba(243,179,93,.9), rgba(212,95,111,.9));
      box-shadow:0 10px 22px rgba(212,95,111,.24);
    }
    .quote-tag{
      display:inline-flex;
      align-items:center;
      padding:6px 10px;
      border-radius:999px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.08);
      color:#e0d2c6;
      font-size:.8rem;
    }

    .faq-wrap{
      margin-top:18px;
      padding:24px;
      border-radius:26px;
      border:1px solid rgba(255,255,255,.08);
      background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
      box-shadow:var(--shadow-soft);
    }
    .accordion{
      margin:0;
      background:transparent;
    }
    .accordion-item{
      border:1px solid rgba(255,255,255,.08);
      border-radius:18px;
      overflow:hidden;
      background:rgba(255,255,255,.03);
      margin-bottom:12px;
    }
    .accordion-title{
      color:#fff8f0;
      font-weight:800;
      font-size:1rem;
      padding:1rem 1.15rem;
      background:rgba(255,255,255,.02);
      transition:background .22s ease, color .22s ease;
    }
    .accordion-title:hover,
    .accordion-title:focus{
      color:#fff;
      background:rgba(243,179,93,.08);
    }
    .accordion-content{
      padding:0 1.15rem 1rem;
      color:var(--muted);
      font-size:.96rem;
      line-height:1.8;
      border-top:1px solid rgba(255,255,255,.07);
      background:rgba(12,9,16,.4);
    }

    .cta-wrap{
      padding:30px;
      border-radius:30px;
      border:1px solid rgba(255,255,255,.09);
      background:
        radial-gradient(circle at 15% 15%, rgba(243,179,93,.22), transparent 18%),
        radial-gradient(circle at 85% 12%, rgba(212,95,111,.18), transparent 20%),
        linear-gradient(180deg, rgba(31,25,38,.98), rgba(16,12,20,.98));
      box-shadow:0 28px 72px rgba(0,0,0,.42);
      text-align:center;
      overflow:hidden;
      position:relative;
    }
    .cta-wrap h2{
      margin:0;
      font-size:clamp(1.8rem,3.4vw,3rem);
      line-height:1.12;
      letter-spacing:-.03em;
      color:#fff8ef;
    }
    .cta-wrap p{
      margin:14px auto 0;
      max-width:44rem;
      color:#ddcfc5;
      font-size:1.02rem;
    }
    .cta-actions{
      margin-top:22px;
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      align-items:center;
      justify-content:center;
    }
    .cta-note{
      margin-top:14px;
      color:var(--muted);
      font-size:.92rem;
    }

    .site-footer{
      margin-top:6px;
      padding:clamp(24px,4vw,40px) 0 100px;
      border-top:1px solid rgba(255,255,255,.08);
      background:linear-gradient(180deg, rgba(10,7,14,.2), rgba(9,6,12,.92));
    }
    .footer-card{
      padding:24px 0 0;
    }
    .footer-brand{
      font-size:1.12rem;
      font-weight:900;
      letter-spacing:.04em;
      color:#fff7ef;
      margin-bottom:12px;
      display:inline-flex;
      align-items:center;
      gap:10px;
    }
    .footer-text{
      color:var(--muted);
      max-width:34rem;
      margin:0;
      line-height:1.8;
      font-size:.95rem;
    }
    .footer-title{
      color:#fff7ef;
      font-weight:900;
      margin:0 0 12px;
      font-size:1rem;
    }
    .footer-list{
      list-style:none;
      margin:0;
      padding:0;
      display:grid;
      gap:10px;
    }
    .footer-list a{
      color:#d7c8be;
    }
    .footer-list a:hover{color:#fff}
    .footer-meta{
      margin-top:18px;
      padding-top:18px;
      border-top:1px solid rgba(255,255,255,.08);
      color:var(--muted-2);
      font-size:.86rem;
      display:flex;
      flex-wrap:wrap;
      justify-content:space-between;
      gap:10px;
    }

    .mobile-cta-bar{
      display:none;
      position:fixed;
      left:12px;
      right:12px;
      bottom:12px;
      z-index:60;
      padding:10px;
      border-radius:18px;
      background:rgba(13,10,16,.84);
      border:1px solid rgba(255,255,255,.1);
      backdrop-filter:blur(16px);
      box-shadow:0 16px 34px rgba(0,0,0,.32);
    }
    .mobile-cta-bar .bar-actions{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:10px;
    }
    .mobile-cta-bar .button{
      width:100%;
      justify-content:center;
      min-height:46px;
      display:flex;
      align-items:center;
    }

    .section-divider{
      height:1px;
      width:100%;
      background:linear-gradient(90deg, transparent, rgba(243,179,93,.28), rgba(255,255,255,.08), transparent);
      margin:0 0 6px;
    }

    .callout{
      border-radius:20px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.08);
      box-shadow:var(--shadow-soft);
      color:var(--text);
    }
    .callout h4{
      color:#fff8f2;
      font-size:1.05rem;
      margin-bottom:10px;
    }
    .callout p{
      color:var(--muted);
      margin-bottom:0;
    }

    .soft-note{
      color:var(--muted-2);
      font-size:.88rem;
    }

    .hover-rise{
      transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    }
    .hover-rise:hover{
      transform:translateY(-3px);
      border-color:rgba(243,179,93,.24);
    }

    .top-bar, .top-bar ul{
      background:transparent;
    }

    @media (max-width: 1024px){
      .hero-grid{min-height:auto}
      .poster-stage{min-height:auto}
      .poster-wall{grid-template-columns:repeat(2, minmax(0, 1fr))}
    }
    @media (max-width: 768px){
      .strip-inner{
        flex-wrap:wrap;
        justify-content:center;
        text-align:center;
        padding:10px 0;
      }
      .strip-note{order:3;flex-basis:100%}
      .nav-shell{
        min-height:68px;
        flex-wrap:wrap;
      }
      .menu-toggle{
        display:inline-flex;
        margin-left:auto;
      }
      .site-menu{
        display:none;
        width:100%;
        padding:10px 0 0;
        gap:8px;
        flex-wrap:nowrap;
        overflow-x:auto;
        scrollbar-width:none;
      }
      .site-menu::-webkit-scrollbar{display:none}
      .site-menu.open{display:flex}
      .nav-link{
        flex:none;
        min-height:40px;
      }
      .hero-grid{
        padding:22px 18px 18px;
      }
      .hero-visual{
        padding-left:0;
        margin-top:18px;
      }
      .poster-stage{
        padding:14px;
      }
      .poster-main{
        min-height:320px;
      }
      .poster-stack{
        grid-template-columns:1fr;
      }
      .filter-bar{
        flex-wrap:nowrap;
        overflow-x:auto;
        padding-bottom:4px;
        scrollbar-width:none;
      }
      .filter-bar::-webkit-scrollbar{display:none}
      .poster-wall{
        grid-template-columns:1fr;
      }
      .cta-wrap{padding:24px 18px}
      .footer-meta{
        flex-direction:column;
        align-items:flex-start;
      }
      .mobile-cta-bar{display:block}
      .page-wrap{padding-bottom:108px}
    }
    @media (max-width: 520px){
      .hero h1{font-size:2.45rem}
      .hero-sub{font-size:1rem}
      .button{width:auto}
      .hero-actions,.news-cta,.cta-actions{width:100%}
      .hero-actions .button,.news-cta .button,.cta-actions .button{flex:1 1 100%}
      .quick-search{
        flex-direction:column;
        align-items:stretch;
      }
      .quick-search .button{width:100%}
      .quote-card p{min-height:auto}
      .grid-container{
        padding-left:14px;
        padding-right:14px;
      }
      .info-strip{
        font-size:.86rem;
      }
      .domain-chip,.strip-action{
        width:100%;
        justify-content:center;
      }
      .strip-right{
        width:100%;
        flex-direction:column;
      }
      .site-footer{
        padding-bottom:124px;
      }
    }

/* roulang page: category1 */
:root{
      --ink:#f7eee9;
      --muted:#b9a8a3;
      --deep:#120e10;
      --panel:#1c1518;
      --panel-2:#251b1f;
      --wine:#8e233d;
      --rose:#e45d7d;
      --gold:#e3b77b;
      --line:rgba(242,207,190,.16);
      --line-strong:rgba(228,93,125,.48);
      --radius:18px;
      --shadow:0 22px 60px rgba(0,0,0,.34);
      --ease:all .28s ease;
    }
    *,*::before,*::after{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      color:var(--ink);
      background:
        radial-gradient(circle at 85% 8%,rgba(142,35,61,.24),transparent 28rem),
        radial-gradient(circle at 10% 52%,rgba(227,183,123,.07),transparent 24rem),
        var(--deep);
      font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
      line-height:1.7;
      overflow-x:hidden;
    }
    a{color:inherit;text-decoration:none;transition:var(--ease)}
    a:hover{color:var(--gold)}
    button,input,select{font:inherit}
    button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid rgba(227,183,123,.7);outline-offset:3px}
    .container{max-width:1180px;margin:0 auto;padding:0 24px}
    .top-strip{border-bottom:1px solid var(--line);background:#0d0a0c;color:var(--muted);font-size:12px}
    .strip-inner{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:18px}
    .strip-brand{color:var(--gold);font-weight:700;letter-spacing:.04em}
    .strip-action{color:var(--rose);font-weight:700}
    .site-header{position:relative;border-bottom:1px solid var(--line);background:rgba(18,14,16,.9);backdrop-filter:blur(12px);z-index:5}
    .nav-shell{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:32px}
    .brand{font-size:21px;font-weight:900;letter-spacing:-.06em;white-space:nowrap}
    .brand-mark{display:inline-block;width:10px;height:10px;margin-right:9px;border-radius:50%;background:var(--rose);box-shadow:0 0 16px var(--rose)}
    .site-menu{display:flex;align-items:center;gap:8px}
    .nav-link{padding:9px 16px;border:1px solid transparent;border-radius:999px;color:var(--muted);font-size:14px}
    .nav-link:hover,.nav-link.active{color:var(--ink);border-color:var(--line-strong);background:rgba(142,35,61,.2)}
    .nav-toggle{display:none;background:none;border:1px solid var(--line);color:var(--ink);padding:8px 11px;border-radius:10px}
    .hero{padding:74px 0 58px;position:relative}
    .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
    .eyebrow,.section-kicker{color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
    h1,h2,h3{margin:0;color:var(--ink);line-height:1.15;letter-spacing:-.045em}
    h1{font-size:clamp(42px,6vw,78px);max-width:720px}
    .hero-copy{margin:24px 0 30px;color:var(--muted);font-size:18px;max-width:620px}
    .button-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
    .button{margin:0;border-radius:999px;padding:13px 24px;font-weight:800;transition:var(--ease)}
    .button.primary{background:var(--rose);color:#210b12;box-shadow:0 10px 30px rgba(228,93,125,.2)}
    .button.primary:hover{background:#f1819c;color:#210b12;transform:translateY(-2px)}
    .button.hollow{border:1px solid var(--line-strong);color:var(--ink);background:transparent}
    .button.hollow:hover{background:rgba(228,93,125,.12);transform:translateY(-2px)}
    .notice{display:inline-flex;align-items:center;gap:8px;margin-top:23px;color:var(--muted);font-size:12px}
    .notice::before{content:"";width:7px;height:7px;background:var(--gold);border-radius:50%;box-shadow:0 0 10px var(--gold)}
    .poster-stage{min-height:405px;position:relative;border:1px solid var(--line-strong);border-radius:26px;padding:22px;overflow:hidden;background:linear-gradient(145deg,#3d1925,#180f13 60%,#0c090b);box-shadow:var(--shadow)}
    .poster-stage::before{content:"";position:absolute;inset:13px;border:1px solid rgba(227,183,123,.28);border-radius:18px;pointer-events:none}
    .poster-glow{position:absolute;width:240px;height:240px;right:-50px;top:-60px;border-radius:50%;background:rgba(228,93,125,.35);filter:blur(32px)}
    .poster-content{position:absolute;inset:44px;display:flex;flex-direction:column;justify-content:space-between}
    .poster-label{align-self:flex-start;color:#251218;background:var(--gold);padding:4px 10px;border-radius:4px;font-size:11px;font-weight:900}
    .poster-title{font-size:clamp(28px,4vw,48px);font-weight:900;max-width:300px;letter-spacing:-.08em}
    .poster-line{height:1px;background:var(--line-strong);width:78%}
    .poster-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}
    .filter-section{padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.018)}
    .filter-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
    .filter-label{color:var(--muted);font-size:13px;margin-right:4px}
    .filter-chip{border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);padding:8px 16px;cursor:pointer;transition:var(--ease)}
    .filter-chip:hover,.filter-chip.active{color:var(--ink);border-color:var(--rose);background:rgba(142,35,61,.26)}
    .sort-select{margin-left:auto;background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:9px 34px 9px 13px}
    .section{padding:76px 0}
    .section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}
    .section-heading h2{font-size:clamp(30px,4vw,48px);margin-top:8px}
    .section-heading p{max-width:420px;color:var(--muted);margin:0}
    .result-note{color:var(--gold);font-size:13px}
    .poster-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
    .content-card{position:relative;min-height:350px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel);transition:var(--ease)}
    .content-card:hover{transform:translateY(-7px);border-color:var(--line-strong);box-shadow:0 18px 42px rgba(0,0,0,.35)}
    .card-cover{height:210px;position:relative;display:flex;align-items:flex-end;padding:18px;background:linear-gradient(150deg,#61233b,#24141b 53%,#0c090b)}
    .content-card:nth-child(2) .card-cover{background:linear-gradient(150deg,#714c38,#2d171c 54%,#100b0d)}
    .content-card:nth-child(3) .card-cover{background:linear-gradient(150deg,#3d4a4b,#21171d 54%,#0c090b)}
    .content-card:nth-child(4) .card-cover{background:linear-gradient(150deg,#7b2945,#27111a 54%,#0c090b)}
    .content-card:nth-child(5) .card-cover{background:linear-gradient(150deg,#554037,#1e1517 54%,#0c090b)}
    .content-card:nth-child(6) .card-cover{background:linear-gradient(150deg,#592e4d,#21121c 54%,#0c090b)}
    .content-card:nth-child(7) .card-cover{background:linear-gradient(150deg,#785135,#211517 54%,#0c090b)}
    .content-card:nth-child(8) .card-cover{background:linear-gradient(150deg,#3e3b52,#161117 54%,#0c090b)}
    .cover-code{position:absolute;top:16px;right:16px;color:rgba(255,255,255,.55);font-size:11px}
    .cover-word{font-size:29px;font-weight:900;letter-spacing:-.08em}
    .card-body{padding:18px}
    .card-title{font-size:18px;font-weight:800;margin-bottom:10px}
    .tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
    .tag{display:inline-block;padding:3px 8px;border-radius:5px;background:rgba(227,183,123,.12);color:var(--gold);font-size:11px}
    .tag.hot{background:rgba(228,93,125,.16);color:#ff9bb0}
    .card-link{display:flex;align-items:center;justify-content:space-between;color:var(--rose);font-weight:800;font-size:13px}
    .card-link span{transition:var(--ease)}
    .content-card:hover .card-link span{transform:translateX(4px)}
    .pagination-wrap{display:flex;justify-content:center;margin-top:38px}
    .pagination li a,.pagination li button{background:var(--panel);color:var(--muted);border:1px solid var(--line);border-radius:8px;margin:0 4px}
    .pagination .current{background:var(--rose);color:#210b12;border-radius:8px;margin:0 4px}
    .proof-band{padding:34px 0;background:#26171c;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
    .proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
    .proof-item{padding:10px 24px;border-left:2px solid var(--gold)}
    .proof-number{font-size:38px;font-weight:900;color:var(--gold);line-height:1}
    .proof-item p{margin:9px 0 0;color:var(--muted);font-size:13px}
    .review-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}
    .review-main,.review-side{padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,var(--panel-2),var(--panel))}
    .quote{font-size:24px;line-height:1.5;margin:0 0 20px}
    .quote-meta{color:var(--muted);font-size:13px}
    .review-side strong{display:block;font-size:20px;margin-bottom:10px}
    .review-side p{color:var(--muted);margin:0}
    .faq{background:#0e0b0d}
    .accordion{background:transparent;margin:0}
    .accordion-title{border:1px solid var(--line);background:var(--panel);color:var(--ink);font-weight:700;border-radius:10px;margin-bottom:8px;padding:18px 22px}
    .accordion-title:hover{background:var(--panel-2);color:var(--gold)}
    .accordion-content{background:var(--panel-2);border:1px solid var(--line);border-top:0;color:var(--muted);margin-top:-8px;margin-bottom:8px;border-radius:0 0 10px 10px}
    .cta{padding:86px 0;text-align:center;background:radial-gradient(circle at 50% 20%,rgba(142,35,61,.4),transparent 34rem),#1b1014}
    .cta h2{font-size:clamp(32px,5vw,58px)}
    .cta p{color:var(--muted);margin:16px auto 26px;max-width:600px}
    .site-footer{padding:54px 0 28px;background:#0b090a;border-top:1px solid var(--line)}
    .footer-card{padding:30px 0 0}
    .footer-brand{font-size:22px;font-weight:900;margin-bottom:12px}
    .footer-text{color:var(--muted);font-size:13px;max-width:300px}
    .footer-title{color:var(--gold);font-size:13px;font-weight:800;margin-bottom:13px}
    .footer-list{margin:0;padding:0;list-style:none;color:var(--muted);font-size:13px}
    .footer-list li{margin-bottom:8px}
    .footer-list a:hover{color:var(--rose)}
    .footer-meta{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);margin-top:30px;padding-top:18px;color:#75686a;font-size:11px}
    @media(max-width:1024px){.poster-grid{grid-template-columns:repeat(3,1fr)}.hero-grid{gap:30px}}
    @media(max-width:768px){.container{padding:0 18px}.nav-shell{min-height:64px}.nav-toggle{display:block}.site-menu{display:none;position:absolute;left:18px;right:18px;top:70px;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.site-menu.is-open{display:flex}.nav-link{display:block}.hero{padding-top:48px}.hero-grid,.review-grid{grid-template-columns:1fr}.poster-stage{min-height:340px}.poster-grid{grid-template-columns:repeat(2,1fr)}.proof-grid{grid-template-columns:1fr}.proof-item{border-left:0;border-top:1px solid var(--line);padding:18px 0}.sort-select{margin-left:0}}
    @media(max-width:520px){.strip-inner{min-height:32px}.strip-inner span:nth-child(2){display:none}.brand{font-size:17px}h1{font-size:43px}.hero-copy{font-size:16px}.poster-grid{grid-template-columns:1fr;gap:16px}.content-card{min-height:320px}.card-cover{height:190px}.section{padding:56px 0}.section-heading{display:block}.section-heading p{margin-top:14px}.filter-bar{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}.filter-label{white-space:nowrap}.filter-chip{white-space:nowrap}.sort-select{width:100%;margin-top:8px}.footer-meta{display:block}.footer-meta span{display:block;margin-bottom:8px}}
