/* roulang page: index */
:root{
      --bg:#08080B;
      --panel:#111116;
      --panel-2:#17171E;
      --line:rgba(255,255,255,.10);
      --line-2:rgba(255,255,255,.16);
      --text:#F4F1F3;
      --muted:#A8A2AA;
      --muted-2:#7E7881;
      --accent:#FF2E88;
      --accent-2:#9D4EDD;
      --warm:#FFB703;
      --ok:#31d0aa;
      --danger:#ff6b8b;
      --shadow:0 18px 54px rgba(0,0,0,.36);
      --shadow-soft:0 10px 26px rgba(0,0,0,.22);
      --radius:6px;
      --radius-sm:4px;
      --container:1240px;
      --space:clamp(40px,6vw,92px);
      --header:76px;
      --tabbar:74px;
    }
    *{box-sizing:border-box}
    html{
      scroll-behavior:smooth;
      background:var(--bg);
    }
    body{
      margin:0;
      min-height:100vh;
      color:var(--text);
      font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",system-ui,sans-serif;
      line-height:1.7;
      letter-spacing:0;
      background:
        linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0) 18%),
        linear-gradient(180deg, #08080B 0%, #08080B 100%);
      position:relative;
      padding-bottom:0;
      overflow-x:hidden;
    }
    body::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      background-image:
        linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
      background-size:44px 44px;
      opacity:.12;
      mask-image:linear-gradient(180deg, rgba(0,0,0,.62), rgba(0,0,0,.18) 68%, rgba(0,0,0,0));
      z-index:0;
    }
    body::after{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      background:
        linear-gradient(180deg, rgba(255,46,136,.05), transparent 24%),
        linear-gradient(180deg, transparent 72%, rgba(0,0,0,.36));
      z-index:0;
    }
    a{
      color:inherit;
      text-decoration:none;
    }
    img{
      max-width:100%;
      display:block;
    }
    button,
    input,
    select,
    textarea{
      font:inherit;
    }
    button{
      border:0;
      background:none;
      color:inherit;
      padding:0;
      cursor:pointer;
    }
    .container{
      width:min(var(--container), calc(100% - 32px));
      margin:0 auto;
      position:relative;
      z-index:1;
    }
    .site-header{
      position:sticky;
      top:0;
      z-index:30;
      backdrop-filter:saturate(130%);
      background:rgba(8,8,11,.92);
      border-bottom:1px solid var(--line);
    }
    .header-inner{
      min-height:var(--header);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:24px;
    }
    .brand{
      display:inline-flex;
      align-items:center;
      gap:12px;
      font-weight:700;
      letter-spacing:0;
      white-space:nowrap;
      color:var(--text);
      flex:0 0 auto;
    }
    .brand-mark{
      width:12px;
      height:24px;
      border-radius:999px;
      background:
        linear-gradient(180deg, var(--accent), var(--accent-2));
      box-shadow:0 0 0 1px rgba(255,255,255,.08), 0 0 16px rgba(255,46,136,.25);
    }
    .desktop-nav{
      display:flex;
      align-items:center;
      gap:8px;
      margin-left:auto;
    }
    .nav-link{
      position:relative;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:44px;
      padding:0 16px;
      border-radius:var(--radius-sm);
      color:var(--muted);
      border:1px solid transparent;
      transition:transform .18s ease, border-color .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease;
    }
    .nav-link:hover,
    .nav-link:focus-visible{
      color:var(--text);
      border-color:rgba(255,46,136,.36);
      background:rgba(255,255,255,.03);
      transform:translateY(-1px);
      outline:none;
      box-shadow:0 0 0 1px rgba(255,46,136,.10) inset;
    }
    .nav-link.is-active{
      color:var(--text);
      border-color:rgba(255,46,136,.55);
      background:linear-gradient(180deg, rgba(255,46,136,.10), rgba(157,78,221,.08));
      box-shadow:0 0 0 1px rgba(255,46,136,.12) inset, 0 0 18px rgba(255,46,136,.08);
    }
    .nav-link.is-active::after{
      content:"";
      position:absolute;
      left:50%;
      bottom:-10px;
      width:6px;
      height:6px;
      border-radius:50%;
      transform:translateX(-50%);
      background:var(--accent);
      box-shadow:0 0 10px rgba(255,46,136,.55);
    }
    .header-note{
      font-size:13px;
      color:var(--muted-2);
      white-space:nowrap;
      margin-left:12px;
    }
    .hero{
      padding:30px 0 12px;
    }
    .hero-grid{
      display:grid;
      grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
      gap:24px;
      align-items:stretch;
      min-height:calc(100vh - var(--header) - 42px);
    }
    .hero-copy{
      display:flex;
      flex-direction:column;
      justify-content:center;
      gap:18px;
      padding:28px 0 32px;
    }
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:10px;
      width:max-content;
      padding:7px 12px;
      border:1px solid rgba(255,46,136,.28);
      background:rgba(255,46,136,.06);
      border-radius:999px;
      color:#ffd3e5;
      font-size:13px;
    }
    .eyebrow::before{
      content:"";
      width:6px;
      height:6px;
      border-radius:50%;
      background:var(--warm);
      box-shadow:0 0 12px rgba(255,183,3,.45);
    }
    h1{
      margin:0;
      font-size:clamp(30px, 4.6vw, 56px);
      line-height:1.12;
      letter-spacing:0;
      max-width:12.5ch;
    }
    .hero-copy p{
      margin:0;
      max-width:66ch;
      color:var(--muted);
      font-size:16px;
      line-height:1.8;
    }
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:4px;
    }
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:46px;
      padding:0 18px;
      border-radius:var(--radius);
      border:1px solid transparent;
      font-weight:600;
      letter-spacing:0;
      transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease, color .18s ease, filter .18s ease;
      white-space:nowrap;
    }
    .btn:hover,
    .btn:focus-visible{
      transform:translateY(-1px);
      outline:none;
    }
    .btn-primary{
      color:#fff8fb;
      background:linear-gradient(135deg, var(--accent), #ff4b97 52%, var(--accent-2));
      box-shadow:0 14px 26px rgba(255,46,136,.20);
    }
    .btn-primary:hover,
    .btn-primary:focus-visible{
      box-shadow:0 18px 32px rgba(255,46,136,.28);
      filter:saturate(1.08);
    }
    .btn-secondary{
      color:var(--text);
      background:rgba(255,255,255,.02);
      border-color:var(--line-2);
    }
    .btn-secondary:hover,
    .btn-secondary:focus-visible{
      border-color:rgba(255,46,136,.42);
      box-shadow:0 0 0 1px rgba(255,46,136,.10) inset;
    }
    .hero-badges{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
    }
    .tag{
      display:inline-flex;
      align-items:center;
      min-height:30px;
      padding:0 11px;
      border-radius:999px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.03);
      color:var(--muted);
      font-size:13px;
    }
    .hero-stats{
      display:grid;
      grid-template-columns:repeat(3, minmax(0,1fr));
      gap:12px;
      margin-top:4px;
    }
    .stat{
      padding:14px 14px 13px;
      border:1px solid var(--line);
      background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
      border-radius:var(--radius);
      min-height:82px;
    }
    .stat strong{
      display:block;
      font-size:24px;
      line-height:1.1;
      color:#fff;
      margin-bottom:6px;
    }
    .stat span{
      color:var(--muted);
      font-size:13px;
      line-height:1.55;
    }
    .hero-wall{
      display:grid;
      grid-template-columns:repeat(2, minmax(0,1fr));
      gap:12px;
      align-content:center;
      padding:8px 0 26px;
    }
    .poster-tile{
      aspect-ratio:3/4;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      padding:16px;
      border-radius:var(--radius);
      border:1px solid var(--line);
      background:
        linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025)),
        linear-gradient(160deg, rgba(255,46,136,.12), rgba(157,78,221,.05));
      box-shadow:var(--shadow-soft);
      overflow:hidden;
      position:relative;
      transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
    }
    .poster-tile:hover,
    .poster-tile:focus-visible{
      transform:translateY(-2px);
      border-color:rgba(255,46,136,.42);
      box-shadow:0 18px 32px rgba(0,0,0,.38);
      outline:none;
    }
    .poster-tile::before{
      content:"";
      position:absolute;
      inset:auto 0 0 0;
      height:1px;
      background:linear-gradient(90deg, transparent, rgba(255,46,136,.8), transparent);
      opacity:.85;
    }
    .poster-no{
      font-size:12px;
      color:#f0d9e5;
      letter-spacing:0;
    }
    .poster-title{
      display:block;
      margin-top:auto;
      font-size:18px;
      font-weight:700;
      line-height:1.25;
      max-width:8ch;
      color:#fff;
    }
    .poster-desc{
      display:block;
      margin-top:8px;
      color:var(--muted);
      font-size:13px;
      line-height:1.6;
    }
    .poster-footer{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      margin-top:10px;
      color:#ffd8e8;
      font-size:12px;
    }
    .poster-footer .arrow{
      width:26px;
      height:26px;
      border-radius:50%;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border:1px solid rgba(255,255,255,.10);
      background:rgba(255,255,255,.03);
    }
    .section{
      padding:var(--space) 0;
      scroll-margin-top:100px;
    }
    .section-head{
      display:flex;
      align-items:end;
      justify-content:space-between;
      gap:20px;
      margin-bottom:24px;
    }
    .section-head .copy{
      max-width:70ch;
    }
    .kicker{
      display:inline-flex;
      align-items:center;
      gap:10px;
      margin-bottom:12px;
      color:#ffd7e8;
      font-size:13px;
      text-transform:none;
    }
    .kicker::before{
      content:"";
      width:24px;
      height:1px;
      background:linear-gradient(90deg, var(--accent), transparent);
      box-shadow:0 0 10px rgba(255,46,136,.35);
    }
    h2{
      margin:0;
      font-size:clamp(24px, 3vw, 36px);
      line-height:1.18;
      letter-spacing:0;
    }
    .section-head p{
      margin:12px 0 0;
      color:var(--muted);
      font-size:16px;
      line-height:1.8;
    }
    .section-head .meta{
      min-width:240px;
      text-align:right;
      color:var(--muted-2);
      font-size:13px;
      line-height:1.7;
    }
    .tier-grid{
      display:grid;
      grid-template-columns:repeat(4, minmax(0,1fr));
      gap:14px;
    }
    .tier-card{
      border:1px solid var(--line);
      background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
      border-radius:var(--radius);
      padding:18px 16px 16px;
      box-shadow:var(--shadow-soft);
      position:relative;
      overflow:hidden;
      display:flex;
      flex-direction:column;
      min-height:100%;
      transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
    }
    .tier-card:hover,
    .tier-card:focus-within{
      transform:translateY(-2px);
      border-color:rgba(255,46,136,.42);
      box-shadow:0 18px 28px rgba(0,0,0,.34);
    }
    .tier-card:nth-child(2),
    .tier-card:nth-child(4){
      transform:translateY(14px);
    }
    .tier-card:nth-child(2):hover,
    .tier-card:nth-child(4):hover{
      transform:translateY(12px);
    }
    .tier-head{
      display:flex;
      align-items:start;
      justify-content:space-between;
      gap:10px;
      margin-bottom:16px;
    }
    .tier-name{
      font-size:18px;
      font-weight:700;
      line-height:1.2;
      margin:0;
    }
    .badge{
      display:inline-flex;
      align-items:center;
      min-height:26px;
      padding:0 9px;
      border-radius:999px;
      background:rgba(255,46,136,.10);
      border:1px solid rgba(255,46,136,.28);
      color:#ffd3e6;
      font-size:12px;
      white-space:nowrap;
    }
    .tier-price{
      display:flex;
      align-items:end;
      gap:8px;
      margin-bottom:10px;
      color:#fff;
    }
    .tier-price strong{
      font-size:28px;
      line-height:1;
      color:#fff;
    }
    .tier-price span{
      font-size:12px;
      color:var(--warm);
      letter-spacing:0;
    }
    .tier-desc{
      color:var(--muted);
      font-size:14px;
      line-height:1.75;
      margin:0 0 14px;
      flex:1;
    }
    .mini-list{
      display:grid;
      gap:8px;
      margin:0 0 16px;
      padding:0;
      list-style:none;
    }
    .mini-list li{
      display:flex;
      align-items:flex-start;
      gap:8px;
      color:#e8e3e7;
      font-size:13px;
      line-height:1.55;
    }
    .mini-list li::before{
      content:"";
      width:6px;
      height:6px;
      border-radius:50%;
      margin-top:8px;
      background:var(--accent);
      box-shadow:0 0 10px rgba(255,46,136,.4);
      flex:0 0 auto;
    }
    .tier-card .btn{
      width:100%;
    }
    .compare-shell{
      display:grid;
      grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
      gap:16px;
      align-items:start;
    }
    .compare-aside{
      display:grid;
      gap:12px;
    }
    .compare-spot{
      padding:16px;
      border:1px solid var(--line);
      background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
      border-radius:var(--radius);
    }
    .compare-spot strong{
      display:block;
      font-size:18px;
      margin-bottom:8px;
      color:#fff;
    }
    .compare-spot p{
      margin:0;
      color:var(--muted);
      font-size:14px;
      line-height:1.8;
    }
    .compare-spot .line{
      margin-top:14px;
      height:2px;
      border-radius:999px;
      background:linear-gradient(90deg, var(--accent), var(--accent-2));
      box-shadow:0 0 16px rgba(255,46,136,.25);
    }
    .compare-grid{
      display:grid;
      gap:12px;
    }
    .compare-table-wrap{
      overflow-x:auto;
      border:1px solid var(--line);
      border-radius:var(--radius);
      background:var(--panel);
      box-shadow:var(--shadow-soft);
    }
    .compare-table{
      width:100%;
      min-width:760px;
      border-collapse:separate;
      border-spacing:0;
    }
    .compare-table th,
    .compare-table td{
      padding:14px 14px;
      border-bottom:1px solid var(--line);
      text-align:left;
      vertical-align:top;
      font-size:14px;
      line-height:1.65;
    }
    .compare-table thead th{
      color:#fff;
      background:rgba(255,255,255,.03);
      position:relative;
    }
    .compare-table tbody th{
      color:#fff;
      width:18%;
      background:rgba(255,255,255,.02);
    }
    .compare-table td{
      color:var(--muted);
    }
    .compare-table .featured-col{
      background:linear-gradient(180deg, rgba(255,46,136,.10), rgba(255,46,136,.03));
      position:relative;
    }
    .compare-table .featured-col::before{
      content:"";
      position:absolute;
      inset:0;
      border-left:1px solid rgba(255,46,136,.22);
      border-right:1px solid rgba(255,46,136,.22);
      pointer-events:none;
    }
    .compare-table .featured-head{
      color:#fff;
      box-shadow:inset 0 2px 0 var(--accent);
    }
    .compare-table .featured-head span{
      display:inline-flex;
      margin-left:8px;
      padding:3px 8px;
      border-radius:999px;
      background:rgba(255,46,136,.12);
      border:1px solid rgba(255,46,136,.24);
      color:#ffd5e4;
      font-size:11px;
      vertical-align:middle;
    }
    .compare-table tbody tr:last-child td,
    .compare-table tbody tr:last-child th{
      border-bottom:0;
    }
    .compare-note{
      color:var(--muted-2);
      font-size:13px;
      line-height:1.7;
    }
    .limit-banner{
      border:1px solid rgba(255,46,136,.25);
      background:
        linear-gradient(135deg, rgba(255,46,136,.10), rgba(157,78,221,.06)),
        linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
      border-radius:var(--radius);
      overflow:hidden;
      box-shadow:var(--shadow);
    }
    .limit-grid{
      display:grid;
      grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
      gap:0;
    }
    .limit-copy{
      padding:26px;
      border-right:1px solid rgba(255,255,255,.08);
    }
    .limit-copy .mark{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 12px;
      border-radius:999px;
      color:#ffe3ef;
      border:1px solid rgba(255,46,136,.25);
      background:rgba(255,46,136,.07);
      font-size:13px;
    }
    .limit-copy .mark::before{
      content:"";
      width:7px;
      height:7px;
      border-radius:50%;
      background:var(--warm);
      box-shadow:0 0 10px rgba(255,183,3,.4);
    }
    .limit-copy h3{
      margin:14px 0 10px;
      font-size:clamp(22px, 2.4vw, 34px);
      line-height:1.16;
    }
    .limit-copy p{
      margin:0;
      color:var(--muted);
      font-size:15px;
      line-height:1.9;
      max-width:62ch;
    }
    .limit-actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:20px;
    }
    .limit-side{
      padding:24px;
      display:flex;
      flex-direction:column;
      justify-content:center;
      gap:16px;
    }
    .progress-block{
      display:grid;
      gap:9px;
    }
    .progress-label{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      color:#f5e8ef;
      font-size:13px;
    }
    .progress-label span{
      color:var(--warm);
    }
    .progress{
      height:8px;
      border-radius:999px;
      background:rgba(255,255,255,.08);
      overflow:hidden;
    }
    .progress em{
      display:block;
      height:100%;
      width:68%;
      border-radius:inherit;
      background:linear-gradient(90deg, var(--accent), var(--accent-2));
      box-shadow:0 0 14px rgba(255,46,136,.28);
    }
    .limit-points{
      display:grid;
      gap:10px;
      margin:0;
      padding:0;
      list-style:none;
    }
    .limit-points li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      color:var(--muted);
      font-size:14px;
      line-height:1.7;
    }
    .limit-points li::before{
      content:"";
      width:8px;
      height:8px;
      margin-top:8px;
      border-radius:50%;
      background:var(--accent);
      box-shadow:0 0 10px rgba(255,46,136,.34);
      flex:0 0 auto;
    }
    .form-grid{
      display:grid;
      grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);
      gap:18px;
      align-items:start;
    }
    .form-card,
    .info-card{
      border:1px solid var(--line);
      background:var(--panel);
      border-radius:var(--radius);
      box-shadow:var(--shadow-soft);
    }
    .form-card{
      padding:22px;
    }
    .form-title{
      margin:0 0 8px;
      font-size:22px;
      line-height:1.2;
    }
    .form-desc{
      margin:0 0 18px;
      color:var(--muted);
      font-size:14px;
      line-height:1.8;
    }
    .form-row{
      display:grid;
      grid-template-columns:repeat(2, minmax(0,1fr));
      gap:14px;
    }
    .field{
      display:grid;
      gap:8px;
      margin-bottom:14px;
    }
    .field label{
      color:#f4ecf0;
      font-size:13px;
    }
    .field input,
    .field select,
    .field textarea{
      width:100%;
      min-height:48px;
      border-radius:var(--radius-sm);
      border:1px solid rgba(255,255,255,.12);
      background:#0d0d12;
      color:var(--text);
      padding:12px 14px;
      outline:none;
      transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease, background-color .18s ease;
    }
    .field textarea{
      min-height:124px;
      resize:vertical;
    }
    .field input::placeholder,
    .field textarea::placeholder{
      color:#6d6871;
    }
    .field input:focus,
    .field select:focus,
    .field textarea:focus{
      border-color:rgba(255,46,136,.62);
      box-shadow:0 0 0 3px rgba(255,46,136,.12);
      background:#101019;
    }
    .field-inline{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
    }
    .choice{
      position:relative;
      display:inline-flex;
      align-items:center;
      min-height:40px;
      padding:0 12px;
      border-radius:999px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.03);
      color:var(--muted);
      cursor:pointer;
      transition:transform .18s ease, border-color .18s ease, color .18s ease, background-color .18s ease;
    }
    .choice input{
      position:absolute;
      inset:0;
      opacity:0;
      cursor:pointer;
    }
    .choice span{
      position:relative;
      z-index:1;
    }
    .choice:has(input:checked){
      color:#fff;
      border-color:rgba(255,46,136,.45);
      background:rgba(255,46,136,.10);
      box-shadow:0 0 0 1px rgba(255,46,136,.08) inset;
    }
    .checkbox{
      display:flex;
      align-items:flex-start;
      gap:10px;
      font-size:13px;
      color:var(--muted);
      margin-top:2px;
    }
    .checkbox input{
      width:18px;
      height:18px;
      margin-top:4px;
      accent-color:var(--accent);
      flex:0 0 auto;
    }
    .form-submit{
      display:flex;
      align-items:center;
      gap:12px;
      margin-top:16px;
      flex-wrap:wrap;
    }
    .form-hint{
      color:var(--muted-2);
      font-size:12px;
      line-height:1.6;
    }
    .form-state{
      margin-top:14px;
      display:none;
      align-items:center;
      gap:8px;
      min-height:42px;
      padding:0 14px;
      border-radius:var(--radius-sm);
      border:1px solid rgba(49,208,170,.26);
      background:rgba(49,208,170,.08);
      color:#ccf8ee;
      font-size:13px;
    }
    .form-state.is-visible{
      display:flex;
    }
    .form-state::before{
      content:"";
      width:8px;
      height:8px;
      border-radius:50%;
      background:var(--ok);
      box-shadow:0 0 10px rgba(49,208,170,.4);
      flex:0 0 auto;
    }
    .info-card{
      padding:22px;
      display:grid;
      gap:14px;
    }
    .info-card strong{
      font-size:18px;
      color:#fff;
    }
    .info-card p{
      margin:0;
      color:var(--muted);
      font-size:14px;
      line-height:1.8;
    }
    .info-list{
      display:grid;
      gap:10px;
      padding:0;
      margin:0;
      list-style:none;
    }
    .info-list li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      color:#e9e3e8;
      font-size:13px;
      line-height:1.7;
    }
    .info-list li::before{
      content:"";
      width:7px;
      height:7px;
      margin-top:8px;
      border-radius:50%;
      background:var(--warm);
      box-shadow:0 0 10px rgba(255,183,3,.32);
      flex:0 0 auto;
    }
    .news-grid{
      display:grid;
      grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
      gap:18px;
      align-items:start;
    }
    .news-list{
      border:1px solid var(--line);
      border-radius:var(--radius);
      overflow:hidden;
      background:var(--panel);
      box-shadow:var(--shadow-soft);
    }
    .news-list article{
      display:grid;
      grid-template-columns:100px minmax(0,1fr) auto;
      gap:14px;
      align-items:center;
      padding:16px 18px;
      border-bottom:1px solid var(--line);
      transition:background-color .18s ease, transform .18s ease;
    }
    .news-list article:hover{
      background:rgba(255,255,255,.03);
    }
    .news-list article:last-child{
      border-bottom:0;
    }
    .news-tag{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:28px;
      width:max-content;
      padding:0 10px;
      border-radius:999px;
      color:#ffd7e5;
      border:1px solid rgba(255,46,136,.22);
      background:rgba(255,46,136,.06);
      font-size:12px;
      white-space:nowrap;
    }
    .news-title{
      display:block;
      font-size:16px;
      font-weight:700;
      line-height:1.45;
      margin-top:4px;
      color:#fff;
    }
    .news-meta{
      color:var(--muted-2);
      font-size:12px;
      white-space:nowrap;
    }
    .news-side{
      border:1px solid var(--line);
      border-radius:var(--radius);
      padding:22px;
      background:
        linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)),
        var(--panel);
      box-shadow:var(--shadow-soft);
    }
    .news-side h3{
      margin:0 0 10px;
      font-size:20px;
      line-height:1.25;
    }
    .news-side p{
      margin:0;
      color:var(--muted);
      font-size:14px;
      line-height:1.8;
    }
    .news-side .bullet{
      display:grid;
      gap:10px;
      margin:18px 0 0;
      padding:0;
      list-style:none;
    }
    .news-side .bullet li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      color:#ece5e9;
      font-size:13px;
      line-height:1.7;
    }
    .news-side .bullet li::before{
      content:"";
      width:8px;
      height:8px;
      margin-top:8px;
      border-radius:50%;
      background:var(--accent);
      box-shadow:0 0 10px rgba(255,46,136,.3);
      flex:0 0 auto;
    }
    .faq-list{
      display:grid;
      gap:12px;
    }
    .faq-item{
      border:1px solid var(--line);
      background:var(--panel);
      border-radius:var(--radius);
      overflow:hidden;
      box-shadow:var(--shadow-soft);
    }
    .faq-item[open]{
      border-color:rgba(255,46,136,.30);
    }
    .faq-item summary{
      list-style:none;
      cursor:pointer;
      padding:18px 18px 18px 20px;
      display:flex;
      justify-content:space-between;
      align-items:flex-start;
      gap:16px;
      position:relative;
      font-size:16px;
      line-height:1.5;
      color:#fff;
    }
    .faq-item summary::-webkit-details-marker{
      display:none;
    }
    .faq-item summary::before{
      content:"";
      position:absolute;
      left:0;
      top:0;
      bottom:0;
      width:3px;
      background:transparent;
      transition:background-color .18s ease, box-shadow .18s ease;
    }
    .faq-item[open] summary::before{
      background:var(--accent);
      box-shadow:0 0 12px rgba(255,46,136,.28);
    }
    .faq-item summary .toggle{
      width:30px;
      height:30px;
      border-radius:50%;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border:1px solid var(--line);
      color:#fff;
      flex:0 0 auto;
      background:rgba(255,255,255,.03);
      transition:transform .18s ease, border-color .18s ease, background-color .18s ease;
    }
    .faq-item[open] summary .toggle{
      transform:rotate(45deg);
      border-color:rgba(255,46,136,.34);
      background:rgba(255,46,136,.08);
    }
    .faq-item .answer{
      padding:0 18px 18px 20px;
      color:var(--muted);
      font-size:14px;
      line-height:1.9;
    }
    .faq-item .answer p{
      margin:0;
    }
    .site-footer{
      margin-top:var(--space);
      border-top:1px solid var(--line);
      background:#050507;
      padding:34px 0 calc(28px + env(safe-area-inset-bottom));
      position:relative;
      z-index:1;
    }
    .footer-grid{
      display:grid;
      grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,.8fr);
      gap:22px;
      align-items:start;
    }
    .footer-brand{
      display:grid;
      gap:12px;
    }
    .footer-brand strong{
      display:block;
      font-size:20px;
      line-height:1.25;
    }
    .footer-brand p{
      margin:0;
      color:var(--muted);
      font-size:14px;
      line-height:1.8;
      max-width:50ch;
    }
    .footer-col h4{
      margin:0 0 12px;
      color:#fff;
      font-size:14px;
      letter-spacing:0;
    }
    .footer-links{
      display:grid;
      gap:10px;
      margin:0;
      padding:0;
      list-style:none;
    }
    .footer-links a{
      color:var(--muted);
      font-size:13px;
      line-height:1.7;
      transition:color .18s ease;
    }
    .footer-links a:hover,
    .footer-links a:focus-visible{
      color:#fff;
      outline:none;
    }
    .footer-note{
      margin-top:24px;
      padding-top:18px;
      border-top:1px solid var(--line);
      display:flex;
      flex-wrap:wrap;
      gap:10px 18px;
      justify-content:space-between;
      color:var(--muted-2);
      font-size:12px;
      line-height:1.8;
    }
    .mobile-tabbar{
      display:none;
    }
    .article-layout{
      display:grid;
      grid-template-columns:minmax(0,1fr) minmax(260px,320px);
      gap:18px;
    }
    .article-shell{
      max-width:860px;
      margin:0 auto;
    }
    .article-meta{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-bottom:18px;
    }
    .toc{
      border:1px solid var(--line);
      border-radius:var(--radius);
      background:var(--panel);
      padding:18px;
    }
    .toc strong{
      display:block;
      margin-bottom:10px;
      color:#fff;
    }
    .toc a{
      display:block;
      color:var(--muted);
      font-size:13px;
      line-height:1.8;
      padding:5px 0;
    }
    .toc a:hover,
    .toc a:focus-visible{
      color:#fff;
      outline:none;
    }
    :focus-visible{
      outline:2px solid rgba(255,46,136,.72);
      outline-offset:2px;
    }
    ::selection{
      background:rgba(255,46,136,.24);
      color:#fff;
    }
    ::-webkit-scrollbar{
      width:10px;
      height:10px;
    }
    ::-webkit-scrollbar-track{
      background:#09090d;
    }
    ::-webkit-scrollbar-thumb{
      background:rgba(255,255,255,.16);
      border-radius:999px;
      border:2px solid #09090d;
    }
    ::-webkit-scrollbar-thumb:hover{
      background:rgba(255,255,255,.24);
    }
    @media (max-width: 1180px){
      .hero-grid,
      .compare-shell,
      .form-grid,
      .news-grid,
      .footer-grid{
        grid-template-columns:1fr;
      }
      .section-head{
        flex-direction:column;
        align-items:flex-start;
      }
      .section-head .meta{
        text-align:left;
        min-width:0;
      }
      .compare-aside{
        order:2;
      }
      .limit-grid{
        grid-template-columns:1fr;
      }
      .limit-copy{
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.08);
      }
      .footer-note{
        flex-direction:column;
      }
    }
    @media (max-width: 960px){
      .tier-grid{
        grid-template-columns:repeat(2, minmax(0,1fr));
      }
      .tier-card:nth-child(2),
      .tier-card:nth-child(4){
        transform:none;
      }
      .desktop-nav{
        gap:4px;
      }
      .nav-link{
        padding:0 12px;
      }
      .news-list article{
        grid-template-columns:1fr;
        align-items:flex-start;
      }
      .news-meta{
        white-space:normal;
      }
    }
    @media (max-width: 767px){
      .site-header{
        border-bottom:1px solid var(--line);
      }
      .header-inner{
        min-height:68px;
        gap:12px;
      }
      .desktop-nav,
      .header-note{
        display:none;
      }
      .hero{
        padding-top:18px;
      }
      .hero-grid{
        min-height:auto;
        gap:16px;
      }
      .hero-copy{
        padding:6px 0 0;
      }
      h1{
        max-width:100%;
        font-size:clamp(30px, 9vw, 38px);
      }
      .hero-stats{
        grid-template-columns:1fr;
      }
      .hero-wall{
        grid-template-columns:repeat(2, minmax(0,1fr));
      }
      .section{
        padding:44px 0;
      }
      .tier-grid{
        grid-template-columns:1fr;
      }
      .tier-card:nth-child(2),
      .tier-card:nth-child(4){
        transform:none;
      }
      .form-row{
        grid-template-columns:1fr;
      }
      .form-card,
      .info-card,
      .news-side{
        padding:18px;
      }
      .compare-table th,
      .compare-table td{
        padding:12px 12px;
      }
      .mobile-tabbar{
        display:flex;
        position:fixed;
        left:0;
        right:0;
        bottom:0;
        z-index:50;
        padding:10px 10px calc(10px + env(safe-area-inset-bottom));
        background:rgba(7,7,10,.94);
        border-top:1px solid rgba(255,46,136,.35);
        box-shadow:0 -12px 36px rgba(0,0,0,.35);
        backdrop-filter:saturate(120%);
      }
      .tab-inner{
        width:100%;
        display:grid;
        grid-template-columns:repeat(3, minmax(0,1fr));
        gap:8px;
      }
      .tab-link{
        position:relative;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:5px;
        min-height:50px;
        padding:8px 6px;
        border-radius:var(--radius);
        border:1px solid transparent;
        color:var(--muted);
        background:rgba(255,255,255,.02);
        transition:transform .18s ease, color .18s ease, border-color .18s ease, background-color .18s ease;
      }
      .tab-link:hover,
      .tab-link:focus-visible{
        transform:translateY(-1px);
        border-color:rgba(255,46,136,.28);
        color:#fff;
        outline:none;
      }
      .tab-link.is-active{
        color:#fff;
        border-color:rgba(255,46,136,.46);
        background:linear-gradient(180deg, rgba(255,46,136,.12), rgba(157,78,221,.06));
      }
      .tab-link.is-active::after{
        content:"";
        position:absolute;
        top:7px;
        width:6px;
        height:6px;
        border-radius:50%;
        background:var(--accent);
        box-shadow:0 0 10px rgba(255,46,136,.45);
      }
      .tab-icon{
        width:18px;
        height:18px;
      }
      .tab-link span{
        font-size:11px;
        line-height:1;
      }
      body{
        padding-bottom:calc(var(--tabbar) + env(safe-area-inset-bottom));
      }
      .footer-grid{
        gap:18px;
      }
    }
    @media (max-width: 520px){
      .container{
        width:min(var(--container), calc(100% - 24px));
      }
      .hero-wall{
        gap:10px;
      }
      .poster-tile{
        padding:14px;
      }
      .poster-title{
        max-width:100%;
        font-size:16px;
      }
      .compare-table{
        min-width:700px;
      }
      .news-list article{
        padding:14px 14px 15px;
      }
      .faq-item summary{
        padding:16px 16px 16px 18px;
        font-size:15px;
      }
      .faq-item .answer{
        padding:0 16px 16px 18px;
      }
    }

/* roulang page: category2 */
:root {
            --bg: #08080B;
            --bg-soft: #111116;
            --card: #17171E;
            --card-2: #1E1E27;
            --text: #F4F1F3;
            --muted: #A8A2AA;
            --faint: #76717A;
            --line: rgba(255,255,255,.10);
            --line-strong: rgba(255,46,136,.48);
            --primary: #FF2E88;
            --primary-2: #9D4EDD;
            --amber: #FFB703;
            --green: #38D996;
            --danger: #FF5A7A;
            --radius: 6px;
            --shadow: 0 18px 60px rgba(0,0,0,.42);
            --shadow-soft: 0 12px 34px rgba(0,0,0,.25);
            --container: 1220px;
            --safe-bottom: env(safe-area-inset-bottom);
        }

        * {
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            margin: 0;
            min-height: 100vh;
            font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;
            color: var(--text);
            line-height: 1.7;
            background:
                radial-gradient(circle at 18% 0%, rgba(255,46,136,.12), transparent 28%),
                radial-gradient(circle at 82% 12%, rgba(157,78,221,.11), transparent 30%),
                linear-gradient(180deg, #08080B 0%, #0C0B10 44%, #08080B 100%);
            overflow-x: hidden;
        }

        body::before {
            content: "";
            position: fixed;
            inset: 0;
            pointer-events: none;
            background-image:
                linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
                linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
            background-size: 56px 56px;
            mask-image: linear-gradient(to bottom, rgba(0,0,0,.75), transparent 78%);
            z-index: -1;
        }

        a {
            color: inherit;
            text-decoration: none;
        }

        img, svg {
            display: block;
            max-width: 100%;
        }

        button, input, select, textarea {
            font: inherit;
        }

        button {
            cursor: pointer;
        }

        :focus-visible {
            outline: 2px solid rgba(255,46,136,.9);
            outline-offset: 3px;
        }

        .container {
            width: min(100% - 40px, var(--container));
            margin-inline: auto;
        }

        .site-header {
            position: sticky;
            top: 0;
            z-index: 50;
            background: rgba(8,8,11,.88);
            border-bottom: 1px solid var(--line);
            backdrop-filter: blur(16px);
        }

        .header-inner {
            min-height: 76px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 28px;
        }

        .brand {
            display: inline-flex;
            align-items: center;
            gap: 12px;
            min-width: 0;
            font-weight: 800;
            font-size: 18px;
            color: var(--text);
            white-space: nowrap;
        }

        .brand-mark {
            width: 13px;
            height: 34px;
            border-radius: 3px;
            background: linear-gradient(180deg, var(--primary), var(--primary-2));
            box-shadow: 0 0 18px rgba(255,46,136,.58);
        }

        .desktop-nav {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 6px;
            border: 1px solid var(--line);
            border-radius: 999px;
            background: rgba(255,255,255,.035);
        }

        .nav-link {
            position: relative;
            display: inline-flex;
            align-items: center;
            min-height: 38px;
            padding: 0 16px;
            border-radius: 999px;
            color: var(--muted);
            font-size: 14px;
            transition: color .22s ease, background .22s ease, box-shadow .22s ease;
        }

        .nav-link:hover {
            color: var(--text);
            background: rgba(255,255,255,.06);
        }

        .nav-link.is-active {
            color: #fff;
            background: rgba(255,46,136,.16);
            box-shadow: inset 0 0 0 1px rgba(255,46,136,.36), 0 0 22px rgba(255,46,136,.14);
        }

        .header-note {
            color: var(--muted);
            font-size: 13px;
            border-left: 1px solid var(--line);
            padding-left: 18px;
            white-space: nowrap;
        }

        .page-shell {
            padding-bottom: 36px;
        }

        .section {
            padding: 82px 0;
            border-bottom: 1px solid rgba(255,255,255,.055);
        }

        .section-tight {
            padding: 54px 0;
        }

        .kicker {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            color: var(--amber);
            font-size: 13px;
            font-weight: 700;
            margin-bottom: 14px;
        }

        .kicker::before {
            content: "";
            width: 28px;
            height: 2px;
            background: linear-gradient(90deg, var(--primary), var(--amber));
            box-shadow: 0 0 12px rgba(255,46,136,.6);
        }

        .hero-category {
            padding: 72px 0 42px;
        }

        .hero-layout {
            display: grid;
            grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
            gap: 42px;
            align-items: start;
        }

        .crumbs {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            align-items: center;
            color: var(--muted);
            font-size: 13px;
            margin-bottom: 18px;
        }

        .crumbs a:hover {
            color: var(--primary);
        }

        .crumbs span {
            color: var(--faint);
        }

        h1 {
            max-width: 860px;
            margin: 0;
            font-size: 52px;
            line-height: 1.08;
            font-weight: 900;
            letter-spacing: 0;
        }

        .hero-copy {
            max-width: 760px;
            margin: 22px 0 0;
            color: var(--muted);
            font-size: 17px;
        }

        .hero-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 14px;
            margin-top: 30px;
        }

        .btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            min-height: 46px;
            padding: 0 20px;
            border-radius: var(--radius);
            border: 1px solid transparent;
            color: var(--text);
            font-weight: 800;
            font-size: 14px;
            transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease, filter .22s ease;
        }

        .btn:hover {
            transform: translateY(-1px);
        }

        .btn-primary {
            background: linear-gradient(135deg, var(--primary), var(--primary-2));
            box-shadow: 0 13px 32px rgba(255,46,136,.28);
        }

        .btn-primary:hover {
            filter: brightness(1.08);
            box-shadow: 0 16px 40px rgba(255,46,136,.36);
        }

        .btn-secondary {
            background: rgba(255,255,255,.035);
            border-color: var(--line);
        }

        .btn-secondary:hover {
            border-color: rgba(255,46,136,.55);
            box-shadow: 0 0 0 4px rgba(255,46,136,.08);
        }

        .btn-small {
            min-height: 38px;
            padding-inline: 14px;
            font-size: 13px;
        }

        .hero-panel {
            position: relative;
            overflow: hidden;
            border: 1px solid var(--line);
            border-radius: var(--radius);
            background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
            box-shadow: var(--shadow);
        }

        .hero-panel::before {
            content: "";
            position: absolute;
            inset: 0 0 auto;
            height: 3px;
            background: linear-gradient(90deg, var(--primary), var(--primary-2), var(--amber));
            box-shadow: 0 0 18px rgba(255,46,136,.55);
        }

        .progress-wrap {
            display: grid;
            grid-template-columns: 170px minmax(0, 1fr);
            gap: 24px;
            padding: 30px;
            align-items: center;
        }

        .progress-ring {
            width: 156px;
            aspect-ratio: 1;
            border-radius: 50%;
            display: grid;
            place-items: center;
            background:
                radial-gradient(circle at center, var(--card) 0 57%, transparent 58%),
                conic-gradient(var(--primary) 0 76%, rgba(255,255,255,.12) 76% 100%);
            box-shadow: inset 0 0 32px rgba(0,0,0,.4), 0 0 28px rgba(255,46,136,.16);
        }

        .progress-ring strong {
            font-size: 32px;
            line-height: 1;
        }

        .progress-ring span {
            display: block;
            color: var(--muted);
            font-size: 12px;
            text-align: center;
            margin-top: 6px;
        }

        .panel-title {
            margin: 0 0 8px;
            font-size: 22px;
            line-height: 1.25;
            font-weight: 900;
        }

        .panel-desc {
            margin: 0;
            color: var(--muted);
            font-size: 14px;
        }

        .tier-preview {
            display: grid;
            gap: 10px;
            padding: 0 30px 30px;
        }

        .tier-row {
            display: grid;
            grid-template-columns: 44px 1fr auto;
            gap: 14px;
            align-items: center;
            min-height: 68px;
            padding: 12px;
            border: 1px solid var(--line);
            background: rgba(8,8,11,.42);
            border-radius: var(--radius);
        }

        .tier-no {
            color: var(--primary);
            font-weight: 900;
            font-size: 15px;
        }

        .tier-row strong {
            display: block;
            line-height: 1.25;
        }

        .tier-row small {
            color: var(--muted);
        }

        .tier-tag {
            color: var(--amber);
            font-weight: 800;
            font-size: 13px;
        }

        .filter-band {
            padding: 18px 0 28px;
            border-top: 1px solid var(--line);
            border-bottom: 1px solid var(--line);
            background: rgba(17,17,22,.58);
        }

        .filter-inner {
            display: flex;
            gap: 14px;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
        }

        .chip-row {
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
        }

        .chip {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            min-height: 34px;
            padding: 0 12px;
            border: 1px solid var(--line);
            border-radius: 999px;
            color: var(--muted);
            background: rgba(255,255,255,.025);
            font-size: 13px;
            transition: border-color .22s ease, color .22s ease, background .22s ease;
        }

        .chip:hover,
        .chip.is-active {
            color: var(--text);
            border-color: rgba(255,46,136,.55);
            background: rgba(255,46,136,.12);
        }

        .sort-box {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            color: var(--muted);
            font-size: 13px;
        }

        .sort-box select {
            min-height: 38px;
            padding: 0 34px 0 12px;
            color: var(--text);
            border: 1px solid var(--line);
            border-radius: var(--radius);
            background: #101015;
        }

        .content-split {
            display: grid;
            grid-template-columns: 270px minmax(0, 1fr);
            gap: 34px;
            align-items: start;
        }

        .side-index {
            position: sticky;
            top: 104px;
            border: 1px solid var(--line);
            border-radius: var(--radius);
            background: var(--bg-soft);
            overflow: hidden;
        }

        .side-index h2 {
            margin: 0;
            padding: 18px 18px 14px;
            font-size: 18px;
            border-bottom: 1px solid var(--line);
        }

        .index-link {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            padding: 15px 18px;
            color: var(--muted);
            border-bottom: 1px solid rgba(255,255,255,.06);
            transition: color .22s ease, background .22s ease;
        }

        .index-link:last-child {
            border-bottom: 0;
        }

        .index-link:hover,
        .index-link.is-active {
            color: var(--text);
            background: rgba(255,46,136,.105);
        }

        .index-link span:last-child {
            color: var(--primary);
            font-weight: 900;
            font-size: 12px;
        }

        .section-head {
            display: flex;
            justify-content: space-between;
            gap: 24px;
            align-items: end;
            margin-bottom: 24px;
        }

        .section-head h2 {
            margin: 0;
            font-size: 34px;
            line-height: 1.18;
            font-weight: 900;
        }

        .section-head p {
            max-width: 560px;
            margin: 0;
            color: var(--muted);
        }

        .mag-list {
            display: grid;
            gap: 16px;
        }

        .mag-item {
            position: relative;
            display: grid;
            grid-template-columns: 92px minmax(0, 1fr) auto;
            gap: 20px;
            align-items: center;
            padding: 22px;
            border: 1px solid var(--line);
            border-radius: var(--radius);
            background: linear-gradient(90deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
            overflow: hidden;
            transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease;
        }

        .mag-item::before {
            content: "";
            position: absolute;
            inset: 0 auto 0 0;
            width: 3px;
            background: transparent;
            transition: background .22s ease, box-shadow .22s ease;
        }

        .mag-item:hover {
            transform: translateY(-2px);
            border-color: rgba(255,46,136,.48);
            box-shadow: var(--shadow-soft);
            background: linear-gradient(90deg, rgba(255,46,136,.08), rgba(255,255,255,.025));
        }

        .mag-item:hover::before {
            background: var(--primary);
            box-shadow: 0 0 16px rgba(255,46,136,.75);
        }

        .mag-no {
            display: grid;
            place-items: center;
            height: 122px;
            border: 1px solid rgba(255,255,255,.09);
            border-radius: var(--radius);
            background:
                linear-gradient(145deg, rgba(255,46,136,.18), rgba(157,78,221,.08)),
                repeating-linear-gradient(135deg, rgba(255,255,255,.04) 0 1px, transparent 1px 10px);
            color: var(--text);
            font-size: 24px;
            font-weight: 900;
        }

        .mag-body h3 {
            margin: 0 0 8px;
            font-size: 24px;
            line-height: 1.28;
            font-weight: 900;
        }

        .mag-body p {
            margin: 0 0 13px;
            color: var(--muted);
            font-size: 15px;
        }

        .meta-line {
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
            color: var(--faint);
            font-size: 13px;
        }

        .tag {
            display: inline-flex;
            align-items: center;
            min-height: 25px;
            padding: 0 9px;
            border: 1px solid rgba(255,255,255,.09);
            border-radius: 999px;
            color: var(--muted);
            background: rgba(255,255,255,.025);
            font-size: 12px;
            font-weight: 700;
        }

        .tag.hot {
            color: var(--amber);
            border-color: rgba(255,183,3,.35);
            background: rgba(255,183,3,.08);
        }

        .offer-strip {
            margin: 28px 0;
            padding: 24px;
            border: 1px solid rgba(255,46,136,.36);
            border-radius: var(--radius);
            background:
                linear-gradient(90deg, rgba(255,46,136,.16), rgba(157,78,221,.08) 48%, rgba(255,183,3,.05)),
                #111116;
            box-shadow: 0 0 36px rgba(255,46,136,.08);
        }

        .offer-strip-top {
            display: flex;
            justify-content: space-between;
            gap: 18px;
            align-items: start;
            margin-bottom: 18px;
        }

        .offer-strip h2 {
            margin: 0;
            font-size: 28px;
            line-height: 1.2;
            font-weight: 900;
        }

        .offer-strip p {
            margin: 8px 0 0;
            color: var(--muted);
        }

        .offer-cards {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 12px;
        }

        .mini-offer {
            padding: 16px;
            min-height: 128px;
            border: 1px solid var(--line);
            border-radius: var(--radius);
            background: rgba(8,8,11,.46);
        }

        .mini-offer strong {
            display: block;
            margin-bottom: 8px;
            font-size: 17px;
        }

        .mini-offer p {
            margin: 0;
            font-size: 13px;
        }

        .compare-panel {
            border: 1px solid var(--line);
            border-radius: var(--radius);
            background: var(--bg-soft);
            overflow: hidden;
        }

        .compare-row {
            display: grid;
            grid-template-columns: 1.1fr repeat(3, minmax(160px, 1fr));
            border-bottom: 1px solid rgba(255,255,255,.07);
        }

        .compare-row:last-child {
            border-bottom: 0;
        }

        .compare-cell {
            min-height: 64px;
            padding: 16px;
            border-right: 1px solid rgba(255,255,255,.07);
            color: var(--muted);
            display: flex;
            align-items: center;
        }

        .compare-cell:last-child {
            border-right: 0;
        }

        .compare-cell.head {
            color: var(--text);
            font-weight: 900;
            background: rgba(255,255,255,.035);
        }

        .compare-cell.recommend {
            color: var(--text);
            background: rgba(255,46,136,.08);
        }

        .status-dot {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            margin-right: 9px;
            background: var(--green);
            box-shadow: 0 0 12px rgba(56,217,150,.6);
            flex: 0 0 auto;
        }

        .consult-grid {
            display: grid;
            grid-template-columns: .9fr 1.1fr;
            gap: 28px;
            align-items: stretch;
        }

        .promise-box,
        .form-card,
        .faq-card {
            border: 1px solid var(--line);
            border-radius: var(--radius);
            background: var(--card);
        }

        .promise-box {
            padding: 28px;
        }

        .promise-box h2 {
            margin: 0 0 14px;
            font-size: 30px;
            line-height: 1.2;
            font-weight: 900;
        }

        .promise-list {
            display: grid;
            gap: 14px;
            margin-top: 22px;
        }

        .promise-list li {
            list-style: none;
            padding: 14px 0 14px 18px;
            border-top: 1px solid rgba(255,255,255,.07);
            color: var(--muted);
            position: relative;
        }

        .promise-list li::before {
            content: "";
            position: absolute;
            left: 0;
            top: 24px;
            width: 7px;
            height: 7px;
            border-radius: 50%;
            background: var(--primary);
            box-shadow: 0 0 12px rgba(255,46,136,.75);
        }

        .form-card {
            padding: 24px;
            background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02)), var(--card);
        }

        .form-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 14px;
        }

        .field {
            display: grid;
            gap: 7px;
        }

        .field.full {
            grid-column: 1 / -1;
        }

        .field label {
            color: var(--text);
            font-size: 13px;
            font-weight: 800;
        }

        .field input,
        .field select,
        .field textarea {
            width: 100%;
            min-height: 46px;
            color: var(--text);
            background: #101015;
            border: 1px solid var(--line);
            border-radius: var(--radius);
            padding: 10px 12px;
            transition: border-color .22s ease, box-shadow .22s ease;
        }

        .field textarea {
            min-height: 110px;
            resize: vertical;
        }

        .field input:focus,
        .field select:focus,
        .field textarea:focus {
            border-color: rgba(255,46,136,.72);
            box-shadow: 0 0 0 4px rgba(255,46,136,.12);
            outline: 0;
        }

        .checkline {
            display: flex;
            gap: 10px;
            align-items: flex-start;
            color: var(--muted);
            font-size: 13px;
            margin: 16px 0;
        }

        .checkline input {
            width: 18px;
            height: 18px;
            accent-color: var(--primary);
            margin-top: 3px;
            flex: 0 0 auto;
        }

        .privacy-note {
            display: flex;
            align-items: center;
            gap: 8px;
            color: var(--muted);
            font-size: 13px;
            margin-top: 12px;
        }

        .privacy-note::before {
            content: "";
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--green);
            box-shadow: 0 0 12px rgba(56,217,150,.5);
        }

        .faq-wrap {
            display: grid;
            gap: 12px;
        }

        .faq-card {
            overflow: hidden;
            background: var(--bg-soft);
        }

        .faq-card summary {
            list-style: none;
            cursor: pointer;
            padding: 18px 20px;
            font-weight: 900;
            display: flex;
            justify-content: space-between;
            gap: 16px;
        }

        .faq-card summary::-webkit-details-marker {
            display: none;
        }

        .faq-card summary::after {
            content: "+";
            color: var(--primary);
            font-size: 20px;
            line-height: 1;
        }

        .faq-card[open] {
            border-color: rgba(255,46,136,.45);
        }

        .faq-card[open] summary::after {
            content: "−";
        }

        .faq-card p {
            margin: 0;
            padding: 0 20px 20px;
            color: var(--muted);
        }

        .cta-band {
            position: relative;
            overflow: hidden;
            padding: 34px;
            border: 1px solid rgba(255,46,136,.32);
            border-radius: var(--radius);
            background:
                linear-gradient(90deg, rgba(255,46,136,.18), rgba(157,78,221,.12)),
                repeating-linear-gradient(135deg, rgba(255,255,255,.04) 0 1px, transparent 1px 12px),
                #101015;
        }

        .cta-band::before {
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            top: 0;
            height: 3px;
            background: linear-gradient(90deg, var(--primary), var(--amber));
        }

        .cta-band h2 {
            margin: 0 0 10px;
            font-size: 32px;
            line-height: 1.2;
            font-weight: 900;
        }

        .cta-band p {
            max-width: 780px;
            margin: 0 0 22px;
            color: var(--muted);
        }

        .site-footer {
            background: #050507;
            border-top: 1px solid var(--line);
            padding: 56px 0 28px;
        }

        .footer-grid {
            display: grid;
            grid-template-columns: 1.4fr .8fr 1fr;
            gap: 34px;
        }

        .footer-brand strong {
            display: block;
            font-size: 20px;
            margin-bottom: 12px;
        }

        .footer-brand p,
        .footer-links span {
            color: var(--muted);
            margin: 0;
        }

        .footer-col h4 {
            margin: 0 0 12px;
            font-size: 15px;
        }

        .footer-links {
            display: grid;
            gap: 8px;
            padding: 0;
            margin: 0;
        }

        .footer-links li {
            list-style: none;
        }

        .footer-links a {
            color: var(--muted);
            transition: color .22s ease;
        }

        .footer-links a:hover {
            color: var(--primary);
        }

        .footer-note {
            display: flex;
            gap: 16px;
            justify-content: space-between;
            flex-wrap: wrap;
            margin-top: 34px;
            padding-top: 18px;
            border-top: 1px solid rgba(255,255,255,.07);
            color: var(--faint);
            font-size: 13px;
        }

        .mobile-tab {
            display: none;
            position: fixed;
            left: 0;
            right: 0;
            bottom: 0;
            z-index: 70;
            padding: 7px 12px calc(7px + var(--safe-bottom));
            background: rgba(8,8,11,.94);
            border-top: 1px solid rgba(255,46,136,.42);
            backdrop-filter: blur(16px);
        }

        .mobile-tab-inner {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 6px;
            max-width: 520px;
            margin: 0 auto;
        }

        .tab-link {
            position: relative;
            display: grid;
            justify-items: center;
            gap: 3px;
            min-height: 54px;
            padding: 7px 4px 5px;
            color: var(--muted);
            border-radius: var(--radius);
            font-size: 12px;
            transition: color .22s ease, background .22s ease;
        }

        .tab-link svg {
            width: 20px;
            height: 20px;
        }

        .tab-link:hover,
        .tab-link.is-active {
            color: var(--primary);
            background: rgba(255,46,136,.08);
        }

        .tab-link.is-active::before {
            content: "";
            position: absolute;
            top: 4px;
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: var(--primary);
            box-shadow: 0 0 12px rgba(255,46,136,.9);
        }

        @media (max-width: 1024px) {
            .header-note {
                display: none;
            }

            .hero-layout,
            .content-split,
            .consult-grid {
                grid-template-columns: 1fr;
            }

            .side-index {
                position: static;
            }

            .side-index h2 {
                display: none;
            }

            .side-index nav {
                display: flex;
                gap: 10px;
                overflow-x: auto;
                padding: 12px;
                scrollbar-width: thin;
            }

            .index-link {
                flex: 0 0 auto;
                min-width: 150px;
                border: 1px solid var(--line);
                border-radius: 999px;
                padding: 10px 12px;
            }

            .offer-cards {
                grid-template-columns: 1fr;
            }

            .compare-panel {
                overflow-x: auto;
            }

            .compare-row {
                min-width: 760px;
            }
        }

        @media (max-width: 768px) {
            body {
                padding-bottom: calc(76px + var(--safe-bottom));
            }

            .container {
                width: min(100% - 28px, var(--container));
            }

            .site-header {
                position: relative;
            }

            .header-inner {
                min-height: 66px;
            }

            .brand {
                font-size: 16px;
                white-space: normal;
                line-height: 1.25;
            }

            .brand-mark {
                height: 30px;
                flex: 0 0 12px;
            }

            .desktop-nav {
                display: none;
            }

            .mobile-tab {
                display: block;
            }

            .section {
                padding: 54px 0;
            }

            .hero-category {
                padding: 42px 0 28px;
            }

            h1 {
                font-size: 34px;
                line-height: 1.15;
            }

            .hero-copy {
                font-size: 15px;
            }

            .hero-actions .btn,
            .cta-band .btn {
                width: 100%;
            }

            .progress-wrap {
                grid-template-columns: 1fr;
                justify-items: center;
                text-align: center;
                padding: 24px;
            }

            .tier-preview {
                padding: 0 18px 22px;
            }

            .tier-row {
                grid-template-columns: 38px 1fr;
            }

            .tier-tag {
                grid-column: 2;
            }

            .filter-inner {
                align-items: stretch;
            }

            .chip-row {
                flex-wrap: nowrap;
                overflow-x: auto;
                padding-bottom: 2px;
            }

            .chip {
                flex: 0 0 auto;
            }

            .sort-box {
                width: 100%;
                justify-content: space-between;
            }

            .section-head {
                display: grid;
                gap: 10px;
            }

            .section-head h2,
            .cta-band h2 {
                font-size: 26px;
            }

            .mag-item {
                grid-template-columns: 64px minmax(0, 1fr);
                padding: 16px;
                gap: 14px;
            }

            .mag-no {
                height: 92px;
                font-size: 18px;
            }

            .mag-body h3 {
                font-size: 19px;
            }

            .mag-item .btn {
                grid-column: 1 / -1;
                width: 100%;
            }

            .offer-strip {
                padding: 18px;
            }

            .offer-strip-top {
                display: grid;
            }

            .form-grid {
                grid-template-columns: 1fr;
            }

            .footer-grid {
                grid-template-columns: 1fr;
            }

            .footer-note {
                display: grid;
                gap: 8px;
            }
        }

        @media (max-width: 520px) {
            .crumbs {
                font-size: 12px;
            }

            .hero-panel {
                margin-inline: -2px;
            }

            .progress-ring {
                width: 138px;
            }

            .mag-body p {
                font-size: 14px;
            }

            .meta-line {
                gap: 7px;
            }

            .cta-band {
                padding: 24px 18px;
            }
        }

/* roulang page: category1 */
:root{
            --bg:#08080B;
            --panel:#111116;
            --panel-2:#17171E;
            --line:rgba(255,255,255,.10);
            --line-strong:rgba(255,255,255,.16);
            --text:#F4F1F3;
            --muted:#A8A2AA;
            --pink:#FF2E88;
            --purple:#9D4EDD;
            --amber:#FFB703;
            --green:#27D17D;
            --danger:#FF5A7A;
            --radius:6px;
            --radius-sm:4px;
            --shadow:0 18px 50px rgba(0,0,0,.42);
            --container:1240px;
            --header-h:72px;
            --tab-h:68px;
        }
        *{box-sizing:border-box}
        html{scroll-behavior:smooth}
        body{
            margin:0;
            background:
                linear-gradient(180deg, #0b0b10 0%, #08080B 100%);
            color:var(--text);
            font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",system-ui,sans-serif;
            line-height:1.7;
            overflow-x:hidden;
        }
        a{color:inherit;text-decoration:none}
        img{max-width:100%;display:block}
        button,input,select,textarea{font:inherit}
        ::selection{background:rgba(255,46,136,.35);color:#fff}
        .container{
            width:min(var(--container), calc(100% - 32px));
            margin:0 auto;
        }
        .site-header{
            position:sticky;
            top:0;
            z-index:50;
            background:rgba(8,8,11,.96);
            border-bottom:1px solid var(--line);
            backdrop-filter:none;
        }
        .header-inner{
            min-height:var(--header-h);
            display:flex;
            align-items:center;
            gap:20px;
            justify-content:space-between;
        }
        .brand{
            display:inline-flex;
            align-items:center;
            gap:12px;
            font-weight:700;
            letter-spacing:0;
            color:var(--text);
            white-space:nowrap;
        }
        .brand-mark{
            width:12px;
            height:26px;
            border-radius:999px;
            background:linear-gradient(180deg,var(--pink),var(--purple));
            box-shadow:0 0 18px rgba(255,46,136,.35);
        }
        .desktop-nav{
            display:flex;
            align-items:center;
            gap:6px;
        }
        .nav-link{
            position:relative;
            display:inline-flex;
            align-items:center;
            min-height:40px;
            padding:0 14px;
            border:1px solid transparent;
            border-radius:999px;
            color:var(--muted);
            transition:color .18s ease,border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease;
        }
        .nav-link:hover,
        .nav-link:focus-visible{
            color:var(--text);
            border-color:rgba(255,46,136,.34);
            background:rgba(255,46,136,.08);
            outline:none;
        }
        .nav-link.is-active{
            color:var(--text);
            border-color:rgba(255,46,136,.45);
            background:rgba(255,46,136,.12);
            box-shadow:0 0 0 1px rgba(255,46,136,.12) inset;
        }
        .header-note{
            font-size:12px;
            color:var(--muted);
            border:1px solid var(--line);
            border-radius:999px;
            padding:8px 12px;
            white-space:nowrap;
        }
        main{
            padding-bottom:32px;
        }
        .hero{
            padding:40px 0 28px;
        }
        .hero-grid{
            display:grid;
            grid-template-columns:1.05fr .95fr;
            gap:28px;
            align-items:stretch;
        }
        .eyebrow{
            display:inline-flex;
            align-items:center;
            gap:10px;
            font-size:12px;
            letter-spacing:0;
            color:var(--muted);
            text-transform:none;
            margin-bottom:16px;
        }
        .eyebrow::before{
            content:"";
            width:22px;
            height:1px;
            background:linear-gradient(90deg,var(--pink),var(--purple));
            box-shadow:0 0 12px rgba(255,46,136,.35);
        }
        h1,h2,h3,h4,p{margin:0}
        h1{
            font-size:clamp(30px, 4vw, 56px);
            line-height:1.1;
            letter-spacing:0;
            max-width:10.5ch;
        }
        .hero-copy p{
            margin-top:18px;
            max-width:60ch;
            color:var(--muted);
            font-size:16px;
        }
        .cta-row{
            display:flex;
            flex-wrap:wrap;
            gap:12px;
            margin-top:24px;
        }
        .btn{
            display:inline-flex;
            align-items:center;
            justify-content:center;
            gap:10px;
            min-height:46px;
            padding:0 18px;
            border-radius:999px;
            border:1px solid transparent;
            transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
            cursor:pointer;
            white-space:nowrap;
        }
        .btn:hover,
        .btn:focus-visible{
            transform:translateY(-1px);
            outline:none;
        }
        .btn-primary{
            color:#fff;
            background:linear-gradient(135deg,var(--pink),var(--purple));
            box-shadow:0 10px 26px rgba(255,46,136,.22);
        }
        .btn-primary:hover,
        .btn-primary:focus-visible{
            box-shadow:0 12px 30px rgba(255,46,136,.28);
        }
        .btn-secondary{
            color:var(--text);
            background:transparent;
            border-color:var(--line-strong);
        }
        .btn-secondary:hover,
        .btn-secondary:focus-visible{
            border-color:rgba(255,46,136,.40);
            background:rgba(255,46,136,.06);
        }
        .hero-meta{
            display:grid;
            grid-template-columns:repeat(3,minmax(0,1fr));
            gap:10px;
            margin-top:24px;
        }
        .meta-item{
            background:var(--panel);
            border:1px solid var(--line);
            border-radius:var(--radius);
            padding:14px 14px 12px;
        }
        .meta-item .k{
            display:block;
            font-size:12px;
            color:var(--muted);
            margin-bottom:5px;
        }
        .meta-item strong{
            font-size:15px;
            color:var(--text);
            letter-spacing:0;
        }
        .hero-panel{
            background:linear-gradient(180deg, #15151c 0%, #101014 100%);
            border:1px solid var(--line);
            border-radius:var(--radius);
            padding:18px;
            box-shadow:var(--shadow);
        }
        .panel-head{
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:12px;
            padding-bottom:14px;
            border-bottom:1px solid var(--line);
            margin-bottom:14px;
        }
        .panel-head h2{
            font-size:15px;
            color:var(--text);
            letter-spacing:0;
        }
        .panel-head span{
            font-size:12px;
            color:var(--muted);
        }
        .poster-grid{
            display:grid;
            grid-template-columns:repeat(2,minmax(0,1fr));
            gap:12px;
        }
        .poster-card{
            min-height:140px;
            border-radius:var(--radius);
            border:1px solid var(--line);
            background:
                linear-gradient(160deg, rgba(255,46,136,.18), rgba(157,78,221,.10)),
                linear-gradient(180deg, #191922, #131319);
            padding:14px;
            position:relative;
            overflow:hidden;
            display:flex;
            flex-direction:column;
            justify-content:flex-end;
        }
        .poster-card::before{
            content:"";
            position:absolute;
            inset:0;
            background:
                linear-gradient(135deg, transparent 0 72%, rgba(255,255,255,.05) 72% 100%);
            pointer-events:none;
        }
        .poster-card .num{
            position:absolute;
            top:12px;
            left:12px;
            font-size:12px;
            color:rgba(244,241,243,.75);
            border:1px solid rgba(255,255,255,.12);
            border-radius:999px;
            padding:3px 8px;
            background:rgba(8,8,11,.28);
        }
        .poster-card strong{
            font-size:16px;
            margin-bottom:6px;
        }
        .poster-card p{
            font-size:13px;
            color:var(--muted);
            max-width:18ch;
        }
        .poster-card.feature{
            min-height:292px;
            grid-column:span 2;
            background:
                linear-gradient(150deg, rgba(255,46,136,.18), rgba(8,8,11,.08) 50%),
                linear-gradient(180deg, #191922 0%, #101014 100%);
        }
        .poster-card.feature .num{
            color:#fff;
            border-color:rgba(255,46,136,.35);
        }
        .poster-card.feature strong{
            font-size:22px;
            max-width:8ch;
        }
        .poster-card.feature p{
            max-width:26ch;
        }
        .soft-line{
            height:1px;
            background:linear-gradient(90deg, rgba(255,46,136,.0), rgba(255,46,136,.75), rgba(157,78,221,.0));
            margin:18px 0 0;
        }
        .section{
            padding:24px 0 0;
        }
        .section-head{
            display:flex;
            justify-content:space-between;
            align-items:flex-end;
            gap:20px;
            margin-bottom:18px;
        }
        .section-head h2{
            font-size:clamp(24px, 3vw, 34px);
            line-height:1.15;
            letter-spacing:0;
        }
        .section-head p{
            max-width:58ch;
            color:var(--muted);
            font-size:15px;
        }
        .filter-bar{
            display:flex;
            flex-wrap:wrap;
            align-items:center;
            gap:10px;
            padding:14px;
            background:var(--panel);
            border:1px solid var(--line);
            border-radius:var(--radius);
        }
        .chips{
            display:flex;
            flex-wrap:wrap;
            gap:10px;
            flex:1 1 auto;
        }
        .chip{
            display:inline-flex;
            align-items:center;
            gap:8px;
            min-height:38px;
            padding:0 14px;
            border-radius:999px;
            border:1px solid var(--line);
            color:var(--muted);
            background:transparent;
            transition:all .18s ease;
            cursor:pointer;
        }
        .chip:hover,
        .chip:focus-visible{
            border-color:rgba(255,46,136,.42);
            color:var(--text);
            background:rgba(255,46,136,.07);
            outline:none;
        }
        .chip.active{
            border-color:rgba(255,46,136,.50);
            color:var(--text);
            background:rgba(255,46,136,.12);
            box-shadow:0 0 0 1px rgba(255,46,136,.10) inset;
        }
        .sort-box{
            display:flex;
            align-items:center;
            gap:10px;
            flex:0 0 auto;
        }
        .sort-box label{
            font-size:12px;
            color:var(--muted);
        }
        .sort-box select{
            min-height:40px;
            border-radius:999px;
            border:1px solid var(--line);
            background:var(--panel-2);
            color:var(--text);
            padding:0 14px;
            outline:none;
        }
        .sort-box select:focus-visible{
            border-color:rgba(255,46,136,.50);
            box-shadow:0 0 0 3px rgba(255,46,136,.12);
        }
        .catalog-grid{
            display:grid;
            grid-template-columns:repeat(4,minmax(0,1fr));
            gap:14px;
            margin-top:16px;
        }
        .catalog-card{
            position:relative;
            display:flex;
            flex-direction:column;
            min-height:100%;
            border-radius:var(--radius);
            border:1px solid var(--line);
            background:var(--panel-2);
            overflow:hidden;
            transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
        }
        .catalog-card:hover{
            transform:translateY(-2px);
            border-color:rgba(255,46,136,.42);
            box-shadow:0 0 0 1px rgba(255,46,136,.09) inset, var(--shadow);
        }
        .catalog-card::before{
            content:"";
            display:block;
            height:4px;
            background:linear-gradient(90deg,var(--pink),var(--purple));
        }
        .catalog-media{
            aspect-ratio:5/4;
            background:
                linear-gradient(155deg, rgba(255,46,136,.20), rgba(157,78,221,.08)),
                linear-gradient(180deg, #191922 0%, #13131a 100%);
            border-bottom:1px solid var(--line);
            display:flex;
            align-items:flex-end;
            justify-content:space-between;
            padding:14px;
        }
        .catalog-media .index{
            display:inline-flex;
            align-items:center;
            justify-content:center;
            width:32px;
            height:32px;
            border-radius:999px;
            border:1px solid rgba(255,255,255,.18);
            color:#fff;
            background:rgba(8,8,11,.28);
            font-size:12px;
        }
        .catalog-media .tag{
            font-size:12px;
            color:#fff;
            border:1px solid rgba(255,255,255,.15);
            border-radius:999px;
            padding:3px 8px;
            background:rgba(8,8,11,.30);
        }
        .catalog-body{
            display:flex;
            flex-direction:column;
            gap:12px;
            padding:16px;
            height:100%;
        }
        .catalog-body h3{
            font-size:18px;
            line-height:1.2;
            letter-spacing:0;
        }
        .catalog-body p{
            color:var(--muted);
            font-size:14px;
            min-height:68px;
        }
        .tag-row{
            display:flex;
            flex-wrap:wrap;
            gap:8px;
        }
        .mini-tag{
            display:inline-flex;
            align-items:center;
            min-height:28px;
            padding:0 10px;
            border-radius:999px;
            border:1px solid var(--line);
            color:var(--muted);
            font-size:12px;
            background:rgba(255,255,255,.02);
        }
        .card-footer{
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:10px;
            margin-top:auto;
            padding-top:2px;
        }
        .card-footer .state{
            font-size:12px;
            color:var(--muted);
        }
        .card-link{
            display:inline-flex;
            align-items:center;
            justify-content:center;
            min-height:36px;
            padding:0 14px;
            border-radius:999px;
            border:1px solid rgba(255,46,136,.36);
            color:#fff;
            background:rgba(255,46,136,.10);
            transition:all .18s ease;
        }
        .card-link:hover,
        .card-link:focus-visible{
            background:rgba(255,46,136,.16);
            box-shadow:0 0 0 3px rgba(255,46,136,.10);
            outline:none;
            transform:translateY(-1px);
        }
        .promise-strip{
            margin-top:18px;
            display:grid;
            grid-template-columns:repeat(3,minmax(0,1fr));
            gap:14px;
        }
        .promise{
            background:var(--panel);
            border:1px solid var(--line);
            border-radius:var(--radius);
            padding:16px;
        }
        .promise .num{
            color:var(--pink);
            font-size:12px;
            letter-spacing:.12em;
            margin-bottom:8px;
        }
        .promise strong{
            display:block;
            font-size:16px;
            margin-bottom:6px;
        }
        .promise p{
            color:var(--muted);
            font-size:14px;
        }
        .promo-band{
            margin-top:28px;
            background:
                linear-gradient(135deg, rgba(255,46,136,.14), rgba(157,78,221,.10)),
                linear-gradient(180deg, #121219 0%, #0f0f14 100%);
            border:1px solid rgba(255,46,136,.22);
            border-radius:var(--radius);
            padding:22px;
            display:grid;
            grid-template-columns:1fr auto;
            gap:18px;
            align-items:center;
            overflow:hidden;
        }
        .promo-band h2{
            font-size:clamp(22px, 2.6vw, 32px);
            line-height:1.18;
        }
        .promo-band p{
            margin-top:10px;
            color:var(--muted);
            max-width:62ch;
        }
        .progress-line{
            margin-top:14px;
            height:3px;
            background:rgba(255,255,255,.08);
            border-radius:999px;
            overflow:hidden;
        }
        .progress-line span{
            display:block;
            width:72%;
            height:100%;
            background:linear-gradient(90deg,var(--pink),var(--purple));
            box-shadow:0 0 14px rgba(255,46,136,.35);
        }
        .faq-wrap{
            margin-top:28px;
            display:grid;
            grid-template-columns:1fr;
            gap:12px;
        }
        .faq-item{
            background:var(--panel);
            border:1px solid var(--line);
            border-radius:var(--radius);
            overflow:hidden;
        }
        .faq-item summary{
            list-style:none;
            cursor:pointer;
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:16px;
            padding:16px 18px;
            color:var(--text);
            font-weight:600;
            outline:none;
        }
        .faq-item summary::-webkit-details-marker{display:none}
        .faq-item summary::after{
            content:"+";
            width:26px;
            height:26px;
            display:inline-flex;
            align-items:center;
            justify-content:center;
            border-radius:999px;
            border:1px solid var(--line);
            color:var(--muted);
            flex:0 0 auto;
            transition:transform .18s ease, color .18s ease, border-color .18s ease;
        }
        .faq-item[open] summary{
            border-bottom:1px solid var(--line);
        }
        .faq-item[open] summary::after{
            content:"−";
            color:#fff;
            border-color:rgba(255,46,136,.34);
        }
        .faq-item[open]{
            box-shadow:0 0 0 1px rgba(255,46,136,.08) inset;
        }
        .faq-item .faq-body{
            padding:0 18px 16px;
            color:var(--muted);
            font-size:15px;
        }
        .cta-panel{
            margin-top:28px;
            background:
                linear-gradient(180deg, #14141a 0%, #101014 100%);
            border:1px solid var(--line);
            border-radius:var(--radius);
            padding:22px;
            display:grid;
            grid-template-columns:1.15fr .85fr;
            gap:18px;
            align-items:start;
        }
        .cta-panel h2{
            font-size:clamp(22px, 2.8vw, 32px);
            line-height:1.18;
        }
        .cta-panel p{
            margin-top:10px;
            color:var(--muted);
        }
        .cta-list{
            margin-top:16px;
            display:grid;
            gap:10px;
        }
        .cta-item{
            display:flex;
            gap:12px;
            align-items:flex-start;
            padding:12px 14px;
            background:rgba(255,255,255,.02);
            border:1px solid var(--line);
            border-radius:var(--radius);
        }
        .cta-dot{
            width:10px;
            height:10px;
            margin-top:6px;
            border-radius:999px;
            background:linear-gradient(180deg,var(--pink),var(--purple));
            box-shadow:0 0 12px rgba(255,46,136,.35);
            flex:0 0 auto;
        }
        .cta-item strong{
            display:block;
            margin-bottom:2px;
        }
        .cta-item span{
            display:block;
            color:var(--muted);
            font-size:13px;
        }
        .contact-card{
            background:var(--panel-2);
            border:1px solid var(--line);
            border-radius:var(--radius);
            padding:18px;
        }
        .contact-card h3{
            font-size:18px;
            margin-bottom:10px;
        }
        .contact-card .field{
            margin-top:12px;
        }
        .contact-card label{
            display:block;
            font-size:12px;
            color:var(--muted);
            margin-bottom:8px;
        }
        .contact-card input,
        .contact-card textarea{
            width:100%;
            border-radius:var(--radius);
            border:1px solid var(--line);
            background:#0d0d12;
            color:var(--text);
            padding:12px 14px;
            min-height:44px;
            outline:none;
            transition:border-color .18s ease, box-shadow .18s ease;
        }
        .contact-card textarea{
            min-height:112px;
            resize:vertical;
        }
        .contact-card input:focus,
        .contact-card textarea:focus{
            border-color:rgba(255,46,136,.46);
            box-shadow:0 0 0 3px rgba(255,46,136,.12);
        }
        .contact-card .small-note{
            margin-top:12px;
            font-size:12px;
            color:var(--muted);
        }
        .contact-card .agree{
            display:flex;
            align-items:flex-start;
            gap:10px;
            margin-top:12px;
            font-size:13px;
            color:var(--muted);
        }
        .contact-card .agree input{
            width:18px;
            height:18px;
            min-height:auto;
            margin-top:2px;
            accent-color:var(--pink);
        }
        .contact-card .actions{
            display:flex;
            gap:10px;
            flex-wrap:wrap;
            margin-top:14px;
        }
        .site-footer{
            margin-top:32px;
            background:#050509;
            border-top:1px solid var(--line);
            padding:28px 0 16px;
        }
        .footer-grid{
            display:grid;
            grid-template-columns:1.2fr .8fr .8fr;
            gap:18px;
            padding-bottom:18px;
            border-bottom:1px solid var(--line);
        }
        .footer-brand strong{
            display:block;
            font-size:18px;
            margin-bottom:10px;
        }
        .footer-brand p{
            color:var(--muted);
            max-width:40ch;
            font-size:14px;
        }
        .footer-col h4{
            font-size:14px;
            margin-bottom:12px;
        }
        .footer-links{
            list-style:none;
            margin:0;
            padding:0;
            display:grid;
            gap:10px;
        }
        .footer-links a,
        .footer-links span{
            color:var(--muted);
            font-size:14px;
        }
        .footer-links a:hover,
        .footer-links a:focus-visible{
            color:var(--text);
            outline:none;
        }
        .footer-note{
            display:flex;
            flex-wrap:wrap;
            gap:12px 18px;
            justify-content:space-between;
            align-items:center;
            padding-top:14px;
            color:var(--muted);
            font-size:12px;
        }
        .mobile-tabs{
            display:none;
            position:fixed;
            left:0;
            right:0;
            bottom:0;
            z-index:60;
            background:rgba(8,8,11,.98);
            border-top:1px solid rgba(255,46,136,.36);
            padding:8px max(10px, env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-right));
        }
        .mobile-tabs .tabs{
            display:grid;
            grid-template-columns:repeat(3,minmax(0,1fr));
            gap:8px;
        }
        .mobile-tab{
            display:flex;
            flex-direction:column;
            align-items:center;
            gap:4px;
            min-height:54px;
            border-radius:12px;
            color:var(--muted);
            padding:8px 6px;
            transition:background .18s ease,color .18s ease,transform .18s ease;
        }
        .mobile-tab:hover,
        .mobile-tab:focus-visible{
            color:var(--text);
            background:rgba(255,46,136,.08);
            outline:none;
        }
        .mobile-tab.is-active{
            color:#fff;
            background:rgba(255,46,136,.12);
            box-shadow:0 0 0 1px rgba(255,46,136,.14) inset;
        }
        .mobile-tab .dot{
            width:6px;
            height:6px;
            border-radius:999px;
            background:transparent;
        }
        .mobile-tab.is-active .dot{
            background:var(--pink);
            box-shadow:0 0 10px rgba(255,46,136,.45);
        }
        .mobile-tab span{
            font-size:12px;
            line-height:1.1;
        }
        .mobile-tab svg{
            width:18px;
            height:18px;
        }
        .page-rule{
            margin-top:22px;
            border-top:1px solid var(--line);
        }
        .subtle{
            color:var(--muted);
        }
        .badge{
            display:inline-flex;
            align-items:center;
            gap:8px;
            min-height:28px;
            padding:0 10px;
            border-radius:999px;
            border:1px solid rgba(255,183,3,.26);
            color:#ffd56b;
            background:rgba(255,183,3,.08);
            font-size:12px;
        }
        .inline-strong{
            color:#fff;
        }
        .screen-note{
            font-size:12px;
            color:var(--muted);
            margin-top:8px;
        }
        @media (max-width: 1100px){
            .hero-grid,
            .cta-panel,
            .footer-grid{
                grid-template-columns:1fr;
            }
            .catalog-grid{
                grid-template-columns:repeat(2,minmax(0,1fr));
            }
            .promise-strip{
                grid-template-columns:1fr;
            }
            .hero-panel{
                order:-1;
            }
            .hero-copy h1{
                max-width:12ch;
            }
        }
        @media (max-width: 767px){
            :root{
                --header-h:68px;
            }
            .desktop-nav,
            .header-note{
                display:none;
            }
            .hero{
                padding:24px 0 18px;
            }
            .hero-grid{
                gap:18px;
            }
            h1{
                font-size:clamp(30px, 9vw, 38px);
                max-width:100%;
            }
            .hero-copy p,
            .section-head p,
            .promo-band p,
            .cta-panel p{
                font-size:14px;
            }
            .hero-meta{
                grid-template-columns:1fr;
            }
            .poster-grid{
                grid-template-columns:1fr 1fr;
            }
            .poster-card.feature{
                min-height:230px;
            }
            .section-head{
                display:block;
            }
            .section-head p{
                margin-top:10px;
            }
            .filter-bar{
                align-items:flex-start;
            }
            .sort-box{
                width:100%;
                justify-content:space-between;
            }
            .catalog-grid{
                grid-template-columns:1fr;
            }
            .promo-band{
                grid-template-columns:1fr;
            }
            .footer-note{
                align-items:flex-start;
            }
            .mobile-tabs{
                display:block;
            }
            main{
                padding-bottom:calc(var(--tab-h) + 24px);
            }
            .site-footer{
                padding-bottom:calc(16px + env(safe-area-inset-bottom));
            }
        }
        @media (max-width: 480px){
            .container{
                width:min(var(--container), calc(100% - 24px));
            }
            .hero-meta,
            .poster-grid{
                grid-template-columns:1fr;
            }
            .poster-card.feature{
                grid-column:span 1;
            }
            .promo-band,
            .cta-panel{
                padding:18px;
            }
            .card-footer{
                flex-direction:column;
                align-items:flex-start;
            }
            .btn{
                width:100%;
            }
            .cta-row .btn{
                width:calc(50% - 6px);
            }
            .contact-card .actions .btn{
                width:100%;
            }
        }
