/* AI Backtest — editorial 財經編輯室 style (index + detail) */
.sl886-aibacktest,
.aibacktest-view.sl886-aibacktest{
  --abt-ink:#10244f;
  --abt-sub:#38507a;
  --abt-green:#087a62;
  --abt-red:#b42335;
  --abt-paper:#f5f8fd;
  font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;
  color:var(--abt-ink);
}

.sl886-aibacktest .sl886-home-hero,
.aibacktest-view .aibacktest-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:28px clamp(20px,4vw,42px);
  background:
    linear-gradient(112deg,rgba(255,255,255,.97) 0%,rgba(244,249,255,.94) 52%,rgba(232,242,255,.9) 100%),
    repeating-linear-gradient(90deg,transparent 0 37px,rgba(31,78,154,.045) 38px);
}
.sl886-aibacktest .sl886-home-hero::after,
.aibacktest-view .aibacktest-hero::after{
  content:"AI";
  position:absolute;
  right:8px;
  bottom:-42px;
  z-index:-1;
  color:rgba(31,78,154,.05);
  font:900 clamp(96px,16vw,180px)/1 Georgia,"Times New Roman",serif;
  letter-spacing:-.08em;
  pointer-events:none;
}
.sl886-aibacktest .sl886-home-hero__eyebrow,
.aibacktest-view .aibacktest-hero .sl886-home-hero__eyebrow{
  color:var(--sl886-blue,#1f4e9a);
  letter-spacing:.12em;
}
.sl886-aibacktest .sl886-home-hero__title,
.aibacktest-view .aibacktest-hero .sl886-home-hero__title{
  max-width:820px;
  margin-top:8px;
  font-family:"Noto Serif TC","Songti TC","PMingLiU",serif;
  font-size:clamp(28px,4.2vw,50px);
  line-height:1.14;
  letter-spacing:-.03em;
  color:var(--abt-ink);
}
.sl886-aibacktest .sl886-home-hero__desc,
.aibacktest-view .aibacktest-hero .sl886-home-hero__desc{
  max-width:720px;
  color:var(--abt-sub);
  font-size:clamp(15px,1.7vw,17px);
  line-height:1.75;
}
.aibacktest-hero__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  margin-top:16px;
  color:#506889;
  font-size:13px;
}
.aibacktest-hero__meta span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.aibacktest-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px;
}
.aibacktest-subscribe-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 16px;
  color:#0f172a;
  background:linear-gradient(135deg,#f6c453,#ef9f27);
  border-radius:999px;
  font-size:13px;
  font-weight:800;
  text-decoration:none;
  box-shadow:0 8px 18px rgba(239,159,39,.28);
  transition:transform .2s ease,box-shadow .2s ease;
}
.aibacktest-subscribe-btn:hover{
  color:#0f172a;
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(239,159,39,.36);
}

.aibacktest-promo{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(220px,.7fr);
  gap:18px;
  align-items:center;
  margin:16px 0;
  padding:22px clamp(18px,3vw,28px);
  overflow:hidden;
  position:relative;
  isolation:isolate;
  color:#0f172a;
  background:
    linear-gradient(118deg,rgba(255,251,235,.98) 0%,rgba(255,255,255,.96) 48%,rgba(239,246,255,.95) 100%),
    repeating-linear-gradient(-18deg,transparent 0 16px,rgba(31,78,154,.03) 16px 17px);
  border:1px solid #d7e3f8;
  border-radius:18px;
  box-shadow:0 10px 28px rgba(17,52,110,.06);
}
.aibacktest-promo::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:3px;
  background:linear-gradient(90deg,#ef9f27,var(--sl886-blue,#1f4e9a),#087a62);
}
.aibacktest-promo__kicker{
  display:block;
  margin-bottom:6px;
  color:#b45309;
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
}
.aibacktest-promo__title{
  margin:0 0 8px;
  color:#10244f;
  font-family:"Noto Serif TC","Songti TC","PMingLiU",serif;
  font-size:clamp(20px,2.4vw,28px);
  line-height:1.25;
  letter-spacing:-.02em;
}
.aibacktest-promo__desc{
  margin:0;
  max-width:58ch;
  color:#334155;
  font-size:14px;
  line-height:1.7;
}
.aibacktest-promo__points{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:14px 0 0;
  padding:0;
  list-style:none;
}
.aibacktest-promo__points li{
  padding:6px 10px;
  color:#1e3a5f;
  background:rgba(255,255,255,.85);
  border:1px solid #dbe7f7;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
}
.aibacktest-promo__actions{
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:stretch;
}
.aibacktest-promo__btn{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  padding:11px 16px;
  border-radius:999px;
  font-size:13px;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
  transition:transform .2s ease,background .2s ease;
}
.aibacktest-promo__btn--primary{
  color:#fff;
  background:var(--sl886-blue,#1f4e9a);
  box-shadow:0 8px 18px rgba(31,78,154,.22);
}
.aibacktest-promo__btn--primary:hover{
  color:#fff;
  background:var(--sl886-blue2,#2463c0);
  transform:translateY(-1px);
}
.aibacktest-promo__btn--ghost{
  color:var(--sl886-blue,#1f4e9a);
  background:#fff;
  border:1px solid #c9daf5;
}
.aibacktest-promo__btn--ghost:hover{
  color:#10244f;
  border-color:#9fbae8;
}
.aibacktest-promo--compact{
  margin-top:20px;
  margin-bottom:8px;
  padding:18px 20px;
  grid-template-columns:minmax(0,1fr) auto;
}
.aibacktest-promo--compact .aibacktest-promo__actions{
  flex-direction:row;
  flex-wrap:wrap;
}
.aibacktest-promo--compact .aibacktest-promo__title{
  font-size:clamp(18px,2vw,22px);
}

.aibacktest-kpi{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:16px 0;
}
.aibacktest-view .aibacktest-kpi{
  grid-template-columns:repeat(6,minmax(0,1fr));
}
.aibacktest-kpi__card{
  position:relative;
  min-height:128px;
  padding:16px 18px;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--sl886-line,#e6ecf5);
  border-radius:16px;
  box-shadow:var(--sl886-shadow,0 8px 22px rgba(17,52,110,.04));
}
.aibacktest-kpi__card::after{
  content:"";
  position:absolute;
  right:-20px;
  bottom:-24px;
  width:78px;
  height:78px;
  border:16px solid rgba(31,78,154,.04);
  border-radius:50%;
}
.aibacktest-kpi__label{
  display:block;
  margin-bottom:12px;
  color:#60728f;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
}
.aibacktest-kpi__value{
  display:block;
  color:var(--abt-ink);
  font:700 clamp(22px,2.6vw,32px)/1.1 Georgia,"Times New Roman",serif;
}
.aibacktest-kpi__note{
  display:block;
  margin-top:8px;
  color:#64748b;
  font-size:12px;
}
.aibacktest-kpi__card.is-up .aibacktest-kpi__value{ color:var(--abt-green); }
.aibacktest-kpi__card.is-down .aibacktest-kpi__value{ color:var(--abt-red); }

.aibacktest-charts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-bottom:16px;
}
.aibacktest-panel{
  padding:18px 18px 14px;
  background:#fff;
  border:1px solid var(--sl886-line,#e6ecf5);
  border-radius:18px;
  box-shadow:var(--sl886-shadow,0 8px 22px rgba(17,52,110,.04));
}
.aibacktest-panel__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
  padding-bottom:12px;
  border-bottom:1px solid var(--sl886-line2,#d7e3f8);
}
.aibacktest-panel__kicker{
  display:block;
  color:var(--sl886-blue,#1f4e9a);
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
}
.aibacktest-panel__head h2,
.aibacktest-panel__head h5{
  margin:4px 0 0;
  color:var(--abt-ink);
  font-family:"Noto Serif TC","Songti TC","PMingLiU",serif;
  font-size:clamp(18px,2vw,24px);
}
.aibacktest-panel__body{ min-height:220px; }
.aibacktest-panel--table{ margin-bottom:24px; }

.aibacktest-table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.aibacktest-table-wrap .grid-view{ overflow:visible; }
.aibacktest-results-table{
  width:100%;
  min-width:1080px;
  margin:0;
  border-color:var(--sl886-line2,#d7e3f8);
}
.aibacktest-results-table thead th{
  color:#475569;
  background:var(--abt-paper);
  border-bottom:1px solid var(--sl886-line2,#d7e3f8);
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.aibacktest-results-table td{
  vertical-align:middle;
  border-color:#edf2f8;
  color:#334155;
  font-size:13px;
}
.aibacktest-results-table .abt-col-nowrap,
.aibacktest-results-table .abt-col-actions{ white-space:nowrap; }
.aibacktest-results-table .abt-col-name{
  min-width:9rem;
  max-width:14rem;
  white-space:normal;
  word-break:keep-all;
  overflow-wrap:anywhere;
  line-height:1.35;
}
.aibacktest-results-table .is-up{ color:var(--abt-green); font-weight:800; }
.aibacktest-results-table .is-down{ color:var(--abt-red); font-weight:800; }
.aibacktest-name-link{
  color:var(--abt-ink);
  font-weight:800;
  text-decoration:none;
}
.aibacktest-name-link:hover{ color:var(--sl886-blue,#1f4e9a); }
.aibacktest-action-btn{
  display:inline-flex;
  align-items:center;
  padding:6px 12px;
  color:#fff;
  background:var(--sl886-blue,#1f4e9a);
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}
.aibacktest-action-btn:hover{
  color:#fff;
  background:var(--sl886-blue2,#2463c0);
}

/* Detail page: restyle Bootstrap cards into editorial panels */
.aibacktest-view.sl886-aibacktest > .row,
.aibacktest-view.sl886-aibacktest > .card,
.aibacktest-view.sl886-aibacktest > #trades,
.aibacktest-view.sl886-aibacktest > #positions{
  margin-left:0;
  margin-right:0;
}
.aibacktest-view.sl886-aibacktest .card{
  border:1px solid var(--sl886-line,#e6ecf5);
  border-radius:18px;
  box-shadow:var(--sl886-shadow,0 8px 22px rgba(17,52,110,.04));
  overflow:hidden;
}
.aibacktest-view.sl886-aibacktest .card-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 18px;
  color:var(--abt-ink);
  background:linear-gradient(180deg,#fbfdff,#f4f8fd);
  border-bottom:1px solid var(--sl886-line2,#d7e3f8);
}
.aibacktest-view.sl886-aibacktest .card-header h5{
  margin:0;
  font-family:"Noto Serif TC","Songti TC","PMingLiU",serif;
  font-size:1.05rem;
  font-weight:800;
}
.aibacktest-view.sl886-aibacktest .card-header.bg-success,
.aibacktest-view.sl886-aibacktest .card-header.bg-danger,
.aibacktest-view.sl886-aibacktest .card-header.bg-warning,
.aibacktest-view.sl886-aibacktest .card-header.bg-primary,
.aibacktest-view.sl886-aibacktest .card-header.bg-info,
.aibacktest-view.sl886-aibacktest .card-header.bg-secondary{
  color:#fff;
}
.aibacktest-view.sl886-aibacktest .card-header.bg-warning{ color:#0f172a; }
.aibacktest-view.sl886-aibacktest .card-body{
  color:#334155;
}
.aibacktest-view.sl886-aibacktest .table > :not(caption) > * > *{
  color:#334155;
}
.aibacktest-view.sl886-aibacktest .detail-view th{
  width:42%;
  color:#64748b;
  background:var(--abt-paper);
  font-weight:700;
}
.aibacktest-view.sl886-aibacktest .btn-group .btn{
  border-radius:999px;
  font-size:12px;
  font-weight:700;
}
.aibacktest-view.sl886-aibacktest .btn-outline-secondary.active,
.aibacktest-view.sl886-aibacktest .btn-outline-secondary:hover{
  color:#fff;
  background:var(--sl886-blue,#1f4e9a);
  border-color:var(--sl886-blue,#1f4e9a);
}
.aibacktest-view .aibacktest-back{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--sl886-blue,#1f4e9a);
  font-weight:800;
  text-decoration:none;
}
.aibacktest-view .aibacktest-back:hover{ color:var(--abt-ink); }

.badge-history-count{
  color:#334155 !important;
  background:#e8f2ff !important;
  border:1px solid #c5daf8;
}

.aibacktest-faq{
  margin-top:8px;
  margin-bottom:20px;
}
.aibacktest-faq .aibacktest-panel__title,
.aibacktest-faq > h2{
  margin:0 0 12px;
  color:var(--abt-ink,#0f172a);
  font:700 1.15rem/1.35 "Noto Serif TC",Georgia,serif;
}
.aibacktest-faq__list{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.aibacktest-faq__item{
  border:1px solid var(--sl886-line2,#d7e3f8);
  border-radius:12px;
  padding:10px 14px;
  background:#f8fbff;
}
.aibacktest-faq__item summary{
  cursor:pointer;
  color:var(--abt-ink,#0f172a);
  font-weight:700;
  list-style:none;
}
.aibacktest-faq__item summary::-webkit-details-marker{ display:none; }
.aibacktest-faq__item p{
  margin:8px 0 2px;
  color:#475569;
  font-size:14px;
  line-height:1.65;
}
.aibacktest-faq__item a{ color:var(--sl886-blue,#1f4e9a); font-weight:700; }

@media (max-width:991.98px){
  .aibacktest-kpi,
  .aibacktest-view .aibacktest-kpi{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .aibacktest-charts{ grid-template-columns:1fr; }
  .aibacktest-promo,
  .aibacktest-promo--compact{ grid-template-columns:1fr; }
  .aibacktest-promo__actions{ flex-direction:row; flex-wrap:wrap; }
}
@media (max-width:575.98px){
  .aibacktest-kpi,
  .aibacktest-view .aibacktest-kpi{ grid-template-columns:1fr 1fr; gap:8px; }
  .aibacktest-kpi__card{ min-height:112px; padding:14px; }
}
