/* roulang page: index */
:root {
      --primary-color: #0F5B66;
      --primary-hover: #167685;
      --secondary-color: #10B981;
      --accent-color: #F59E0B;
      --bg-cream: #F8FAFC;
      --text-main: #0F172A;
      --text-muted: #475569;
      --text-sub: #94A3B8;
      --border-soft: #E2E8F0;
    }
    *, *::before, *::after {
      box-sizing: border-box;
    }
    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: var(--bg-cream);
      line-height: 1.6;
      overflow-x: hidden;
    }
    .custom-container {
      width: 100%;
      max-width: 1280px;
      margin-left: auto;
      margin-right: auto;
      padding-left: 1rem;
      padding-right: 1rem;
    }
    @media (min-width: 640px) {
      .custom-container { padding-left: 1.5rem; padding-right: 1.5rem; }
    }
    @media (min-width: 1024px) {
      .custom-container { padding-left: 2rem; padding-right: 2rem; }
    }
    .glass-nav {
      background: rgba(255, 255, 255, 0.95);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
    }
    .trans-all {
      transition: all 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .badge-subtle {
      background: rgba(16, 185, 129, 0.1);
      color: #0d9488;
      border: 1px solid rgba(16, 185, 129, 0.2);
    }
    .badge-amber {
      background: rgba(245, 158, 11, 0.12);
      color: #d97706;
      border: 1px solid rgba(245, 158, 11, 0.25);
    }
    details summary::-webkit-details-marker {
      display: none;
    }
    details[open] summary svg {
      transform: rotate(180deg);
    }
