.forum-page {
  min-height: 100vh;
  background-color: #121212; /* Darker background for modern feel */
  padding-bottom: 80px;
  color: #fff;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  /* Global Animations */
  @keyframes fadeInUp {
    from {
      opacity: 0;
      transform: translateY(20px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes pulse {
    0% { transform: scale(1); box-shadow: 0 4px 12px rgba(0, 185, 107, 0.4); }
    50% { transform: scale(1.05); box-shadow: 0 8px 24px rgba(0, 185, 107, 0.6); }
    100% { transform: scale(1); box-shadow: 0 4px 12px rgba(0, 185, 107, 0.4); }
  }

  @keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
  }

  .hero-section {
    padding: 60px 20px 30px;
    text-align: center;
    background: linear-gradient(180deg, rgba(0,0,0,0.8) 0%, rgba(0,185,107,0.15) 100%);
    position: relative;
    overflow: hidden;

    /* Subtle pattern overlay if desired */
    &::before {
        content: '';
        position: absolute;
        top: 0; left: 0; right: 0; bottom: 0;
        background-image: radial-gradient(#333 1px, transparent 1px);
        background-size: 20px 20px;
        opacity: 0.1;
        z-index: 0;
    }

    .title {
      position: relative;
      font-size: 42px; /* Increased from 36px */
      font-weight: 800;
      margin-bottom: 16px;
      color: #fff;
      letter-spacing: -0.5px;
      text-shadow: 0 2px 10px rgba(0,0,0,0.5);
      z-index: 1;
      
      .highlight {
        color: #00b96b;
        background: linear-gradient(45deg, #00b96b, #00ff9d);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
      }
    }

    .subtitle {
      position: relative;
      color: #aaa;
      font-size: 19px; /* Increased from 17px */
      margin-bottom: 36px;
      font-weight: 500;
      z-index: 1;
    }

    .search-box {
      position: relative;
      display: flex;
      gap: 14px;
      margin-bottom: 28px;
      z-index: 2;

      .at-search-bar {
        flex: 1;
        background-color: transparent;
        padding: 0;
        
        &::after { border-bottom: none; }

        .at-search-bar__input-cnt {
          background-color: rgba(255, 255, 255, 0.08);
          border: 1px solid rgba(255,255,255,0.1);
          border-radius: 30px; /* More rounded */
          transition: all 0.3s ease;
          height: 56px; /* Taller touch target (from 48px) */
          display: flex;
          align-items: center;

          &:focus-within {
              background-color: rgba(255, 255, 255, 0.12);
              border-color: #00b96b;
              box-shadow: 0 0 0 2px rgba(0, 185, 107, 0.2);
          }
        }

        .at-search-bar__input {
          color: #fff;
          font-size: 18px; /* Larger input text (from 17px) */
        }
        
        .at-search-bar__placeholder {
             font-size: 17px;
        }
      }

      .create-btn {
        background: linear-gradient(135deg, #00b96b 0%, #009456 100%);
        color: #fff;
        border: none;
        border-radius: 30px;
        padding: 0 28px;
        font-size: 18px; /* Larger button text */
        font-weight: 600;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 4px 12px rgba(0, 185, 107, 0.3);
        transition: transform 0.2s;

        &:active {
            transform: scale(0.95);
        }
      }
    }
  }

  .section-container {
    margin: 0 16px 24px;
    background: #1e1e1e; /* Card background */
    border-radius: 20px;
    padding: 20px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
    animation: fadeInUp 0.6s ease-out forwards;

    .section-header {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 20px;
      padding-bottom: 14px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.05);
      
      .section-title {
        font-size: 20px; /* Increased from 16px */
        font-weight: 700;
        color: #fff;
        letter-spacing: 0.5px;
      }
    }

    .announcement-swiper {
      height: 48px;
      
      .announcement-item {
        height: 48px;
        display: flex;
        align-items: center;
        background: rgba(255, 255, 255, 0.03);
        padding: 0 16px;
        border-radius: 10px;
        border-left: 4px solid #ff4d4f;
        
        .item-text {
          font-size: 16px; /* Increased from 14px */
          color: #ddd;
          overflow: hidden;
          text-overflow: ellipsis;
          white-space: nowrap;
        }
      }
    }

    .star-users-scroll {
      white-space: nowrap;
      width: 100%;
      padding-bottom: 8px; /* Scrollbar space if visible */
      
      .star-user-card {
        display: inline-flex;
        flex-direction: column;
        align-items: center;
        margin-right: 18px;
        width: 90px;
        background: rgba(255, 255, 255, 0.03);
        padding: 16px 10px;
        border-radius: 16px;
        border: 1px solid rgba(255, 255, 255, 0.05);
        transition: transform 0.2s;

        &:active {
            transform: translateY(2px);
        }
        
        .user-avatar {
          width: 60px; /* Increased from 48px */
          height: 60px;
          border-radius: 50%;
          border: 2px solid #ffd700;
          margin-bottom: 10px;
          box-shadow: 0 4px 8px rgba(0,0,0,0.3);
        }
        
        .user-name {
          font-size: 14px; /* Increased from 12px */
          font-weight: 600;
          color: #eee;
          max-width: 100%;
          overflow: hidden;
          text-overflow: ellipsis;
          white-space: nowrap;
          margin-bottom: 4px;
        }
        
        .user-title {
          font-size: 12px; /* Increased from 10px */
          color: #888;
          background: rgba(255, 215, 0, 0.1);
          color: #ffd700;
          padding: 3px 8px;
          border-radius: 6px;
        }
      }
    }
  }

  .tabs-wrapper {
    background-color: transparent; /* Changed from black */
    margin-bottom: 16px;
    padding: 0 12px;

    /* Override Taro UI default white background */
    .at-tabs {
        background-color: transparent;
        height: auto;
    }

    .at-tabs__header {
        background-color: transparent;
        border-bottom: none; /* Removed border */
        text-align: left;
    }

    .at-tabs__item {
      color: #888;
      font-size: 18px; /* Increased from 17px */
      padding: 16px 24px; /* Larger touch target */
      transition: all 0.3s;
      
      &--active {
        color: #fff; /* White active text */
        font-weight: 700;
        font-size: 22px; /* Increased from 20px */
        text-shadow: 0 0 10px rgba(0, 185, 107, 0.4);
      }
    }
    
    .at-tabs__item-underline {
      background-color: #00b96b;
      height: 5px; /* Slightly thicker */
      border-radius: 3px;
      bottom: 6px;
      width: 32px !important; /* Short underline style */
      margin-left: calc(50% - 16px); /* Center specific width underline */
    }
  }

  .topic-list {
    padding: 12px 18px;

    .topic-card {
      background: #1e1e1e;
      border: 1px solid rgba(255,255,255,0.05);
      border-radius: 20px;
      padding: 28px; /* Increased from 24px */
      margin-bottom: 28px; /* Increased spacing */
      position: relative;
      box-shadow: 0 4px 12px rgba(0,0,0,0.2);
      transition: transform 0.2s, box-shadow 0.2s;
      animation: fadeInUp 0.5s ease-out backwards; /* Apply animation */

      &:active {
          transform: scale(0.98);
          background: #252525;
      }

      &.pinned {
        border-color: rgba(0, 185, 107, 0.3);
        background: linear-gradient(180deg, rgba(0, 185, 107, 0.05) 0%, #1e1e1e 100%);
        box-shadow: 0 8px 20px rgba(0, 185, 107, 0.1);
      }

      /* Animation delay for staggered effect - simplistic approach (nth-child logic is better in CSS-in-JS or fixed list) */
      &:nth-child(1) { animation-delay: 0.1s; }
      &:nth-child(2) { animation-delay: 0.2s; }
      &:nth-child(3) { animation-delay: 0.3s; }
      &:nth-child(4) { animation-delay: 0.4s; }
      &:nth-child(5) { animation-delay: 0.5s; }

      .card-header {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 12px;
        margin-bottom: 18px;

        .tag {
          font-size: 14px; /* Slightly larger */
          padding: 6px 12px;
          border-radius: 8px;
          font-weight: 600;
          background: rgba(255,255,255,0.1);
          color: #aaa;
          
          &.pinned-tag {
            background: rgba(255, 77, 79, 0.15);
            color: #ff4d4f;
            border: 1px solid rgba(255, 77, 79, 0.3);
          }
          
          &.verified-tag {
            background: rgba(0, 185, 107, 0.15);
            color: #00b96b;
            border: 1px solid rgba(0, 185, 107, 0.3);
          }
        }

        .card-title {
          font-size: 26px; /* Increased from 22px */
          font-weight: 700;
          color: #fff;
          flex: 1;
          line-height: 1.5;
        }
      }

      .card-content {
        font-size: 19px; /* Increased from 17px */
        color: #ccc; /* Slightly brighter for better contrast */
        margin-bottom: 24px;
        line-height: 1.8;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3; /* Show 3 lines */
        overflow: hidden;
      }

      .card-image {
        margin-bottom: 24px;
        border-radius: 16px;
        overflow: hidden;
        
        image {
          width: 100%;
          max-height: 240px; /* Taller image preview */
          object-fit: cover;
          display: block; /* Remove inline spacing */
        }
      }

      .card-footer {
        display: flex;
        justify-content: space-between;
        align-items: center;
        font-size: 15px; /* Increased from 14px */
        color: #888;
        padding-top: 20px;
        border-top: 1px solid rgba(255,255,255,0.05);

        .author-info {
          display: flex;
          align-items: center;
          gap: 12px;

          .avatar {
            width: 48px; /* Larger avatar */
            height: 48px;
            border-radius: 50%;
            border: 1px solid rgba(255,255,255,0.1);
          }

          .nickname {
            color: #ccc;
            font-weight: 500;
            
            &.star {
              color: #ffd700;
              font-weight: 700;
            }
          }
        }

        .stats {
          display: flex;
          gap: 24px;
          
          .stat-item {
            display: flex;
            align-items: center;
            gap: 8px;
            
            .at-icon {
              font-size: 20px;
              margin-right: 0;
            }
          }
        }
      }
    }
  }

  .empty-state {
    text-align: center;
    padding: 80px 20px;
    color: #666;
    font-size: 16px;
    
    &::before {
        content: '📭'; /* Simple icon */
        display: block;
        font-size: 50px;
        margin-bottom: 12px;
        opacity: 0.5;
    }
  }
  
  .fab {
    position: fixed;
    right: 30px;
    bottom: 60px;
    width: 64px;
    height: 64px;
    background: linear-gradient(135deg, #00b96b 0%, #009456 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 20px rgba(0, 185, 107, 0.5);
    z-index: 100;
    animation: pulse 3s infinite;
    transition: transform 0.2s;

    &:active {
        transform: scale(0.9);
        animation: none;
    }
    
    .at-icon {
      font-size: 28px;
      color: #fff;
    }
  }
  
  /* Expert Modal Styles - Tech & Dark Theme */
  .at-float-layout {
      .at-float-layout__overlay {
          background-color: rgba(0, 0, 0, 0.8);
          backdrop-filter: blur(8px);
      }

      .at-float-layout__container {
          background-color: #0f1216 !important; /* Deep dark tech background */
          border-top: 1px solid rgba(0, 185, 107, 0.3); /* Tech green border */
          box-shadow: 0 -10px 40px rgba(0, 185, 107, 0.15);
          border-radius: 24px 24px 0 0; /* More rounded top */

          .layout-header {
              background-color: #15191f;
              border-bottom: 1px solid rgba(255, 255, 255, 0.05);
              padding: 20px 28px;
              
              .layout-header__title {
                  color: #00b96b; /* Tech green */
                  font-size: 20px; /* Increased from 18px */
                  font-weight: 700;
                  letter-spacing: 1px;
                  text-shadow: 0 0 10px rgba(0, 185, 107, 0.3);
              }
              
              .layout-header__btn-close {
                  color: #666;
              }
          }
          
          .layout-body {
              background-color: #0f1216;
              padding: 0;
          }
      }
  }

  .expert-modal-content {
      padding: 36px 28px 70px;
      color: #fff;
      background: radial-gradient(circle at 50% 10%, rgba(0, 185, 107, 0.08), transparent 60%);

      .expert-header {
          display: flex;
          flex-direction: column;
          align-items: center;
          margin-bottom: 40px;
          position: relative;
          
          .avatar-container {
              position: relative;
              margin-bottom: 28px;
              
              .expert-avatar {
                  width: 120px; /* Increased from 100px */
                  height: 120px;
                  border-radius: 50%;
                  border: 2px solid #ffd700; /* Gold for expert */
                  box-shadow: 0 0 30px rgba(255, 215, 0, 0.25), inset 0 0 10px rgba(255, 215, 0, 0.2);
                  z-index: 2;
                  position: relative;
              }
              
              .avatar-ring {
                  position: absolute;
                  top: -14px; left: -14px; right: -14px; bottom: -14px;
                  border-radius: 50%;
                  border: 1px dashed rgba(255, 215, 0, 0.5);
                  animation: spin 12s linear infinite;
                  z-index: 1;
                  
                  &::after {
                      content: '';
                      position: absolute;
                      top: -8px; left: -8px; right: -8px; bottom: -8px;
                      border-radius: 50%;
                      border: 1px solid rgba(0, 185, 107, 0.3); /* Outer green ring */
                      animation: spin 8s reverse linear infinite;
                  }
              }
          }
          
          .expert-info {
              text-align: center;
              
              .expert-name {
                  font-size: 30px; /* Increased from 26px */
                  font-weight: 800;
                  color: #fff;
                  margin-bottom: 14px;
                  text-shadow: 0 0 15px rgba(0, 185, 107, 0.5);
                  letter-spacing: 0.5px;
              }
              
              .expert-title-badge {
                  display: inline-flex;
                  align-items: center;
                  gap: 10px;
                  background: linear-gradient(90deg, rgba(255, 215, 0, 0.15), rgba(255, 215, 0, 0.05));
                  padding: 8px 20px;
                  border-radius: 24px;
                  border: 1px solid rgba(255, 215, 0, 0.4);
                  box-shadow: 0 0 15px rgba(255, 215, 0, 0.15);
                  
                  .at-icon {
                      text-shadow: 0 0 5px #ffd700;
                  }
                  
                  text {
                      font-size: 16px; /* Increased from 14px */
                      color: #ffd700;
                      font-weight: 700;
                      letter-spacing: 1px;
                  }
              }
          }
      }
      
      .expert-skills-section {
          margin-bottom: 36px;
          background: rgba(255, 255, 255, 0.02);
          border-radius: 24px;
          padding: 28px;
          border: 1px solid rgba(255, 255, 255, 0.06);
          position: relative;
          overflow: hidden;
          
          /* Tech corner accent */
          &::before {
              content: '';
              position: absolute;
              top: 0; left: 0;
              width: 12px; height: 12px;
              border-top: 3px solid #00b96b;
              border-left: 3px solid #00b96b;
              border-radius: 4px 0 0 0;
          }
          
          &::after {
              content: '';
              position: absolute;
              bottom: 0; right: 0;
              width: 12px; height: 12px;
              border-bottom: 3px solid #00b96b;
              border-right: 3px solid #00b96b;
              border-radius: 0 0 4px 0;
          }
          
          .section-label {
              display: flex;
              align-items: center;
              margin-bottom: 24px;
              
              .label-text {
                  font-size: 17px; /* Increased from 15px */
                  font-weight: 700;
                  color: #00b96b;
                  margin-right: 14px;
                  text-transform: uppercase;
                  letter-spacing: 1px;
              }
              
              .label-line {
                  flex: 1;
                  height: 1px;
                  background: linear-gradient(90deg, rgba(0, 185, 107, 0.5), transparent);
                  opacity: 0.6;
              }
          }
          
          .skills-grid {
              display: flex;
              flex-wrap: wrap;
              gap: 14px;
              
              .skill-tag {
                  display: flex;
                  align-items: center;
                  background: rgba(0, 185, 107, 0.08);
                  padding: 10px 20px;
                  border-radius: 8px;
                  border: 1px solid rgba(0, 185, 107, 0.25);
                  transition: all 0.3s;
                  position: relative;
                  overflow: hidden;
                  
                  /* Left accent bar */
                  &::before {
                      content: '';
                      position: absolute;
                      top: 0; left: 0; width: 4px; height: 100%;
                      background: #00b96b;
                      opacity: 0.6;
                  }
                  
                  &:active {
                      background: rgba(0, 185, 107, 0.2);
                      transform: scale(0.98);
                      box-shadow: 0 0 10px rgba(0, 185, 107, 0.2);
                  }
                  
                  .skill-icon {
                      width: 24px; /* Increased from 20px */
                      height: 24px;
                      margin-right: 10px;
                      filter: drop-shadow(0 0 2px rgba(0,0,0,0.5));
                  }
                  
                  .skill-text {
                      font-size: 15px; /* Increased from 13px */
                      color: #e0e0e0;
                      font-weight: 500;
                      letter-spacing: 0.5px;
                  }
              }
          }
      }
  }
}
