/* VELAEA Chart System v1 — shared visual contract for every data chart. */
:root{
  --vchart-balance:#f2c76a;--vchart-balance-rgb:242,199,106;
  --vchart-equity:#54df83;--vchart-equity-rgb:84,223,131;
  --vchart-dd:#ff5d66;--vchart-dd-rgb:255,93,102;
  --vchart-grid:rgba(118,139,160,.14);--vchart-axis:#60748a;
  --vchart-tip-bg:rgba(8,22,39,.94);--vchart-tip-text:#f8fbff;
  --vchart-radius:20px;--vchart-ease:cubic-bezier(.22,1,.36,1);
}

.velaea-chart-host{position:relative;isolation:isolate;min-width:0;overflow:hidden}
.velaea-central-line-chart .velaea-line-chart{display:block;width:100%;height:auto;overflow:visible}
.velaea-central-line-chart .velaea-chart-area{fill:rgba(var(--vchart-equity-rgb),.13)!important;stroke:none!important}
.velaea-central-line-chart .velaea-chart-balance{fill:none!important;stroke:var(--vchart-balance)!important;stroke-width:2!important;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 3px rgba(var(--vchart-balance-rgb),.3))}
.velaea-central-line-chart .velaea-chart-equity{fill:none!important;stroke:var(--vchart-equity)!important;stroke-width:2.7!important;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px rgba(var(--vchart-equity-rgb),.46))}
.velaea-central-line-chart .velaea-chart-legend{display:flex!important;align-items:center;justify-content:flex-end;gap:12px;padding:3px 3px 0;color:var(--vchart-axis);font-size:9px;font-weight:850;line-height:1.2}
.velaea-central-line-chart .velaea-chart-legend span{display:inline-flex;align-items:center;gap:4px}.velaea-central-line-chart .velaea-chart-legend span:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.velaea-central-line-chart .velaea-chart-legend .balance{color:var(--vchart-balance)}.velaea-central-line-chart .velaea-chart-legend .equity{color:var(--vchart-equity)}
.showcase-chart-shell .velaea-central-line-chart .velaea-line-chart{height:92px}.showcase-chart-shell .velaea-central-line-chart{min-height:108px}
.velaea-chart-host>svg,.velaea-chart-host canvas,
svg.velaea-line-chart,svg.velaea-dd-curve,svg.bt-svg-chart,svg.spark-svg{display:block;width:100%;max-width:100%;height:auto;overflow:visible}
.velaea-chart-host.is-interactive{cursor:crosshair;touch-action:pan-y}
.velaea-chart-card{border-radius:var(--vchart-radius);min-width:0}

/* Renderer contract. These classes are emitted by every full graph renderer. */
.velaea-chart-svg{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;overflow:visible}
.velaea-chart-svg .velaea-grid-line{stroke:var(--vchart-grid)!important;stroke-width:1!important;stroke-dasharray:3 5!important;vector-effect:non-scaling-stroke}
.velaea-chart-svg .velaea-axis-text{fill:var(--vchart-axis)!important;font-size:10px!important;font-weight:700!important}
.velaea-chart-svg .velaea-area-balance{fill:rgba(var(--vchart-balance-rgb),.08)!important}
.velaea-chart-svg .velaea-area-equity{fill:rgba(var(--vchart-equity-rgb),.14)!important}
.velaea-chart-svg .velaea-area-dd{fill:rgba(var(--vchart-dd-rgb),.1)!important}
.velaea-chart-svg .velaea-line-balance{fill:none!important;stroke:var(--vchart-balance)!important;stroke-width:2.1!important;stroke-linecap:round!important;stroke-linejoin:round!important;filter:drop-shadow(0 0 3px rgba(var(--vchart-balance-rgb),.34))}
.velaea-chart-svg .velaea-line-equity{fill:none!important;stroke:var(--vchart-equity)!important;stroke-width:2.5!important;stroke-linecap:round!important;stroke-linejoin:round!important;filter:drop-shadow(0 0 5px rgba(var(--vchart-equity-rgb),.5))}
.velaea-chart-svg .velaea-line-dd{fill:none!important;stroke:var(--vchart-dd)!important;stroke-width:2.2!important;stroke-linecap:round!important;stroke-linejoin:round!important;filter:drop-shadow(0 0 4px rgba(var(--vchart-dd-rgb),.3))}
.velaea-chart-svg .velaea-last-balance{fill:var(--vchart-balance)!important;stroke:#fff!important;stroke-width:1.4!important}
.velaea-chart-svg .velaea-last-equity{fill:var(--vchart-equity)!important;stroke:#fff!important;stroke-width:1.4!important}
.velaea-chart-svg .velaea-last-dd{fill:var(--vchart-dd)!important;stroke:#fff!important;stroke-width:1.4!important}
.velaea-chart-svg .velaea-dd-callout{stroke:rgba(var(--vchart-dd-rgb),.58)!important;stroke-width:1.2!important;stroke-dasharray:4 4!important}
.velaea-chart-svg .velaea-dd-label rect{fill:rgba(255,255,255,.94)!important;stroke:rgba(var(--vchart-dd-rgb),.48)!important;stroke-width:1.2!important;filter:drop-shadow(0 6px 12px rgba(var(--vchart-dd-rgb),.12))}
.velaea-chart-svg .velaea-dd-label text{fill:#8e3138!important;font-weight:800!important}

/* Win over historical page/theme selectors that used !important. */
html body .velaea-chart-host .velaea-chart-svg .velaea-area-balance{fill:rgba(var(--vchart-balance-rgb),.08)!important;opacity:1!important}
html body .velaea-chart-host .velaea-chart-svg .velaea-area-equity{fill:rgba(var(--vchart-equity-rgb),.14)!important;opacity:1!important}
html body .velaea-chart-host .velaea-chart-svg .velaea-area-dd{fill:rgba(var(--vchart-dd-rgb),.1)!important;opacity:1!important}
html body .velaea-chart-host .velaea-chart-svg .velaea-line-balance{fill:none!important;stroke:var(--vchart-balance)!important;stroke-width:2.1!important;opacity:1!important;filter:drop-shadow(0 0 3px rgba(var(--vchart-balance-rgb),.34))!important}
html body .velaea-chart-host .velaea-chart-svg .velaea-line-equity{fill:none!important;stroke:var(--vchart-equity)!important;stroke-width:2.5!important;opacity:1!important;filter:drop-shadow(0 0 5px rgba(var(--vchart-equity-rgb),.5))!important}
html body .velaea-chart-host .velaea-chart-svg .velaea-line-dd{fill:none!important;stroke:var(--vchart-dd)!important;stroke-width:2.2!important;opacity:1!important;filter:drop-shadow(0 0 4px rgba(var(--vchart-dd-rgb),.3))!important}
html body .velaea-chart-host .velaea-chart-svg .velaea-last-balance{fill:var(--vchart-balance)!important}
html body .velaea-chart-host .velaea-chart-svg .velaea-last-equity{fill:var(--vchart-equity)!important}
html body .velaea-chart-host .velaea-chart-svg .velaea-last-dd{fill:var(--vchart-dd)!important}

/* One palette and rendering treatment, including legacy renderer classes. */
.velaea-chart-host .equity-line,.velaea-chart-host .spark-line,.velaea-chart-host .mt5-equity-line,
.velaea-chart-host [class*="equity-line"]{stroke:var(--vchart-equity)!important;filter:drop-shadow(0 0 5px rgba(var(--vchart-equity-rgb),.45))}
.velaea-chart-host .balance-line,.velaea-chart-host .spark-balance,.velaea-chart-host .mt5-balance-line,
.velaea-chart-host [class*="balance-line"]{stroke:var(--vchart-balance)!important;filter:drop-shadow(0 0 4px rgba(var(--vchart-balance-rgb),.35))}
.velaea-chart-host .dd-line,.velaea-chart-host .dashboard-bt-dd-line,.velaea-chart-host .pd-dd-line,
.velaea-chart-host [class*="dd-line"]{stroke:var(--vchart-dd)!important;filter:drop-shadow(0 0 4px rgba(var(--vchart-dd-rgb),.28))}
.velaea-chart-host .dd-area,.velaea-chart-host [class*="dd-area"]{fill:rgba(var(--vchart-dd-rgb),.1)!important}
.velaea-chart-host .bt-gridline,.velaea-chart-host .bt-gridline-soft,.velaea-chart-host [class*="gridline"]{stroke:var(--vchart-grid)!important}
.velaea-chart-host .bt-axis-label,.velaea-chart-host [class*="axis-label"]{fill:var(--vchart-axis)!important}

/* Shared hover UI. Existing dashboard tooltips inherit this automatically. */
.velaea-chart-tooltip,.mt5-chart-tooltip{position:absolute;z-index:12;pointer-events:none;min-width:164px;padding:10px 12px;border:1px solid rgba(242,199,106,.35);border-radius:12px;background:var(--vchart-tip-bg);color:var(--vchart-tip-text);box-shadow:0 14px 34px rgba(3,13,24,.24);backdrop-filter:blur(12px);opacity:0;transform:translateY(7px) scale(.98);transition:opacity .16s ease,transform .2s var(--vchart-ease);font-size:12px;line-height:1.45}
.velaea-chart-tooltip.is-visible,.mt5-chart-tooltip.is-visible{opacity:1;transform:none}
.velaea-chart-tooltip strong,.mt5-chart-tooltip strong{display:block;margin-bottom:5px;color:#fff;font-size:12px}
.velaea-chart-tooltip span,.mt5-chart-tooltip span{display:block}
.velaea-chart-tooltip .balance,.mt5-chart-tooltip .balance{color:var(--vchart-balance)}
.velaea-chart-tooltip .equity,.mt5-chart-tooltip .equity{color:var(--vchart-equity)}
.velaea-chart-tooltip .drawdown,.mt5-chart-tooltip .drawdown{color:#ff8a91}
.velaea-chart-crosshair,.mt5-chart-hover-line,.dashboard-bt-dd-hover line{stroke:rgba(96,116,138,.7);stroke-width:1;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}
.velaea-central-line-chart .velaea-chart-crosshair,.velaea-central-line-chart .velaea-chart-hover-dot{opacity:0;pointer-events:none;transition:opacity .12s ease}
.velaea-central-line-chart.is-hovering .velaea-chart-crosshair,.velaea-central-line-chart.is-hovering .velaea-chart-hover-dot{opacity:1}
.velaea-central-line-chart .velaea-chart-hover-dot.balance{fill:var(--vchart-balance);stroke:#fff;stroke-width:1.2}.velaea-central-line-chart .velaea-chart-hover-dot.equity{fill:var(--vchart-equity);stroke:#fff;stroke-width:1.2}
.velaea-central-line-chart.is-hovering .velaea-chart-tooltip{opacity:1;transform:none}
.velaea-central-line-chart .velaea-chart-axis-y,.velaea-central-line-chart .velaea-chart-axis-x{fill:var(--vchart-axis);font-size:8px;font-weight:750;paint-order:stroke;stroke:var(--chart-axis-halo,rgba(255,255,255,.82));stroke-width:2px;stroke-linejoin:round}
.velaea-central-line-chart .velaea-chart-grid-row line{stroke:var(--vchart-grid);stroke-width:1;stroke-dasharray:3 5;vector-effect:non-scaling-stroke}
.velaea-central-line-chart .velaea-chart-grid-row:first-of-type line,.velaea-central-line-chart .velaea-chart-grid-row:last-of-type line{stroke-opacity:.72}
.velaea-central-line-chart .velaea-chart-final-dot{stroke:#fff;stroke-width:1.35;vector-effect:non-scaling-stroke}
.velaea-central-line-chart .velaea-chart-final-dot.balance{fill:var(--vchart-balance)}
.velaea-central-line-chart .velaea-chart-final-dot.equity{fill:var(--vchart-equity)}
.velaea-central-line-chart .velaea-chart-final-label rect{fill:rgba(255,255,255,.94);stroke-width:1;filter:drop-shadow(0 3px 7px rgba(16,34,52,.12))}
.velaea-central-line-chart .velaea-chart-final-label.balance rect{stroke:rgba(var(--vchart-balance-rgb),.62)}
.velaea-central-line-chart .velaea-chart-final-label.equity rect{stroke:rgba(var(--vchart-equity-rgb),.62)}
.velaea-central-line-chart .velaea-chart-final-label text{fill:#102235;font-size:6.6px;font-weight:950}
html[data-theme="dark"] .velaea-central-line-chart .velaea-chart-final-label rect{fill:rgba(8,22,39,.94)}
html[data-theme="dark"] .velaea-central-line-chart .velaea-chart-final-label text{fill:#fff}
html[data-theme="dark"] .velaea-central-line-chart .velaea-chart-axis-y,html[data-theme="dark"] .velaea-central-line-chart .velaea-chart-axis-x{--chart-axis-halo:rgba(2,8,20,.82)}

/* Shared Monthly Return layout contract.
   Sparse series stay centered at a professional readable width instead of
   stretching one or two bars across the entire chart. */
.velaea-monthly-bars{
  --velaea-month-bar-width:54px;
  --velaea-month-item-width:76px;
  justify-content:flex-start!important;
  align-content:end;
}
.velaea-monthly-bars[data-month-count="1"],
.velaea-monthly-bars[data-month-count="2"],
.velaea-monthly-bars[data-month-count="3"],
.velaea-monthly-bars[data-month-count="4"],
.velaea-monthly-bars[data-month-count="5"]{
  justify-content:center!important;
}
.velaea-monthly-bars .velaea-monthly-item{
  box-sizing:border-box;
}
.velaea-monthly-bars .velaea-monthly-item>i{
  width:min(100%,var(--velaea-month-bar-width))!important;
  max-width:var(--velaea-month-bar-width)!important;
  margin-inline:auto;
}
.velaea-monthly-bars[data-month-count="1"] .velaea-monthly-item{
  flex:0 0 clamp(82px,18%,104px)!important;
  min-width:82px!important;
  max-width:104px!important;
}
.velaea-monthly-bars[data-month-count="2"] .velaea-monthly-item{
  flex:0 0 clamp(76px,16%,96px)!important;
  min-width:76px!important;
  max-width:96px!important;
}
.velaea-monthly-bars[data-month-count="3"] .velaea-monthly-item{
  flex:0 0 clamp(70px,14%,90px)!important;
  min-width:70px!important;
  max-width:90px!important;
}
.velaea-monthly-bars[data-month-count="4"] .velaea-monthly-item,
.velaea-monthly-bars[data-month-count="5"] .velaea-monthly-item{
  flex:0 0 clamp(62px,12%,82px)!important;
  min-width:62px!important;
  max-width:82px!important;
}

/* Standard entrance: soft reveal + line drawing, also used after async renders. */
.velaea-chart-host.velaea-chart-enter{animation:vchartReveal .72s var(--vchart-ease) both}
.velaea-chart-host.velaea-chart-enter path[class*="line"],.velaea-chart-host.velaea-chart-enter path.spark-line{animation:vchartLine .9s var(--vchart-ease) both}
.velaea-chart-host.velaea-chart-enter .velaea-chart-balance,.velaea-chart-host.velaea-chart-enter .velaea-chart-equity{stroke-dasharray:1;stroke-dashoffset:1;animation:vchartStroke 1.35s var(--vchart-ease) .08s forwards}
.velaea-chart-host.velaea-chart-enter .velaea-chart-area{transform-origin:center bottom;animation:vchartArea 1s var(--vchart-ease) .18s both}
@keyframes vchartReveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes vchartLine{from{opacity:.15}to{opacity:1}}
@keyframes vchartStroke{0%{stroke-dashoffset:1;opacity:.18}100%{stroke-dashoffset:0;opacity:1}}
@keyframes vchartArea{from{opacity:0;transform:scaleY(.72)}to{opacity:1;transform:scaleY(1)}}

@media(max-width:700px){
  :root{--vchart-radius:16px}
  .velaea-chart-host{overflow-x:hidden}
  .velaea-chart-tooltip,.mt5-chart-tooltip{min-width:146px;max-width:calc(100% - 16px);padding:8px 10px;font-size:11px}
  .velaea-chart-host .bt-axis-label,.velaea-chart-host [class*="axis-label"]{font-size:9px!important}
  .velaea-chart-svg .velaea-axis-text{font-size:8.5px!important}
  .velaea-chart-svg .velaea-line-balance{stroke-width:1.8!important}
  .velaea-chart-svg .velaea-line-equity,.velaea-chart-svg .velaea-line-dd{stroke-width:2!important}
}
@media(prefers-reduced-motion:reduce){.velaea-chart-host.velaea-chart-enter,.velaea-chart-host.velaea-chart-enter path{animation:none!important;transition:none!important}}

/* Hide hover markers until the chart assigns valid coordinates. */
circle.velaea-chart-hover-dot:not([cx]),circle.velaea-chart-hover-dot:not([cy]){display:none}
