/* roulang page: index */
:root {
      --bg: #09090b;
      --bg-soft: #0e1018;
      --panel: #11131c;
      --panel-2: #151722;
      --text: #f7f7fb;
      --muted: #b6b9c8;
      --weak: #85899a;
      --line: rgba(217, 70, 239, 0.26);
      --line-cyan: rgba(34, 211, 238, 0.28);
      --purple: #d946ef;
      --pink: #e879f9;
      --cyan: #22d3ee;
      --teal: #2dd4bf;
      --amber: #f59e0b;
      --danger: #fb7185;
      --radius: 8px;
      --radius-lg: 10px;
      --shadow: 0 24px 80px rgba(0, 0, 0, 0.38);
      --glow: 0 0 28px rgba(217, 70, 239, 0.28);
      --container: 1220px;
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      min-height: 100vh;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
      line-height: 1.65;
      color: var(--text);
      background:
        radial-gradient(circle at 18% 8%, rgba(217, 70, 239, 0.18), transparent 34%),
        radial-gradient(circle at 85% 20%, rgba(34, 211, 238, 0.14), transparent 32%),
        linear-gradient(135deg, rgba(255,255,255,0.035) 0 1px, transparent 1px 22px),
        var(--bg);
      overflow-x: hidden;
      padding-bottom: 0;
    }

    body::before {
      content: "";
      position: fixed;
      inset: 0;
      pointer-events: none;
      background:
        linear-gradient(90deg, transparent, rgba(255,255,255,0.035), transparent),
        repeating-linear-gradient(0deg, rgba(255,255,255,0.025) 0 1px, transparent 1px 6px);
      mix-blend-mode: screen;
      opacity: .34;
      z-index: 0;
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    img,
    svg {
      max-width: 100%;
      display: block;
    }

    button,
    input,
    select,
    textarea {
      font: inherit;
    }

    button {
      cursor: pointer;
    }

    .site-shell {
      position: relative;
      z-index: 1;
    }

    .container {
      width: min(var(--container), calc(100% - 40px));
      margin-inline: auto;
    }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 50;
      border-bottom: 1px solid rgba(255,255,255,.08);
      background: rgba(9, 9, 11, .76);
      backdrop-filter: blur(18px);
    }

    .nav-wrap {
      height: 72px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 22px;
    }

    .brand {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      min-width: 0;
      font-weight: 900;
      color: var(--text);
      white-space: nowrap;
    }

    .brand-mark {
      width: 34px;
      height: 34px;
      border-radius: 8px;
      display: grid;
      place-items: center;
      color: #09090b;
      font-weight: 900;
      background: linear-gradient(135deg, var(--cyan), var(--purple));
      box-shadow: 0 0 24px rgba(34, 211, 238, .32);
    }

    .brand-name {
      font-size: 18px;
    }

    .desktop-nav {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      padding: 6px;
      border: 1px solid rgba(255,255,255,.08);
      border-radius: 999px;
      background: rgba(17,19,28,.72);
    }

    .nav-link {
      position: relative;
      min-height: 42px;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 0 16px;
      border-radius: 999px;
      color: var(--muted);
      font-size: 14px;
      font-weight: 700;
      transition: color .2s ease, background .2s ease, box-shadow .2s ease;
    }

    .nav-link:hover,
    .nav-link:focus-visible {
      color: var(--text);
      background: rgba(255,255,255,.07);
      outline: none;
    }

    .nav-link.active {
      color: var(--text);
      background: linear-gradient(135deg, rgba(217,70,239,.26), rgba(34,211,238,.16));
      box-shadow: inset 0 0 0 1px rgba(232,121,249,.34);
    }

    .top-action {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 42px;
      padding: 0 18px;
      border-radius: 999px;
      font-size: 14px;
      font-weight: 800;
      color: #09090b;
      background: linear-gradient(135deg, var(--cyan), var(--purple) 58%, var(--pink));
      box-shadow: var(--glow);
      transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
    }

    .top-action:hover,
    .top-action:focus-visible {
      transform: translateY(-1px);
      filter: brightness(1.1);
      box-shadow: 0 0 34px rgba(34, 211, 238, .32), 0 0 30px rgba(217, 70, 239, .26);
      outline: none;
    }

    .top-action:active,
    .btn:active {
      transform: translateY(0);
    }

    main {
      overflow: hidden;
    }

    section {
      padding: 82px 0;
    }

    .hero {
      position: relative;
      min-height: calc(100vh - 72px);
      padding: 54px 0 86px;
      display: flex;
      align-items: center;
    }

    .hero::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      height: 110px;
      background: linear-gradient(180deg, transparent, rgba(9,9,11,.95));
      pointer-events: none;
    }

    .hero-stage {
      position: relative;
      display: grid;
      grid-template-columns: minmax(0, 1.06fr) minmax(360px, .94fr);
      gap: 28px;
      align-items: stretch;
    }

    .hero-copy {
      position: relative;
      min-height: 560px;
      padding: 42px;
      border: 1px solid var(--line);
      border-radius: var(--radius-lg);
      background:
        linear-gradient(120deg, rgba(255,255,255,.08), transparent 34%),
        linear-gradient(180deg, rgba(17,19,28,.96), rgba(10,11,17,.92));
      box-shadow: var(--shadow);
      overflow: hidden;
    }

    .hero-copy::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(115deg, transparent 0 38%, rgba(34,211,238,.12) 45%, transparent 52%),
        radial-gradient(circle at 18% 14%, rgba(232,121,249,.18), transparent 28%);
      opacity: .88;
      pointer-events: none;
    }

    .hero-content {
      position: relative;
      z-index: 2;
      max-width: 680px;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      min-height: 30px;
      padding: 4px 10px;
      border: 1px solid rgba(34,211,238,.32);
      border-radius: 999px;
      color: var(--cyan);
      background: rgba(34,211,238,.08);
      font-size: 13px;
      font-weight: 800;
    }

    .status-dot {
      width: 7px;
      height: 7px;
      border-radius: 999px;
      background: var(--teal);
      box-shadow: 0 0 18px rgba(45,212,191,.95);
    }

    h1 {
      margin: 22px 0 18px;
      max-width: 740px;
      font-size: clamp(34px, 5vw, 58px);
      line-height: 1.08;
      font-weight: 900;
      letter-spacing: 0;
    }

    .hero-text {
      max-width: 680px;
      color: var(--muted);
      font-size: 17px;
    }

    .hero-actions,
    .section-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 28px;
    }

    .btn {
      min-height: 48px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      padding: 0 20px;
      border-radius: 8px;
      border: 1px solid transparent;
      font-size: 15px;
      font-weight: 850;
      transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease, color .2s ease;
    }

    .btn-primary {
      color: #09090b;
      background: linear-gradient(135deg, var(--cyan), var(--purple) 56%, var(--pink));
      box-shadow: 0 0 28px rgba(217,70,239,.26);
    }

    .btn-primary:hover,
    .btn-primary:focus-visible {
      transform: translateY(-1px);
      filter: brightness(1.09);
      box-shadow: 0 0 40px rgba(217,70,239,.34);
      outline: none;
    }

    .btn-ghost {
      color: var(--text);
      border-color: rgba(34,211,238,.34);
      background: rgba(17,19,28,.74);
    }

    .btn-ghost:hover,
    .btn-ghost:focus-visible {
      transform: translateY(-1px);
      border-color: rgba(34,211,238,.72);
      box-shadow: 0 0 24px rgba(34,211,238,.18);
      outline: none;
    }

    .hero-data {
      position: relative;
      z-index: 2;
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
      margin-top: 44px;
    }

    .data-chip {
      padding: 16px;
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 8px;
      background: rgba(9,9,11,.56);
    }

    .data-chip strong {
      display: block;
      font-size: 24px;
      line-height: 1.1;
      font-weight: 900;
      color: var(--text);
    }

    .data-chip span {
      display: block;
      margin-top: 6px;
      color: var(--weak);
      font-size: 13px;
    }

    .hero-board {
      display: grid;
      gap: 14px;
    }

    .board-card {
      position: relative;
      padding: 20px;
      border: 1px solid rgba(255,255,255,.1);
      border-radius: var(--radius-lg);
      background: linear-gradient(180deg, rgba(21,23,34,.94), rgba(13,15,22,.94));
      box-shadow: 0 18px 58px rgba(0,0,0,.32);
      overflow: hidden;
    }

    .board-card::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(110deg, transparent 0 42%, rgba(255,255,255,.07) 49%, transparent 56%);
      transform: translateX(-70%);
      animation: scan 6s ease-in-out infinite;
      pointer-events: none;
    }

    @keyframes scan {
      0%, 55% { transform: translateX(-78%); opacity: 0; }
      70% { opacity: 1; }
      100% { transform: translateX(78%); opacity: 0; }
    }

    .board-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 16px;
    }

    .board-title {
      font-size: 16px;
      font-weight: 900;
    }

    .badge {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 26px;
      padding: 3px 9px;
      border-radius: 999px;
      border: 1px solid rgba(232,121,249,.32);
      color: #f8d5ff;
      background: rgba(217,70,239,.11);
      font-size: 12px;
      font-weight: 800;
      white-space: nowrap;
    }

    .badge.cyan {
      border-color: rgba(34,211,238,.34);
      color: #c8f7ff;
      background: rgba(34,211,238,.1);
    }

    .badge.amber {
      border-color: rgba(245,158,11,.38);
      color: #ffe2a8;
      background: rgba(245,158,11,.1);
    }

    .metrics-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0,1fr));
      gap: 12px;
    }

    .metric {
      padding: 16px;
      border: 1px solid rgba(255,255,255,.08);
      border-radius: 8px;
      background: rgba(9,9,11,.44);
    }

    .metric b {
      display: block;
      font-size: 28px;
      line-height: 1;
      font-weight: 900;
    }

    .metric span {
      display: block;
      margin-top: 8px;
      color: var(--weak);
      font-size: 13px;
    }

    .heat-list {
      display: grid;
      gap: 12px;
    }

    .heat-row {
      display: grid;
      grid-template-columns: 88px 1fr 42px;
      align-items: center;
      gap: 12px;
      color: var(--muted);
      font-size: 13px;
    }

    .bar {
      height: 8px;
      overflow: hidden;
      border-radius: 999px;
      background: rgba(255,255,255,.08);
    }

    .bar i {
      display: block;
      height: 100%;
      border-radius: inherit;
      background: linear-gradient(90deg, var(--cyan), var(--purple));
      box-shadow: 0 0 18px rgba(34,211,238,.34);
    }

    .section-head {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 26px;
      margin-bottom: 28px;
    }

    .section-kicker {
      color: var(--cyan);
      font-size: 13px;
      font-weight: 900;
    }

    .section-title {
      margin-top: 8px;
      font-size: clamp(26px, 3.5vw, 38px);
      line-height: 1.18;
      font-weight: 900;
    }

    .section-desc {
      max-width: 680px;
      color: var(--muted);
      font-size: 16px;
    }

    .steps {
      display: grid;
      grid-template-columns: 1.05fr .95fr;
      gap: 18px;
      align-items: stretch;
    }

    .step-panel,
    .side-panel,
    .form-panel {
      border: 1px solid rgba(255,255,255,.1);
      border-radius: var(--radius-lg);
      background: linear-gradient(180deg, rgba(17,19,28,.94), rgba(12,13,20,.92));
      box-shadow: 0 18px 60px rgba(0,0,0,.28);
    }

    .step-panel {
      padding: 24px;
    }

    .step-item {
      display: grid;
      grid-template-columns: 42px 1fr auto;
      gap: 16px;
      align-items: start;
      padding: 18px 0;
      border-bottom: 1px solid rgba(255,255,255,.08);
    }

    .step-item:last-child {
      border-bottom: 0;
    }

    .step-num {
      width: 42px;
      height: 42px;
      border-radius: 8px;
      display: grid;
      place-items: center;
      color: #09090b;
      font-weight: 900;
      background: linear-gradient(135deg, var(--cyan), var(--purple));
    }

    .step-item h3,
    .deal-card h3,
    .matrix-card h3,
    .news-main h3,
    .quote-card h3 {
      margin: 0 0 6px;
      font-size: 18px;
      line-height: 1.35;
      font-weight: 900;
    }

    .step-item p,
    .deal-card p,
    .matrix-card p,
    .news-main p,
    .quote-card p {
      margin: 0;
      color: var(--muted);
      font-size: 14px;
    }

    .progress-box {
      padding: 24px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      gap: 18px;
    }

    .progress-ring {
      aspect-ratio: 1 / 1;
      width: min(260px, 100%);
      margin: 0 auto;
      border-radius: 999px;
      display: grid;
      place-items: center;
      background:
        conic-gradient(var(--purple) 0 74%, rgba(255,255,255,.08) 74% 100%);
      box-shadow: 0 0 34px rgba(217,70,239,.22);
    }

    .progress-ring-inner {
      width: 76%;
      aspect-ratio: 1 / 1;
      border-radius: inherit;
      display: grid;
      place-items: center;
      text-align: center;
      background: var(--panel);
      border: 1px solid rgba(255,255,255,.08);
    }

    .progress-ring strong {
      display: block;
      font-size: 42px;
      line-height: 1;
      font-weight: 900;
    }

    .progress-ring span {
      display: block;
      margin-top: 8px;
      color: var(--weak);
      font-size: 13px;
    }

    .deal-grid {
      display: grid;
      grid-template-columns: 1.2fr .8fr;
      gap: 18px;
    }

    .deal-list {
      display: grid;
      gap: 14px;
    }

    .deal-card {
      position: relative;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 18px;
      padding: 20px;
      border: 1px solid rgba(255,255,255,.1);
      border-radius: var(--radius-lg);
      background: rgba(17,19,28,.9);
      transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
    }

    .deal-card:hover {
      transform: translateY(-2px);
      border-color: rgba(34,211,238,.42);
      box-shadow: 0 0 28px rgba(34,211,238,.12);
    }

    .deal-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 12px;
    }

    .deal-score {
      min-width: 108px;
      padding: 14px;
      border: 1px solid rgba(217,70,239,.24);
      border-radius: 8px;
      background: rgba(217,70,239,.08);
      text-align: center;
    }

    .deal-score strong {
      display: block;
      font-size: 28px;
      line-height: 1;
      font-weight: 900;
    }

    .deal-score span {
      color: var(--weak);
      font-size: 12px;
    }

    .side-panel {
      padding: 22px;
    }

    .check-list {
      display: grid;
      gap: 12px;
      margin-top: 18px;
    }

    .check-item {
      display: flex;
      gap: 10px;
      align-items: flex-start;
      color: var(--muted);
      font-size: 14px;
    }

    .check-icon {
      flex: 0 0 22px;
      width: 22px;
      height: 22px;
      border-radius: 6px;
      display: grid;
      place-items: center;
      color: #09090b;
      background: var(--teal);
      font-weight: 900;
      font-size: 12px;
    }

    .matrix-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0,1fr));
      gap: 16px;
    }

    .matrix-card {
      position: relative;
      min-height: 220px;
      padding: 20px;
      border: 1px solid rgba(255,255,255,.1);
      border-radius: var(--radius-lg);
      background: linear-gradient(180deg, rgba(21,23,34,.92), rgba(12,13,20,.92));
      transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
      overflow: hidden;
    }

    .matrix-card:hover {
      transform: translateY(-2px);
      border-color: rgba(232,121,249,.42);
      box-shadow: 0 0 30px rgba(217,70,239,.16);
    }

    .matrix-top {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 18px;
    }

    .icon-box {
      width: 42px;
      height: 42px;
      border-radius: 8px;
      display: grid;
      place-items: center;
      color: var(--cyan);
      border: 1px solid rgba(34,211,238,.26);
      background: rgba(34,211,238,.08);
    }

    .mini-progress {
      margin-top: 18px;
    }

    .mini-progress span {
      display: flex;
      justify-content: space-between;
      color: var(--weak);
      font-size: 12px;
      margin-bottom: 7px;
    }

    .compare-grid {
      display: grid;
      grid-template-columns: .9fr 1.1fr;
      gap: 18px;
    }

    .compare-panel {
      padding: 22px;
      border: 1px solid rgba(255,255,255,.1);
      border-radius: var(--radius-lg);
      background: rgba(17,19,28,.88);
    }

    .compare-panel.highlight {
      border-color: rgba(34,211,238,.34);
      box-shadow: 0 0 34px rgba(34,211,238,.12);
      background:
        linear-gradient(135deg, rgba(34,211,238,.1), transparent 35%),
        rgba(17,19,28,.92);
    }

    .compare-row {
      display: grid;
      grid-template-columns: 130px 1fr;
      gap: 14px;
      align-items: center;
      padding: 14px 0;
      border-bottom: 1px solid rgba(255,255,255,.08);
    }

    .compare-row:last-child {
      border-bottom: 0;
    }

    .compare-row span:first-child {
      color: var(--weak);
      font-size: 13px;
      font-weight: 700;
    }

    .compare-row span:last-child {
      color: var(--text);
      font-weight: 800;
    }

    .news-layout {
      display: grid;
      grid-template-columns: 1fr 360px;
      gap: 18px;
      align-items: start;
    }

    .news-list {
      border: 1px solid rgba(255,255,255,.1);
      border-radius: var(--radius-lg);
      overflow: hidden;
      background: rgba(17,19,28,.88);
    }

    .news-item {
      display: grid;
      grid-template-columns: 118px 1fr auto;
      gap: 16px;
      align-items: center;
      padding: 18px 20px;
      border-bottom: 1px solid rgba(255,255,255,.08);
      transition: background .2s ease;
    }

    .news-item:last-child {
      border-bottom: 0;
    }

    .news-item:hover {
      background: rgba(255,255,255,.04);
    }

    .news-date {
      color: var(--cyan);
      font-size: 13px;
      font-weight: 900;
    }

    .news-main h3 {
      font-size: 16px;
    }

    .news-arrow {
      color: var(--weak);
      font-weight: 900;
    }

    .quote-card {
      padding: 22px;
      border: 1px solid rgba(34,211,238,.24);
      border-radius: var(--radius-lg);
      background:
        linear-gradient(145deg, rgba(34,211,238,.1), transparent 44%),
        rgba(17,19,28,.9);
    }

    .quote-number {
      margin-top: 22px;
      display: grid;
      grid-template-columns: repeat(2, minmax(0,1fr));
      gap: 10px;
    }

    .quote-number div {
      padding: 14px;
      border-radius: 8px;
      background: rgba(9,9,11,.45);
      border: 1px solid rgba(255,255,255,.08);
    }

    .quote-number strong {
      display: block;
      font-size: 24px;
      font-weight: 900;
    }

    .quote-number span {
      color: var(--weak);
      font-size: 12px;
    }

    .faq-wrap {
      display: grid;
      grid-template-columns: 340px 1fr;
      gap: 24px;
      align-items: start;
    }

    .faq-list {
      display: grid;
      gap: 12px;
    }

    .faq-item {
      border: 1px solid rgba(255,255,255,.1);
      border-radius: var(--radius-lg);
      background: rgba(17,19,28,.9);
      overflow: hidden;
    }

    .faq-item summary {
      min-height: 58px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding: 16px 18px;
      cursor: pointer;
      color: var(--text);
      font-weight: 850;
      list-style: none;
    }

    .faq-item summary::-webkit-details-marker {
      display: none;
    }

    .faq-item summary::after {
      content: "+";
      width: 28px;
      height: 28px;
      flex: 0 0 28px;
      display: grid;
      place-items: center;
      border-radius: 7px;
      color: var(--cyan);
      background: rgba(34,211,238,.08);
      border: 1px solid rgba(34,211,238,.2);
      transition: transform .2s ease;
    }

    .faq-item[open] {
      border-color: rgba(217,70,239,.38);
      box-shadow: inset 3px 0 0 rgba(217,70,239,.9);
    }

    .faq-item[open] summary::after {
      content: "−";
      transform: rotate(180deg);
    }

    .faq-answer {
      padding: 0 18px 18px 18px;
      color: var(--muted);
      font-size: 14px;
    }

    .cta-section {
      padding-bottom: 96px;
    }

    .cta-grid {
      display: grid;
      grid-template-columns: .92fr 1.08fr;
      gap: 20px;
      align-items: stretch;
    }

    .cta-copy {
      padding: 30px;
      border: 1px solid rgba(217,70,239,.3);
      border-radius: var(--radius-lg);
      background:
        linear-gradient(135deg, rgba(217,70,239,.14), transparent 42%),
        linear-gradient(180deg, rgba(21,23,34,.95), rgba(12,13,20,.94));
      box-shadow: var(--shadow);
    }

    .cta-copy h2 {
      margin: 18px 0 12px;
      font-size: clamp(26px, 3.2vw, 38px);
      line-height: 1.18;
      font-weight: 900;
    }

    .cta-copy p {
      color: var(--muted);
    }

    .form-panel {
      padding: 24px;
    }

    .form-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0,1fr));
      gap: 14px;
    }

    .field {
      display: grid;
      gap: 8px;
    }

    .field.full {
      grid-column: 1 / -1;
    }

    label {
      color: var(--muted);
      font-size: 13px;
      font-weight: 800;
    }

    input,
    select,
    textarea {
      width: 100%;
      min-height: 48px;
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 8px;
      padding: 12px 13px;
      color: var(--text);
      background: rgba(9,9,11,.56);
      transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
    }

    textarea {
      min-height: 118px;
      resize: vertical;
    }

    input::placeholder,
    textarea::placeholder {
      color: #676b7c;
    }

    input:hover,
    select:hover,
    textarea:hover {
      border-color: rgba(34,211,238,.34);
    }

    input:focus,
    select:focus,
    textarea:focus {
      outline: none;
      border-color: rgba(217,70,239,.78);
      box-shadow: 0 0 0 3px rgba(217,70,239,.15), 0 0 24px rgba(217,70,239,.14);
      background: rgba(12,13,20,.95);
    }

    .choice-row {
      display: flex;
      flex-wrap: wrap;
      gap: 9px;
      margin-top: 8px;
    }

    .choice {
      position: relative;
      display: inline-flex;
      align-items: center;
      min-height: 34px;
      padding: 0 12px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.12);
      color: var(--muted);
      background: rgba(9,9,11,.4);
      font-size: 13px;
      font-weight: 800;
      cursor: pointer;
      transition: border-color .2s ease, color .2s ease, background .2s ease;
    }

    .choice input {
      position: absolute;
      opacity: 0;
      pointer-events: none;
    }

    .choice:has(input:checked) {
      color: #09090b;
      border-color: transparent;
      background: linear-gradient(135deg, var(--cyan), var(--purple));
    }

    .choice:hover {
      border-color: rgba(34,211,238,.5);
      color: var(--text);
    }

    .form-note {
      margin-top: 12px;
      color: var(--weak);
      font-size: 12px;
    }

    .form-success {
      display: none;
      margin-top: 14px;
      padding: 12px 14px;
      border-radius: 8px;
      border: 1px solid rgba(45,212,191,.32);
      color: #d6fff8;
      background: rgba(45,212,191,.09);
      font-size: 13px;
    }

    .site-footer {
      position: relative;
      border-top: 1px solid rgba(232,121,249,.22);
      background:
        linear-gradient(90deg, rgba(217,70,239,.18), rgba(34,211,238,.12), rgba(217,70,239,.16)) top / 100% 1px no-repeat,
        rgba(6,7,10,.98);
      padding: 44px 0 34px;
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 1.2fr .8fr .8fr;
      gap: 26px;
      align-items: start;
    }

    .footer-brand p {
      max-width: 460px;
      margin-top: 14px;
      color: var(--muted);
      font-size: 14px;
    }

    .footer-col h3 {
      margin: 0 0 12px;
      font-size: 15px;
      font-weight: 900;
    }

    .footer-links {
      display: grid;
      gap: 9px;
    }

    .footer-links a {
      color: var(--muted);
      font-size: 14px;
      transition: color .2s ease;
    }

    .footer-links a:hover,
    .footer-links a:focus-visible {
      color: var(--cyan);
      outline: none;
    }

    .copyright {
      margin-top: 32px;
      padding-top: 18px;
      border-top: 1px solid rgba(255,255,255,.08);
      color: var(--weak);
      font-size: 13px;
    }

    .mobile-tabs {
      display: none;
      position: fixed;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 60;
      padding: 6px 10px calc(6px + env(safe-area-inset-bottom));
      border-top: 1px solid rgba(232,121,249,.24);
      background: rgba(9,9,11,.94);
      backdrop-filter: blur(18px);
    }

    .mobile-tab-inner {
      display: grid;
      grid-template-columns: repeat(3, minmax(0,1fr));
      gap: 6px;
    }

    .tab-link {
      min-height: 56px;
      border-radius: 8px;
      display: grid;
      place-items: center;
      gap: 2px;
      color: var(--weak);
      font-size: 12px;
      font-weight: 800;
      transition: color .2s ease, background .2s ease;
    }

    .tab-link svg {
      width: 19px;
      height: 19px;
    }

    .tab-link.active {
      color: var(--cyan);
      background: linear-gradient(180deg, rgba(34,211,238,.13), rgba(217,70,239,.08));
    }

    .tab-link:hover,
    .tab-link:focus-visible {
      color: var(--text);
      background: rgba(255,255,255,.06);
      outline: none;
    }

    @media (max-width: 1024px) {
      .container {
        width: min(var(--container), calc(100% - 32px));
      }

      .hero {
        min-height: auto;
        padding-top: 34px;
      }

      .hero-stage,
      .steps,
      .deal-grid,
      .compare-grid,
      .news-layout,
      .faq-wrap,
      .cta-grid {
        grid-template-columns: 1fr;
      }

      .hero-copy {
        min-height: auto;
      }

      .matrix-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
      }

      .section-head {
        align-items: start;
        flex-direction: column;
      }
    }

    @media (max-width: 768px) {
      body {
        padding-bottom: 82px;
      }

      section {
        padding: 56px 0;
      }

      .site-header {
        position: sticky;
      }

      .nav-wrap {
        height: 64px;
      }

      .brand-name {
        font-size: 16px;
      }

      .desktop-nav {
        display: none;
      }

      .top-action {
        min-height: 38px;
        padding: 0 13px;
        font-size: 13px;
      }

      .mobile-tabs {
        display: block;
      }

      .hero-copy {
        padding: 26px 20px;
      }

      h1 {
        font-size: 36px;
      }

      .hero-text {
        font-size: 15px;
      }

      .hero-data {
        grid-template-columns: 1fr;
        margin-top: 28px;
      }

      .metrics-grid,
      .matrix-grid,
      .form-grid {
        grid-template-columns: 1fr;
      }

      .step-item {
        grid-template-columns: 38px 1fr;
      }

      .step-item .badge {
        grid-column: 2;
        justify-self: start;
      }

      .deal-card {
        grid-template-columns: 1fr;
      }

      .news-item {
        grid-template-columns: 1fr;
        gap: 8px;
      }

      .news-arrow {
        display: none;
      }

      .footer-grid {
        grid-template-columns: 1fr;
      }

      .site-footer {
        padding-bottom: 104px;
      }
    }

    @media (max-width: 520px) {
      .container {
        width: calc(100% - 28px);
      }

      .brand-mark {
        width: 30px;
        height: 30px;
      }

      .top-action {
        max-width: 130px;
        white-space: nowrap;
      }

      .btn {
        width: 100%;
      }

      .hero-actions,
      .section-actions {
        width: 100%;
      }

      .board-card,
      .step-panel,
      .side-panel,
      .form-panel,
      .cta-copy {
        padding: 18px;
      }

      .compare-row {
        grid-template-columns: 1fr;
        gap: 6px;
      }
    }

/* roulang page: category1 */
:root {
      --bg: #09090b;
      --bg-2: #0e1018;
      --panel: #11131c;
      --panel-2: #151722;
      --text: #f8fafc;
      --muted: #a6adbb;
      --soft: #d8dbe5;
      --line: rgba(216, 70, 239, .26);
      --line-cyan: rgba(34, 211, 238, .28);
      --pink: #d946ef;
      --pink-2: #e879f9;
      --cyan: #22d3ee;
      --teal: #2dd4bf;
      --amber: #f59e0b;
      --danger: #fb7185;
      --radius: 8px;
      --radius-lg: 10px;
      --shadow: 0 24px 70px rgba(0, 0, 0, .38);
      --glow: 0 0 32px rgba(217, 70, 239, .24);
      --container: 1220px;
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      color: var(--text);
      background:
        linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
        radial-gradient(circle at 18% 8%, rgba(217, 70, 239, .22), transparent 32%),
        radial-gradient(circle at 82% 18%, rgba(34, 211, 238, .14), transparent 34%),
        linear-gradient(135deg, #09090b 0%, #0b0d13 44%, #09090b 100%);
      background-size: 34px 34px, 34px 34px, auto, auto, auto;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
      line-height: 1.65;
      min-height: 100vh;
      overflow-x: hidden;
      padding-bottom: 0;
    }

    a {
      color: inherit;
      text-decoration: none;
      transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease;
    }

    button,
    input,
    textarea,
    select {
      font: inherit;
    }

    button {
      cursor: pointer;
    }

    input,
    textarea,
    select {
      width: 100%;
      color: var(--text);
      background: rgba(9, 9, 11, .72);
      border: 1px solid rgba(166, 173, 187, .24);
      border-radius: var(--radius);
      outline: none;
      padding: 13px 14px;
      transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
    }

    input:focus,
    textarea:focus,
    select:focus {
      border-color: var(--cyan);
      box-shadow: 0 0 0 3px rgba(34, 211, 238, .12), 0 0 28px rgba(34, 211, 238, .08);
      background: rgba(14, 16, 24, .92);
    }

    textarea {
      resize: vertical;
      min-height: 112px;
    }

    .container {
      width: min(var(--container), calc(100% - 32px));
      margin-inline: auto;
    }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 50;
      background: rgba(9, 9, 11, .82);
      border-bottom: 1px solid rgba(232, 121, 249, .18);
      backdrop-filter: blur(18px);
    }

    .nav-wrap {
      min-height: 76px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 22px;
    }

    .brand {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      min-width: 0;
      font-weight: 900;
    }

    .brand-mark {
      width: 38px;
      height: 38px;
      display: grid;
      place-items: center;
      border-radius: 8px;
      background: linear-gradient(135deg, var(--pink), var(--cyan));
      color: #09090b;
      box-shadow: 0 0 26px rgba(217, 70, 239, .38);
      flex: 0 0 auto;
    }

    .brand-name {
      font-size: 18px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .desktop-nav {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 6px;
      border: 1px solid rgba(255,255,255,.08);
      background: rgba(17, 19, 28, .68);
      border-radius: 999px;
    }

    .nav-link {
      min-height: 42px;
      display: inline-flex;
      align-items: center;
      padding: 0 16px;
      border-radius: 999px;
      color: var(--muted);
      font-weight: 700;
      font-size: 14px;
    }

    .nav-link:hover,
    .nav-link.active {
      color: var(--text);
      background: rgba(217, 70, 239, .16);
      box-shadow: inset 0 0 0 1px rgba(232, 121, 249, .22);
    }

    .top-action,
    .btn-primary,
    .btn-secondary {
      min-height: 46px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      border-radius: 8px;
      padding: 0 18px;
      font-weight: 800;
      border: 1px solid transparent;
      transition: transform .2s ease, box-shadow .2s ease, filter .2s ease, border-color .2s ease, background .2s ease;
      white-space: nowrap;
    }

    .top-action,
    .btn-primary {
      color: #09090b;
      background: linear-gradient(135deg, var(--cyan), var(--pink-2) 58%, var(--pink));
      box-shadow: 0 0 28px rgba(217, 70, 239, .25), 0 12px 34px rgba(34, 211, 238, .12);
    }

    .btn-secondary {
      color: var(--text);
      background: rgba(17, 19, 28, .66);
      border-color: rgba(34, 211, 238, .34);
    }

    .top-action:hover,
    .btn-primary:hover,
    .btn-secondary:hover {
      transform: translateY(-1px);
      filter: brightness(1.06);
      box-shadow: 0 0 34px rgba(34, 211, 238, .22), 0 18px 40px rgba(0, 0, 0, .24);
    }

    .top-action:active,
    .btn-primary:active,
    .btn-secondary:active {
      transform: translateY(0);
    }

    .section {
      padding: 82px 0;
      position: relative;
    }

    .section-heading {
      max-width: 780px;
      margin-bottom: 28px;
    }

    .eyebrow,
    .badge,
    .status-pill,
    .filter-chip {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      border-radius: 999px;
      border: 1px solid rgba(232, 121, 249, .22);
      background: rgba(217, 70, 239, .11);
      color: #f5d0fe;
      font-size: 12px;
      font-weight: 800;
      line-height: 1;
      padding: 8px 10px;
      white-space: nowrap;
    }

    .status-pill.cyan,
    .filter-chip.active {
      border-color: rgba(34, 211, 238, .36);
      background: rgba(34, 211, 238, .12);
      color: #cffafe;
    }

    .status-pill.amber {
      border-color: rgba(245, 158, 11, .34);
      background: rgba(245, 158, 11, .12);
      color: #fde68a;
    }

    .hero {
      padding: 70px 0 42px;
      position: relative;
      overflow: hidden;
    }

    .hero:before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(115deg, transparent 0%, rgba(232, 121, 249, .08) 42%, transparent 64%);
      transform: skewY(-5deg);
      pointer-events: none;
    }

    .hero-grid {
      position: relative;
      display: grid;
      grid-template-columns: minmax(0, 1.04fr) minmax(340px, .96fr);
      gap: 32px;
      align-items: center;
    }

    .hero h1 {
      margin: 18px 0 16px;
      font-size: clamp(34px, 5vw, 56px);
      line-height: 1.08;
      font-weight: 900;
      letter-spacing: 0;
    }

    .hero-copy {
      color: var(--soft);
      font-size: 17px;
      max-width: 680px;
    }

    .hero-points {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
      margin: 24px 0;
    }

    .point {
      display: flex;
      align-items: center;
      gap: 10px;
      color: var(--soft);
      background: rgba(17, 19, 28, .52);
      border: 1px solid rgba(255,255,255,.08);
      border-radius: var(--radius);
      padding: 12px;
    }

    .point-icon {
      width: 26px;
      height: 26px;
      display: grid;
      place-items: center;
      border-radius: 7px;
      color: #071014;
      background: var(--cyan);
      font-weight: 900;
      flex: 0 0 auto;
    }

    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 18px;
    }

    .trust-strip {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 22px;
      color: var(--muted);
      font-size: 13px;
    }

    .dashboard {
      position: relative;
      background: linear-gradient(180deg, rgba(21, 23, 34, .96), rgba(13, 15, 22, .92));
      border: 1px solid rgba(232, 121, 249, .22);
      border-radius: 10px;
      box-shadow: var(--shadow), var(--glow);
      overflow: hidden;
    }

    .dashboard:before {
      content: "";
      position: absolute;
      top: 0;
      left: -35%;
      width: 35%;
      height: 2px;
      background: linear-gradient(90deg, transparent, var(--cyan), var(--pink), transparent);
      animation: scan 4.8s linear infinite;
    }

    @keyframes scan {
      0% { left: -35%; }
      100% { left: 110%; }
    }

    .dash-head {
      display: flex;
      justify-content: space-between;
      gap: 16px;
      align-items: center;
      padding: 18px;
      border-bottom: 1px solid rgba(255,255,255,.08);
    }

    .dash-title {
      font-weight: 900;
      font-size: 16px;
    }

    .metric-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
      padding: 18px;
    }

    .metric {
      background: rgba(9, 9, 11, .48);
      border: 1px solid rgba(255,255,255,.08);
      border-radius: var(--radius);
      padding: 16px;
    }

    .metric strong {
      display: block;
      font-size: 28px;
      line-height: 1;
      font-weight: 900;
      color: #fff;
    }

    .metric span {
      display: block;
      margin-top: 8px;
      color: var(--muted);
      font-size: 13px;
    }

    .signal-list {
      padding: 0 18px 18px;
      display: grid;
      gap: 10px;
    }

    .signal {
      display: grid;
      grid-template-columns: 92px minmax(0, 1fr) 48px;
      gap: 10px;
      align-items: center;
      color: var(--soft);
      font-size: 13px;
    }

    .bar {
      height: 8px;
      overflow: hidden;
      border-radius: 999px;
      background: rgba(255,255,255,.08);
    }

    .bar i {
      display: block;
      height: 100%;
      border-radius: inherit;
      background: linear-gradient(90deg, var(--cyan), var(--pink));
    }

    .category-layout {
      display: grid;
      grid-template-columns: 280px minmax(0, 1fr);
      gap: 22px;
      align-items: start;
    }

    .filter-panel,
    .content-card,
    .scenario-card,
    .process-card,
    .faq-item,
    .cta-panel {
      background: linear-gradient(180deg, rgba(21, 23, 34, .94), rgba(17, 19, 28, .88));
      border: 1px solid rgba(255,255,255,.09);
      border-radius: var(--radius-lg);
      box-shadow: 0 18px 46px rgba(0, 0, 0, .2);
    }

    .filter-panel {
      position: sticky;
      top: 96px;
      padding: 18px;
      border-color: rgba(34, 211, 238, .22);
    }

    .filter-group + .filter-group {
      margin-top: 18px;
      padding-top: 18px;
      border-top: 1px solid rgba(255,255,255,.08);
    }

    .filter-title {
      color: var(--text);
      font-weight: 900;
      margin-bottom: 10px;
    }

    .filter-options {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }

    .filter-chip {
      cursor: pointer;
      color: var(--muted);
      background: rgba(255,255,255,.04);
      border-color: rgba(255,255,255,.1);
    }

    .filter-chip:hover {
      color: var(--text);
      border-color: rgba(34, 211, 238, .32);
      transform: translateY(-1px);
    }

    .content-list {
      display: grid;
      gap: 14px;
    }

    .content-card {
      padding: 18px;
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 18px;
      border-color: rgba(232, 121, 249, .18);
      transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
    }

    .content-card:hover {
      transform: translateY(-2px);
      border-color: rgba(34, 211, 238, .36);
      box-shadow: 0 0 28px rgba(34, 211, 238, .09), 0 18px 46px rgba(0,0,0,.28);
    }

    .card-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-bottom: 12px;
    }

    .content-card h3,
    .scenario-card h3,
    .process-card h3 {
      font-size: 20px;
      line-height: 1.35;
      font-weight: 900;
      margin: 0 0 8px;
    }

    .content-card p,
    .scenario-card p,
    .process-card p {
      margin: 0;
      color: var(--muted);
      font-size: 15px;
    }

    .card-side {
      min-width: 144px;
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      justify-content: space-between;
      gap: 14px;
    }

    .match {
      text-align: right;
    }

    .match strong {
      display: block;
      font-size: 26px;
      font-weight: 900;
      color: var(--cyan);
      line-height: 1;
    }

    .match span {
      color: var(--muted);
      font-size: 12px;
    }

    .mini-link {
      min-height: 40px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 8px;
      padding: 0 13px;
      font-size: 13px;
      font-weight: 900;
      color: #071014;
      background: var(--cyan);
    }

    .mini-link:hover {
      background: var(--pink-2);
      transform: translateY(-1px);
    }

    .scenario-grid {
      display: grid;
      grid-template-columns: 1fr 1.1fr 1fr;
      gap: 16px;
    }

    .scenario-card {
      padding: 20px;
      min-height: 190px;
    }

    .scenario-card.highlight {
      border-color: rgba(34, 211, 238, .34);
      box-shadow: 0 0 32px rgba(34, 211, 238, .12);
    }

    .process-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 14px;
    }

    .process-card {
      padding: 18px;
      position: relative;
      overflow: hidden;
    }

    .step-num {
      width: 34px;
      height: 34px;
      display: grid;
      place-items: center;
      border-radius: 8px;
      background: rgba(217, 70, 239, .16);
      border: 1px solid rgba(232, 121, 249, .24);
      color: #f5d0fe;
      font-weight: 900;
      margin-bottom: 18px;
    }

    .faq-list {
      display: grid;
      gap: 12px;
    }

    .faq-item {
      overflow: hidden;
      border-color: rgba(255,255,255,.08);
    }

    .faq-question {
      width: 100%;
      min-height: 58px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      color: var(--text);
      background: transparent;
      border: 0;
      padding: 16px 18px;
      text-align: left;
      font-weight: 900;
    }

    .faq-question span:last-child {
      width: 26px;
      height: 26px;
      display: grid;
      place-items: center;
      border-radius: 7px;
      color: var(--cyan);
      background: rgba(34, 211, 238, .1);
      flex: 0 0 auto;
    }

    .faq-answer {
      display: none;
      color: var(--muted);
      padding: 0 18px 18px;
      border-left: 3px solid var(--cyan);
      margin-left: 18px;
    }

    .faq-item.open {
      border-color: rgba(34, 211, 238, .32);
    }

    .faq-item.open .faq-answer {
      display: block;
    }

    .cta-section {
      padding-bottom: 94px;
    }

    .cta-panel {
      padding: 28px;
      display: grid;
      grid-template-columns: .86fr 1.14fr;
      gap: 26px;
      align-items: start;
      border-color: rgba(232, 121, 249, .28);
      box-shadow: var(--shadow), var(--glow);
    }

    .form-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
    }

    .form-grid .full {
      grid-column: 1 / -1;
    }

    .check-row {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
    }

    .check-item {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      min-height: 42px;
      padding: 0 12px;
      border-radius: 8px;
      background: rgba(255,255,255,.04);
      border: 1px solid rgba(255,255,255,.1);
      color: var(--soft);
      cursor: pointer;
    }

    .check-item input {
      width: auto;
      accent-color: var(--cyan);
    }

    .form-note {
      color: var(--muted);
      font-size: 13px;
      margin-top: 10px;
    }

    .success-panel {
      display: none;
      margin-top: 14px;
      border: 1px solid rgba(45, 212, 191, .34);
      background: rgba(45, 212, 191, .1);
      color: #ccfbf1;
      border-radius: var(--radius);
      padding: 13px 14px;
      font-weight: 700;
    }

    .site-footer {
      position: relative;
      background: rgba(9, 9, 11, .92);
      border-top: 1px solid rgba(232, 121, 249, .22);
      padding: 54px 0 34px;
      overflow: hidden;
    }

    .site-footer:before {
      content: "";
      position: absolute;
      inset: 0 0 auto;
      height: 1px;
      background: linear-gradient(90deg, transparent, var(--cyan), var(--pink), transparent);
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 1.2fr .6fr .6fr;
      gap: 32px;
      align-items: start;
    }

    .footer-brand p,
    .copyright {
      color: var(--muted);
      font-size: 14px;
    }

    .footer-brand p {
      margin-top: 14px;
      max-width: 520px;
    }

    .footer-col h3 {
      font-size: 15px;
      margin: 0 0 12px;
      font-weight: 900;
    }

    .footer-links {
      display: grid;
      gap: 9px;
    }

    .footer-links a {
      color: var(--muted);
      font-size: 14px;
    }

    .footer-links a:hover {
      color: var(--cyan);
      transform: translateX(2px);
    }

    .copyright {
      margin-top: 32px;
      padding-top: 18px;
      border-top: 1px solid rgba(255,255,255,.08);
    }

    .mobile-tabs {
      display: none;
      position: fixed;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 60;
      min-height: 64px;
      padding: 7px 10px calc(7px + env(safe-area-inset-bottom));
      background: rgba(9, 9, 11, .94);
      border-top: 1px solid rgba(232, 121, 249, .24);
      backdrop-filter: blur(18px);
    }

    .mobile-tabs a {
      min-height: 48px;
      flex: 1;
      display: grid;
      place-items: center;
      gap: 2px;
      color: var(--muted);
      font-size: 11px;
      font-weight: 800;
      border-radius: 8px;
      position: relative;
    }

    .mobile-tabs a i {
      font-style: normal;
      font-size: 17px;
      line-height: 1;
    }

    .mobile-tabs a.active {
      color: #cffafe;
      background: rgba(34, 211, 238, .1);
      box-shadow: inset 0 0 0 1px rgba(34, 211, 238, .24);
    }

    .mobile-tabs a.active:before {
      content: "";
      position: absolute;
      top: 6px;
      width: 5px;
      height: 5px;
      border-radius: 99px;
      background: var(--pink-2);
      box-shadow: 0 0 14px var(--pink-2);
    }

    @media (max-width: 1024px) {
      .desktop-nav {
        gap: 4px;
      }

      .nav-link {
        padding: 0 12px;
      }

      .hero-grid,
      .category-layout,
      .cta-panel {
        grid-template-columns: 1fr;
      }

      .filter-panel {
        position: static;
      }

      .scenario-grid,
      .process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 768px) {
      body {
        padding-bottom: 82px;
      }

      .container {
        width: min(100% - 32px, var(--container));
      }

      .nav-wrap {
        min-height: 64px;
      }

      .desktop-nav,
      .top-action {
        display: none;
      }

      .brand-name {
        font-size: 16px;
        max-width: calc(100vw - 100px);
      }

      .mobile-tabs {
        display: flex;
      }

      .hero {
        padding-top: 42px;
      }

      .section {
        padding: 58px 0;
      }

      .hero-points,
      .metric-grid,
      .form-grid {
        grid-template-columns: 1fr;
      }

      .content-card {
        grid-template-columns: 1fr;
      }

      .card-side {
        min-width: 0;
        align-items: stretch;
      }

      .match {
        text-align: left;
      }

      .scenario-grid,
      .process-grid,
      .footer-grid {
        grid-template-columns: 1fr;
      }

      .cta-section {
        padding-bottom: 72px;
      }
    }

    @media (max-width: 520px) {
      .hero h1 {
        font-size: 34px;
      }

      .hero-actions {
        display: grid;
      }

      .btn-primary,
      .btn-secondary {
        width: 100%;
      }

      .dash-head {
        align-items: flex-start;
        flex-direction: column;
      }

      .signal {
        grid-template-columns: 78px minmax(0, 1fr) 42px;
      }

      .filter-options {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 2px;
      }

      .filter-chip {
        flex: 0 0 auto;
      }

      .cta-panel {
        padding: 20px;
      }
    }

/* roulang page: category2 */
:root {
      --bg: #09090b;
      --bg-2: #0e1018;
      --panel: #11131c;
      --panel-2: #151722;
      --text: #f8fafc;
      --muted: #b8c0d6;
      --soft: #7f88a3;
      --line: rgba(216, 180, 254, .22);
      --line-cyan: rgba(34, 211, 238, .26);
      --pink: #d946ef;
      --pink-2: #e879f9;
      --cyan: #22d3ee;
      --teal: #2dd4bf;
      --amber: #f59e0b;
      --danger: #fb7185;
      --radius: 8px;
      --radius-lg: 10px;
      --shadow: 0 22px 70px rgba(0, 0, 0, .42);
      --glow: 0 0 34px rgba(217, 70, 239, .26);
      --container: 1200px;
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      min-height: 100vh;
      color: var(--text);
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
      line-height: 1.7;
      background:
        linear-gradient(115deg, rgba(217, 70, 239, .08), transparent 34%),
        linear-gradient(245deg, rgba(34, 211, 238, .08), transparent 38%),
        radial-gradient(circle at 50% -15%, rgba(232, 121, 249, .18), transparent 38%),
        var(--bg);
      overflow-x: hidden;
    }

    body::before {
      content: "";
      position: fixed;
      inset: 0;
      z-index: -2;
      pointer-events: none;
      background-image:
        linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
      background-size: 38px 38px;
      mask-image: linear-gradient(to bottom, rgba(0, 0, 0, .9), rgba(0, 0, 0, .15));
    }

    body::after {
      content: "";
      position: fixed;
      inset: 0;
      z-index: -1;
      pointer-events: none;
      background: repeating-linear-gradient(
        to bottom,
        rgba(255, 255, 255, .025) 0,
        rgba(255, 255, 255, .025) 1px,
        transparent 1px,
        transparent 6px
      );
      opacity: .35;
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    button,
    input,
    textarea,
    select {
      font: inherit;
    }

    button,
    .btn,
    .nav-link,
    .tab-link {
      -webkit-tap-highlight-color: transparent;
    }

    img {
      max-width: 100%;
      display: block;
    }

    .container {
      width: min(var(--container), calc(100% - 32px));
      margin-inline: auto;
    }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 50;
      border-bottom: 1px solid rgba(216, 180, 254, .16);
      background: rgba(9, 9, 11, .82);
      backdrop-filter: blur(18px);
    }

    .nav-wrap {
      min-height: 74px;
      display: flex;
      align-items: center;
      gap: 22px;
    }

    .brand {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      min-width: 0;
      font-weight: 900;
    }

    .brand-mark {
      width: 38px;
      height: 38px;
      display: grid;
      place-items: center;
      border-radius: 8px;
      color: #050509;
      background: linear-gradient(135deg, var(--cyan), var(--pink-2));
      box-shadow: 0 0 26px rgba(34, 211, 238, .28);
      flex: 0 0 auto;
    }

    .brand-name {
      font-size: 18px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .desktop-nav {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-left: auto;
    }

    .nav-link {
      min-height: 42px;
      display: inline-flex;
      align-items: center;
      padding: 0 14px;
      border: 1px solid transparent;
      border-radius: 999px;
      color: var(--muted);
      font-size: 14px;
      font-weight: 700;
      transition: .2s ease;
    }

    .nav-link:hover,
    .nav-link.active {
      color: var(--text);
      border-color: rgba(34, 211, 238, .32);
      background: rgba(34, 211, 238, .08);
      box-shadow: 0 0 24px rgba(34, 211, 238, .12);
    }

    .top-action {
      min-height: 44px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0 18px;
      border-radius: 999px;
      color: #06070b;
      font-size: 14px;
      font-weight: 900;
      background: linear-gradient(135deg, var(--cyan), var(--pink-2));
      box-shadow: 0 0 28px rgba(217, 70, 239, .28);
      transition: .2s ease;
    }

    .top-action:hover {
      transform: translateY(-1px);
      filter: brightness(1.08);
    }

    .top-action:active,
    .btn:active {
      transform: translateY(0);
    }

    .hero {
      position: relative;
      padding: 70px 0 44px;
    }

    .hero::before {
      content: "";
      position: absolute;
      inset: 24px 0 auto;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(34, 211, 238, .7), rgba(217, 70, 239, .7), transparent);
      opacity: .7;
    }

    .hero-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.04fr) minmax(360px, .78fr);
      gap: 28px;
      align-items: stretch;
    }

    .eyebrow,
    .badge,
    .chip,
    .state-pill {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      width: fit-content;
      border-radius: 999px;
      font-size: 13px;
      font-weight: 800;
      line-height: 1;
      white-space: nowrap;
    }

    .eyebrow {
      padding: 9px 12px;
      color: var(--cyan);
      border: 1px solid rgba(34, 211, 238, .28);
      background: rgba(34, 211, 238, .08);
    }

    .eyebrow::before,
    .state-dot {
      content: "";
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--teal);
      box-shadow: 0 0 15px var(--teal);
      flex: 0 0 auto;
    }

    .hero h1 {
      margin: 18px 0 16px;
      max-width: 820px;
      font-size: clamp(32px, 5vw, 56px);
      line-height: 1.12;
      font-weight: 900;
      letter-spacing: 0;
    }

    .hero-copy {
      max-width: 760px;
      color: var(--muted);
      font-size: 17px;
    }

    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 26px;
    }

    .btn {
      min-height: 48px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      padding: 0 20px;
      border-radius: 999px;
      border: 1px solid transparent;
      font-size: 15px;
      font-weight: 900;
      cursor: pointer;
      transition: transform .2s ease, filter .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease;
    }

    .btn-primary {
      color: #050509;
      background: linear-gradient(135deg, var(--cyan), var(--pink-2));
      box-shadow: 0 0 32px rgba(217, 70, 239, .32);
    }

    .btn-primary:hover {
      transform: translateY(-1px);
      filter: brightness(1.08);
      box-shadow: 0 0 38px rgba(34, 211, 238, .28);
    }

    .btn-secondary {
      color: var(--text);
      border-color: rgba(216, 180, 254, .25);
      background: rgba(17, 19, 28, .74);
    }

    .btn-secondary:hover {
      transform: translateY(-1px);
      border-color: rgba(34, 211, 238, .55);
      box-shadow: 0 0 26px rgba(34, 211, 238, .14);
    }

    .btn:focus-visible,
    .nav-link:focus-visible,
    .top-action:focus-visible,
    input:focus-visible,
    textarea:focus-visible,
    select:focus-visible,
    .faq-question:focus-visible,
    .tab-link:focus-visible {
      outline: 2px solid var(--cyan);
      outline-offset: 3px;
    }

    .panel {
      border: 1px solid var(--line);
      border-radius: var(--radius-lg);
      background:
        linear-gradient(145deg, rgba(217, 70, 239, .1), transparent 36%),
        linear-gradient(315deg, rgba(34, 211, 238, .1), transparent 42%),
        rgba(17, 19, 28, .86);
      box-shadow: var(--shadow);
    }

    .hero-panel {
      padding: 22px;
      overflow: hidden;
      position: relative;
    }

    .hero-panel::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(110deg, transparent 0, rgba(255, 255, 255, .08) 48%, transparent 58%);
      transform: translateX(-120%);
      animation: scan 6s ease-in-out infinite;
      pointer-events: none;
    }

    @keyframes scan {
      0%, 55% { transform: translateX(-120%); }
      78%, 100% { transform: translateX(120%); }
    }

    .group-status {
      display: flex;
      justify-content: space-between;
      gap: 14px;
      align-items: center;
      padding-bottom: 18px;
      border-bottom: 1px solid rgba(255, 255, 255, .08);
    }

    .group-number {
      font-size: 40px;
      line-height: 1;
      font-weight: 900;
      color: var(--text);
    }

    .group-number span {
      color: var(--cyan);
    }

    .status-list {
      display: grid;
      gap: 12px;
      margin-top: 18px;
    }

    .status-row {
      display: grid;
      grid-template-columns: 94px 1fr auto;
      gap: 12px;
      align-items: center;
      padding: 12px;
      border: 1px solid rgba(255, 255, 255, .08);
      border-radius: var(--radius);
      background: rgba(9, 9, 11, .34);
    }

    .progress {
      height: 8px;
      border-radius: 999px;
      background: rgba(255, 255, 255, .08);
      overflow: hidden;
    }

    .progress > span {
      display: block;
      height: 100%;
      border-radius: inherit;
      background: linear-gradient(90deg, var(--cyan), var(--pink-2));
      box-shadow: 0 0 18px rgba(34, 211, 238, .25);
    }

    .quick-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 22px;
    }

    .chip {
      min-height: 34px;
      padding: 0 12px;
      color: var(--muted);
      border: 1px solid rgba(216, 180, 254, .2);
      background: rgba(21, 23, 34, .74);
      transition: .2s ease;
    }

    .chip:hover,
    .chip.active {
      color: var(--text);
      border-color: rgba(34, 211, 238, .48);
      background: rgba(34, 211, 238, .1);
    }

    .section {
      padding: 56px 0;
    }

    .section-head {
      display: grid;
      grid-template-columns: minmax(0, .78fr) minmax(260px, .42fr);
      gap: 28px;
      align-items: end;
      margin-bottom: 24px;
    }

    .section-title {
      margin: 0;
      font-size: clamp(26px, 3.2vw, 36px);
      line-height: 1.2;
      font-weight: 900;
    }

    .section-copy {
      margin: 10px 0 0;
      color: var(--muted);
      font-size: 16px;
    }

    .badge {
      padding: 7px 10px;
      color: #050509;
      background: linear-gradient(135deg, var(--teal), var(--cyan));
    }

    .badge-purple {
      color: var(--text);
      border: 1px solid rgba(217, 70, 239, .42);
      background: rgba(217, 70, 239, .14);
    }

    .main-layout {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 330px;
      gap: 22px;
      align-items: start;
    }

    .highlight-card {
      padding: 22px;
      border-color: rgba(34, 211, 238, .35);
    }

    .highlight-top {
      display: flex;
      justify-content: space-between;
      gap: 16px;
      align-items: flex-start;
      margin-bottom: 18px;
    }

    .highlight-card h2,
    .reference-panel h2,
    .cta-card h2 {
      margin: 0;
      font-size: 24px;
      line-height: 1.3;
      font-weight: 900;
    }

    .filter-bar {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 18px;
      padding-top: 18px;
      border-top: 1px solid rgba(255, 255, 255, .08);
    }

    .timeline {
      margin-top: 18px;
      display: grid;
      gap: 16px;
    }

    .timeline-group {
      position: relative;
      display: grid;
      grid-template-columns: 118px minmax(0, 1fr);
      gap: 18px;
      padding: 18px;
      border: 1px solid rgba(216, 180, 254, .18);
      border-radius: var(--radius-lg);
      background: rgba(17, 19, 28, .72);
      transition: .2s ease;
    }

    .timeline-group:hover {
      transform: translateY(-2px);
      border-color: rgba(34, 211, 238, .42);
      box-shadow: 0 0 32px rgba(34, 211, 238, .1);
    }

    .timeline-time {
      color: var(--cyan);
      font-weight: 900;
      font-size: 14px;
    }

    .timeline-body h3 {
      margin: 0 0 8px;
      font-size: 20px;
      line-height: 1.35;
      font-weight: 900;
    }

    .timeline-body p {
      margin: 0;
      color: var(--muted);
    }

    .mini-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 14px;
    }

    .state-pill {
      min-height: 28px;
      padding: 0 9px;
      color: var(--muted);
      border: 1px solid rgba(255, 255, 255, .1);
      background: rgba(9, 9, 11, .42);
      font-size: 12px;
    }

    .reference-panel {
      position: sticky;
      top: 94px;
      padding: 20px;
    }

    .metric-list {
      display: grid;
      gap: 14px;
      margin-top: 18px;
    }

    .metric-item {
      padding: 14px;
      border-radius: var(--radius);
      border: 1px solid rgba(255, 255, 255, .08);
      background: rgba(9, 9, 11, .34);
    }

    .metric-head {
      display: flex;
      justify-content: space-between;
      gap: 14px;
      color: var(--text);
      font-weight: 900;
      margin-bottom: 8px;
    }

    .compare-band {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      gap: 18px;
    }

    .compare-card {
      padding: 20px;
      border-radius: var(--radius-lg);
      border: 1px solid rgba(255, 255, 255, .1);
      background: rgba(17, 19, 28, .72);
    }

    .compare-card.good {
      border-color: rgba(34, 211, 238, .38);
      box-shadow: 0 0 30px rgba(34, 211, 238, .1);
    }

    .compare-card h3 {
      margin: 0 0 14px;
      font-size: 20px;
      font-weight: 900;
    }

    .check-list {
      display: grid;
      gap: 12px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .check-list li {
      display: grid;
      grid-template-columns: 22px 1fr;
      gap: 10px;
      color: var(--muted);
    }

    .check-icon {
      width: 22px;
      height: 22px;
      display: grid;
      place-items: center;
      border-radius: 6px;
      color: var(--cyan);
      background: rgba(34, 211, 238, .1);
      font-weight: 900;
    }

    .bad .check-icon {
      color: var(--soft);
      background: rgba(255, 255, 255, .06);
    }

    .faq-list {
      display: grid;
      gap: 12px;
    }

    .faq-item {
      border: 1px solid rgba(216, 180, 254, .18);
      border-radius: var(--radius);
      background: rgba(17, 19, 28, .74);
      overflow: hidden;
    }

    .faq-question {
      width: 100%;
      min-height: 58px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 16px;
      padding: 0 18px;
      border: 0;
      color: var(--text);
      background: transparent;
      text-align: left;
      font-weight: 900;
      cursor: pointer;
    }

    .faq-icon {
      width: 26px;
      height: 26px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      color: var(--cyan);
      border: 1px solid rgba(34, 211, 238, .3);
      flex: 0 0 auto;
      transition: .2s ease;
    }

    .faq-answer {
      display: none;
      padding: 0 18px 18px;
      color: var(--muted);
      border-left: 3px solid var(--cyan);
      margin-left: 18px;
    }

    .faq-item.open .faq-answer {
      display: block;
    }

    .faq-item.open .faq-icon {
      transform: rotate(45deg);
      color: var(--pink-2);
      border-color: rgba(217, 70, 239, .5);
    }

    .cta-card {
      display: grid;
      grid-template-columns: minmax(0, .86fr) minmax(320px, .7fr);
      gap: 24px;
      padding: 24px;
      align-items: start;
    }

    .form-grid {
      display: grid;
      gap: 14px;
    }

    .field {
      display: grid;
      gap: 7px;
    }

    .field label {
      color: var(--text);
      font-size: 14px;
      font-weight: 800;
    }

    .field input,
    .field textarea,
    .field select {
      width: 100%;
      min-height: 46px;
      border: 1px solid rgba(216, 180, 254, .2);
      border-radius: var(--radius);
      color: var(--text);
      background: rgba(9, 9, 11, .5);
      padding: 10px 12px;
      transition: .2s ease;
    }

    .field textarea {
      min-height: 96px;
      resize: vertical;
    }

    .field input:focus,
    .field textarea:focus,
    .field select:focus {
      border-color: rgba(34, 211, 238, .65);
      box-shadow: 0 0 0 4px rgba(34, 211, 238, .08);
      outline: 0;
    }

    .tag-options {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }

    .tag-options label {
      min-height: 36px;
      display: inline-flex;
      align-items: center;
      gap: 7px;
      padding: 0 10px;
      border-radius: 999px;
      border: 1px solid rgba(255, 255, 255, .12);
      color: var(--muted);
      background: rgba(9, 9, 11, .34);
      cursor: pointer;
      transition: .2s ease;
      font-weight: 800;
      font-size: 13px;
    }

    .tag-options input {
      width: 14px;
      height: 14px;
      accent-color: var(--cyan);
    }

    .tag-options label:hover,
    .tag-options label:has(input:checked) {
      color: var(--text);
      border-color: rgba(34, 211, 238, .48);
      background: rgba(34, 211, 238, .1);
    }

    .form-note,
    .success-note {
      color: var(--soft);
      font-size: 13px;
    }

    .success-note {
      display: none;
      padding: 12px;
      border-radius: var(--radius);
      border: 1px solid rgba(45, 212, 191, .36);
      color: #b7fff4;
      background: rgba(45, 212, 191, .08);
    }

    .site-footer {
      position: relative;
      padding: 54px 0 34px;
      border-top: 1px solid rgba(34, 211, 238, .22);
      background:
        linear-gradient(90deg, rgba(217, 70, 239, .08), rgba(34, 211, 238, .06)),
        rgba(5, 5, 8, .94);
    }

    .site-footer::before {
      content: "";
      position: absolute;
      inset: 0 0 auto;
      height: 1px;
      background: linear-gradient(90deg, transparent, var(--cyan), var(--pink), transparent);
    }

    .footer-grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 180px 220px;
      gap: 34px;
    }

    .footer-brand p {
      max-width: 520px;
      margin: 14px 0 0;
      color: var(--muted);
    }

    .footer-col h3 {
      margin: 0 0 12px;
      font-size: 16px;
      font-weight: 900;
    }

    .footer-links {
      display: grid;
      gap: 8px;
    }

    .footer-links a {
      color: var(--muted);
      transition: .2s ease;
    }

    .footer-links a:hover {
      color: var(--cyan);
    }

    .copyright {
      margin-top: 34px;
      padding-top: 18px;
      border-top: 1px solid rgba(255, 255, 255, .08);
      color: var(--soft);
      font-size: 13px;
    }

    .mobile-tabs {
      display: none;
      position: fixed;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 60;
      padding: 7px 12px calc(7px + env(safe-area-inset-bottom));
      border-top: 1px solid rgba(34, 211, 238, .22);
      background: rgba(9, 9, 11, .92);
      backdrop-filter: blur(18px);
    }

    .tab-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 6px;
      max-width: 520px;
      margin: 0 auto;
    }

    .tab-link {
      min-height: 52px;
      display: grid;
      place-items: center;
      gap: 2px;
      border-radius: 8px;
      color: var(--muted);
      font-size: 12px;
      font-weight: 800;
      transition: .2s ease;
    }

    .tab-link svg {
      width: 19px;
      height: 19px;
    }

    .tab-link.active,
    .tab-link:hover {
      color: var(--text);
      background: rgba(34, 211, 238, .1);
      box-shadow: inset 0 0 0 1px rgba(34, 211, 238, .28);
    }

    @media (max-width: 1024px) {
      .hero-grid,
      .main-layout,
      .cta-card {
        grid-template-columns: 1fr;
      }

      .reference-panel {
        position: static;
      }

      .section-head {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 768px) {
      body {
        padding-bottom: 86px;
      }

      .desktop-nav,
      .top-action {
        display: none;
      }

      .mobile-tabs {
        display: block;
      }

      .nav-wrap {
        min-height: 64px;
      }

      .brand-name {
        font-size: 16px;
      }

      .hero {
        padding: 42px 0 34px;
      }

      .hero-actions .btn {
        width: 100%;
      }

      .group-status,
      .highlight-top,
      .compare-band,
      .footer-grid {
        grid-template-columns: 1fr;
        display: grid;
      }

      .status-row {
        grid-template-columns: 1fr;
      }

      .timeline-group {
        grid-template-columns: 1fr;
        gap: 10px;
      }

      .section {
        padding: 42px 0;
      }

      .footer-grid {
        gap: 24px;
      }

      .site-footer {
        padding-bottom: 110px;
      }
    }

    @media (max-width: 520px) {
      .container {
        width: min(100% - 28px, var(--container));
      }

      .hero h1 {
        font-size: 32px;
      }

      .hero-copy,
      .section-copy {
        font-size: 15px;
      }

      .hero-panel,
      .highlight-card,
      .reference-panel,
      .compare-card,
      .cta-card {
        padding: 16px;
      }

      .group-number {
        font-size: 34px;
      }

      .quick-tags {
        gap: 8px;
      }

      .chip {
        max-width: 100%;
        white-space: normal;
        line-height: 1.35;
        padding-block: 8px;
      }
    }
