/* roulang page: index */
:root {
      --primary-color: #1D4ED8;
      --primary-hover: #1E40AF;
      --accent-color: #0284C7;
      --bg-base: #F8FAFC;
      --text-main: #0F172A;
      --text-body: #334155;
      --text-muted: #64748B;
      --border-color: #E2E8F0;
      --card-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.06), 0 8px 10px -6px rgba(15, 23, 42, 0.04);
      --card-hover-shadow: 0 20px 25px -5px rgba(29, 78, 216, 0.12), 0 8px 10px -6px rgba(29, 78, 216, 0.08);
    }
    body {
      background-color: var(--bg-base);
      color: var(--text-body);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
      overflow-x: hidden;
    }
    .custom-card-shadow {
      box-shadow: var(--card-shadow);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .custom-card-shadow:hover {
      box-shadow: var(--card-hover-shadow);
      transform: translateY(-4px);
    }
    .hero-stack-primary {
      transform: perspective(1000px) rotateY(-4deg) rotateX(2deg);
      transition: transform 0.4s ease;
    }
    .hero-stack-primary:hover {
      transform: perspective(1000px) rotateY(0deg) rotateX(0deg);
    }
    .line-clamp-2 {
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

/* roulang page: category1 */
:root {
      --primary-color: #1D4ED8;
      --primary-hover: #1E40AF;
      --accent-color: #0284C7;
      --bg-base: #F8FAFC;
      --text-main: #0F172A;
      --text-body: #334155;
      --text-muted: #64748B;
      --border-color: #E2E8F0;
      --card-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.06), 0 8px 10px -6px rgba(15, 23, 42, 0.04);
      --card-hover-shadow: 0 20px 25px -5px rgba(29, 78, 216, 0.12), 0 8px 10px -6px rgba(29, 78, 216, 0.08);
    }
    body {
      background-color: var(--bg-base);
      color: var(--text-body);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
      overflow-x: hidden;
    }
    .custom-card-shadow {
      box-shadow: var(--card-shadow);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .custom-card-shadow:hover {
      box-shadow: var(--card-hover-shadow);
      transform: translateY(-4px);
    }
    .filter-btn-active {
      background-color: var(--primary-color);
      color: #FFFFFF;
      border-color: var(--primary-color);
    }
    .line-clamp-2 {
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

/* roulang page: category2 */
:root {
      --primary-color: #1D4ED8;
      --primary-hover: #1E40AF;
      --accent-color: #0284C7;
      --bg-base: #F8FAFC;
      --text-main: #0F172A;
      --text-body: #334155;
      --text-muted: #64748B;
      --border-color: #E2E8F0;
      --card-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.06), 0 8px 10px -6px rgba(15, 23, 42, 0.04);
      --card-hover-shadow: 0 20px 25px -5px rgba(29, 78, 216, 0.12), 0 8px 10px -6px rgba(29, 78, 216, 0.08);
    }
    body {
      background-color: var(--bg-base);
      color: var(--text-body);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
      overflow-x: hidden;
    }
    .custom-card-shadow {
      box-shadow: var(--card-shadow);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .custom-card-shadow:hover {
      box-shadow: var(--card-hover-shadow);
      transform: translateY(-4px);
    }
    .filter-badge-active {
      background-color: #1D4ED8;
      color: #FFFFFF;
      font-weight: 600;
    }
    .filter-badge-idle {
      background-color: #F1F5F9;
      color: #475569;
      font-weight: 500;
    }
    .filter-badge-idle:hover {
      background-color: #E2E8F0;
      color: #1E293B;
    }

/* roulang page: category3 */
:root {
      --primary-color: #1D4ED8;
      --primary-hover: #1E40AF;
      --accent-color: #0284C7;
      --bg-base: #F8FAFC;
      --text-main: #0F172A;
      --text-body: #334155;
      --text-muted: #64748B;
      --border-color: #E2E8F0;
      --card-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.06), 0 8px 10px -6px rgba(15, 23, 42, 0.04);
      --card-hover-shadow: 0 20px 25px -5px rgba(29, 78, 216, 0.12), 0 8px 10px -6px rgba(29, 78, 216, 0.08);
    }
    body {
      background-color: var(--bg-base);
      color: var(--text-body);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
      overflow-x: hidden;
    }
    .custom-card-shadow {
      box-shadow: var(--card-shadow);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .custom-card-shadow:hover {
      box-shadow: var(--card-hover-shadow);
      transform: translateY(-4px);
    }
    .poster-aspect {
      aspect-ratio: 2 / 3;
    }
    .spotlight-aspect {
      aspect-ratio: 16 / 9;
    }
    .accordion-content {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.3s ease-out;
    }
    .accordion-item.active .accordion-content {
      max-height: 200px;
    }
    .accordion-item.active .accordion-icon {
      transform: rotate(180deg);
    }

/* roulang page: category4 */
:root {
      --primary-color: #1D4ED8;
      --primary-hover: #1E40AF;
      --accent-color: #0284C7;
      --bg-base: #F8FAFC;
      --text-main: #0F172A;
      --text-body: #334155;
      --text-muted: #64748B;
      --border-color: #E2E8F0;
      --card-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.06), 0 8px 10px -6px rgba(15, 23, 42, 0.04);
      --card-hover-shadow: 0 20px 25px -5px rgba(29, 78, 216, 0.12), 0 8px 10px -6px rgba(29, 78, 216, 0.08);
    }
    body {
      background-color: var(--bg-base);
      color: var(--text-body);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
      overflow-x: hidden;
    }
    .custom-card-shadow {
      box-shadow: var(--card-shadow);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .custom-card-shadow:hover {
      box-shadow: var(--card-hover-shadow);
      transform: translateY(-4px);
    }
    .aspect-poster {
      aspect-ratio: 2 / 3;
    }
    details summary::-webkit-details-marker {
      display: none;
    }
