/* roulang page: index */
:root {
      --bg-base: #FAFAFC;
      --bg-alt: #F3F4F6;
      --bg-dark: #0B0F19;
      --text-main: #0F172A;
      --text-muted: #64748B;
      --brand-primary: #0F172A;
      --brand-accent: #EA580C;
      --brand-cyan: #0EA5E9;
      --border-light: rgba(226, 232, 240, 0.85);
      --radius-sm: 8px;
      --radius-md: 12px;
      --radius-lg: 16px;
    }
    * {
      box-sizing: border-box;
      scroll-behavior: smooth;
    }
    body {
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", Inter, sans-serif;
      background-color: var(--bg-base);
      color: var(--text-main);
      overflow-x: hidden;
      line-height: 1.7;
    }
    .metric-font {
      font-family: "DIN Alternate", Inter, -apple-system, sans-serif;
    }
    .court-grid-pattern {
      background-image: radial-gradient(rgba(234, 88, 12, 0.15) 1px, transparent 0);
      background-size: 24px 24px;
    }
    .dark-tactics-bg {
      background-color: #0B0F19;
      background-image: linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
                        linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
      background-size: 32px 32px;
    }
    .transition-card {
      transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
    }
    .transition-card:hover {
      transform: translateY(-4px);
      border-color: rgba(234, 88, 12, 0.4);
      box-shadow: 0 12px 28px -6px rgba(15, 23, 42, 0.08);
    }
    .hero-mask {
      background: linear-gradient(180deg, rgba(11, 15, 25, 0.82) 0%, rgba(11, 15, 25, 0.95) 100%);
    }
    .coupon-ticket {
      position: relative;
      background: #FFFFFF;
      border-radius: 12px;
      border: 1px dashed #CBD5E1;
    }
    .coupon-ticket::before, .coupon-ticket::after {
      content: "";
      position: absolute;
      width: 18px;
      height: 18px;
      background: #F3F4F6;
      border-radius: 50%;
      top: 50%;
      transform: translateY(-50%);
    }
    .coupon-ticket::before { left: -9px; }
    .coupon-ticket::after { right: -9px; }
    details > summary {
      list-style: none;
    }
    details > summary::-webkit-details-marker {
      display: none;
    }
    details[open] summary .faq-icon {
      transform: rotate(180deg);
      color: #EA580C;
    }
