/* roulang page: index */
:root {
      --primary: #1e3a8a;
      --primary-focus: #172554;
      --accent: #d97706;
      --surface: #ffffff;
      --surface-subtle: #f8fafc;
      --border-color: #e2e8f0;
      --text-main: #0f172a;
      --text-muted: #475569;
    }
    body {
      color: var(--text-main);
      background-color: #f1f5f9;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
      line-height: 1.6;
    }
    .header-floating {
      box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
    }
    .card-hover-effect {
      transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .card-hover-effect:hover {
      transform: translateY(-3px);
      box-shadow: 0 12px 24px -6px rgba(15, 23, 42, 0.08);
    }
    .hero-bg {
      background-image: linear-gradient(to right, rgba(15, 23, 42, 0.94), rgba(30, 58, 138, 0.88)), url('/assets/images/f16e9002831178d4.jpg');
      background-size: cover;
      background-position: center;
    }

/* roulang page: index */
:root {
      --primary: #1e3a8a;
      --primary-focus: #172554;
      --secondary: #0284c7;
      --accent: #b45309;
      --bg-canvas: #f8fafc;
      --text-main: #0f172a;
      --text-muted: #475569;
      --border-color: #e2e8f0;
      --radius-sm: 0.375rem;
      --radius-md: 0.75rem;
      --radius-lg: 1.25rem;
    }
    body {
      background-color: var(--bg-canvas);
      color: var(--text-main);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      line-height: 1.68;
    }
    .hero-bg {
      background: linear-gradient(135deg, rgba(15, 23, 42, 0.94) 0%, rgba(30, 58, 138, 0.88) 100%), url('/assets/images/f16e9002831178d4.jpg') center/cover no-repeat;
    }
    .pattern-card {
      transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .pattern-card:hover {
      transform: translateY(-3px);
      box-shadow: 0 12px 24px -8px rgba(15, 23, 42, 0.12);
    }

/* roulang page: category1 */
:root {
      --primary: #1e3a8a;
      --primary-focus: #172554;
      --secondary: #0284c7;
      --accent: #b45309;
      --bg-canvas: #f8fafc;
      --text-main: #0f172a;
      --text-muted: #475569;
      --border-color: #e2e8f0;
      --radius-sm: 0.375rem;
      --radius-md: 0.75rem;
      --radius-lg: 1.25rem;
    }
    body {
      background-color: var(--bg-canvas);
      color: var(--text-main);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      line-height: 1.68;
    }
    .header-floating {
      box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
    }
    .pattern-card {
      transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .pattern-card:hover {
      transform: translateY(-3px);
      box-shadow: 0 12px 24px -8px rgba(15, 23, 42, 0.12);
    }
    .subtle-badge {
      border: 1px solid rgba(226, 232, 240, 0.8);
    }

/* roulang page: category2 */
:root {
      --primary: #1e3a8a;
      --primary-focus: #172554;
      --secondary: #0284c7;
      --accent: #b45309;
      --bg-canvas: #f8fafc;
      --surface: #ffffff;
      --surface-subtle: #f8fafc;
      --text-main: #0f172a;
      --text-muted: #475569;
      --border-color: #e2e8f0;
      --radius-sm: 0.375rem;
      --radius-md: 0.75rem;
      --radius-lg: 1.25rem;
    }
    body {
      background-color: var(--bg-canvas);
      color: var(--text-main);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      line-height: 1.68;
    }
    .hero-bg {
      background: linear-gradient(135deg, rgba(15, 23, 42, 0.94) 0%, rgba(30, 58, 138, 0.88) 100%), url('/assets/images/f16e9002831178d4.jpg') center/cover no-repeat;
    }
    .pattern-card {
      transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .pattern-card:hover {
      transform: translateY(-3px);
      box-shadow: 0 12px 24px -8px rgba(15, 23, 42, 0.12);
    }
    .contrast-panel {
      border-left: 4px solid var(--accent);
    }

/* roulang page: category3 */
:root {
            --primary: #1e3a8a;
            --primary-focus: #172554;
            --secondary: #0284c7;
            --accent: #d97706;
            --surface: #ffffff;
            --surface-subtle: #f8fafc;
            --border-color: #e2e8f0;
            --text-main: #0f172a;
            --text-muted: #475569;
            --radius-sm: 0.375rem;
            --radius-md: 0.75rem;
            --radius-lg: 1.25rem;
        }
        body {
            color: var(--text-main);
            background-color: #f1f5f9;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            line-height: 1.68;
        }
        .header-floating {
            box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
        }
        .card-hover-effect {
            transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .card-hover-effect:hover {
            transform: translateY(-3px);
            box-shadow: 0 12px 24px -6px rgba(15, 23, 42, 0.08);
        }
        .hero-banner {
            background: linear-gradient(135deg, rgba(15, 23, 42, 0.95) 0%, rgba(30, 58, 138, 0.9) 100%), url('/assets/images/bd47b13620b1baf5.webp') center/cover no-repeat;
        }
        .pattern-card {
            transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .pattern-card:hover {
            transform: translateY(-3px);
            box-shadow: 0 12px 24px -8px rgba(15, 23, 42, 0.12);
        }

/* roulang page: category4 */
:root {
      --primary: #1e3a8a;
      --primary-focus: #172554;
      --secondary: #0284c7;
      --accent: #b45309;
      --bg-canvas: #f8fafc;
      --text-main: #0f172a;
      --text-muted: #475569;
      --border-color: #e2e8f0;
      --radius-sm: 0.375rem;
      --radius-md: 0.75rem;
      --radius-lg: 1.25rem;
    }
    body {
      background-color: var(--bg-canvas);
      color: var(--text-main);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      line-height: 1.68;
    }
    .hero-bg {
      background: linear-gradient(135deg, rgba(15, 23, 42, 0.94) 0%, rgba(30, 58, 138, 0.88) 100%), url('/assets/images/f16e9002831178d4.jpg') center/cover no-repeat;
    }
    .pattern-card {
      transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .pattern-card:hover {
      transform: translateY(-3px);
      box-shadow: 0 12px 24px -8px rgba(15, 23, 42, 0.12);
    }
    .academic-border {
      border-left: 4px solid var(--primary);
    }
