.carouselWrap_7dK2f {
      width: 100%;
      height: auto;
      min-height: 100vh;
      background: var(--carousel_theme_bg);
      position: relative;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      transition: background-image var(--carousel_theme_bg_transition);
      margin: var(--margin_tb) 0;
      container-type: inline-size;
    }
    .carouselWrap_7dK2f .carouselBg_7dK2f {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      z-index: 1;
      transition: opacity var(--carousel_theme_bg_transition);
      background-size: cover;
      background-position: center;
      opacity: 0;
      pointer-events: none;
    }
    .carouselWrap_7dK2f .carouselBg_7dK2f.active,
     .carouselWrap_7dK2f .carouselBg_7dK2f:first-child {
       opacity: 1;
     }
     /* 如果有 active 类存在，则让没有 active 类的 first-child 隐藏 */
     .carouselWrap_7dK2f:has(.carouselBg_7dK2f.active:not(:first-child)) .carouselBg_7dK2f:first-child {
       opacity: 0;
     }
    .carouselWrap_7dK2f .carouselList_7dK2f {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 0;
      width: 100%;
      flex: 1;
      padding: 0;
      z-index: 2;
      position: relative;
    }
    .carouselWrap_7dK2f .carouselItem_7dK2f {
      background: var(--carousel_theme_bg_opacity);
      border-radius: 0;
      box-shadow: none;
      display: grid;
      grid-template-rows: minmax(0, 1fr) minmax(0, var(--carousel_title_block_h, calc(var(--carousel_title_size) * 2.6))) minmax(0, var(--carousel_desc_block_h, calc(var(--carousel_desc_size) * 4.8))) auto minmax(0, 1fr);
      justify-items: center;
      row-gap: 2em;
      height: 100%;
      min-height: 0;
      transition: background var(--carousel_theme_bg_transition), box-shadow var(--carousel_theme_bg_transition);
      cursor: pointer;
      position: relative;
      overflow: hidden;
      padding: clamp(16px,2vw,32px) clamp(8px,1vw,24px);
      backdrop-filter: blur(2px);
    }
    @media (max-height: 720px) {
      .carouselWrap_7dK2f .carouselItem_7dK2f {
        grid-template-rows: minmax(0, 1fr) minmax(0, var(--carousel_title_block_h, calc(var(--carousel_title_size) * 2.6))) minmax(0, 1fr) auto minmax(0, 1fr);
        row-gap: 0.6em;
        padding: clamp(12px,1.5vw,20px) clamp(8px,1vw,20px);
      }
    }
    @media (hover: hover) and (pointer: fine) {
      .carouselWrap_7dK2f .carouselItem_7dK2f:hover {
        background: transparent;
        box-shadow: 0 4px 24px rgba(37,99,235,0.12);
      }
    }
    .carouselWrap_7dK2f .carouselTitle_7dK2f {
      font-size: var(--carousel_title_size);
      font-weight: 600;
      color: var(--carousel_title_color);
      margin: 0;
      text-align: center;
      letter-spacing: 0.02em;
      transition: color 0.2s, font-size 0.2s;
      align-self: start;
      width: 100%;
      overflow: hidden;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
      grid-row: 2;
    }
    .carouselWrap_7dK2f .carouselDesc_7dK2f {
      font-size: var(--carousel_desc_size);
      color: var(--carousel_desc_color);
      margin: 0;
      text-align: center;
      line-height: 1.6;
      transition: color 0.2s, font-size 0.2s;
      align-self: start;
      width: 100%;
      min-height: 0;
      overflow: hidden;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 3;
      grid-row: 3;
    }
    .carouselWrap_7dK2f .carouselBtn_7dK2f {
      background: var(--carousel_btn_bg);
      color: var(--carousel_btn_color);
      border: none;
      border-radius: 8px;
      padding: 0.6em 1.6em;
      font-size: var(--carousel_btn_size);
      font-weight: 500;
      cursor: pointer;
      transition: background var(--carousel_theme_bg_transition), color var(--carousel_theme_bg_transition), font-size 0.2s;
      box-shadow: 0 1px 8px rgba(37,99,235,0.08);
      align-self: start;
      grid-row: 4;
    }
    @media (hover: hover) and (pointer: fine) {
      .carouselWrap_7dK2f .carouselBtn_7dK2f:hover {
        background: var(--carousel_theme-btn-hover);
        color: #fff;
      }
    }
    @media (max-width: 1024px) {
      .carouselWrap_7dK2f {
        height: auto;
        min-height: 100vh;
      }
    }

    @container (max-width: 1024px) {
      .carouselWrap_7dK2f .carouselList_7dK2f {
        grid-template-columns: 1fr;
        gap: 0;
        padding: 0;
      }
      .carouselWrap_7dK2f .carouselItem_7dK2f {
        height: auto;
        min-height: 100vh;
        padding: clamp(12px,2vw,20px) clamp(6px,1vw,12px);
      }
    }

    @container (max-width: 600px) {
      .carouselWrap_7dK2f .carouselItem_7dK2f {
        grid-template-rows: auto auto auto;
        height: auto;
        min-height: 100vh;
        padding: 12px 8px;
      }
      .carouselWrap_7dK2f .carouselTitle_7dK2f,
      .carouselWrap_7dK2f .carouselDesc_7dK2f,
      .carouselWrap_7dK2f .carouselBtn_7dK2f {
        grid-row: auto;
      }
      .carouselWrap_7dK2f .carouselDesc_7dK2f {
        min-height: auto;
        overflow: hidden;
      }
    }