.fx-page { margin-top: 1rem; }
.fx-page main { min-width: 0; }
.fx-page h1 { font-size: clamp(1.5rem, 4vw, 2.2rem); line-height: 1.2; }
.fx-page main .card { border-radius: .65rem; }
.fx-page [hidden] { display: none !important; }
.fx-page .mnb-rate-value { overflow-wrap: anywhere; }
.fx-page .mnb-rate-meta { margin-top: .45rem; }
.fx-page .fx-chart { display: block; width: 100%; height: auto; margin-top: .75rem; }
.fx-page .fx-chart text { font-size: 16px; fill: #37474f; }
.fx-page .fx-gridline { stroke: #cfd8dc; stroke-width: 1; }
.fx-page .fx-trace { fill: none; stroke: #1465b8; stroke-width: 2.5; vector-effect: non-scaling-stroke; }
.fx-page .fx-marker { fill: #1465b8; }
.fx-page .fx-chart-summary { font-weight: 600; margin-bottom: .75rem; }
.fx-page .fx-controls { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; margin-bottom: .75rem; }
.fx-page .fx-controls input { width: 9rem; margin: 0; }
.fx-page .fx-controls .btn { height: auto; min-height: 36px; line-height: 1.35; padding: .6rem .8rem; }
.fx-page input[type=date] { max-width: 14rem; display: block; }
.fx-page .fx-result { font-size: 1.35rem; font-weight: 700; overflow-wrap: anywhere; min-width: 0; }
.fx-page main table { table-layout: fixed; overflow-wrap: anywhere; }
.fx-page main table caption { text-align: left; font-weight: 600; margin-top: .75rem; }
.fx-page .fx-links { display: grid; gap: .4rem .65rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); }
.fx-page .fx-links a { display: block; padding: .35rem .6rem; color: #145887; background: #f1f7fb; border-radius: .35rem; }
.fx-page .fx-featured a { font-weight: 600; }
.fx-page :is(.fx-market, .fx-related details) > summary {
  display: flex;
  align-items: baseline;
  gap: .7em;
  cursor: pointer;
  font-weight: 600;
  list-style: none;
}
.fx-page :is(.fx-market, .fx-related details) > summary::-webkit-details-marker { display: none; }
.fx-page :is(.fx-market, .fx-related details) > summary::before {
  content: "";
  box-sizing: content-box;
  flex: 0 0 .5em;
  height: .5em;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-.1em) rotate(-45deg);
}
.fx-page :is(.fx-market, .fx-related details)[open] > summary::before {
  transform: translateY(-.24em) rotate(45deg);
}
.fx-page .fx-related details { border-top: 1px solid #dce5eb; padding: .75rem 0; }
.fx-page .fx-market { padding: 1.1rem 1.5rem; }
.fx-page .fx-widget:not(:empty) { width: 100%; height: clamp(300px, 55vw, 470px); }
.fx-page .fx-widget > div { height: 100%; }
.fx-page .fx-ad { max-width: 100%; overflow: hidden; }
.fx-page .fx-ad ins { min-height: 1px; }
.fx-page .fx-ad-label { font-size: 60%; letter-spacing: 2px; }
.fx-back-to-top { bottom: 25px; right: 20px; }
@media (max-width: 600px) {
  .fx-page main .card .card-content { padding: 1rem; }
  .fx-page .fx-chart text { font-size: 20px; }
}
