/* roulang page: index */
:root {
      --color-primary: #1a365d;
      --color-secondary: #0284c7;
      --color-milky: #f9f8f3;
      --color-text-main: #1e293b;
      --color-text-sub: #475569;
      --border-soft: #e2e8f0;
    }
    body {
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      color: var(--color-text-main);
      background-color: #f8fafc;
      -webkit-font-smoothing: antialiased;
    }
    .hero-cut {
      clip-path: polygon(0 0, 100% 0, 100% 86%, 0 100%);
    }
    @media (max-width: 768px) {
      .hero-cut {
        clip-path: polygon(0 0, 100% 0, 100% 93%, 0 100%);
      }
    }
    .gov-border-b {
      border-bottom: 3px solid #1a365d;
    }
    .panel-dark {
      background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    }

/* roulang page: index */
:root {
      --gov-navy: #192a45;
      --gov-dark: #0f1c30;
      --gov-light: #f4f6fa;
      --gov-border: #dbe2ea;
      --accent-blue: #1d59b3;
      --text-main: #202b3c;
      --text-muted: #5e6d82;
      --cream-white: #fdfbf7;
    }
    body {
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      color: var(--text-main);
      background-color: #f7f9fc;
    }
    .clip-slant {
      clip-path: polygon(0 0, 100% 0, 100% 86%, 0 100%);
    }
    @media (max-width: 768px) {
      .clip-slant {
        clip-path: polygon(0 0, 100% 0, 100% 95%, 0 100%);
      }
    }
    .text-balance {
      text-wrap: balance;
    }

/* roulang page: category1 */
:root {
            --color-primary: #1a365d;
            --color-secondary: #0284c7;
            --color-milky: #f9f8f3;
            --color-text-main: #1e293b;
            --color-text-sub: #475569;
            --border-soft: #e2e8f0;
            --gov-navy: #192a45;
            --gov-dark: #0f1c30;
            --gov-light: #f4f6fa;
            --gov-border: #dbe2ea;
            --accent-blue: #1d59b3;
            --text-main: #202b3c;
            --text-muted: #5e6d82;
            --cream-white: #fdfbf7;
        }
        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            color: var(--text-main);
            background-color: #f7f9fc;
            -webkit-font-smoothing: antialiased;
        }
        .hero-cut {
            clip-path: polygon(0 0, 100% 0, 100% 93%, 0 100%);
        }
        .gov-border-b {
            border-bottom: 3px solid #1a365d;
        }
        .text-balance {
            text-wrap: balance;
        }
        @media (max-width: 768px) {
            .hero-cut {
                clip-path: polygon(0 0, 100% 0, 100% 95%, 0 100%);
            }
        }

/* roulang page: category2 */
:root {
      --color-primary: #1a365d;
      --color-secondary: #0284c7;
      --color-milky: #f9f8f3;
      --color-text-main: #1e293b;
      --color-text-sub: #475569;
      --border-soft: #e2e8f0;
      --gov-navy: #192a45;
      --gov-dark: #0f1c30;
      --gov-light: #f4f6fa;
      --gov-border: #dbe2ea;
      --accent-blue: #1d59b3;
      --text-main: #202b3c;
      --text-muted: #5e6d82;
      --cream-white: #fdfbf7;
    }
    body {
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      color: var(--text-main);
      background-color: #f7f9fc;
      -webkit-font-smoothing: antialiased;
    }
    .hero-cut {
      clip-path: polygon(0 0, 100% 0, 100% 93%, 0 100%);
    }
    .text-balance {
      text-wrap: balance;
    }
    @media (max-width: 768px) {
      .hero-cut {
        clip-path: polygon(0 0, 100% 0, 100% 96%, 0 100%);
      }
    }

/* roulang page: category3 */
:root {
      --color-primary: #1a365d;
      --color-secondary: #0284c7;
      --color-milky: #f9f8f3;
      --color-text-main: #1e293b;
      --color-text-sub: #475569;
      --border-soft: #e2e8f0;
    }
    :root {
      --gov-navy: #192a45;
      --gov-dark: #0f1c30;
      --gov-light: #f4f6fa;
      --gov-border: #dbe2ea;
      --accent-blue: #1d59b3;
      --text-main: #202b3c;
      --text-muted: #5e6d82;
      --cream-white: #fdfbf7;
    }
    body {
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      color: var(--color-text-main);
      background-color: #f8fafc;
      -webkit-font-smoothing: antialiased;
    }
    .gov-border-b {
      border-bottom: 3px solid #1a365d;
    }
    .text-balance {
      text-wrap: balance;
    }
    .bento-card {
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }
    .bento-card:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 25px -5px rgba(15, 28, 48, 0.08), 0 8px 10px -6px rgba(15, 28, 48, 0.04);
    }

/* roulang page: category4 */
:root {
      --color-primary: #1a365d;
      --color-secondary: #0284c7;
      --color-milky: #f9f8f3;
      --color-text-main: #1e293b;
      --color-text-sub: #475569;
      --border-soft: #e2e8f0;
      --gov-navy: #192a45;
      --gov-dark: #0f1c30;
      --gov-light: #f4f6fa;
      --gov-border: #dbe2ea;
      --accent-blue: #1d59b3;
      --text-main: #202b3c;
      --text-muted: #5e6d82;
      --cream-white: #fdfbf7;
    }
    body {
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      color: var(--text-main);
      background-color: #f8fafc;
      -webkit-font-smoothing: antialiased;
    }
    .text-balance {
      text-wrap: balance;
    }
    .gov-badge {
      display: inline-flex;
      align-items: center;
      padding: 0.15rem 0.6rem;
      border-radius: 2px;
      font-size: 0.75rem;
      font-weight: 600;
      border: 1px solid rgba(2, 132, 199, 0.3);
      background-color: rgba(2, 132, 199, 0.08);
      color: #0284c7;
    }
    .status-pulse {
      display: inline-block;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background-color: #10b981;
      margin-right: 6px;
      box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
      animation: pulse-ring 1.8s infinite;
    }
    @keyframes pulse-ring {
      0% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7); }
      70% { box-shadow: 0 0 0 6px rgba(16, 185, 129, 0); }
      100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
    }
    .custom-table tr:nth-child(even) {
      background-color: #f8fafc;
    }
    .custom-table tr:hover {
      background-color: #f1f5f9;
    }
