/* roulang page: index */
:root {
      --brand-dark: #0F172A;
      --brand-primary: #0D9488;
      --brand-primary-light: #14B8A6;
      --brand-accent: #F97316;
      --brand-bg: #F8FAFC;
      --text-main: #334155;
      --text-muted: #64748B;
      --border-color: #E2E8F0;
    }
    html {
      scroll-behavior: smooth;
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
    }
    body {
      color: var(--text-main);
      background-color: #FFFFFF;
      line-height: 1.75;
    }
    .custom-hero-bg {
      background: linear-gradient(135deg, rgba(15, 23, 42, 0.94) 0%, rgba(15, 23, 42, 0.82) 100%), url('/assets/images/043174608e5f9d35.jpg') center/cover no-repeat;
    }
    .dark-topology-bg {
      background: linear-gradient(180deg, #0F172A 0%, #1E293B 100%);
    }
    .ticket-punch {
      position: relative;
    }
    .ticket-punch::before, .ticket-punch::after {
      content: '';
      position: absolute;
      top: 50%;
      width: 14px;
      height: 14px;
      border-radius: 50%;
      background-color: #FFFFFF;
      transform: translateY(-50%);
    }
    .ticket-punch::before { left: -7px; }
    .ticket-punch::after { right: -7px; }
    details > summary { list-style: none; }
    details > summary::-webkit-details-marker { display: none; }
    details[open] summary svg { transform: rotate(180deg); }
