.dp-ctc{--dp-ctc-card-bg:#fff;--dp-ctc-card-text:#222;--dp-ctc-card-muted:#555;--dp-ctc-card-border:#e5e5e5}.dp-ctc-card-theme-dark{--dp-ctc-card-bg:#171717;--dp-ctc-card-text:#fff;--dp-ctc-card-muted:#cfcfcf;--dp-ctc-card-border:#2c2c2c;--dp-ctc-title-color:#fff}.dp-ctc-card-theme-light{--dp-ctc-card-bg:#fff;--dp-ctc-card-text:#222;--dp-ctc-card-muted:#555;--dp-ctc-card-border:#e5e5e5}.dark .dp-ctc-card-theme-auto,.is-dark .dp-ctc-card-theme-auto,body.dark .dp-ctc-card-theme-auto,body.is-dark .dp-ctc-card-theme-auto,body[data-theme="dark"] .dp-ctc-card-theme-auto{--dp-ctc-card-bg:#171717;--dp-ctc-card-text:#fff;--dp-ctc-card-muted:#cfcfcf;--dp-ctc-card-border:#2c2c2c;--dp-ctc-title-color:#fff}.dp-ctc{width:100%;box-sizing:border-box;margin:0 0 24px;position:relative}.dp-ctc *{box-sizing:border-box}.dp-ctc-tabs{display:flex;gap:var(--dp-ctc-tab-gap);margin:0 0 14px;align-items:center}.dp-ctc-tabs.is-scrollable{overflow-x:auto;white-space:nowrap;padding-bottom:4px}.dp-ctc-align-center .dp-ctc-tabs{justify-content:center}.dp-ctc-align-right .dp-ctc-tabs{justify-content:flex-end}.dp-ctc-align-between .dp-ctc-tabs{justify-content:space-between}.dp-ctc-equal .dp-ctc-tab{flex:1}.dp-ctc-tab{appearance:none;-webkit-appearance:none;height:var(--dp-ctc-tab-h);border:1px solid #d7d7d7;background:#fff;color:#222;padding:0 18px;border-radius:var(--dp-ctc-tab-r);font-size:var(--dp-ctc-tab-fz);line-height:1;cursor:pointer;transition:.2s;white-space:nowrap}.dp-ctc-tab.active{background:#111;color:#fff;border-color:#111}.dp-ctc-tab-group .dp-ctc-tabs{border:1px solid #d7d7d7;padding:8px;border-radius:calc(var(--dp-ctc-tab-r) + 6px)}.dp-ctc-tab-underline .dp-ctc-tab{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent}.dp-ctc-tab-underline .dp-ctc-tab.active{color:#111;border-bottom-color:#111}.dp-ctc-tab-pill .dp-ctc-tab{border-radius:999px}.dp-ctc-panel-front{display:none;position:relative}.dp-ctc-panel-front.active{display:block}.dp-ctc-viewport{overflow:hidden;width:100%}.dp-ctc-track{display:grid;grid-auto-flow:column;grid-template-rows:repeat(var(--dp-ctc-d-rows),auto);grid-auto-columns:var(--dp-ctc-d-cardw);gap:var(--dp-ctc-d-gap);transition:transform .62s cubic-bezier(.22,.61,.36,1);will-change:transform;backface-visibility:hidden}.dp-ctc-card{background:var(--dp-ctc-card-bg,#fff);color:var(--dp-ctc-card-text,#222);border:var(--dp-ctc-card-border-width,1px) solid var(--dp-ctc-card-border-color,var(--dp-ctc-card-border,#e5e5e5));border-radius:var(--dp-ctc-card-radius,0);min-width:0;overflow:hidden}.dp-ctc-card a{display:block;text-decoration:none!important;color:inherit!important;height:100%}.dp-ctc-img{height:var(--dp-ctc-d-img);background:#f2f2f2;overflow:hidden}.dp-ctc-img img{width:100%;height:100%;object-fit:cover;display:block}.dp-ctc-body{padding:12px;min-height:var(--dp-ctc-body-min,0);display:flex;flex-direction:column;justify-content:space-between}.dp-ctc-body h3{font-size:var(--dp-ctc-d-title);line-height:var(--dp-ctc-title-lh,1.35);margin:0 0 8px;color:var(--dp-ctc-title-color,#111);font-weight:var(--dp-ctc-title-weight,800)}.dp-ctc-body p{font-size:var(--dp-ctc-d-text);line-height:1.55;margin:0;color:var(--dp-ctc-card-muted,#555)}.dp-ctc-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:#777;margin-bottom:6px}.dp-ctc-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:34px;height:44px;border:1px solid #ddd;background:#fff;color:#111;cursor:pointer;border-radius:0}.dp-ctc-arrow.prev{left:-8px}.dp-ctc-arrow.next{right:-8px}.dp-ctc-empty{padding:16px;background:#fff7e6;border:1px solid #f0d38a;color:#7a4d00}.dp-ctc-ad-card{display:flex;align-items:center;justify-content:center;min-height:120px}@media(min-width:1280px){.dp-ctc-track{grid-template-rows:repeat(var(--dp-ctc-xl-rows),auto);grid-auto-columns:var(--dp-ctc-xl-cardw);gap:var(--dp-ctc-xl-gap)}.dp-ctc-img{height:var(--dp-ctc-xl-img)}.dp-ctc-body h3{font-size:var(--dp-ctc-xl-title)}.dp-ctc-body p{font-size:var(--dp-ctc-xl-text)}}@media(max-width:1024px){.dp-ctc-track{grid-template-rows:repeat(var(--dp-ctc-t-rows),auto);grid-auto-columns:var(--dp-ctc-t-cardw);gap:var(--dp-ctc-t-gap)}.dp-ctc-img{height:var(--dp-ctc-t-img)}.dp-ctc-body h3{font-size:var(--dp-ctc-t-title)}.dp-ctc-body p{font-size:var(--dp-ctc-t-text)}}@media(max-width:767px){.dp-ctc-track{grid-template-rows:repeat(var(--dp-ctc-ml-rows),auto);grid-auto-columns:var(--dp-ctc-ml-cardw);gap:var(--dp-ctc-ml-gap)}.dp-ctc-img{height:var(--dp-ctc-ml-img)}.dp-ctc-body h3{font-size:var(--dp-ctc-ml-title)}.dp-ctc-body p{font-size:var(--dp-ctc-ml-text)}.dp-ctc-arrow{display:none}}@media(max-width:480px){.dp-ctc-track{grid-template-rows:repeat(var(--dp-ctc-m-rows),auto);grid-auto-columns:var(--dp-ctc-m-cardw);gap:var(--dp-ctc-m-gap)}.dp-ctc-img{height:var(--dp-ctc-m-img)}.dp-ctc-body h3{font-size:var(--dp-ctc-m-title)}.dp-ctc-body p{font-size:var(--dp-ctc-m-text)}}
.dp-ctc-viewport{cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;overscroll-behavior-x:contain}.dp-ctc-viewport.is-dragging{cursor:grabbing}.dp-ctc-viewport.is-dragging a{pointer-events:none}.dp-ctc-track img{-webkit-user-drag:none;user-select:none}
.dp-ctc-card a{display:flex!important;flex-direction:column}.dp-ctc-body{display:flex;flex-direction:column;flex:1;min-height:var(--dp-ctc-body-min)}.dp-ctc-content{flex:1}.dp-ctc-body h3{font-weight:var(--dp-ctc-title-weight)!important;line-height:var(--dp-ctc-title-lh)!important;color:var(--dp-ctc-title-color)!important}.dp-ctc-card-meta{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:var(--dp-ctc-meta-size);font-weight:var(--dp-ctc-meta-weight);color:var(--dp-ctc-meta-color);line-height:1}.dp-ctc-card-views{display:flex;align-items:center;gap:6px;min-width:0}.dp-ctc-card-views svg{width:var(--dp-ctc-meta-icon);height:var(--dp-ctc-meta-icon);fill:currentColor;flex:0 0 auto}.dp-ctc-card-like{display:flex;align-items:center;justify-content:center;color:var(--dp-ctc-like-color);line-height:1}.dp-ctc-card-like svg{width:var(--dp-ctc-like-icon);height:var(--dp-ctc-like-icon);fill:currentColor;flex:0 0 auto}.dp-ctc-meta-layout-views_left_like_right{justify-content:space-between}.dp-ctc-meta-layout-views_left_like_left{justify-content:flex-start}.dp-ctc-meta-layout-all_right{justify-content:flex-end}.dp-ctc-meta-layout-hide_views{justify-content:flex-end}.dp-ctc-meta-layout-hide_like{justify-content:flex-start}

.dp-ctc-body h3.dp-ctc-title-clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--dp-ctc-title-lines,2);overflow:hidden;min-height:calc(var(--dp-ctc-title-lh,1.35) * var(--dp-ctc-d-title) * var(--dp-ctc-title-lines,2));}
.dp-ctc-body h3.dp-ctc-title-full{display:block;overflow:visible;min-height:0;}
@media(min-width:1280px){.dp-ctc-body h3.dp-ctc-title-clamp{min-height:calc(var(--dp-ctc-title-lh,1.35) * var(--dp-ctc-xl-title) * var(--dp-ctc-title-lines,2));}}
@media(max-width:1024px){.dp-ctc-body h3.dp-ctc-title-clamp{min-height:calc(var(--dp-ctc-title-lh,1.35) * var(--dp-ctc-t-title) * var(--dp-ctc-title-lines,2));}}
@media(max-width:767px){.dp-ctc-body h3.dp-ctc-title-clamp{min-height:calc(var(--dp-ctc-title-lh,1.35) * var(--dp-ctc-ml-title) * var(--dp-ctc-title-lines,2));}}
@media(max-width:480px){.dp-ctc-body h3.dp-ctc-title-clamp{min-height:calc(var(--dp-ctc-title-lh,1.35) * var(--dp-ctc-m-title) * var(--dp-ctc-title-lines,2));}}

/* v2.2.1 desktop click fix: hard guard against theme/global SVG rules */
.dp-ctc .dp-ctc-card-views svg,
.dp-ctc .dp-ctc-card-like svg{
  display:inline-block!important;
  max-width:var(--dp-ctc-meta-icon,16px)!important;
  max-height:var(--dp-ctc-meta-icon,16px)!important;
  vertical-align:middle!important;
}
.dp-ctc .dp-ctc-card-like svg{
  max-width:var(--dp-ctc-like-icon,20px)!important;
  max-height:var(--dp-ctc-like-icon,20px)!important;
}
.dp-ctc .dp-ctc-track{min-width:max-content;}
.dp-ctc .dp-ctc-card{height:100%;}

/* v2.2.1 desktop click fix */
.dp-ctc .dp-ctc-card,
.dp-ctc .dp-ctc-card a{position:relative;z-index:1;pointer-events:auto;}
.dp-ctc .dp-ctc-viewport{position:relative;z-index:1;}
.dp-ctc .dp-ctc-track{position:relative;z-index:1;}
.dp-ctc .dp-ctc-arrow{z-index:5;pointer-events:auto;}
.dp-ctc .dp-ctc-viewport:not(.is-dragging) a{pointer-events:auto!important;}
.dp-ctc .dp-ctc-viewport.is-dragging a{pointer-events:none!important;}

/* v2.2.2 desktop link safety */
.dp-ctc-viewport{position:relative;z-index:1;pointer-events:auto;}
.dp-ctc-track{position:relative;z-index:1;pointer-events:auto;}
.dp-ctc-card{position:relative;z-index:1;pointer-events:auto;}
.dp-ctc-card a{position:relative;z-index:3;pointer-events:auto;cursor:pointer;}
.dp-ctc-viewport.is-dragging .dp-ctc-card a{cursor:grabbing;}
.dp-ctc-arrow{pointer-events:auto;}

/* v2.2.5: image drag fix - 圖片區不攔截 pointer，事件交給外層連結與 viewport 處理 */
.dp-ctc .dp-ctc-img,
.dp-ctc .dp-ctc-img img{
  pointer-events:none;
  -webkit-user-drag:none;
  user-drag:none;
  user-select:none;
  -webkit-user-select:none;
}
/* v2.2.6: 到底橡皮筋回饋，不改後台設定 */
.dp-ctc-viewport.is-edge .dp-ctc-track{transition:none;}

/* v2.2.7: axis lock - 允許頁面垂直捲動，水平拖移才由 JS 接管 */
.dp-ctc .dp-ctc-viewport{touch-action:pan-y;overscroll-behavior-x:contain;}

/* v2.5.7 中高版卡片：固定 4:5 圖片比例、5px 圓角、移除愛心 */
.dp-ctc .dp-ctc-card{border-radius:var(--dp-ctc-card-radius,5px)!important;border-width:var(--dp-ctc-card-border-width,1px)!important;border-color:var(--dp-ctc-card-border-color,var(--dp-ctc-card-border,#e5e5e5))!important;}
.dp-ctc .dp-ctc-img{height:auto!important;aspect-ratio:4/5;background:#f2f2f2;}
.dp-ctc .dp-ctc-img img{width:100%;height:100%;object-fit:cover;object-position:center;}
.dp-ctc .dp-ctc-card-like{display:none!important;}
.dp-ctc .dp-ctc-card-meta{justify-content:flex-start;}


/* v2.5.8 compact mobile cards */
.dp-ctc .dp-ctc-card{height:auto!important;}
.dp-ctc .dp-ctc-card a{height:auto!important;}
.dp-ctc .dp-ctc-img{
  aspect-ratio:auto!important;
  height:170px!important;
}
.dp-ctc .dp-ctc-body{
  padding:10px!important;
}
.dp-ctc .dp-ctc-card-meta{
  margin-top:8px!important;
}

/* v2.8.0 Tab 顏色：基本、滑入、點擊狀態由後台設定 */
.dp-ctc .dp-ctc-tab{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:var(--dp-ctc-tab-h,42px);
    padding:7px 14px;
    background:var(--dp-ctc-tab-bg,#111);
    color:var(--dp-ctc-tab-text,#fff);
    border:1px solid var(--dp-ctc-tab-border,#111)!important;
    outline:0!important;
    border-radius:var(--dp-ctc-tab-r,999px);
    font-weight:700;
    box-shadow:none!important;
    filter:none;
    line-height:1;
}
.dp-ctc .dp-ctc-tab:hover{
    background:var(--dp-ctc-tab-hover-bg,#2c3338);
    color:var(--dp-ctc-tab-hover-text,#fff);
    border-color:var(--dp-ctc-tab-border,#111)!important;
    outline:0!important;
    box-shadow:none!important;
    filter:none;
    transform:none;
}
.dp-ctc .dp-ctc-tab:focus,
.dp-ctc .dp-ctc-tab:focus-visible{
    outline:0!important;
    box-shadow:none!important;
}
.dp-ctc .dp-ctc-tab.active,
.dp-ctc .dp-ctc-tab.active:hover,
.dp-ctc .dp-ctc-tab[aria-selected="true"]{
    background:var(--dp-ctc-tab-active-bg,#2271b1);
    color:var(--dp-ctc-tab-active-text,#fff);
    border-color:var(--dp-ctc-tab-active-border,#2271b1)!important;
}
.dp-ctc-tab-icon-wrap{width:20px;height:20px;display:inline-flex;flex:0 0 20px;align-items:center;justify-content:center;overflow:visible;color:inherit}
.dp-ctc-tab-icon,.dp-ctc-tab-icon-wrap svg{width:20px;height:20px;display:block;color:inherit;overflow:visible}
.dp-ctc-tab-label{display:block;line-height:1;white-space:nowrap}
.dp-ctc-tab-underline .dp-ctc-tab{border-width:0 0 2px!important;border-radius:0;background:transparent;color:var(--dp-ctc-tab-text,#222);padding-inline:14px}
.dp-ctc-tab-underline .dp-ctc-tab:hover{background:transparent;color:var(--dp-ctc-tab-hover-text,#222);border-bottom-color:var(--dp-ctc-tab-border,#111)!important}
.dp-ctc-tab-underline .dp-ctc-tab.active{background:transparent;color:var(--dp-ctc-tab-active-text,#111);border-bottom-color:var(--dp-ctc-tab-active-border,#2271b1)!important}
@media(max-width:480px){.dp-ctc .dp-ctc-tab{gap:6px;padding:6px 12px}.dp-ctc-tab-icon-wrap,.dp-ctc-tab-icon,.dp-ctc-tab-icon-wrap svg{width:18px;height:18px}.dp-ctc-tab-icon-wrap{flex-basis:18px}}


/* v2.8.1 修正：自適應卡片寬度與圖片高度必須依各裝置設定生效。
   移除舊版固定 4:5 / 170px 規則造成手機卡片被強制直式的問題。 */
.dp-ctc .dp-ctc-track{
  grid-auto-columns:var(--dp-ctc-d-cardw)!important;
  gap:var(--dp-ctc-d-gap)!important;
}
.dp-ctc .dp-ctc-img{
  width:100%!important;
  height:var(--dp-ctc-d-img)!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  flex:0 0 var(--dp-ctc-d-img)!important;
}
.dp-ctc .dp-ctc-img img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
@media(min-width:1280px){
  .dp-ctc .dp-ctc-track{grid-auto-columns:var(--dp-ctc-xl-cardw)!important;gap:var(--dp-ctc-xl-gap)!important}
  .dp-ctc .dp-ctc-img{height:var(--dp-ctc-xl-img)!important;flex-basis:var(--dp-ctc-xl-img)!important}
}
@media(max-width:1024px){
  .dp-ctc .dp-ctc-track{grid-auto-columns:var(--dp-ctc-t-cardw)!important;gap:var(--dp-ctc-t-gap)!important}
  .dp-ctc .dp-ctc-img{height:var(--dp-ctc-t-img)!important;flex-basis:var(--dp-ctc-t-img)!important}
}
@media(max-width:767px){
  .dp-ctc .dp-ctc-track{grid-auto-columns:var(--dp-ctc-ml-cardw)!important;gap:var(--dp-ctc-ml-gap)!important}
  .dp-ctc .dp-ctc-img{height:var(--dp-ctc-ml-img)!important;flex-basis:var(--dp-ctc-ml-img)!important}
}
@media(max-width:480px){
  .dp-ctc .dp-ctc-track{grid-auto-columns:var(--dp-ctc-m-cardw)!important;gap:var(--dp-ctc-m-gap)!important}
  .dp-ctc .dp-ctc-img{height:var(--dp-ctc-m-img)!important;flex-basis:var(--dp-ctc-m-img)!important}
}


/* v2.8.3 hide horizontal scrollbar */
.dp-tab-carousel-track,
.dp-tab-carousel-list,
.dp-tab-carousel-scroll,
.dp-ftc-track,
.dp-ftc-list{
    -ms-overflow-style:none;
    scrollbar-width:none;
}
.dp-tab-carousel-track::-webkit-scrollbar,
.dp-tab-carousel-list::-webkit-scrollbar,
.dp-tab-carousel-scroll::-webkit-scrollbar,
.dp-ftc-track::-webkit-scrollbar,
.dp-ftc-list::-webkit-scrollbar{
    width:0!important;
    height:0!important;
    display:none!important;
    background:transparent;
}


/* v2.8.5：卡片外觀最終控制層
   必須放在檔案最末端，避免舊版規則或主題 CSS 接走設定。 */
.dp-ctc .dp-ctc-card{
    border-style:solid!important;
    border-width:var(--dp-ctc-card-border-width,1px)!important;
    border-color:var(--dp-ctc-card-border-color,#e5e5e5)!important;
    border-radius:var(--dp-ctc-card-radius,0)!important;
    box-shadow:none;
}
.dp-ctc[style*="--dp-ctc-card-border-width:0px"] .dp-ctc-card{
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
}

/* 明確亮色：不依網站主題判斷，選到亮色就強制亮色。 */
.dp-ctc.dp-ctc-card-theme-light .dp-ctc-card{
    background:#fff!important;
    color:#222!important;
}
.dp-ctc.dp-ctc-card-theme-light .dp-ctc-body h3{color:var(--dp-ctc-title-color,#111)!important;}
.dp-ctc.dp-ctc-card-theme-light .dp-ctc-body p{color:#555!important;}
.dp-ctc.dp-ctc-card-theme-light .dp-ctc-meta,
.dp-ctc.dp-ctc-card-theme-light .dp-ctc-card-meta{color:var(--dp-ctc-meta-color,#777)!important;}

/* 明確暗色：卡片、標題、摘要及底部資訊一起切換。 */
.dp-ctc.dp-ctc-card-theme-dark .dp-ctc-card{
    background:#171717!important;
    color:#fff!important;
}
.dp-ctc.dp-ctc-card-theme-dark .dp-ctc-body h3{color:#fff!important;}
.dp-ctc.dp-ctc-card-theme-dark .dp-ctc-body p{color:#cfcfcf!important;}
.dp-ctc.dp-ctc-card-theme-dark .dp-ctc-meta,
.dp-ctc.dp-ctc-card-theme-dark .dp-ctc-card-meta{color:#cfcfcf!important;}

/* 跟隨亮暗：相容網站常見 dark class、data-theme 與系統深色模式。 */
.dark .dp-ctc.dp-ctc-card-theme-auto .dp-ctc-card,
.is-dark .dp-ctc.dp-ctc-card-theme-auto .dp-ctc-card,
body.dark .dp-ctc.dp-ctc-card-theme-auto .dp-ctc-card,
body.is-dark .dp-ctc.dp-ctc-card-theme-auto .dp-ctc-card,
html[data-theme="dark"] .dp-ctc.dp-ctc-card-theme-auto .dp-ctc-card,
body[data-theme="dark"] .dp-ctc.dp-ctc-card-theme-auto .dp-ctc-card,
html[data-color-scheme="dark"] .dp-ctc.dp-ctc-card-theme-auto .dp-ctc-card,
body[data-color-scheme="dark"] .dp-ctc.dp-ctc-card-theme-auto .dp-ctc-card{
    background:#171717!important;
    color:#fff!important;
}
.dark .dp-ctc.dp-ctc-card-theme-auto .dp-ctc-body h3,
.is-dark .dp-ctc.dp-ctc-card-theme-auto .dp-ctc-body h3,
body[data-theme="dark"] .dp-ctc.dp-ctc-card-theme-auto .dp-ctc-body h3,
html[data-theme="dark"] .dp-ctc.dp-ctc-card-theme-auto .dp-ctc-body h3{color:#fff!important;}
.dark .dp-ctc.dp-ctc-card-theme-auto .dp-ctc-body p,
.is-dark .dp-ctc.dp-ctc-card-theme-auto .dp-ctc-body p,
body[data-theme="dark"] .dp-ctc.dp-ctc-card-theme-auto .dp-ctc-body p,
html[data-theme="dark"] .dp-ctc.dp-ctc-card-theme-auto .dp-ctc-body p,
.dark .dp-ctc.dp-ctc-card-theme-auto .dp-ctc-meta,
.is-dark .dp-ctc.dp-ctc-card-theme-auto .dp-ctc-meta,
body[data-theme="dark"] .dp-ctc.dp-ctc-card-theme-auto .dp-ctc-meta,
html[data-theme="dark"] .dp-ctc.dp-ctc-card-theme-auto .dp-ctc-meta{color:#cfcfcf!important;}

@media (prefers-color-scheme:dark){
    .dp-ctc.dp-ctc-card-theme-auto .dp-ctc-card{background:#171717!important;color:#fff!important;}
    .dp-ctc.dp-ctc-card-theme-auto .dp-ctc-body h3{color:#fff!important;}
    .dp-ctc.dp-ctc-card-theme-auto .dp-ctc-body p,
    .dp-ctc.dp-ctc-card-theme-auto .dp-ctc-meta,
    .dp-ctc.dp-ctc-card-theme-auto .dp-ctc-card-meta{color:#cfcfcf!important;}
}


/* v2.8.33：資料進入前的置中呼吸載入提示 */
.dp-ctc .dp-ctc-viewport{position:relative;}
.dp-ctc .dp-ctc-loading{
  position:absolute;
  inset:0;
  z-index:4;
  min-height:180px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  text-align:center;
  pointer-events:none;
  color:var(--dp-ctc-text,#555);
  background:transparent;
}
.dp-ctc .dp-ctc-loading-glow{
  width:34px;
  height:34px;
  border-radius:50%;
  border:1px solid currentColor;
  opacity:.18;
  box-shadow:0 0 0 0 currentColor;
  animation:dpCtcLoadingPulse 1.55s ease-in-out infinite;
}
.dp-ctc .dp-ctc-loading-text{
  display:block;
  max-width:80%;
  font-size:14px;
  font-weight:600;
  letter-spacing:.08em;
  opacity:.3;
  animation:dpCtcLoadingFade 1.45s ease-in-out infinite,dpCtcLoadingFlicker 3.2s linear infinite;
}
.dp-ctc .dp-ctc-loading-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  height:6px;
}
.dp-ctc .dp-ctc-loading-dots i{
  display:block;
  width:4px;
  height:4px;
  border-radius:50%;
  background:currentColor;
  opacity:.2;
  animation:dpCtcLoadingDot 1.2s ease-in-out infinite;
}
.dp-ctc .dp-ctc-loading-dots i:nth-child(2){animation-delay:.16s;}
.dp-ctc .dp-ctc-loading-dots i:nth-child(3){animation-delay:.32s;}
@keyframes dpCtcLoadingFade{
  0%,100%{opacity:.25;transform:translateY(1px);}
  50%{opacity:.92;transform:translateY(0);}
}
@keyframes dpCtcLoadingPulse{
  0%,100%{opacity:.08;transform:scale(.82);box-shadow:0 0 0 0 currentColor;}
  50%{opacity:.3;transform:scale(1);box-shadow:0 0 0 9px transparent;}
}
@keyframes dpCtcLoadingFlicker{
  0%,18%,22%,64%,68%,100%{filter:brightness(1);}
  20%{filter:brightness(1.22);}
  66%{filter:brightness(.82);}
}
@keyframes dpCtcLoadingDot{
  0%,100%{opacity:.18;transform:translateY(0) scale(.8);}
  50%{opacity:.8;transform:translateY(-2px) scale(1);}
}


/* v2.8.32 staggered random card reveal */
.dp-ctc .dp-ctc-card.dp-ctc-card-enter{
  opacity:0;
  transform:translate3d(0,10px,0) scale(.992);
  transition:opacity .42s ease,transform .48s cubic-bezier(.2,.72,.2,1);
  transition-delay:var(--dp-ctc-enter-delay,0ms);
}
.dp-ctc .dp-ctc-card.dp-ctc-card-enter.dp-ctc-card-entered{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
}
@media (prefers-reduced-motion:reduce){
  .dp-ctc .dp-ctc-card.dp-ctc-card-enter,
  .dp-ctc .dp-ctc-card.dp-ctc-card-enter.dp-ctc-card-entered{
    opacity:1;
    transform:none;
    transition:none;
  }
}

@media (prefers-reduced-motion:reduce){
  .dp-ctc .dp-ctc-loading-glow,
  .dp-ctc .dp-ctc-loading-text,
  .dp-ctc .dp-ctc-loading-dots i{animation:none!important;}
  .dp-ctc .dp-ctc-loading-text{opacity:.8;}
}

/* v2.8.34：確保 AJAX 尚未回傳時，載入提示有可見高度並確實置中播放 */
.dp-ctc .dp-ctc-panel-front.active[data-loaded="0"] .dp-ctc-viewport{
  min-height:260px!important;
}
.dp-ctc .dp-ctc-panel-front.active[data-loading="1"] .dp-ctc-track{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-height:260px!important;
  transform:none!important;
}
.dp-ctc .dp-ctc-loading.is-visible{
  display:flex!important;
  opacity:1!important;
  visibility:visible!important;
  animation:dpCtcLoaderShell 1.6s ease-in-out infinite!important;
}
.dp-ctc .dp-ctc-loading.is-visible .dp-ctc-loading-glow{animation:dpCtcLoadingPulse 1.2s ease-in-out infinite!important;}
.dp-ctc .dp-ctc-loading.is-visible .dp-ctc-loading-text{animation:dpCtcLoadingFade 1.15s ease-in-out infinite,dpCtcLoadingFlicker 2.8s linear infinite!important;}
@keyframes dpCtcLoaderShell{0%,100%{opacity:.82}50%{opacity:1}}
