/* roulang page: index */
:root{
      --bg:#081018;
      --bg-2:#0c141d;
      --panel:#0f1720;
      --panel-2:#111c28;
      --line:rgba(255,255,255,.09);
      --line-2:rgba(54,214,255,.16);
      --text:#ecf4ff;
      --muted:#9db0c7;
      --soft:#7f93aa;
      --cyan:#36d6ff;
      --lime:#a6ff5f;
      --amber:#ffcf5b;
      --rose:#ff6fae;
      --radius:8px;
      --shadow:0 14px 35px rgba(0,0,0,.38);
      --shadow-soft:0 10px 24px rgba(0,0,0,.28);
    }
    html{
      scroll-behavior:smooth;
    }
    body{
      margin:0;
      color:var(--text);
      background:
        linear-gradient(180deg, rgba(8,16,24,.98), rgba(8,16,24,.98)),
        linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
      background-size:auto, 100% 28px, 28px 100%;
      background-attachment:fixed;
      font-family: Inter, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
      line-height:1.65;
      text-rendering:optimizeLegibility;
      -webkit-font-smoothing:antialiased;
    }
    *{
      box-sizing:border-box;
    }
    img{
      max-width:100%;
      display:block;
    }
    a{
      color:inherit;
      text-decoration:none;
    }
    button,
    input,
    select,
    textarea{
      font:inherit;
      color:inherit;
    }
    ::selection{
      background:rgba(54,214,255,.24);
      color:#fff;
    }
    :focus-visible{
      outline:2px solid rgba(54,214,255,.85);
      outline-offset:2px;
    }
    .container{
      width:min(100%, 1200px);
      margin-inline:auto;
      padding-inline:1rem;
    }
    @media (min-width:640px){
      .container{
        padding-inline:1.5rem;
      }
    }
    .top-strip{
      background:rgba(255,255,255,.02);
      border-bottom:1px solid var(--line);
      backdrop-filter:blur(10px);
    }
    .nav-shell{
      background:rgba(8,16,24,.72);
      border-bottom:1px solid var(--line);
      backdrop-filter:blur(14px);
      position:sticky;
      top:0;
      z-index:40;
    }
    .brand-mark{
      width:2.55rem;
      height:2.55rem;
      border-radius:8px;
      display:grid;
      place-items:center;
      background:
        linear-gradient(135deg, rgba(54,214,255,.18), rgba(166,255,95,.12));
      border:1px solid rgba(54,214,255,.22);
      box-shadow:0 0 0 1px rgba(255,255,255,.04) inset;
      color:#fff;
      font-weight:800;
      letter-spacing:0;
    }
    .nav-link{
      position:relative;
      color:#c6d4e5;
      padding:.55rem .15rem;
      transition:color .18s ease, opacity .18s ease;
    }
    .nav-link:hover,
    .nav-link:focus-visible{
      color:#fff;
    }
    .nav-link.active{
      color:#fff;
    }
    .nav-link.active::after{
      content:"";
      position:absolute;
      left:0;
      right:0;
      bottom:-.2rem;
      height:2px;
      background:linear-gradient(90deg, var(--cyan), var(--lime));
      border-radius:999px;
    }
    .panel{
      background:linear-gradient(180deg, rgba(16,27,39,.95), rgba(13,22,32,.92));
      border:1px solid var(--line);
      border-radius:var(--radius);
      box-shadow:var(--shadow-soft);
    }
    .panel-strong{
      background:linear-gradient(180deg, rgba(17,28,40,.98), rgba(11,18,26,.98));
      border:1px solid rgba(54,214,255,.18);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
    }
    .chip{
      display:inline-flex;
      align-items:center;
      gap:.4rem;
      padding:.34rem .65rem;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.10);
      background:rgba(255,255,255,.03);
      color:#d6e3f2;
      font-size:.78rem;
      line-height:1;
      white-space:nowrap;
    }
    .chip-accent{
      border-color:rgba(54,214,255,.24);
      background:rgba(54,214,255,.07);
      color:#dff9ff;
    }
    .chip-lime{
      border-color:rgba(166,255,95,.22);
      background:rgba(166,255,95,.08);
      color:#ebffd6;
    }
    .chip-amber{
      border-color:rgba(255,207,91,.22);
      background:rgba(255,207,91,.09);
      color:#fff1c7;
    }
    .chip-rose{
      border-color:rgba(255,111,174,.22);
      background:rgba(255,111,174,.08);
      color:#ffe3f0;
    }
    .btn-primary,
    .btn-secondary,
    .btn-ghost{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:.5rem;
      min-height:2.7rem;
      padding:.68rem 1rem;
      border-radius:8px;
      transition:transform .18s ease, border-color .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease, opacity .18s ease;
      border:1px solid transparent;
      white-space:nowrap;
    }
    .btn-primary{
      color:#081018;
      background:linear-gradient(135deg, var(--cyan), #7cf7ff 48%, var(--lime));
      box-shadow:0 12px 22px rgba(54,214,255,.18);
      font-weight:700;
    }
    .btn-primary:hover{
      transform:translateY(-1px);
      box-shadow:0 16px 26px rgba(54,214,255,.24);
    }
    .btn-primary:active{
      transform:translateY(0);
      opacity:.96;
    }
    .btn-secondary{
      background:rgba(255,255,255,.03);
      border-color:rgba(255,255,255,.12);
      color:#ecf4ff;
    }
    .btn-secondary:hover{
      background:rgba(255,255,255,.06);
      border-color:rgba(54,214,255,.24);
      transform:translateY(-1px);
    }
    .btn-ghost{
      background:transparent;
      border-color:rgba(255,255,255,.12);
      color:#dbe7f4;
    }
    .btn-ghost:hover{
      background:rgba(255,255,255,.04);
      border-color:rgba(255,255,255,.18);
    }
    .btn-primary:focus-visible,
    .btn-secondary:focus-visible,
    .btn-ghost:focus-visible{
      box-shadow:0 0 0 3px rgba(54,214,255,.18);
    }
    .section-title{
      font-size:clamp(1.35rem, 2vw, 2rem);
      line-height:1.18;
      font-weight:800;
      letter-spacing:0;
    }
    .section-sub{
      color:var(--muted);
      max-width:62rem;
    }
    .kicker{
      display:inline-flex;
      align-items:center;
      gap:.5rem;
      padding:.34rem .7rem;
      border-radius:999px;
      border:1px solid rgba(54,214,255,.18);
      background:rgba(54,214,255,.07);
      color:#dff9ff;
      font-size:.78rem;
      letter-spacing:0;
    }
    .tile{
      border:1px solid var(--line);
      border-radius:var(--radius);
      background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02));
      box-shadow:var(--shadow-soft);
    }
    .tile-hover{
      transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
    }
    .tile-hover:hover{
      transform:translateY(-2px);
      border-color:rgba(54,214,255,.22);
      box-shadow:0 18px 32px rgba(0,0,0,.34);
    }
    .mini-track{
      position:relative;
      overflow:hidden;
    }
    .mini-track::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(135deg, rgba(54,214,255,.08), transparent 50%),
        linear-gradient(315deg, rgba(255,111,174,.08), transparent 48%);
      pointer-events:none;
    }
    .metric-bar{
      width:100%;
      height:6px;
      border-radius:999px;
      background:rgba(255,255,255,.06);
      overflow:hidden;
    }
    .metric-bar > span{
      display:block;
      height:100%;
      border-radius:inherit;
      background:linear-gradient(90deg, var(--cyan), var(--lime));
    }
    details.faq-item{
      border:1px solid var(--line);
      border-radius:var(--radius);
      background:rgba(255,255,255,.03);
      overflow:hidden;
    }
    details.faq-item summary{
      list-style:none;
      cursor:pointer;
      padding:1rem 1.05rem;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:1rem;
      color:#eff6ff;
      font-weight:600;
    }
    details.faq-item summary::-webkit-details-marker{
      display:none;
    }
    details.faq-item summary::after{
      content:"+";
      color:#9fdfff;
      flex:0 0 auto;
      font-size:1.1rem;
      line-height:1;
    }
    details.faq-item[open] summary::after{
      content:"−";
    }
    details.faq-item .faq-body{
      padding:0 1.05rem 1rem;
      color:var(--muted);
      border-top:1px solid rgba(255,255,255,.06);
    }
    .footer-link{
      color:#c4d2e2;
      transition:color .18s ease, opacity .18s ease;
    }
    .footer-link:hover,
    .footer-link:focus-visible{
      color:#fff;
    }
    .soft-divider{
      height:1px;
      background:linear-gradient(90deg, transparent, rgba(54,214,255,.24), rgba(255,255,255,.08), transparent);
    }
    .hero-grid{
      position:relative;
      overflow:hidden;
    }
    .hero-grid::after{
      content:"";
      position:absolute;
      inset:auto -12% -20% auto;
      width:34rem;
      height:34rem;
      background:linear-gradient(135deg, rgba(54,214,255,.10), rgba(255,111,174,.08), transparent 70%);
      pointer-events:none;
      filter:blur(12px);
      opacity:.9;
    }
    .poster-slot{
      min-height:100%;
    }
    .poster-card{
      position:relative;
      overflow:hidden;
      min-height:7rem;
    }
    .poster-card::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(130deg, rgba(54,214,255,.10), transparent 42%),
        linear-gradient(320deg, rgba(166,255,95,.08), transparent 45%);
      pointer-events:none;
    }
    .poster-card::after{
      content:"";
      position:absolute;
      left:0;
      right:0;
      top:0;
      height:1px;
      background:linear-gradient(90deg, transparent, rgba(54,214,255,.38), transparent);
    }
    .tag-stack{
      display:flex;
      flex-wrap:wrap;
      gap:.5rem;
    }
    .stats-grid{
      display:grid;
      gap:.8rem;
    }
    .compare-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:.75rem;
    }
    @media (max-width: 768px){
      .compare-grid{
        grid-template-columns:1fr;
      }
    }
    .compare-card{
      border:1px solid var(--line);
      border-radius:var(--radius);
      background:rgba(255,255,255,.025);
      padding:1rem;
    }
    .compare-card strong{
      display:block;
      margin-bottom:.45rem;
    }
    .compare-row{
      display:flex;
      justify-content:space-between;
      gap:1rem;
      padding:.48rem 0;
      border-top:1px solid rgba(255,255,255,.06);
      color:#dbe7f4;
      font-size:.92rem;
    }
    .compare-row:first-of-type{
      border-top:0;
      padding-top:0;
    }
    .sticky-bar{
      backdrop-filter:blur(12px);
      box-shadow:0 -12px 30px rgba(0,0,0,.32);
    }
    .text-balance{
      text-wrap:balance;
    }
    @media (max-width: 520px){
      .mobile-stack{
        width:100%;
      }
      .mobile-stack > *{
        width:100%;
      }
    }

/* roulang page: category1 */
:root{
      --bg:#05090d;
      --bg-soft:#081119;
      --panel:#0b1520;
      --panel-2:#0d1824;
      --line:rgba(255,255,255,.08);
      --line-strong:rgba(133,241,255,.28);
      --text:#eef5fb;
      --muted:#93a4b4;
      --muted-2:#6d7f90;
      --accent:#62f0ff;
      --accent-2:#ff4fd8;
      --accent-3:#e6ff5f;
      --shadow:0 20px 50px rgba(0,0,0,.35);
      --radius:8px;
    }
    html{scroll-behavior:smooth}
    body{
      margin:0;
      color:var(--text);
      background:
        linear-gradient(180deg, rgba(8,17,25,.88), rgba(5,9,13,.98)),
        linear-gradient(90deg, rgba(98,240,255,.045) 1px, transparent 1px),
        linear-gradient(rgba(98,240,255,.045) 1px, transparent 1px),
        var(--bg);
      background-size:auto, 72px 72px, 72px 72px, auto;
      background-position:center, 0 0, 0 0, center;
      min-height:100vh;
      font-family: Inter, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
      letter-spacing:0;
    }
    body::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      background:
        linear-gradient(180deg, rgba(255,255,255,.03), transparent 16%),
        radial-gradient(circle at 15% 0%, rgba(98,240,255,.08), transparent 24%),
        radial-gradient(circle at 85% 10%, rgba(255,79,216,.06), transparent 22%);
      opacity:.9;
      z-index:-1;
    }
    *{box-sizing:border-box}
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input,summary{font:inherit}
    ::selection{background:rgba(98,240,255,.22);color:#fff}
    .container{width:100%}
    .topbar{
      background:rgba(4,8,12,.9);
      border-bottom:1px solid var(--line);
      backdrop-filter:blur(12px);
    }
    .nav-shell{
      position:relative;
      z-index:30;
      background:rgba(6,12,18,.92);
      border-bottom:1px solid var(--line);
      backdrop-filter:blur(14px);
      box-shadow:0 1px 0 rgba(255,255,255,.02) inset;
    }
    .brand-mark{
      width:2.1rem;
      height:2.1rem;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border-radius:8px;
      border:1px solid rgba(98,240,255,.4);
      background:
        linear-gradient(135deg, rgba(98,240,255,.2), rgba(255,79,216,.14)),
        rgba(255,255,255,.03);
      color:#fff;
      font-weight:800;
      letter-spacing:0;
      box-shadow:0 0 0 1px rgba(255,255,255,.04) inset;
    }
    .nav-link{
      position:relative;
      color:#cdd7df;
      padding:.35rem 0;
      transition:color .18s ease, opacity .18s ease;
      white-space:nowrap;
    }
    .nav-link:hover,.nav-link:focus-visible{color:#fff;opacity:1}
    .nav-link.active{
      color:#fff;
    }
    .nav-link.active::after{
      content:"";
      position:absolute;
      left:0;
      right:0;
      bottom:-.35rem;
      height:2px;
      border-radius:999px;
      background:linear-gradient(90deg, var(--accent), rgba(255,255,255,.9));
      box-shadow:0 0 12px rgba(98,240,255,.38);
    }
    .btn-primary,.btn-secondary,.filter-btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:.45rem;
      min-height:2.75rem;
      border-radius:8px;
      padding:.7rem 1rem;
      transition:transform .16s ease, border-color .16s ease, background-color .16s ease, color .16s ease, box-shadow .16s ease, opacity .16s ease;
      border:1px solid transparent;
      cursor:pointer;
      line-height:1;
      letter-spacing:0;
      user-select:none;
    }
    .btn-primary{
      color:#051119;
      background:linear-gradient(135deg, var(--accent), rgba(230,255,95,.9));
      box-shadow:0 10px 28px rgba(98,240,255,.2), 0 0 0 1px rgba(255,255,255,.08) inset;
      font-weight:700;
    }
    .btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 30px rgba(98,240,255,.25), 0 0 0 1px rgba(255,255,255,.12) inset}
    .btn-primary:active{transform:translateY(0)}
    .btn-primary:focus-visible,
    .btn-secondary:focus-visible,
    .filter-btn:focus-visible,
    input:focus-visible,
    summary:focus-visible,
    a:focus-visible{
      outline:none;
      box-shadow:0 0 0 3px rgba(98,240,255,.18), 0 0 0 1px rgba(98,240,255,.42) inset;
    }
    .btn-primary:disabled,.btn-secondary:disabled,.filter-btn:disabled{
      opacity:.42;
      cursor:not-allowed;
      transform:none;
      box-shadow:none;
    }
    .btn-secondary{
      color:#eef5fb;
      background:rgba(255,255,255,.02);
      border-color:var(--line);
    }
    .btn-secondary:hover{
      transform:translateY(-1px);
      border-color:rgba(98,240,255,.28);
      background:rgba(255,255,255,.04);
    }
    .chip{
      display:inline-flex;
      align-items:center;
      gap:.35rem;
      padding:.38rem .7rem;
      border-radius:999px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.03);
      color:#d7e2ea;
      font-size:.78rem;
      line-height:1;
      white-space:nowrap;
    }
    .chip-lime{
      border-color:rgba(230,255,95,.22);
      background:rgba(230,255,95,.08);
      color:#efffa1;
    }
    .chip-accent{
      border-color:rgba(98,240,255,.28);
      background:rgba(98,240,255,.08);
      color:#b9fbff;
    }
    .footer-link{
      color:#a5b3c0;
      transition:color .16s ease, transform .16s ease;
    }
    .footer-link:hover,.footer-link:focus-visible{color:#fff;transform:translateX(2px)}
    .section-shell{
      padding:2.75rem 0;
    }
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      padding:.34rem .65rem;
      border-radius:999px;
      border:1px solid rgba(98,240,255,.2);
      background:rgba(98,240,255,.06);
      color:#c8fbff;
      font-size:.75rem;
      letter-spacing:0;
    }
    .panel{
      background:linear-gradient(180deg, rgba(13,24,36,.96), rgba(8,16,25,.95));
      border:1px solid var(--line);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
    }
    .panel-soft{
      background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.01));
      border:1px solid var(--line);
      border-radius:var(--radius);
    }
    .hero-title{
      font-size:clamp(2rem, 4vw, 3.75rem);
      line-height:1.08;
      letter-spacing:0;
    }
    .sub-copy{
      color:var(--muted);
      line-height:1.85;
    }
    .hero-stat{
      min-width:6.9rem;
      border-radius:8px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.03);
      padding:.8rem .85rem;
    }
    .stat-label{
      display:block;
      color:var(--muted-2);
      font-size:.72rem;
      margin-bottom:.35rem;
    }
    .stat-value{
      display:block;
      font-weight:700;
      color:#fff;
      letter-spacing:0;
    }
    .bento-card{
      position:relative;
      overflow:hidden;
      border-radius:8px;
      border:1px solid var(--line);
      background:
        linear-gradient(145deg, rgba(255,255,255,.04), rgba(255,255,255,.02)),
        linear-gradient(180deg, rgba(13,24,36,.95), rgba(9,15,23,.98));
      box-shadow:var(--shadow);
    }
    .bento-card::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(90deg, rgba(98,240,255,.12), transparent 30%),
        linear-gradient(180deg, transparent 0, rgba(255,255,255,.02) 100%);
      opacity:.55;
      pointer-events:none;
    }
    .bento-grid{
      display:grid;
      gap:.85rem;
      grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .poster-card{
      position:relative;
      display:flex;
      flex-direction:column;
      height:100%;
      overflow:hidden;
      border-radius:8px;
      border:1px solid rgba(255,255,255,.08);
      background:linear-gradient(180deg, rgba(13,24,36,.96), rgba(8,16,25,.97));
      transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
      box-shadow:0 10px 24px rgba(0,0,0,.2);
    }
    .poster-card:hover{
      transform:translateY(-2px);
      border-color:rgba(98,240,255,.24);
      box-shadow:0 14px 28px rgba(0,0,0,.25), 0 0 0 1px rgba(98,240,255,.08) inset;
    }
    .poster-visual{
      position:relative;
      min-height:9.25rem;
      overflow:hidden;
      border-radius:8px;
      border:1px solid rgba(255,255,255,.08);
      background:
        linear-gradient(135deg, rgba(98,240,255,.18), rgba(255,79,216,.08)),
        repeating-linear-gradient(135deg, rgba(255,255,255,.06) 0 2px, transparent 2px 10px),
        linear-gradient(180deg, #0f1b28, #0b141d);
    }
    .poster-visual::after{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(180deg, transparent 0 58%, rgba(5,9,13,.95) 100%),
        linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
      background-size:auto, 18px 18px;
      opacity:.8;
      pointer-events:none;
    }
    .poster-flag{
      display:inline-flex;
      align-items:center;
      gap:.35rem;
      padding:.34rem .55rem;
      border-radius:999px;
      background:rgba(5,9,13,.68);
      border:1px solid rgba(98,240,255,.18);
      color:#dafcff;
      font-size:.72rem;
      backdrop-filter:blur(10px);
    }
    .status-pill{
      display:inline-flex;
      align-items:center;
      gap:.35rem;
      padding:.32rem .55rem;
      border-radius:999px;
      background:rgba(230,255,95,.1);
      border:1px solid rgba(230,255,95,.18);
      color:#efffa1;
      font-size:.72rem;
      white-space:nowrap;
    }
    .card-summary{
      color:var(--muted);
      line-height:1.75;
      display:-webkit-box;
      -webkit-line-clamp:3;
      -webkit-box-orient:vertical;
      overflow:hidden;
      min-height:5.1rem;
    }
    .meta-line{
      display:flex;
      flex-wrap:wrap;
      gap:.45rem;
      color:#aab8c6;
      font-size:.74rem;
    }
    .meta-item{
      display:inline-flex;
      align-items:center;
      gap:.3rem;
      padding:.32rem .55rem;
      border-radius:999px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.025);
      white-space:nowrap;
    }
    .filter-btn{
      min-height:2.35rem;
      padding:.55rem .85rem;
      color:#d8e1e8;
      background:rgba(255,255,255,.02);
      border-color:var(--line);
      font-size:.88rem;
    }
    .filter-btn:hover{
      transform:translateY(-1px);
      border-color:rgba(98,240,255,.24);
      background:rgba(255,255,255,.04);
    }
    .filter-btn.active{
      color:#051119;
      border-color:transparent;
      background:linear-gradient(135deg, var(--accent), rgba(230,255,95,.95));
      box-shadow:0 10px 20px rgba(98,240,255,.18);
      font-weight:700;
    }
    .search-wrap{
      position:relative;
      min-width:min(100%, 22rem);
    }
    .search-wrap i{
      position:absolute;
      left:.85rem;
      top:50%;
      transform:translateY(-50%);
      color:#9ab0c0;
      pointer-events:none;
    }
    input[type="search"]{
      width:100%;
      min-height:2.85rem;
      border-radius:8px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.03);
      color:#f2f8fd;
      padding:.72rem .95rem .72rem 2.55rem;
      transition:border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
    }
    input[type="search"]::placeholder{color:#7f919f}
    input[type="search"]:hover{border-color:rgba(98,240,255,.18)}
    input[type="search"]:focus{
      border-color:rgba(98,240,255,.34);
      background:rgba(255,255,255,.05);
      outline:none;
      box-shadow:0 0 0 3px rgba(98,240,255,.14);
    }
    .faq-item{
      overflow:hidden;
      border-radius:8px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.025);
    }
    .faq-item + .faq-item{margin-top:.85rem}
    .faq-item summary{
      list-style:none;
      cursor:pointer;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:1rem;
      padding:1rem 1.1rem;
      color:#f3f8fc;
      font-weight:600;
    }
    .faq-item summary::-webkit-details-marker{display:none}
    .faq-item .faq-body{
      padding:0 1.1rem 1rem 1.1rem;
      color:var(--muted);
      line-height:1.8;
    }
    .faq-icon{
      flex:none;
      width:1.1rem;
      height:1.1rem;
      color:#9defff;
      transition:transform .18s ease;
    }
    .faq-item[open] .faq-icon{transform:rotate(90deg)}
    .cta-banner{
      position:relative;
      overflow:hidden;
    }
    .cta-banner::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(135deg, rgba(98,240,255,.12), transparent 35%),
        linear-gradient(225deg, rgba(255,79,216,.08), transparent 40%);
      pointer-events:none;
    }
    .empty-state{
      border:1px dashed rgba(98,240,255,.22);
      background:rgba(255,255,255,.02);
      border-radius:8px;
      padding:1.5rem;
      color:var(--muted);
      text-align:center;
    }
    .footer-link, .chip, .nav-link, .btn-primary, .btn-secondary, .filter-btn, input, summary{
      -webkit-tap-highlight-color:transparent;
    }
    @media (max-width: 1024px){
      .hero-title{font-size:clamp(1.8rem, 4vw, 3rem)}
    }
    @media (max-width: 768px){
      .section-shell{padding:2.25rem 0}
      .bento-grid{grid-template-columns:1fr}
      .search-wrap{min-width:100%}
    }
    @media (max-width: 520px){
      .hero-title{font-size:1.9rem}
      .nav-link.active::after{bottom:-.25rem}
      .btn-primary,.btn-secondary{width:100%}
      .filter-btn{flex:1 1 calc(50% - .35rem)}
    }
