
.fxea-cs{
  padding:32px 0 42px;
  background:#fff;
  color:#10283d;
}
.fxea-cs-shell{
  width:min(1280px,calc(100% - 28px));
  margin-inline:auto;
}
.fxea-cs-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:16px;
}
.fxea-cs-eyebrow{
  display:block;
  margin-bottom:6px;
  color:#0878ff;
  font-size:9px;
  line-height:1;
  font-weight:900;
  letter-spacing:.18em;
}
.fxea-cs-head h2{
  margin:0;
  color:#0d2d48;
  font-size:28px;
  line-height:1.25;
}
.fxea-cs-head p{
  margin:8px 0 0;
  color:#718599;
  font-size:11px;
  line-height:1.7;
}
.fxea-cs-source{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:3px;
  color:#8192a2;
  font-size:8px;
  flex:0 0 auto;
}
.fxea-cs-source strong{
  color:#35516a;
  font-size:11px;
}
.fxea-cs-panel{
  overflow:hidden;
  border:1px solid #d9e5ee;
  border-radius:14px;
  background:#fff;
  box-shadow:0 12px 34px rgba(7,30,50,.05);
}
.fxea-cs-periods{
  display:flex;
  gap:6px;
  padding:12px 14px;
  overflow-x:auto;
  border-bottom:1px solid #e3ebf1;
  background:#fbfcfe;
  scrollbar-width:thin;
}
.fxea-cs-periods button{
  flex:0 0 auto;
  min-width:64px;
  height:36px;
  padding:0 10px;
  border:1px solid #d5e2ec;
  border-radius:8px;
  background:#fff;
  color:#536d82;
  font-size:9px;
  font-weight:900;
  cursor:pointer;
}
.fxea-cs-periods button.is-active{
  border-color:#0878ff;
  background:#0878ff;
  color:#fff;
}
.fxea-cs-ranking{
  padding:15px 14px 14px;
  border-bottom:1px solid #edf2f6;
}
.fxea-cs-ranking-head{
  display:flex;
  align-items:baseline;
  gap:8px;
  margin-bottom:10px;
}
.fxea-cs-ranking-head span{
  color:#0878ff;
  font-size:8px;
  font-weight:900;
  letter-spacing:.14em;
}
.fxea-cs-ranking-head strong{
  color:#17344d;
  font-size:12px;
}
.fxea-cs-ranking-grid{
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:7px;
}
.fxea-cs-rank-card{
  min-width:0;
  padding:10px 9px;
  border:1px solid #e0e9f0;
  border-radius:9px;
  background:#fbfcfe;
}
.fxea-cs-rank-card.is-strongest{
  border-color:#9ed8c7;
  background:#f2fbf7;
}
.fxea-cs-rank-card.is-weakest{
  border-color:#f3bfc5;
  background:#fff5f6;
}
.fxea-cs-rank-card span,
.fxea-cs-rank-card small{
  display:block;
}
.fxea-cs-rank-card span{
  color:#61778a;
  font-size:8px;
  font-weight:800;
}
.fxea-cs-rank-card strong{
  display:block;
  margin:4px 0 3px;
  color:#17344d;
  font-size:13px;
  line-height:1.15;
}
.fxea-cs-rank-card small{
  color:#8b9aa7;
  font-size:8px;
}
.fxea-cs-rank-card small.is-positive{color:#078f74}
.fxea-cs-rank-card small.is-negative{color:#ef4f5f}
.fxea-cs-filter-wrap{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:12px 14px;
  border-bottom:1px solid #edf2f6;
}
.fxea-cs-filter-wrap>span{
  padding-top:5px;
  color:#7a8d9d;
  font-size:8px;
  font-weight:900;
  white-space:nowrap;
}
.fxea-cs-filters{
  display:flex;
  flex-wrap:wrap;
  gap:6px 12px;
}
.fxea-cs-filter{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#35536c;
  font-size:9px;
  font-weight:800;
  cursor:pointer;
}
.fxea-cs-filter input{
  width:14px;
  height:14px;
  accent-color:#0878ff;
}
.fxea-cs-swatch{
  width:13px;
  height:3px;
  border-radius:999px;
  background:var(--cs-color);
}
.fxea-cs-chart-wrap{
  position:relative;
  min-height:560px;
  padding:0 12px;
}
.fxea-cs-chart{
  display:block;
  width:100%;
  height:auto;
  min-height:500px;
}
.fxea-cs-loading,
.fxea-cs-empty{
  position:absolute;
  inset:0;
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  background:rgba(255,255,255,.9);
  color:#74889a;
  font-size:10px;
  font-weight:800;
}
.fxea-cs-loading[hidden],
.fxea-cs-empty[hidden]{
  display:none!important;
}
.fxea-cs-empty{
  flex-direction:column;
  gap:12px;
}
.fxea-cs-empty button{
  min-height:38px;
  padding:0 14px;
  border:1px solid #b9d6ef;
  border-radius:8px;
  background:#fff;
  color:#0878ff;
  font-size:10px;
  font-weight:900;
  cursor:pointer;
}
.fxea-cs-spinner{
  width:15px;
  height:15px;
  border:2px solid #d6e5ef;
  border-top-color:#0878ff;
  border-radius:50%;
  animation:fxea-cs-spin .75s linear infinite;
}
@keyframes fxea-cs-spin{to{transform:rotate(360deg)}}
.fxea-cs-guide{
  margin:0 14px 14px;
  padding:13px 15px;
  border:1px solid #dce8f1;
  border-radius:10px;
  background:#f7fbff;
}
.fxea-cs-guide strong{
  display:block;
  margin-bottom:5px;
  color:#1d4e75;
  font-size:10px;
}
.fxea-cs-guide p{
  margin:0;
  color:#6c8192;
  font-size:9px;
  line-height:1.7;
}
.fxea-cs-foot{
  display:flex;
  flex-wrap:wrap;
  gap:8px 16px;
  margin-top:11px;
  color:#8799a8;
  font-size:8px;
  line-height:1.6;
}
.fxea-cs-foot a{
  margin-left:auto;
  color:#6d8397;
}
@media(hover:hover) and (pointer:fine){
  .fxea-cs-periods button:hover:not(.is-active){
    border-color:#9fcaf0;
    background:#f5faff;
    color:#0878ff;
  }
}
@media(max-width:900px){
  .fxea-cs-ranking-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .fxea-cs{
    padding:24px 0 32px;
  }
  .fxea-cs-head{
    display:block;
  }
  .fxea-cs-head h2{
    font-size:23px;
  }
  .fxea-cs-source{
    align-items:flex-start;
    margin-top:9px;
  }
  .fxea-cs-panel{
    border-radius:12px;
  }
  .fxea-cs-periods{
    padding:10px 12px;
  }
  .fxea-cs-periods button{
    min-width:58px;
    height:34px;
  }
  .fxea-cs-ranking-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .fxea-cs-filter-wrap{
    display:block;
    padding:11px 12px;
  }
  .fxea-cs-filter-wrap>span{
    display:block;
    padding:0 0 8px;
  }
  .fxea-cs-chart-wrap{
    min-height:440px;
    overflow-x:auto;
    padding:0;
  }
  .fxea-cs-chart{
    width:900px;
    max-width:none;
    min-height:420px;
  }
  .fxea-cs-guide{
    margin:0 12px 12px;
  }
  .fxea-cs-foot{
    display:block;
  }
  .fxea-cs-foot a{
    display:inline-block;
    margin:4px 0 0;
  }
}
@media(prefers-reduced-motion:reduce){
  .fxea-cs-spinner{animation:none}
}


/* ===== v1.0.1 layout fix / theme conflict override ===== */
.fxea-cs{padding:20px 0 34px!important}
.fxea-cs-shell{width:min(1180px,calc(100% - 28px))!important}
.fxea-cs-head{align-items:flex-start!important;margin-bottom:18px!important}
.fxea-cs-head>div:first-child{max-width:780px!important}
.fxea-cs-head h2{font-size:30px!important;letter-spacing:-.02em!important}
.fxea-cs-head p{max-width:720px!important;font-size:11px!important}
.fxea-cs-panel{border:1px solid #d7e4ee!important;border-radius:13px!important;box-shadow:none!important;background:#fff!important}

.fxea-cs-periods{display:flex!important;gap:7px!important;padding:12px 14px!important;overflow-x:auto!important;border-bottom:1px solid #e3ebf1!important;background:#f8fafc!important}
.fxea-cs-periods button,
.fxea-fixed-page-content .fxea-cs-periods button,
.fxea-content .fxea-cs-periods button{flex:0 0 auto!important;width:auto!important;min-width:64px!important;height:38px!important;min-height:38px!important;margin:0!important;padding:0 12px!important;border:1px solid #d7e3ed!important;border-radius:8px!important;background:#fff!important;color:#4b657b!important;font-size:10px!important;line-height:1!important;font-weight:800!important;box-shadow:none!important;transform:none!important;white-space:nowrap!important}
.fxea-cs-periods button.is-active,
.fxea-fixed-page-content .fxea-cs-periods button.is-active,
.fxea-content .fxea-cs-periods button.is-active{border-color:#0878ff!important;background:#0878ff!important;color:#fff!important;box-shadow:0 5px 14px rgba(8,120,255,.14)!important}

.fxea-cs-ranking{padding:14px!important;border-bottom:1px solid #edf2f6!important}
.fxea-cs-ranking-grid{display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr))!important;gap:8px!important}
.fxea-cs-rank-card{padding:11px 10px!important;border:1px solid #dfe9f0!important;border-radius:9px!important;background:#fbfcfe!important}
.fxea-cs-rank-card strong{font-size:14px!important}
.fxea-cs-rank-card small{font-size:9px!important}

.fxea-cs-filter-wrap{display:flex!important;align-items:flex-start!important;gap:12px!important;padding:12px 14px!important;border-bottom:1px solid #edf2f6!important;background:#fff!important}
.fxea-cs-filter-wrap>span{padding-top:5px!important;color:#7a8d9d!important;font-size:8px!important;font-weight:900!important;white-space:nowrap!important}
.fxea-cs-filters{display:flex!important;flex-wrap:wrap!important;gap:8px 14px!important}
.fxea-cs-filter{display:inline-flex!important;align-items:center!important;gap:6px!important;color:#35536c!important;font-size:10px!important;font-weight:800!important}
.fxea-cs-filter input{width:14px!important;height:14px!important}

.fxea-cs-chart-wrap{position:relative!important;min-height:520px!important;padding:8px 14px 0!important;background:#fff!important}
.fxea-cs-chart{display:block!important;width:100%!important;min-height:460px!important;height:auto!important}
.fxea-cs-loading,.fxea-cs-empty{position:absolute!important;inset:0!important;z-index:4!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;background:rgba(255,255,255,.9)!important;color:#74889a!important;font-size:10px!important;font-weight:800!important}
.fxea-cs-loading[hidden],.fxea-cs-empty[hidden]{display:none!important}
.fxea-cs-empty{flex-direction:column!important;gap:12px!important}
.fxea-cs-empty button,
.fxea-fixed-page-content .fxea-cs-empty button,
.fxea-content .fxea-cs-empty button{min-height:38px!important;padding:0 14px!important;border:1px solid #b9d6ef!important;border-radius:8px!important;background:#fff!important;color:#0878ff!important;font-size:10px!important;font-weight:800!important;box-shadow:none!important}
.fxea-cs-guide{padding:14px!important;border-top:1px solid #edf2f6!important;background:#fbfcfe!important}
.fxea-cs-guide strong{display:block!important;margin-bottom:6px!important;color:#17344d!important;font-size:12px!important}
.fxea-cs-guide p{margin:0!important;color:#6f8497!important;font-size:10px!important;line-height:1.8!important}
.fxea-cs-foot{display:flex!important;justify-content:space-between!important;gap:16px!important;align-items:flex-start!important;padding:12px 2px 0!important;color:#768b9c!important;font-size:10px!important;line-height:1.8!important}
.fxea-cs-foot a{color:#0878ff!important;text-decoration:none!important}
.fxea-cs-foot a:hover{text-decoration:underline!important}

@media(hover:hover) and (pointer:fine){
 .fxea-cs-periods button:hover:not(.is-active){border-color:#a9ceef!important;background:#f4f9fe!important;color:#0878ff!important}
}
@media(max-width:980px){
 .fxea-cs-ranking-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:760px){
 .fxea-cs{padding:14px 0 28px!important}
 .fxea-cs-shell{width:calc(100% - 24px)!important}
 .fxea-cs-head{display:block!important;margin-bottom:13px!important}
 .fxea-cs-head h2{font-size:24px!important}
 .fxea-cs-head p{font-size:10px!important}
 .fxea-cs-source{align-items:flex-start!important;margin-top:8px!important}
 .fxea-cs-periods{gap:6px!important;padding:10px 11px!important}
 .fxea-cs-periods button,.fxea-fixed-page-content .fxea-cs-periods button,.fxea-content .fxea-cs-periods button{min-width:60px!important;height:36px!important;min-height:36px!important;padding:0 10px!important;font-size:9px!important}
 .fxea-cs-ranking{padding:10px!important}
 .fxea-cs-ranking-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 .fxea-cs-filter-wrap{display:block!important;padding:10px!important}
 .fxea-cs-filter-wrap>span{display:block!important;padding:0 0 8px!important}
 .fxea-cs-chart-wrap{min-height:430px!important;overflow-x:auto!important;padding:4px 0 0!important}
 .fxea-cs-chart{width:820px!important;max-width:none!important;min-height:390px!important}
 .fxea-cs-foot{display:block!important;padding-top:10px!important}
}


/* =========================================================
   v1.0.2 — loader/error state reliability
   ========================================================= */
.fxea-cs-loading[hidden],
.fxea-cs-empty[hidden]{
  display:none!important;
}
.fxea-cs-loading:not([hidden]),
.fxea-cs-empty:not([hidden]){
  display:flex!important;
}


/* =========================================================
   v1.0.3 — data-source fallback status
   ========================================================= */
.fxea-cs-empty{
  padding:24px!important;
  text-align:center!important;
}
.fxea-cs-empty strong{
  color:#657b8e!important;
  font-size:12px!important;
  line-height:1.6!important;
}
