  /* ============================================
    ChemiVerse - Main Stylesheet
    ============================================ */

  /* ============================================
    Reset & Base Styles
    ============================================ */
  *, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }

  html {
    scroll-behavior: smooth;
    font-size: 16px;
    direction: rtl;
  }

  body {
    font-family: var(--font-arabic);
    background-color: var(--bg-deep);
    color: var(--text-primary);
    line-height: 1.7;
    overflow-x: hidden;
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  a {
    text-decoration: none;
    color: inherit;
    transition: color var(--transition-base);
  }

  a:hover {
    color: var(--ui-hover-color);
  }

  img {
    max-width: 100%;
    height: auto;
    display: block;
  }

  button {
    font-family: inherit;
    cursor: pointer;
    border: none;
    background: none;
    color: inherit;
  }

  .theme-toggle {
    width: 92px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 6px 10px;
    border-radius: var(--radius-full);
    border: 1px solid var(--glass-border);
    background: rgba(255, 255, 255, 0.06);
    transition: transform var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast);
    flex: 0 0 auto;
    position: relative;
    overflow: hidden;
  }

  [data-theme-toggle].theme-toggle {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  :root[data-theme="light"] .theme-toggle {
    background: rgba(9, 16, 28, 0.04);
  }

  .theme-toggle:hover {
    transform: translateY(-1px);
    border-color: rgba(0, 212, 255, 0.45);
    background: rgba(0, 212, 255, 0.10);
  }

  .theme-toggle svg {
    width: 18px;
    height: 18px;
  }

  .theme-toggle__icon {
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    opacity: 0.9;
    color: rgba(226, 232, 240, 0.95);
  }

  :root[data-theme="light"] .theme-toggle__icon {
    opacity: 0.85;
    color: rgba(15, 23, 42, 0.78);
  }

  /* Emphasize current theme side (so it doesn't look like a single icon) */
  .theme-toggle--light .theme-toggle__icon--sun {
    opacity: 1;
    color: rgba(15, 23, 42, 0.92);
  }

  .theme-toggle--light .theme-toggle__icon--moon {
    opacity: 0.55;
  }

  .theme-toggle--dark .theme-toggle__icon--moon {
    opacity: 1;
    color: rgba(226, 232, 240, 0.98);
  }

  .theme-toggle--dark .theme-toggle__icon--sun {
    opacity: 0.55;
  }

  .theme-toggle__thumb {
    position: absolute;
    top: 50%;
    left: 8px;
    right: auto;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(15, 23, 42, 0.15);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
    transition: left 180ms ease, right 180ms ease, background 180ms ease, border-color 180ms ease;
    display: grid;
    place-items: center;
    z-index: 2;
  }

  :root[data-theme="light"] .theme-toggle__thumb {
    background: rgba(15, 23, 42, 0.92);
    border-color: rgba(15, 23, 42, 0.18);
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.18);
  }

  .theme-toggle__thumb-icon {
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: rgba(15, 23, 42, 0.9);
  }

  :root[data-theme="light"] .theme-toggle__thumb-icon {
    color: rgba(255, 255, 255, 0.92);
  }

  .theme-toggle--dark .theme-toggle__thumb {
    left: auto;
    right: 8px;
  }

  .theme-toggle--dark .theme-toggle__icon--sun {
    opacity: 0.55;
  }

  .theme-toggle--light .theme-toggle__icon--moon {
    opacity: 0.55;
  }

  /* Position sun and moon at opposite ends */
  .theme-toggle__icon--sun {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 0;
  }

  .theme-toggle__icon--moon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 0;
  }

  .theme-toggle--dark .theme-toggle__icon--sun {
    opacity: 0.55;
  }

  .theme-toggle--light .theme-toggle__icon--moon {
    opacity: 0.55;
  }

  .theme-toggle:focus-visible {
    outline: 2px solid rgba(0, 212, 255, 0.65);
    outline-offset: 2px;
  }

  .theme-toggle-floating {
    position: fixed;
    top: 14px;
    right: 14px;
    z-index: 1200;
  }

  .scroll-progress {
    position: fixed;
    left: 0;
    right: 0;
    top: var(--navbar-height);
    height: 4px;
    z-index: 900;
    background: rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    overflow: hidden;
    pointer-events: none;
  }

  body.modal-open .scroll-progress {
    opacity: 0;
    visibility: hidden;
  }

  :root[data-theme="light"] .scroll-progress {
    background: rgba(15, 23, 42, 0.08);
  }

  .scroll-progress__bar {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, var(--chem-primary), var(--chem-secondary), var(--chem-accent));
    border-radius: 0 999px 999px 0;
    position: relative;
    transition: width 120ms linear;
  }

  .scroll-progress__bar::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 140px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.65), transparent);
    transform: translateX(-160px);
    animation: scrollProgressShimmer 1.6s linear infinite;
    opacity: 0.65;
    mix-blend-mode: overlay;
  }

  @keyframes scrollProgressShimmer {
    0% { transform: translateX(-160px); }
    100% { transform: translateX(520px); }
  }

  ul, ol {
    list-style: none;
  }

  /* ============================================
    Custom Scrollbar
    ============================================ */
  ::-webkit-scrollbar {
    width: 8px;
    height: 8px;
  }

  ::-webkit-scrollbar-track {
    background: var(--bg-dark);
  }

  ::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, var(--chem-primary), var(--chem-secondary));
    border-radius: var(--radius-full);
  }

  ::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, var(--chem-accent), var(--chem-primary));
  }

  /* ============================================
    Utility Classes
    ============================================ */
  .gradient-text {
    background: var(--gradient-hero);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

  .glass {
    background: var(--glass-bg);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border: 1px solid var(--glass-border);
  }

  /* ============================================
    Animation Keyframes
    ============================================ */
  @keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }

  @keyframes fadeInUp {
    from { 
      opacity: 0; 
      transform: translateY(30px); 
    }
    to { 
      opacity: 1; 
      transform: translateY(0); 
    }
  }

  @keyframes fadeInDown {
    from { 
      opacity: 0; 
      transform: translateY(-30px); 
    }
    to { 
      opacity: 1; 
      transform: translateY(0); 
    }
  }

  @keyframes slideInRight {
    from { 
      opacity: 0; 
      transform: translateX(50px); 
    }
    to { 
      opacity: 1; 
      transform: translateX(0); 
    }
  }

  @keyframes slideInLeft {
    from { 
      opacity: 0; 
      transform: translateX(-50px); 
    }
    to { 
      opacity: 1; 
      transform: translateX(0); 
    }
  }

  @keyframes spin {
    to { transform: rotate(360deg); }
  }

  @keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
  }

  @keyframes glowPulse {
    0%, 100% { 
      box-shadow: 0 0 20px rgba(0, 212, 255, 0.5), 0 0 40px rgba(139, 92, 246, 0.3);
    }
    50% { 
      box-shadow: 0 0 40px rgba(0, 212, 255, 0.8), 0 0 60px rgba(139, 92, 246, 0.5);
    }
  }

  @keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
  }

  @keyframes scrollWheel {
    0% { top: 6px; opacity: 1; }
    100% { top: 20px; opacity: 0; }
  }

  @keyframes toastSlideIn {
    from { transform: translateX(-100%); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
  }

  @keyframes toastSlideOut {
    from { transform: translateX(0); opacity: 1; }
    to { transform: translateX(-100%); opacity: 0; }
  }

  @keyframes scaleIn {
    from { 
      opacity: 0; 
      transform: scale(0.8) rotateX(90deg); 
    }
    to { 
      opacity: 1; 
      transform: scale(1) rotateX(0deg); 
    }
  }

  @keyframes spiralIn {
    from { 
      opacity: 0; 
      transform: scale(0.5) rotate(180deg); 
    }
    to { 
      opacity: 1; 
      transform: scale(1) rotate(0deg); 
    }
  }

  @keyframes scanline {
    0% { transform: translateY(-100%); }
    100% { transform: translateY(100%); }
  }

  @keyframes rise {
    0% {
      transform: translateY(0) translateX(0);
      opacity: 0;
    }
    10% {
      opacity: 0.6;
    }
    90% {
      opacity: 0.6;
    }
    100% {
      transform: translateY(-600px) translateX(20px);
      opacity: 0;
    }
  }

  @keyframes logoPulse {
    0%, 100% {
      box-shadow: 0 0 20px rgba(0, 212, 255, 0.5), 0 0 40px rgba(139, 92, 246, 0.3);
    }
    50% {
      box-shadow: 0 0 40px rgba(0, 212, 255, 0.8), 0 0 60px rgba(139, 92, 246, 0.5);
    }
  }

  @keyframes textPulse {
    0%, 100% { opacity: 0.6; }
    50% { opacity: 1; }
  }

  /* ============================================
    Loading Screen
    ============================================ */
  .loading-screen {
    position: fixed;
    inset: 0;
    background: var(--bg-deep);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    transition: opacity 0.8s ease, visibility 0.8s ease;
  }

  .loading-screen.hidden {
    opacity: 0;
    visibility: hidden;
  }

  .loading-screen__logo {
    font-size: var(--text-5xl);
    font-weight: 900;
    margin-bottom: var(--space-6);
    display: flex;
    align-items: center;
    gap: var(--space-3);
  }

  .loading-screen__logo-icon {
    width: 60px;
    height: 60px;
    background: var(--gradient-hero);
    border-radius: var(--radius-xl);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--text-2xl);
    animation: logoPulse 2s infinite;
  }

  .loading-screen__spinner {
    width: 60px;
    height: 60px;
    border: 3px solid transparent;
    border-top-color: var(--chem-primary);
    border-right-color: var(--chem-secondary);
    border-radius: 50%;
    animation: spin 1s linear infinite;
  }

  .loading-screen__progress {
    width: 200px;
    height: 4px;
    background: var(--bg-elevated);
    border-radius: var(--radius-full);
    margin-top: var(--space-4);
    overflow: hidden;
  }

  .loading-screen__progress-bar {
    height: 100%;
    background: var(--gradient-hero);
    border-radius: var(--radius-full);
    transition: width 0.2s ease;
    width: 0%;
  }

  .loading-screen__text {
    margin-top: var(--space-6);
    font-size: var(--text-lg);
    color: var(--text-muted);
    animation: textPulse 1.5s infinite;
  }

  /* ============================================
    Toast Notifications
    ============================================ */
  .toast-container {
    position: fixed;
    bottom: 1rem;
    left: 1rem;
    z-index: 1000;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
  }

  .toast {
    background: var(--glass-bg);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius-lg);
    padding: var(--space-4) var(--space-6);
    display: flex;
    align-items: center;
    gap: var(--space-3);
    box-shadow: var(--shadow-lg);
    animation: toastSlideIn 0.3s ease;
    min-width: 280px;
  }

  .toast--success { border-color: var(--chem-accent); }
  .toast--error { border-color: var(--chem-danger); }
  .toast--warning { border-color: var(--chem-warning); }
  .toast--info { border-color: var(--chem-primary); }

  .toast__icon {
    font-size: var(--text-xl);
    flex-shrink: 0;
  }

  .toast--success .toast__icon { color: var(--chem-accent); }
  .toast--error .toast__icon { color: var(--chem-danger); }
  .toast--warning .toast__icon { color: var(--chem-warning); }
  .toast--info .toast__icon { color: var(--chem-primary); }

  .toast--removing {
    animation: toastSlideOut 0.3s ease forwards;
  }

  /* ============================================
    Navigation
    ============================================ */
  .navbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: var(--navbar-height);
    z-index: var(--z-fixed);
    transition: all var(--transition-base);
    padding: 0 var(--content-padding);
  }

  .navbar--transparent {
    background: transparent;
  }

  .navbar--solid {
    background: rgba(26, 26, 46, 0.94) !important;
    backdrop-filter: blur(80px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(80px) saturate(180%) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.35) !important;
  }

  :root[data-theme="light"] .navbar--solid {
    background: rgba(250, 252, 255, 0.88) !important;
    border-bottom: 1px solid rgba(15, 23, 42, 0.12) !important;
    box-shadow: 0 10px 30px rgba(9, 16, 28, 0.12) !important;
  }

  :root[data-theme="light"] .navbar__link {
    color: rgba(15, 23, 42, 0.82);
  }

  :root[data-theme="light"] .navbar__link:hover,
  :root[data-theme="light"] .navbar__link.active {
    color: rgba(15, 23, 42, 0.95);
  }

  :root[data-theme="light"] .user-menu__button {
    background: rgba(15, 23, 42, 0.04);
    border-color: rgba(15, 23, 42, 0.12);
  }

  .navbar__container {
    max-width: var(--max-width);
    margin: 0 auto;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
  }

  .navbar__logo {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    font-size: var(--text-2xl);
    font-weight: 800;
    font-family: var(--font-display);
  }

  /* Logo text: full brand on desktop, M.Hassan on mobile */
  .navbar__logo-text--mobile {
    display: none;
  }

  @media (max-width: 640px) {
    .navbar__logo-text {
      display: none;
    }
    .navbar__logo-text--mobile {
      display: inline;
    }
  }

  .navbar__logo-icon {
    width: 45px;
    height: 45px;
    background: var(--gradient-hero);
    border-radius: var(--radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--text-xl);
    box-shadow: var(--shadow-glow-cyan);
  }

  .navbar__logo-icon svg {
    width: 24px;
    height: 24px;
    display: block;
  }

  .navbar__links {
    display: flex;
    align-items: center;
    gap: var(--space-8);
  }

  .navbar__link {
    font-size: var(--text-base);
    font-weight: 500;
    color: var(--text-secondary);
    position: relative;
    padding: var(--space-2) 0;
    transition: all var(--transition-base);
  }

  .navbar__link::after {
    content: '';
    position: absolute;
    bottom: -4px;
    right: 0;
    width: 0;
    height: 2px;
    background: var(--gradient-hero);
    transition: width var(--transition-base);
    border-radius: var(--radius-full);
  }

  .navbar__link:hover::after,
  .navbar__link.active::after {
    width: 100%;
  }

  .navbar__link:hover,
  .navbar__link.active {
    color: var(--ui-hover-color);
  }

  .navbar__actions {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    min-width: 0;
  }

  .navbar__cta--secondary {
    background: transparent;
    border: 1px solid var(--glass-border);
    color: var(--text-primary);
    box-shadow: none;
  }

  .navbar__cta--secondary:hover {
    border-color: rgba(0, 212, 255, 0.55);
    background: rgba(0, 212, 255, 0.06);
    transform: translateY(-2px);
    color: var(--text-primary);
  }

  .user-menu {
    position: relative;
    display: flex;
    align-items: center;
  }

  .user-menu__button {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-full);
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid var(--glass-border);
    transition: all var(--transition-base);
    color: var(--text-primary);
    min-width: 0;
  }

  .user-menu__button:hover {
    background: rgba(255, 255, 255, 0.09);
    border-color: rgba(0, 212, 255, 0.45);
    transform: translateY(-1px);
  }

  .user-menu__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(34, 197, 94, 0.95);
    box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.12);
  }

  .user-menu__avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.06);
  }

  .user-menu__icon {
    opacity: 0.9;
  }

  .user-menu__text {
    font-weight: 700;
    font-size: var(--text-sm);
    white-space: nowrap;
    min-width: 0;
  }

  .user-menu__chev {
    opacity: 0.8;
  }

  .user-menu__dropdown {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    min-width: 180px;
    padding: 8px;
    border-radius: 14px;
    background: rgba(10, 12, 20, 0.92);
    border: 1px solid var(--glass-border);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    display: none;
    z-index: 999;
  }

  :root[data-theme="light"] .user-menu__dropdown {
    background: rgba(255, 255, 255, 0.96);
    border-color: rgba(0, 0, 0, 0.65);
    border-width: 2px;
    box-shadow: 0 20px 60px rgba(15, 23, 42, 0.12);
  }

  .user-menu__dropdown.active {
    display: block;
    animation: fadeInUp 0.18s ease both;
  }

  .user-menu__item {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 10px 12px;
    border-radius: 10px;
    color: var(--text-primary);
    background: transparent;
    border: none;
    font-size: var(--text-sm);
  }

  :root[data-theme="light"] .user-menu__item {
    color: #000;
  }

  :root[data-theme="light"] .user-menu__item + .user-menu__item {
    margin-top: 6px;
    border-top: 1px solid rgba(0, 0, 0, 0.18);
    padding-top: 12px;
  }

  .user-menu__item:hover {
    background: rgba(0, 212, 255, 0.08);
    color: var(--text-primary);
  }

  :root[data-theme="light"] .user-menu__item:hover {
    background: rgba(0, 0, 0, 0.06);
  }

  .navbar__cta {
    padding: var(--space-2) var(--space-5);
    background: var(--gradient-cyan-purple);
    border-radius: var(--radius-full);
    font-weight: 600;
    font-size: var(--text-sm);
    color: var(--text-dark);
    transition: all var(--transition-base);
    box-shadow: var(--shadow-glow-cyan);
    display: flex;
    align-items: center;
    gap: var(--space-2);
  }

  .navbar__cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 212, 255, 0.5);
    color: var(--text-dark);
  }

  /* Mobile Menu Toggle */
  .menu-toggle,
  .mobile-menu {
    display: none !important;
  }

  .menu-toggle {
    flex-direction: column;
    gap: 5px;
    padding: var(--space-2);
    border-radius: var(--radius-md);
    transition: background var(--transition-base);
  }

  .menu-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--text-primary);
    transition: all var(--transition-base);
    transform-origin: center;
  }

  .menu-toggle.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
  }

  .menu-toggle.active span:nth-child(2) {
    opacity: 0;
  }

  .menu-toggle.active span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
  }

  /* Mobile Menu */
  .mobile-menu {
    display: none;
    position: fixed;
    top: var(--navbar-height);
    left: 0;
    right: 0;
    background: var(--glass-bg);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border-bottom: 1px solid var(--glass-border);
    z-index: var(--z-fixed);
    padding: var(--space-4);
    opacity: 0;
    transform: translateY(-8px);
    pointer-events: none;
    max-height: 0;
    overflow: hidden;
    transition: opacity var(--transition-base), transform var(--transition-base), max-height var(--transition-base);
  }

  .mobile-menu.active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    max-height: 70vh;
  }

  body.menu-open {
    overflow: hidden;
  }

  @keyframes slideDown {
    from {
      opacity: 0;
      transform: translateY(-10px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  .mobile-menu__links {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
  }

  .mobile-menu__link {
    padding: var(--space-3) var(--space-4);
    border-radius: var(--radius-lg);
    font-weight: 500;
    transition: all var(--transition-base);
    color: var(--text-secondary);
  }

  .mobile-menu__link:hover,
  .mobile-menu__link.active {
    background: var(--bg-elevated);
    color: var(--chem-primary);
  }

  @media (max-width: 768px) {
    .navbar__links {
      display: none;
    }
    
    .menu-toggle {
      display: flex;
    }
    
    .navbar__cta {
      display: inline-flex;
    }

    .navbar__actions > .navbar__cta:not(.navbar__cta--secondary) {
      display: none;
    }

    .navbar__actions > .theme-toggle {
      display: inline-flex !important;
    }

    .mobile-menu {
      display: block;
    }
  }

  @media (max-width: 640px) {
    .navbar__logo {
      min-width: 0;
    }

    .navbar__logo span {
      font-size: 0.95rem;
      white-space: nowrap;
    }

    .navbar__logo-icon {
      width: 40px;
      height: 40px;
    }

    .navbar__actions {
      gap: var(--space-2);
    }

    .navbar__cta {
      padding: 8px 12px;
      font-size: 0.85rem;
      line-height: 1.1;
      white-space: nowrap;
    }

    .user-menu__button {
      padding: 6px 10px;
      max-width: 210px;
    }

    .user-menu__text {
      overflow: hidden;
      text-overflow: ellipsis;
      max-width: 120px;
    }
  }

  @media (max-width: 420px) {
    .user-menu__text {
      display: none;
    }
  }

  /* ============================================
    3D Hero Section
    ============================================ */
  .hero-3d {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    perspective: 1000px;
  }

  :root[data-theme="light"] .hero-3d {
    background: #ffffff !important;
  }

  .hero-3d__canvas {
    position: absolute;
    inset: 0;
    z-index: var(--z-canvas);
  }

  :root[data-theme="light"] .hero-3d__canvas {
    opacity: 0 !important;
  }

  .hero-3d__overlay {
    position: absolute;
    inset: 0;
    background: 
      var(--hero-overlay-1),
      var(--hero-overlay-2),
      var(--hero-overlay-3);
    z-index: 1;
    pointer-events: none;
  }

  .hero-3d__vignette {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at center, transparent 0%, var(--bg-deep) 100%);
    z-index: 2;
    pointer-events: none;
  }

  .hero-3d__content {
    position: relative;
    z-index: 10;
    text-align: right;
    max-width: 900px;
    padding: 0;
    transform-style: preserve-3d;
  }

  .hero-3d__layout {
    position: relative;
    z-index: 10;
    width: min(1200px, 100%);
    padding: 0 var(--space-6);
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    grid-template-areas: "content media";
    align-items: center;
    gap: clamp(1rem, 3vw, 3rem);
  }

  .hero-3d__content { grid-area: content; }
  .hero-3d__media { grid-area: media; }

  .hero-3d__media {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    pointer-events: none;
    padding-top: calc(var(--navbar-height, 80px) + 12px);
    padding-bottom: 10px;
  }

  .hero-3d__image {
    width: clamp(440px, 57.5vw, 703px);
    max-width: 845px;
    max-height: 78vh;
    object-fit: contain;
    filter: drop-shadow(0 24px 60px rgba(0, 0, 0, 0.35)) contrast(1.22) saturate(1.22);
    opacity: 0.85;
  }

  .hero-3d__badge {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background: var(--hero-badge-bg);
    border: 1px solid var(--hero-badge-border);
    border-radius: var(--radius-full);
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--chem-primary);
    width: fit-content;
    margin: 0 auto var(--space-6);
    backdrop-filter: blur(10px);
    opacity: 0;
    animation: fadeInDown 0.8s ease 0.5s forwards;
  }

  .hero-3d__title {
    font-size: var(--text-6xl);
    font-weight: 900;
    line-height: 1.2;
    margin-bottom: var(--space-6);
    font-family: var(--font-display);
    opacity: 0;
    animation: fadeInUp 0.8s ease 0.7s forwards;
  }

  .hero-3d__subtitle {
    font-size: var(--text-xl);
    color: var(--text-secondary);
    margin-bottom: var(--space-8);
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    opacity: 0;
    animation: fadeInUp 0.8s ease 0.9s forwards;
  }

  .hero-3d__actions {
    display: flex;
    gap: var(--space-4);
    justify-content: center;
    flex-wrap: wrap;
    opacity: 0;
    animation: fadeInUp 0.8s ease 1.1s forwards;
  }

  @media (max-width: 768px) {
    .hero-3d__layout {
      grid-template-columns: 1fr;
      grid-template-areas:
        "content"
        "media";
      padding-top: calc(var(--navbar-height, 80px) + 14px);
    }

    .hero-3d__content {
      text-align: center;
    }

    .hero-3d__media {
      position: relative;
      inset: auto;
      padding-top: 0;
      padding-bottom: 0;
      justify-content: center;
      margin-top: var(--space-6);
    }

    .hero-3d__image {
      width: clamp(280px, 86vw, 520px);
      max-width: 520px;
      max-height: 52vh;
      opacity: 0.95;
    }
  }

  :root[data-theme="light"] .hero-3d__overlay {
    background: none !important;
  }

  :root[data-theme="light"] .hero-3d__vignette {
    background: none !important;
  }

  :root[data-theme="light"] .hero-3d__badge {
    color: var(--text-dark);
    background: rgba(255, 255, 255, 0.70);
    border-color: rgba(11, 18, 32, 0.18);
    box-shadow: 0 10px 30px rgba(9, 16, 28, 0.16);
  }

  /* ============================================
    Buttons
    ============================================ */
  .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-6);
    font-size: var(--text-base);
    font-weight: 600;
    border-radius: var(--radius-lg);
    transition: all var(--transition-base);
    position: relative;
    overflow: hidden;
  }

  .btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transform: translateX(-100%);
    transition: transform var(--transition-slow);
  }

  .btn:hover::before {
    transform: translateX(100%);
  }

  .btn-primary {
    background: var(--gradient-cyan-purple);
    color: var(--text-dark);
    box-shadow: var(--shadow-glow-cyan);
  }

  .btn-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(0, 212, 255, 0.5);
    color: var(--text-dark);
  }

  .btn-glow {
    position: relative;
  }

  .btn-glow::after {
    content: '';
    position: absolute;
    inset: -2px;
    background: var(--gradient-hero);
    border-radius: calc(var(--radius-lg) + 2px);
    z-index: -1;
    opacity: 0;
    filter: blur(15px);
    transition: opacity var(--transition-base);
  }

  .btn-glow:hover::after {
    opacity: 0.7;
    animation: glowPulse 1.5s infinite;
  }

  .btn-secondary {
    background: var(--glass-bg);
    color: var(--text-primary);
    border: 1px solid var(--glass-border);
    backdrop-filter: blur(10px);
  }

  .btn-secondary:hover {
    background: rgba(0, 212, 255, 0.1);
    border-color: var(--chem-primary);
    color: var(--chem-primary);
  }

  .btn-ghost {
    background: transparent;
    color: var(--text-primary);
    border: 1px solid var(--glass-border);
  }

  .btn-ghost:hover {
    background: rgba(0, 212, 255, 0.1);
    border-color: var(--chem-primary);
    color: var(--chem-primary);
  }

  .btn-lg {
    padding: var(--space-4) var(--space-8);
    font-size: var(--text-lg);
  }

  /* ============================================
    Scroll Indicator
    ============================================ */
  .scroll-indicator {
    position: absolute;
    bottom: var(--space-8);
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-2);
    color: var(--text-muted);
    font-size: var(--text-sm);
    z-index: 10;
    opacity: 0;
    animation: fadeIn 1s ease 1.5s forwards;
  }

  .scroll-indicator__mouse {
    width: 26px;
    height: 40px;
    border: 2px solid var(--text-muted);
    border-radius: 13px;
    position: relative;
  }

  .scroll-indicator__wheel {
    position: absolute;
    top: 6px;
    left: 50%;
    transform: translateX(-50%);
    width: 4px;
    height: 8px;
    background: var(--chem-primary);
    border-radius: 2px;
    animation: scrollWheel 1.5s infinite;
  }

  :root[data-theme="light"] .scroll-indicator {
    color: rgba(11, 18, 32, 0.72);
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.65);
  }

  :root[data-theme="light"] .scroll-indicator__mouse {
    border-color: rgba(11, 18, 32, 0.55);
    box-shadow: 0 10px 26px rgba(9, 16, 28, 0.12);
    background: rgba(255, 255, 255, 0.22);
  }

  /* ============================================
    Stats Section
    ============================================ */
  .stats-section {
    padding: var(--space-20) 0;
    position: relative;
    background: radial-gradient(900px 420px at 70% 10%, rgba(0, 212, 255, 0.10), transparent 70%),
                radial-gradient(900px 420px at 20% 80%, rgba(139, 92, 246, 0.10), transparent 70%),
                linear-gradient(180deg, rgba(10, 12, 22, 0.92) 0%, rgba(12, 14, 28, 0.92) 50%, rgba(10, 12, 22, 0.92) 100%);
  }

  :root[data-theme="light"] .stats-section {
    background: #ffffff;
  }

  :root[data-theme="light"] .stats-section::before,
  :root[data-theme="light"] .stats-section::after {
    opacity: 0;
    animation: none;
  }

  #categories,
  #featuredCourses,
  #newCourses,
  #continueWatching,
  .stats-section {
    position: relative;
    overflow: hidden;
  }

  #categories::before,
  #featuredCourses::before,
  #newCourses::before,
  #continueWatching::before,
  .stats-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
      radial-gradient(700px 360px at 20% 20%, rgba(0, 212, 255, 0.12), transparent 60%),
      radial-gradient(700px 360px at 80% 80%, rgba(139, 92, 246, 0.12), transparent 60%);
    opacity: 1;
    z-index: 0;
    animation: midGlowFloat 14s ease-in-out infinite;
  }

  #categories::after,
  #featuredCourses::after,
  #newCourses::after,
  #continueWatching::after,
  .stats-section::after {
    content: '';
    position: absolute;
    inset: -2px;
    background-image:
      linear-gradient(to right, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
    background-size: 56px 56px;
    background-position: 0 0;
    opacity: 0.20;
    z-index: 0;
    mask-image: radial-gradient(500px 280px at 50% 35%, rgba(0,0,0,1), transparent 70%);
    animation: midGridDrift 22s linear infinite;
  }

  :root[data-theme="light"] #categories::after,
  :root[data-theme="light"] #featuredCourses::after,
  :root[data-theme="light"] #newCourses::after,
  :root[data-theme="light"] #continueWatching::after,
  :root[data-theme="light"] .stats-section::after {
    background-image:
      linear-gradient(to right, rgba(11, 18, 32, 0.05) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(11, 18, 32, 0.045) 1px, transparent 1px);
    opacity: 0.22;
  }

  @keyframes midGlowFloat {
    0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
    50% { transform: translate3d(0, -18px, 0) scale(1.02); }
  }

  @keyframes midGridDrift {
    0% { background-position: 0 0; }
    100% { background-position: 120px 90px; }
  }

  #categories > *,
  #featuredCourses > *,
  #newCourses > *,
  #continueWatching > *,
  .stats-section > * {
    position: relative;
    z-index: 1;
  }

  .stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-6);
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 var(--content-padding);
  }

  .stat-card {
    background: var(--glass-bg);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius-2xl);
    padding: var(--space-5);
    text-align: center;
    transition: all var(--transition-base);
    position: relative;
    overflow: hidden;
    opacity: 0;
    transform: perspective(1000px) rotateX(90deg);
  }

  :root[data-theme="light"] .stat-card {
    background: rgba(250, 252, 255, 0.86);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08), 0 12px 26px rgba(15, 23, 42, 0.08);
  }

  :root[data-theme="light"] .stat-card:hover {
    transform: translateY(-10px) scale(1.02);
  }

  :root[data-theme="light"] .course-card,
  :root[data-theme="light"] .category-card,
  :root[data-theme="light"] .instructor-card,
  :root[data-theme="light"] .course-card.lb-card {
    background: rgba(235, 240, 248, 0.92);
    border-color: rgba(15, 23, 42, 0.10);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08), 0 14px 30px rgba(15, 23, 42, 0.10);
  }

  .stat-card__media {
    width: 100%;
    height: 180px;
    border-radius: var(--radius-xl);
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin-bottom: var(--space-3);
  }

  :root[data-theme="light"] .stat-card__media {
    border-color: rgba(15, 23, 42, 0.10);
    background: rgba(15, 23, 42, 0.04);
  }

  .stat-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition-slow);
    display: block;
  }

  .stat-card:hover .stat-card__media img {
    transform: scale(1.1);
  }

  .stat-card.visible {
    animation: scaleIn 0.8s ease forwards;
  }

  .stat-card:nth-child(1).visible { animation-delay: 0s; }
  .stat-card:nth-child(2).visible { animation-delay: 0.1s; }
  .stat-card:nth-child(3).visible { animation-delay: 0.2s; }
  .stat-card:nth-child(4).visible { animation-delay: 0.3s; }

  .stat-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--gradient-hero);
    opacity: 0;
    transition: opacity var(--transition-base);
    z-index: -1;
  }

  .stat-card:hover {
    transform: translateY(-10px) scale(1.02);
    border-color: var(--card-color, var(--chem-primary));
    box-shadow: 0 0 0 1px rgba(255,255,255,0.06), 0 18px 40px color-mix(in srgb, var(--card-color, var(--chem-primary)) 35%, transparent);
  }

  .stat-card:hover::before {
    opacity: 0.05;
  }

  .stat-card__icon {
    width: 44px;
    height: 44px;
    margin: 0 auto var(--space-3);
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(0, 212, 255, 0.2), rgba(139, 92, 246, 0.2));
    border-radius: var(--radius-xl);
    font-size: var(--text-3xl);
    color: var(--chem-primary);
  }

  .stat-card__icon svg {
    width: 18px;
    height: 18px;
  }

  .stat-card__icon--badge {
    position: absolute;
    top: calc(var(--space-5) + 10px);
    right: calc(var(--space-5) + 10px);
    margin: 0;
    border-radius: 999px;
    width: 32px;
    height: 32px;
    box-shadow: 0 10px 20px rgba(0,0,0,.35);
    border: 1px solid rgba(255,255,255,0.12);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }

  .stat-card__icon--badge svg {
    width: 16px;
    height: 16px;
  }

  .stat-card__body {
    display: grid;
    gap: 1px;
  }

  .stat-card__number {
    font-size: var(--text-xl);
    font-weight: 900;
    margin-bottom: 0;
    background: var(--gradient-hero);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

  .stat-card__label {
    font-size: var(--text-xs);
    color: var(--text-muted);
  }

  @media (max-width: 1024px) {
    .stats-grid {
      grid-template-columns: repeat(2, 1fr);
    }
  }

  @media (max-width: 640px) {
    .stats-grid {
      grid-template-columns: 1fr;
    }
  }

  /* ============================================
    Section Styles
    ============================================ */
  .section {
    padding: var(--space-20) 0;
    position: relative;
  }

  main > section + section {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  }

  :root[data-theme="light"] main > section + section {
    box-shadow: inset 0 1px 0 rgba(15, 23, 42, 0.10);
  }

  .section__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--space-10);
    padding: 0 var(--content-padding);
    max-width: var(--max-width);
    margin-left: auto;
    margin-right: auto;
  }

  .section__title {
    font-size: var(--text-3xl);
    font-weight: 800;
    display: flex;
    align-items: center;
    gap: var(--space-3);
    font-family: var(--font-display);
    opacity: 0;
    transform: translateX(50px);
    transition: all 0.8s ease;
  }

  .section__title.visible {
    opacity: 1;
    transform: translateX(0);
  }

  .section__title-icon {
    color: var(--chem-primary);
  }

  .section__link {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--chem-primary);
    transition: all var(--transition-base);
  }

  .section__link:hover {
    gap: var(--space-3);
    color: var(--chem-accent);
  }

  #leaderboardShowAllLink.section__link {
    padding: 0.55rem 0.9rem;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--chem-primary) 35%, rgba(255, 255, 255, 0.1));
    background: linear-gradient(135deg, color-mix(in srgb, var(--chem-primary) 22%, transparent), rgba(0, 0, 0, 0.18));
    color: var(--text);
    box-shadow: 0 10px 18px rgba(0, 0, 0, 0.22);
  }

  #leaderboardShowAllLink.section__link:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.28);
  }

  /* ============================================
    Leaderboard Section - ترتيب عالمي (منصات عالمية)
    خلفية مميزة + متجاوب مع الجوال وجميع الأجهزة والأوضاع
    ============================================ */
  .leaderboard-section--global {
    position: relative;
    border-radius: var(--radius-lg);
    padding: var(--space-8) var(--content-padding);
    margin: var(--space-6) auto;
    max-width: var(--max-width);
    border: 1px solid color-mix(in srgb, var(--chem-primary) 18%, transparent);
    box-shadow: 0 0 0 1px rgba(255,255,255,.04) inset, 0 24px 48px rgba(0,0,0,.12);
    overflow: hidden;
    /* خلفية متعددة الطبقات كما في المنصات العالمية */
    background:
      /* شبكة خفيفة */
      linear-gradient(90deg, color-mix(in srgb, var(--chem-primary) 6%, transparent) 1px, transparent 1px),
      linear-gradient(180deg, color-mix(in srgb, var(--chem-primary) 6%, transparent) 1px, transparent 1px);
    background-size: 24px 24px;
    background-color: color-mix(in srgb, var(--chem-primary) 4%, var(--bg-deep));
    background-position: 0 0;
  }

  .leaderboard-section--global::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      radial-gradient(ellipse 120% 80% at 50% -20%, color-mix(in srgb, var(--chem-primary) 14%, transparent), transparent 55%),
      radial-gradient(ellipse 80% 60% at 80% 100%, color-mix(in srgb, var(--chem-accent) 10%, transparent), transparent 50%),
      radial-gradient(ellipse 70% 50% at 10% 90%, color-mix(in srgb, var(--chem-primary) 8%, transparent), transparent 45%),
      linear-gradient(180deg, color-mix(in srgb, var(--chem-primary) 10%, transparent) 0%, transparent 30%, color-mix(in srgb, var(--chem-accent) 8%, transparent) 100%);
  }

  .leaderboard-section--global .section__header,
  .leaderboard-section--global .leaderboard-section__ribbon,
  .leaderboard-section--global .carousel,
  .leaderboard-section--global .leaderboard-podium,
  .leaderboard-section--global .leaderboard-list-label {
    position: relative;
    z-index: 1;
  }

  .leaderboard-section__ribbon {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
    flex-wrap: wrap;
  }

  .leaderboard-section__badge {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: clamp(0.35rem, 2vw, 0.5rem) clamp(0.75rem, 4vw, 1rem);
    border-radius: 999px;
    font-size: clamp(var(--text-xs), 2.5vw, var(--text-sm));
    font-weight: 800;
    letter-spacing: .05em;
    background: linear-gradient(135deg, var(--chem-primary), var(--chem-accent));
    color: #0b1220;
    box-shadow: 0 0 0 1px rgba(255,255,255,.2), 0 4px 16px color-mix(in srgb, var(--chem-primary) 45%, transparent);
  }

  .leaderboard-section__sub {
    font-size: clamp(0.65rem, 1.8vw, var(--text-xs));
    font-weight: 700;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: .12em;
  }

  .leaderboard-podium {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: clamp(var(--space-2), 3vw, var(--space-4));
    padding: clamp(var(--space-4), 5vw, var(--space-8)) var(--space-4);
    margin-bottom: clamp(var(--space-4), 4vw, var(--space-6));
    min-height: 160px;
  }

  .leaderboard-podium[data-empty="true"] {
    display: none;
  }

  .leaderboard-podium__slot {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 0 1 min(180px, 28vw);
    max-width: 200px;
    min-width: 0;
    transition: transform var(--transition-base);
  }

  .leaderboard-podium__slot:hover {
    transform: translateY(-4px);
  }

  .leaderboard-podium__slot--2 { order: 0; }
  .leaderboard-podium__slot--1 { order: 1; }
  .leaderboard-podium__slot--3 { order: 2; }

  .leaderboard-podium__stand {
    width: 100%;
    border-radius: 12px 12px 0 0;
    padding: var(--space-4);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-2);
    position: relative;
    box-shadow: 0 -4px 20px rgba(0,0,0,.15);
    overflow: hidden;
  }

  /* كأس ذهبية / فضية / برونزية في الخلفية - كالأنظمة العالمية */
  .leaderboard-podium__cup {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: clamp(40%, 12vw, 52%);
    max-width: 72px;
    opacity: 0.28;
    pointer-events: none;
    z-index: 0;
  }

  .leaderboard-podium__cup svg {
    width: 100%;
    height: auto;
    display: block;
  }

  .leaderboard-podium__slot--1 .leaderboard-podium__cup { color: #b8860b; opacity: 0.35; }
  .leaderboard-podium__slot--2 .leaderboard-podium__cup { color: #8a8a8a; opacity: 0.32; }
  .leaderboard-podium__slot--3 .leaderboard-podium__cup { color: #8b6914; opacity: 0.32; }

  .leaderboard-podium__slot--1 .leaderboard-podium__stand {
    height: clamp(100px, 18vw, 140px);
    background: linear-gradient(180deg, #f7c948 0%, #e6b83d 100%);
    border: 1px solid rgba(255,255,255,.35);
    box-shadow: 0 -6px 28px rgba(247,201,72,.35);
  }

  .leaderboard-podium__slot--2 .leaderboard-podium__stand {
    height: clamp(80px, 14vw, 110px);
    background: linear-gradient(180deg, #c0c0c0 0%, #a8a8a8 100%);
    border: 1px solid rgba(255,255,255,.3);
    box-shadow: 0 -6px 24px rgba(192,192,192,.3);
  }

  .leaderboard-podium__slot--3 .leaderboard-podium__stand {
    height: clamp(70px, 12vw, 90px);
    background: linear-gradient(180deg, #cd7f32 0%, #b86e28 100%);
    border: 1px solid rgba(255,255,255,.3);
    box-shadow: 0 -6px 24px rgba(205,127,50,.3);
  }

  .leaderboard-podium__medal {
    width: clamp(36px, 8vw, 48px);
    height: clamp(36px, 8vw, 48px);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: clamp(1rem, 3.5vw, 1.25rem);
    color: #0b1220;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
  }

  .leaderboard-podium__slot--1 .leaderboard-podium__medal { background: linear-gradient(145deg, #fff9e6, #f7c948); box-shadow: 0 4px 12px rgba(247,201,72,.5); }
  .leaderboard-podium__slot--2 .leaderboard-podium__medal { background: linear-gradient(145deg, #f5f5f5, #c0c0c0); box-shadow: 0 4px 12px rgba(192,192,192,.4); }
  .leaderboard-podium__slot--3 .leaderboard-podium__medal { background: linear-gradient(145deg, #ffe8d0, #cd7f32); box-shadow: 0 4px 12px rgba(205,127,50,.4); }

  .leaderboard-podium__avatar-wrap {
    width: clamp(52px, 14vw, 72px);
    height: clamp(52px, 14vw, 72px);
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid rgba(255,255,255,.6);
    box-shadow: 0 4px 16px rgba(0,0,0,.2);
    margin-top: clamp(-26px, -5vw, -36px);
    position: relative;
    z-index: 2;
    background: var(--bg-card);
  }

  .leaderboard-podium__avatar-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .leaderboard-podium__name {
    font-weight: 800;
    font-size: clamp(var(--text-sm), 2.2vw, var(--text-base));
    text-align: center;
    line-height: 1.2;
    margin-top: var(--space-2);
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  .leaderboard-podium__score {
    font-weight: 900;
    font-size: clamp(var(--text-base), 2.5vw, var(--text-lg));
    color: var(--chem-primary);
  }

  .leaderboard-list-label {
    font-size: var(--text-sm);
    font-weight: 700;
    color: var(--text-muted);
    margin-bottom: var(--space-3);
    padding: 0 var(--content-padding);
    max-width: var(--max-width);
    margin-left: auto;
    margin-right: auto;
  }

  .leaderboard-list-label:not([hidden]) {
    display: block;
  }

  /* استجابة: تابلت وعرض متوسط */
  @media (max-width: 900px) {
    .leaderboard-section--global {
      padding: var(--space-6) var(--content-padding);
      margin-left: var(--space-3);
      margin-right: var(--space-3);
    }
    .leaderboard-podium__slot {
      flex: 0 1 min(160px, 30vw);
      max-width: 180px;
    }
  }

  /* استجابة: جوال أفقي وعرض صغير */
  @media (max-width: 640px) {
    .leaderboard-section--global {
      padding: var(--space-5) var(--space-4);
      margin-left: var(--space-2);
      margin-right: var(--space-2);
    }
    .leaderboard-section__ribbon {
      gap: var(--space-2);
      margin-bottom: var(--space-3);
    }
    .leaderboard-podium {
      gap: var(--space-2);
      padding: var(--space-4) var(--space-2);
      min-height: 140px;
    }
    .leaderboard-podium__slot {
      flex: 0 1 28%;
      max-width: 140px;
      min-width: 72px;
    }
    .leaderboard-podium__name {
      line-clamp: 1;
      -webkit-line-clamp: 1;
      font-size: var(--text-xs);
    }
  }

  /* استجابة: جوال عمودي - بوديوم مضغوط */
  @media (max-width: 480px) {
    .leaderboard-section--global {
      padding: var(--space-4) var(--space-3);
      margin-left: var(--space-2);
      margin-right: var(--space-2);
    }
    .leaderboard-podium {
      gap: 6px;
      padding: var(--space-3) 4px;
      min-height: 120px;
    }
    .leaderboard-podium__slot {
      flex: 0 1 30%;
      max-width: 110px;
      min-width: 64px;
    }
    .leaderboard-podium__slot--1 .leaderboard-podium__stand { height: 85px; }
    .leaderboard-podium__slot--2 .leaderboard-podium__stand { height: 68px; }
    .leaderboard-podium__slot--3 .leaderboard-podium__stand { height: 58px; }
    .leaderboard-podium__medal {
      width: 32px;
      height: 32px;
      font-size: 0.9rem;
    }
    .leaderboard-podium__avatar-wrap {
      width: 44px;
      height: 44px;
      margin-top: -22px;
    }
    .leaderboard-podium__name {
      font-size: 0.7rem;
      margin-top: 2px;
    }
    .leaderboard-podium__score {
      font-size: var(--text-sm);
    }
  }

  /* وضع أفقي على الجوال: تقليل ارتفاع البوديوم ليتسع */
  @media (max-height: 420px) and (orientation: landscape) {
    .leaderboard-podium {
      min-height: 100px;
      padding: var(--space-2) var(--space-2);
    }
    .leaderboard-podium__slot--1 .leaderboard-podium__stand { height: 70px; }
    .leaderboard-podium__slot--2 .leaderboard-podium__stand { height: 58px; }
    .leaderboard-podium__slot--3 .leaderboard-podium__stand { height: 50px; }
    .leaderboard-podium__avatar-wrap {
      width: 40px;
      height: 40px;
      margin-top: -20px;
    }
    .leaderboard-podium__medal {
      width: 28px;
      height: 28px;
      font-size: 0.85rem;
    }
    .leaderboard-podium__name {
      font-size: 0.65rem;
      line-clamp: 1;
      -webkit-line-clamp: 1;
    }
    .leaderboard-podium__score {
      font-size: var(--text-xs);
    }
  }

  /* شاشات كبيرة: توسيع الخلفية قليلاً */
  @media (min-width: 1200px) {
    .leaderboard-section--global {
      background-size: 28px 28px;
    }
  }

  /* ============================================
    Course Carousel
    ============================================ */
  .carousel {
    position: relative;
    padding: 0 var(--content-padding);
    max-width: var(--max-width);
    margin: 0 auto;
  }

  .carousel__container {
    display: flex;
    gap: var(--space-5);
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    padding: var(--space-4) 0;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .carousel__container::-webkit-scrollbar {
    display: none;
  }

  .carousel__item {
    flex: 0 0 auto;
    scroll-snap-align: start;
  }

  .carousel__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    background: var(--glass-bg);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius-full);
    color: var(--text-primary);
    font-size: var(--text-lg);
    cursor: pointer;
    opacity: 0;
    transition: all var(--transition-base);
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .carousel:hover .carousel__nav {
    opacity: 1;
  }

  .carousel__nav:hover {
    background: var(--chem-primary);
    color: var(--text-dark);
    border-color: var(--chem-primary);
  }

  .carousel__nav--prev {
    right: var(--content-padding);
  }

  .carousel__nav--next {
    left: var(--content-padding);
  }

  @media (max-width: 768px) {
    .carousel__nav {
      display: none;
    }
  }

  @media (max-width: 768px) {
    #academicYears .carousel__container {
      flex-direction: column;
      overflow-x: visible;
      overflow-y: visible;
      scroll-snap-type: none;
      padding: var(--space-4) 0;
    }

    #academicYears .carousel__item {
      width: 100%;
    }

    #academicYears .course-card.course-card--split {
      width: 100%;
      max-width: none;
    }
  }

  /* ============================================
    Course Cards
    ============================================ */
  .course-card {
    position: relative;
    width: 320px;
    height: 200px;
    border-radius: var(--radius-xl);
    overflow: hidden;
    cursor: pointer;
    transition: all var(--transition-slow);
    transform-style: preserve-3d;
    background: var(--bg-card);
    border: 1px solid var(--glass-border);
  }

  .course-card.course-card--split {
    width: 360px;
    height: auto;
    display: flex;
    flex-direction: column;
    background: transparent;
    border-color: rgba(15, 23, 42, 0.12);
  }

  .course-card:hover {
    transform: translateY(-10px) scale(1.02);
    border-color: var(--chem-primary);
    box-shadow: var(--shadow-glow-cyan);
  }

  .course-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition-slow);
  }

  @supports (content-visibility: auto) {
    .course-card,
    .academic-year-card,
    .stat-card,
    .category-card,
    .instructor-card {
      content-visibility: auto;
      contain-intrinsic-size: 260px 220px;
    }
  }

  .course-card.course-card--split .course-card__image {
    height: auto;
    display: block;
    object-fit: contain;
    object-position: center;
    background: rgba(15, 23, 42, 0.04);
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }

  .course-card:hover .course-card__image {
    transform: scale(1.1);
  }

  .course-card.course-card--split:hover .course-card__image {
    transform: none;
  }

  .course-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 0%, rgba(5, 5, 8, 0.9) 100%);
    opacity: 0.7;
    transition: opacity var(--transition-base);
  }

  .course-card.course-card--split .course-card__overlay {
    display: none;
  }

  :root[data-theme="light"] .course-card__overlay {
    background: linear-gradient(180deg, transparent 0%, rgba(15, 23, 42, 0.66) 100%);
    opacity: 0.62;
  }

  .course-card:hover .course-card__overlay {
    opacity: 0.9;
  }

  .course-card__content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: var(--space-5);
    transform: translateY(10px);
    transition: transform var(--transition-base);
  }

  .course-card.course-card--split .course-card__content {
    position: relative;
    top: auto;
    bottom: auto;
    left: auto;
    right: auto;
    transform: none;
    padding: 16px 16px 14px;
    background: #ffffff;
    border-top: 1px solid rgba(15, 23, 42, 0.10);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 6px;
  }

  .course-card__content--center {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .course-card:hover .course-card__content {
    transform: translateY(0);
  }

  .course-card.course-card--split:hover .course-card__content {
    transform: none;
  }

  .course-card__title {
    font-size: var(--text-lg);
    font-weight: 800;
    margin-bottom: var(--space-2);
    text-align: center;
    color: rgba(255, 255, 255, 0.98);
  }

  .course-card.course-card--split .course-card__title {
    color: #000000;
    font-size: calc(var(--text-lg) * 1.35);
    margin-bottom: 0;
  }

  .course-card__content--center .course-card__title {
    margin-bottom: 0.35rem;
  }

  .course-card__unit {
    font-size: var(--text-sm);
    font-weight: 700;
    opacity: 0.92;
    margin-bottom: 0.5rem;
    color: rgba(255, 255, 255, 0.88);
  }

  .course-card.course-card--split .course-card__unit {
    color: #000000;
    font-size: calc(var(--text-sm) * 1.15);
    margin-bottom: 0;
    opacity: 1;
  }

  :root[data-theme="light"] .course-card__content--center .course-card__title {
    color: #000000;
    font-size: calc(var(--text-lg) * 1.35);
  }

  :root[data-theme="light"] .course-card__unit {
    color: #000000;
    font-size: calc(var(--text-sm) * 1.15);
  }

  :root[data-theme="dark"] .course-card__content--center .course-card__title {
    color: rgba(255, 255, 255, 0.98);
    font-size: var(--text-lg);
  }

  .course-card__submeta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-2);
    font-size: var(--text-xs);
    color: rgba(255, 255, 255, 0.72);
    margin-bottom: var(--space-2);
  }

  .course-card__submeta span {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
  }

  .course-card__meta {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    font-size: var(--text-sm);
    color: var(--text-muted);
  }

  .course-card__content--center .course-card__meta {
    justify-content: center;
    font-size: calc(var(--text-sm) * 1.15);
    font-weight: 800;
  }

  .course-card.course-card--split .course-card__meta {
    color: #000000;
    justify-content: center;
    font-size: calc(var(--text-sm) * 1.15);
    font-weight: 800;
  }

  .course-card.course-card--split .course-card__content {
    background: #ffffff !important;
    text-align: center !important;
  }

  .course-card.course-card--split .course-card__title,
  .course-card.course-card--split .course-card__unit,
  .course-card.course-card--split .course-card__meta,
  .course-card.course-card--split .course-card__meta svg {
    color: #000000 !important;
  }

  :root[data-theme="light"] .course-card__content--center .course-card__meta {
    color: #000000;
  }

  :root[data-theme="dark"] .course-card__content--center .course-card__meta {
    color: rgba(255, 255, 255, 0.90);
  }

  .course-card__meta span {
    display: flex;
    align-items: center;
    gap: var(--space-1);
  }

  .course-card__meta svg {
    color: var(--chem-primary);
    width: 14px;
    height: 14px;
  }

  :root[data-theme="light"] .course-card__content--center .course-card__meta svg {
    color: #000000;
  }

  .course-card.course-card--split .course-card__meta svg {
    color: #000000;
  }

  .course-card__progress-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--gradient-hero);
    border-radius: 0 0 var(--radius-xl) var(--radius-xl);
  }

  /* ============================================
    Category Cards
    ============================================ */
  .category-card {
    position: relative;
    width: 280px;
    height: 200px;
    border-radius: var(--radius-xl);
    overflow: hidden;
    cursor: pointer;
    transition: all var(--transition-base);
    background: var(--bg-card);
    border: 1px solid var(--glass-border);
    display: flex;
    flex-direction: column;
    opacity: 0;
    transform: scale(0.5) rotate(180deg);
  }

  .category-card.visible {
    animation: spiralIn 0.8s ease forwards;
  }

  .category-card:hover {
    transform: translateY(-10px) scale(1.02);
    border-color: var(--card-color, var(--chem-primary));
    box-shadow: 0 0 0 1px rgba(255,255,255,0.06), 0 18px 40px color-mix(in srgb, var(--card-color, var(--chem-primary)) 35%, transparent);
  }

  /* Hero area - like leaderboard card */
  .category-card__hero {
    position: relative;
    width: 100%;
    height: 140px;
    display: block;
    overflow: hidden;
  }

  .category-card__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0.6;
    z-index: 1;
    transition: transform var(--transition-slow);
  }

  .category-card:hover .category-card__bg {
    transform: scale(1.1);
  }

  .category-card__hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0.1), rgba(0,0,0,0.4));
    pointer-events: none;
  }

  /* Content row - like leaderboard card */
  .category-card__row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: var(--space-3) var(--space-4);
    margin-top: auto;
  }

  .category-card__info {
    min-width: 0;
    text-align: center;
  }

  .category-card__title {
    font-size: var(--text-base);
    font-weight: 700;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .category-card__count {
    font-size: var(--text-xs);
    color: var(--text-muted);
    margin-top: 2px;
  }

  /* Light mode - darker background */
  :root[data-theme="light"] .category-card {
    background: rgba(140, 150, 170, 0.98) !important;
    border-color: rgba(15, 23, 42, 0.2) !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.12), 0 8px 20px rgba(15, 23, 42, 0.15) !important;
  }

  :root[data-theme="light"] .category-card:hover {
    transform: translateY(-10px) scale(1.02);
    background: rgba(130, 140, 160, 0.99) !important;
    border-color: color-mix(in srgb, var(--card-color, var(--chem-accent)) 35%, rgba(15, 23, 42, 0.20)) !important;
    box-shadow:
      0 0 0 1px rgba(15, 23, 42, 0.12),
      0 16px 36px rgba(15, 23, 42, 0.22),
      0 18px 60px color-mix(in srgb, var(--card-color, var(--chem-accent)) 28%, transparent) !important;
  }

  :root[data-theme="light"] .category-card__hero::after {
    background: linear-gradient(to bottom, rgba(255,255,255,0.00), rgba(255,255,255,0.10));
  }

  :root[data-theme="light"] .category-card__bg {
    opacity: 0.92;
    filter: saturate(1.08) contrast(1.06);
  }

  /* ============================================
    Instructor Cards
    ============================================ */
  .instructor-card {
    width: 260px;
    background: var(--glass-bg);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius-2xl);
    padding: var(--space-6);
    text-align: center;
    transition: all var(--transition-base);
    position: relative;
    overflow: hidden;
    opacity: 0;
    transform: translateY(30px);
  }

  .instructor-card.visible {
    animation: fadeInUp 0.8s ease forwards;
  }

  .instructor-card:hover {
    transform: translateY(-10px) scale(1.02);
    border-color: var(--card-color, var(--chem-primary));
    box-shadow: 0 0 0 1px rgba(255,255,255,0.06), 0 18px 40px color-mix(in srgb, var(--card-color, var(--chem-primary)) 35%, transparent);
  }

  .instructor-card__scanline {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    overflow: hidden;
    border-radius: var(--radius-2xl);
  }

  .instructor-card:hover .instructor-card__scanline {
    opacity: 1;
  }

  .instructor-card__scanline::before {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(
      0deg,
      transparent,
      transparent 2px,
      rgba(0, 212, 255, 0.03) 2px,
      rgba(0, 212, 255, 0.03) 4px
    );
    animation: scanline 2s linear infinite;
  }

  .instructor-card__avatar {
    width: 80px;
    height: 80px;
    margin: 0 auto var(--space-4);
    border-radius: var(--radius-full);
    overflow: hidden;
    border: 3px solid var(--chem-primary);
    box-shadow: var(--shadow-glow-cyan);
  }

  .instructor-card__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .instructor-card__name {
    font-size: var(--text-lg);
    font-weight: 700;
    margin-bottom: var(--space-1);
  }

  .instructor-card__title {
    font-size: var(--text-sm);
    color: var(--chem-secondary);
    margin-bottom: var(--space-3);
  }

  .instructor-card__stats {
    display: flex;
    justify-content: center;
    gap: var(--space-4);
    font-size: var(--text-xs);
    color: var(--text-muted);
  }

  .instructor-card__stats span {
    display: flex;
    align-items: center;
    gap: var(--space-1);
  }

  /* ============================================
    CTA Section
    ============================================ */
  .cta-section {
    position: relative;
    padding: var(--space-24) 0;
    overflow: hidden;
    min-height: 500px;
    display: flex;
    align-items: center;
  }

  .cta-section__bg {
    position: absolute;
    inset: 0;
    background: 
      radial-gradient(ellipse at 20% 50%, rgba(0, 212, 255, 0.1) 0%, transparent 50%),
      radial-gradient(ellipse at 80% 50%, rgba(139, 92, 246, 0.1) 0%, transparent 50%),
      var(--bg-dark);
    z-index: -2;
  }

  .cta-section__grid {
    position: absolute;
    inset: 0;
    background-image: 
      linear-gradient(rgba(0, 212, 255, 0.03) 1px, transparent 1px),
      linear-gradient(90deg, rgba(0, 212, 255, 0.03) 1px, transparent 1px);
    background-size: 50px 50px;
    z-index: -1;
  }

  .cta-bubbles {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    z-index: 0;
  }

  .cta-bubble {
    position: absolute;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 30%, rgba(56, 189, 248, 0.26), rgba(139, 92, 246, 0.14));
    box-shadow: 0 0 26px rgba(56, 189, 248, 0.10);
    opacity: 0.14;
    filter: blur(0.2px);
    animation: rise 14s infinite linear;
  }

  :root[data-theme="light"] .cta-bubble {
    background:
      radial-gradient(circle at 30% 30%, rgba(2, 100, 160, 0.85), rgba(80, 30, 180, 0.55));
    box-shadow:
      0 0 22px rgba(15, 23, 42, 0.35),
      0 0 35px rgba(2, 100, 160, 0.45);
    border: 1px solid rgba(15, 23, 42, 0.25);
    opacity: 0.55;
    filter: blur(0.4px);
  }

  .container {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 var(--content-padding);
    position: relative;
    z-index: 1;
  }

  .cta-content {
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
    opacity: 0;
    transform: translateY(30px);
    transition: all 1s ease;
  }

  .cta-content.visible {
    opacity: 1;
    transform: translateY(0);
  }

  .cta-title {
    font-size: var(--text-5xl);
    font-weight: 900;
    margin-bottom: var(--space-4);
    font-family: var(--font-display);
    background: linear-gradient(135deg, #ffffff 0%, var(--chem-primary) 50%, var(--chem-secondary) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

  .cta-description {
    font-size: var(--text-lg);
    color: var(--text-secondary);
    margin-bottom: var(--space-8);
  }

  .cta-actions {
    display: flex;
    gap: var(--space-4);
    justify-content: center;
    flex-wrap: wrap;
  }

  /* ============================================
    Footer
    ============================================ */
  .footer {
    background: var(--bg-dark);
    border-top: 1px solid var(--glass-border);
    padding: var(--space-16) 0 var(--space-8);
  }

  .footer__container {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 var(--content-padding);
  }

  .footer__grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.5fr;
    gap: var(--space-10);
    margin-bottom: var(--space-12);
  }

  .footer__brand {
    max-width: 300px;
  }

  .footer__logo {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    font-size: var(--text-2xl);
    font-weight: 800;
    font-family: var(--font-display);
    margin-bottom: var(--space-4);
  }

  .footer__desc {
    color: var(--text-muted);
    font-size: var(--text-sm);
    line-height: 1.8;
    margin-bottom: var(--space-6);
  }

  .footer__social {
    display: flex;
    gap: var(--space-3);
  }

  .footer__social-link {
    width: 40px;
    height: 40px;
    border-radius: var(--radius-full);
    background: var(--bg-elevated);
    border: 1px solid var(--glass-border);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    transition: all var(--transition-base);
  }

  .footer__social-link:hover {
    background: var(--ui-hover-color);
    color: var(--text-dark);
    border-color: var(--ui-hover-color);
  }

  .footer__title {
    font-size: var(--text-lg);
    font-weight: 700;
    margin-bottom: var(--space-4);
  }

  .footer__links {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
  }

  .footer__links a {
    color: var(--text-muted);
    font-size: var(--text-sm);
    transition: color var(--transition-base);
  }

  .footer__links a:hover {
    color: var(--ui-hover-color);
  }

  .footer__form {
    display: flex;
    gap: var(--space-2);
    margin-top: var(--space-4);
  }

  .footer__form input {
    flex: 1;
    padding: var(--space-3) var(--space-4);
    background: var(--bg-elevated);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius-lg);
    color: var(--text-primary);
    font-size: var(--text-sm);
  }

  .footer__form input::placeholder {
    color: var(--text-muted);
  }

  .footer__form input:focus {
    outline: none;
    border-color: var(--chem-primary);
  }

  .footer__bottom {
    padding-top: var(--space-8);
    border-top: 1px solid var(--glass-border);
    text-align: center;
    color: var(--text-muted);
    font-size: var(--text-sm);
  }

  @media (max-width: 1024px) {
    .footer__grid {
      grid-template-columns: repeat(2, 1fr);
    }
  }

  @media (max-width: 640px) {
    .footer__grid {
      grid-template-columns: 1fr;
    }
  }

  /* ============================================
    Modal
    ============================================ */
  .modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    z-index: var(--z-modal-backdrop);
    opacity: 0;
    visibility: hidden;
    transition: all var(--transition-base);
  }

  .modal-backdrop.active {
    opacity: 1;
    visibility: visible;
  }

  .modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.9);
    background: var(--bg-card);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius-2xl);
    max-width: 500px;
    width: 90%;
    max-height: calc(100vh - 48px);
    display: flex;
    flex-direction: column;
    z-index: var(--z-modal);
    opacity: 0;
    visibility: hidden;
    transition: all var(--transition-base);
  }

  .modal.active {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1);
  }

  .modal__header {
    padding: var(--space-6);
    border-bottom: 1px solid var(--glass-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .modal__title {
    font-size: var(--text-xl);
    font-weight: 700;
  }

  .modal__close {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-full);
    transition: all var(--transition-base);
    color: var(--text-muted);
    background: none;
    border: none;
  }

  .modal__close:hover {
    background: var(--bg-elevated);
    color: var(--text-primary);
  }

  .modal__body {
    padding: var(--space-6);
    overflow: auto;
    flex: 1 1 auto;
    min-height: 0;
  }

  .all-cards-modal {
    width: 100%;
  }

  .all-cards-filters {
    display: flex;
    flex-wrap: nowrap;
    gap: var(--space-3);
    margin-bottom: var(--space-5);
    position: sticky;
    top: 0;
    z-index: 2;
    padding-bottom: var(--space-3);
    background: linear-gradient(180deg, var(--bg-card) 70%, transparent);
    overflow-x: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }

  .all-cards-filters::-webkit-scrollbar {
    display: none;
  }

  .all-cards-filter {
    appearance: none;
    border: 1px solid color-mix(in srgb, var(--chem-primary) 30%, rgba(255, 255, 255, 0.12));
    background: color-mix(in srgb, var(--bg-elevated) 88%, transparent);
    color: var(--text);
    padding: 0.55rem 0.9rem;
    border-radius: 999px;
    font-weight: 900;
    cursor: pointer;
    transition: transform var(--transition-base), box-shadow var(--transition-base), background var(--transition-base), border-color var(--transition-base);
    box-shadow: 0 10px 18px rgba(0, 0, 0, 0.18);
    white-space: nowrap;
    flex: 0 0 auto;
  }

  .all-cards-filter:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.24);
  }

  .all-cards-filter.active {
    background: linear-gradient(135deg, color-mix(in srgb, var(--chem-primary) 85%, #111), color-mix(in srgb, var(--chem-secondary) 65%, #111));
    border-color: color-mix(in srgb, var(--chem-primary) 65%, rgba(255, 255, 255, 0.12));
    color: #fff;
  }

  .all-cards-filter:disabled {
    opacity: 0.55;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
  }

  .all-cards-empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 1.25rem;
    border-radius: var(--radius-lg);
    border: 1px dashed color-mix(in srgb, var(--chem-primary) 25%, rgba(255, 255, 255, 0.12));
    background: color-mix(in srgb, var(--bg-elevated) 82%, transparent);
    color: var(--text-muted);
    font-weight: 800;
  }

  .all-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-5);
    align-items: stretch;
  }

  .all-cards-modal[data-kind="lessons"] .all-cards-grid {
    grid-template-columns: 1fr;
  }

  .all-cards-grid__item {
    width: 100%;
  }

  .all-cards-grid__item .course-card {
    width: 100%;
    max-width: none;
  }

  .all-cards-modal[data-kind="exams"] .course-card.course-card--split {
    display: grid;
    grid-template-columns: 1fr;
    overflow: hidden;
  }

  .all-cards-modal[data-kind="lessons"] .course-card.course-card--split {
    display: grid;
    grid-template-columns: 1fr;
    overflow: hidden;
  }

  .all-cards-modal[data-kind="exams"] .course-card.course-card--split .course-card__image {
    width: 100%;
    height: clamp(140px, 20vw, 180px);
    object-fit: cover;
    border-radius: 0;
  }

  .all-cards-modal[data-kind="lessons"] .course-card.course-card--split .course-card__image {
    width: 100%;
    height: clamp(140px, 20vw, 180px);
    object-fit: cover;
    border-radius: 0;
  }

  .all-cards-modal[data-kind="exams"] .course-card.course-card--split .course-card__content {
    padding: 0.9rem 0.95rem;
  }

  .all-cards-modal[data-kind="lessons"] .course-card.course-card--split .course-card__content {
    padding: 0.9rem 0.95rem;
  }

  .all-cards-modal[data-kind="exams"] .course-card.course-card--split .course-card__title {
    font-size: clamp(1rem, 2.6vw, 1.15rem);
    line-height: 1.25;
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .all-cards-modal[data-kind="lessons"] .course-card.course-card--split .course-card__title {
    font-size: clamp(1rem, 2.6vw, 1.15rem);
    line-height: 1.25;
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .all-cards-modal[data-kind="exams"] .course-card.course-card--split .course-card__meta {
    font-size: 0.95rem;
    gap: 0.5rem;
  }

  .all-cards-modal[data-kind="lessons"] .course-card.course-card--split .course-card__unit {
    font-size: 0.95rem;
    line-height: 1.2;
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .all-cards-modal[data-kind="lessons"] .course-card.course-card--split .course-card__meta {
    font-size: 0.95rem;
    gap: 0.5rem;
  }

  @media (max-width: 640px) {
    .all-cards-modal[data-kind="exams"] .course-card.course-card--split .course-card__content {
      padding: 0.75rem 0.85rem;
    }

    .all-cards-modal[data-kind="lessons"] .course-card.course-card--split .course-card__content {
      padding: 0.75rem 0.85rem;
    }

    .all-cards-modal[data-kind="exams"] .course-card.course-card--split .course-card__meta {
      font-size: 0.9rem;
    }

    .all-cards-modal[data-kind="lessons"] .course-card.course-card--split .course-card__unit,
    .all-cards-modal[data-kind="lessons"] .course-card.course-card--split .course-card__meta {
      font-size: 0.9rem;
    }
  }

  @media (max-width: 1024px) {
    .all-cards-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 640px) {
    .all-cards-grid {
      grid-template-columns: 1fr;
    }
  }

  .profile-modal {
    display: grid;
    gap: var(--space-5);
  }

  .profile-modal__header {
    display: flex;
    gap: var(--space-4);
    align-items: center;
  }

  .profile-modal__avatar {
    width: 64px;
    height: 64px;
    border-radius: 18px;
    object-fit: cover;
    border: 1px solid var(--glass-border);
    background: var(--bg-elevated);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
  }

  :root[data-theme="light"] .profile-modal__avatar {
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.10);
  }

  .profile-modal__avatar--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
  }

  .profile-modal__info {
    min-width: 0;
    display: grid;
    gap: var(--space-2);
  }

  .profile-modal__name {
    font-weight: 900;
    font-size: var(--text-xl);
    color: var(--text-primary);
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .profile-modal__meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
  }

  .profile-modal__chip {
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid var(--glass-border);
    background: rgba(255, 255, 255, 0.06);
    color: var(--text-secondary);
    font-weight: 800;
    font-size: var(--text-xs);
  }

  :root[data-theme="light"] .profile-modal__chip {
    background: rgba(15, 23, 42, 0.04);
  }

  .profile-modal__stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-3);
  }

  .profile-modal__stat {
    border: 1px solid var(--glass-border);
    background: var(--bg-elevated);
    border-radius: 16px;
    padding: 12px 14px;
    display: grid;
    gap: 6px;
  }

  .profile-modal__stat-label {
    font-size: var(--text-xs);
    font-weight: 800;
    color: var(--text-muted);
  }

  .profile-modal__stat-value {
    font-size: var(--text-2xl);
    font-weight: 1000;
    color: var(--text-primary);
    letter-spacing: .2px;
  }

  .profile-modal__section {
    border: 1px solid var(--glass-border);
    background: rgba(255, 255, 255, 0.03);
    border-radius: 18px;
    padding: 14px;
  }

  :root[data-theme="light"] .profile-modal__section {
    background: rgba(255, 255, 255, 0.92);
    border-color: rgba(0, 0, 0, 0.55);
    border-width: 2px;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
  }

  .profile-modal__section-title {
    font-weight: 1000;
    font-size: var(--text-sm);
    color: var(--text-primary);
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }

  :root[data-theme="light"] .profile-modal__section-title {
    border-bottom-color: rgba(0, 0, 0, 0.55);
  }

  :root[data-theme="light"] .profile-modal__stat {
    border-color: rgba(0, 0, 0, 0.55);
    border-width: 2px;
  }

  :root[data-theme="light"] .profile-modal__row {
    border-color: rgba(0, 0, 0, 0.50);
    border-width: 2px;
  }

  :root[data-theme="light"] .profile-modal__chip {
    border-color: rgba(0, 0, 0, 0.50);
    border-width: 2px;
  }

  :root[data-theme="light"] .profile-modal input,
  :root[data-theme="light"] .profile-modal textarea,
  :root[data-theme="light"] .profile-modal select {
    border-color: rgba(0, 0, 0, 0.55) !important;
    border-width: 2px !important;
  }

  :root[data-theme="light"] .profile-modal [data-profile-filter] {
    border-color: rgba(0, 0, 0, 0.55) !important;
    border-width: 2px !important;
  }

  :root[data-theme="light"] .profile-modal #profileTotalBox {
    border-color: rgba(0, 0, 0, 0.55) !important;
    border-width: 2px !important;
  }

  .profile-modal__list {
    display: grid;
    gap: 10px;
  }

  .profile-modal__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    padding: 10px 10px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(0, 0, 0, 0.10);
  }

  :root[data-theme="light"] .profile-modal__row {
    border-color: rgba(15, 23, 42, 0.10);
    background: rgba(255, 255, 255, 0.90);
  }

  .profile-modal__row-left {
    min-width: 0;
    display: grid;
    gap: 2px;
  }

  .profile-modal__row-title {
    font-weight: 900;
    font-size: var(--text-sm);
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 260px;
  }

  .profile-modal__row-sub {
    font-size: var(--text-xs);
    color: var(--text-muted);
    font-weight: 700;
  }

  .profile-modal__row-right {
    display: grid;
    justify-items: end;
    gap: 2px;
  }

  .profile-modal__score {
    font-weight: 1000;
    color: var(--text-primary);
    font-size: var(--text-sm);
  }

  .profile-modal__pct {
    font-weight: 900;
    font-size: var(--text-xs);
    color: var(--chem-primary);
  }

  :root[data-theme="light"] .profile-modal__pct {
    color: #000;
  }

  .profile-modal__empty {
    padding: 12px;
    text-align: center;
    color: var(--text-muted);
    font-weight: 800;
  }

  .profile-modal__skeleton {
    height: 72px;
    border-radius: 18px;
    border: 1px solid var(--glass-border);
    background:
      linear-gradient(90deg,
        rgba(255,255,255,0.06) 0%,
        rgba(255,255,255,0.12) 50%,
        rgba(255,255,255,0.06) 100%);
    background-size: 200% 100%;
    animation: profileSkeleton 1.2s ease-in-out infinite;
  }

  :root[data-theme="light"] .profile-modal__skeleton {
    background:
      linear-gradient(90deg,
        rgba(15,23,42,0.05) 0%,
        rgba(15,23,42,0.10) 50%,
        rgba(15,23,42,0.05) 100%);
  }

  @keyframes profileSkeleton {
    0% { background-position: 0% 0; }
    100% { background-position: 200% 0; }
  }

  /* Profile Modal Mobile Responsiveness */
  @media (max-width: 640px) {
    .profile-modal__header {
      flex-direction: column;
      align-items: flex-start;
      gap: var(--space-3);
    }

    .profile-modal__avatar {
      width: 56px;
      height: 56px;
    }

    .profile-modal__name {
      font-size: var(--text-lg);
      white-space: normal;
      word-break: break-word;
    }

    .profile-modal__stats {
      grid-template-columns: 1fr;
    }

    .profile-modal__stat-value {
      font-size: var(--text-xl);
    }

    .profile-modal__row {
      flex-direction: column;
      align-items: flex-start;
      gap: var(--space-2);
    }

    .profile-modal__row-right {
      width: 100%;
      flex-direction: row;
      justify-content: space-between;
      align-items: center;
    }

    .profile-modal__row-title {
      max-width: 100%;
      white-space: normal;
      word-break: break-word;
    }
  }

  .modal__footer {
    padding: var(--space-6);
    border-top: 1px solid var(--glass-border);
    display: flex;
    justify-content: flex-end;
    gap: var(--space-3);
  }

  /* Pricing Cards in Modal */
  .pricing-card {
    padding: var(--space-5);
    border-radius: var(--radius-lg);
    border: 1px solid var(--glass-border);
    background: var(--bg-elevated);
    margin-bottom: var(--space-4);
    position: relative;
  }

  .pricing-card--featured {
    border-color: var(--chem-accent);
  }

  .pricing-card__badge {
    position: absolute;
    top: -10px;
    left: var(--space-4);
    padding: var(--space-1) var(--space-3);
    background: var(--chem-accent);
    color: var(--text-dark);
    font-size: var(--text-xs);
    font-weight: 700;
    border-radius: var(--radius-full);
  }

  .pricing-card__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--space-2);
  }

  .pricing-card__name {
    font-weight: 700;
  }

  .pricing-card__price {
    font-size: var(--text-xl);
    font-weight: 900;
    color: var(--chem-primary);
  }

  /* ============================================
     Academic Years (Home)
     ============================================ */
  .academic-years {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-6);
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 var(--content-padding);
    list-style: none;
  }

  @media (max-width: 1024px) {
    .academic-years {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 640px) {
    .academic-years {
      grid-template-columns: 1fr;
    }
  }

  .academic-year-card {
    position: relative;
    border-radius: var(--radius-xl);
    border: 1px solid var(--glass-border);
    background: var(--glass-bg);
    padding: var(--space-8);
    text-align: center;
    cursor: pointer;
    transition: all var(--transition-fast);
    backdrop-filter: blur(var(--glass-blur));
    list-style: none;
  }

  .academic-year-card::marker {
    content: none;
  }

  .academic-year-card:hover {
    transform: translateY(-8px);
    border-color: var(--chem-primary);
    box-shadow: var(--shadow-glow-cyan);
  }

  .academic-year-card__icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-lg);
    background: linear-gradient(135deg, rgba(0, 229, 255, 0.16), rgba(0, 229, 255, 0.06));
    border: 1px solid rgba(255, 255, 255, 0.08);
    margin-bottom: var(--space-4);
  }

  .academic-year-card__icon svg {
    width: 22px;
    height: 22px;
    color: var(--chem-primary);
  }

  .academic-year-card__title {
    font-size: var(--text-xl);
    font-weight: 900;
    margin-bottom: var(--space-2);
  }

  .academic-year-card__meta {
    color: var(--text-muted);
    font-weight: 800;
  }

  /* ============================================
     Lessons Grid (Academic year page)
     ============================================ */
  .lessons-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-6);
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 var(--content-padding);
  }

  .lessons-grid .course-card {
    width: 100%;
  }

  @media (max-width: 1024px) {
    .lessons-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 640px) {
    .lessons-grid {
      grid-template-columns: 1fr;
    }
    .lessons-grid .course-card {
      width: 100%;
    }
  }

  .pricing-card__price--accent {
    color: var(--chem-accent);
  }

  .pricing-card__desc {
    font-size: var(--text-sm);
    color: var(--text-muted);
  }
