.snapshot-section-title {
  color: #d8e2ee;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.snapshot-section-description {
  color: #9aa8bc;
  font-size: 0.88rem;
  font-weight: 400;
  line-height: 1.45;
}

.snapshot-section-meta {
  color: #8ea0b7;
  font-size: 0.78rem;
  font-weight: 400;
  line-height: 1.35;
}

.snapshot-analytics-shell {
  --snapshot-analytics-gap-compact: 8px;
  --snapshot-analytics-gap-section: 20px;
  --snapshot-analytics-subtext-font-family: 'Inter', 'Segoe UI', Tahoma, Arial, sans-serif;
  margin-top: 12px;
  padding: 22px;
  background: #0c1526;
  border: 1px solid rgba(146, 160, 181, 0.28);
}

.snapshot-analytics-shell p,
.snapshot-analytics-shell .snapshot-section-description,
.snapshot-analytics-shell .snapshot-section-meta,
.snapshot-analytics-shell .snapshot-analytics-display-hint,
.snapshot-analytics-shell .snapshot-analytics-map-helper,
.snapshot-analytics-shell .snapshot-analytics-assumption,
.snapshot-analytics-shell .snapshot-analytics-bottom-disclaimer {
  font-family: var(--snapshot-analytics-subtext-font-family);
  text-align: left;
}

.snapshot-analytics-top {
  display: grid;
  gap: var(--snapshot-analytics-gap-section);
}

.snapshot-analytics-head {
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

.snapshot-analytics-disclosure {
  margin: 0;
}

.snapshot-analytics-disclosure-wrap {
  display: grid;
  gap: var(--snapshot-analytics-gap-compact);
  text-align: left;
}

.snapshot-analytics-howcalc-wrap {
  margin-top: 0;
}

.snapshot-analytics-inline-toggle {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 0;
  background: transparent;
  color: #b5c9df;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 0;
  line-height: 1.2;
}

.snapshot-analytics-inline-toggle:hover {
  color: #d4e3f1;
}

.snapshot-analytics-inline-toggle:focus-visible {
  outline: 2px solid #a8d7ff;
  outline-offset: 2px;
}

.snapshot-analytics-inline-toggle::after {
  content: '▾';
  font-size: 0.7rem;
  line-height: 1;
  transition: transform 0.15s ease;
}

.snapshot-analytics-inline-toggle[aria-expanded="true"]::after {
  content: '▴';
}

.snapshot-analytics-howcalc {
  margin-top: 0;
  padding: 0 0 0 10px;
  border-left: 1px solid rgba(98, 199, 165, 0.24);
  border-radius: 0;
  background: transparent;
  color: #aebed2;
}

.snapshot-analytics-assumption {
  margin: 0;
  color: #8ea0b7;
}

.snapshot-analytics-segmented {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
}

.snapshot-analytics-segmented--map {
  justify-content: flex-start;
}

.snapshot-analytics-segment-btn {
  border: 1px solid rgba(140, 155, 177, 0.45);
  background: #111b2e;
  color: #b7c3d3;
  border-radius: 999px;
  font-size: 0.76rem;
  line-height: 1;
  padding: 6px 10px;
}

.snapshot-analytics-segment-btn.is-active {
  background: #63c6a7;
  color: #0a1c1d;
  border-color: #63c6a7;
  font-weight: 700;
}

.snapshot-analytics-segment-btn:focus-visible,
.snapshot-analytics-sort-btn:focus-visible,
.snapshot-analytics-mobile-toggle:focus-visible {
  outline: 2px solid #a8d7ff;
  outline-offset: 2px;
}

.snapshot-analytics-search-input:focus-visible,
.snapshot-analytics-search-clear:focus-visible,
.snapshot-analytics-sector-btn:focus-visible {
  outline: 2px solid #a8d7ff;
  outline-offset: 2px;
}

.snapshot-analytics-summary-wrap {
  display: grid;
  gap: 10px;
}

.snapshot-analytics-summary-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 10px 0;
  margin: 0;
  border-top: 1px solid rgba(146, 160, 181, 0.2);
}

.snapshot-analytics-summary-item {
  min-width: 0;
  display: grid;
  gap: 4px;
  align-content: start;
  text-align: left;
}

.snapshot-analytics-summary-label {
  color: #9cadc2;
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.snapshot-analytics-summary-value {
  color: #f3f7fb;
  font-size: 1.08rem;
  font-weight: 700;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}

.snapshot-analytics-summary-value.tone-positive { color: #76c7a6; }
.snapshot-analytics-summary-value.tone-negative { color: #d6887d; }
.snapshot-analytics-summary-value.tone-neutral { color: #f3f7fb; }

.snapshot-analytics-controls-row {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: end;
  gap: 12px;
  margin-top: 0;
}

.snapshot-analytics-controls-group {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

.snapshot-analytics-controls-group--mode {
  grid-column: span 5;
}

.snapshot-analytics-controls-group--display {
  grid-column: span 4;
}

.snapshot-analytics-controls-group--search {
  grid-column: span 3;
}

.snapshot-analytics-control-label {
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8ea0b7;
}

.snapshot-analytics-display-hint {
  max-width: 360px;
  line-height: 1.3;
  font-size: 0.78rem;
}

.snapshot-analytics-search-wrap {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 0;
  width: 100%;
}

.snapshot-analytics-search-input {
  min-width: 0;
  width: 100%;
  max-width: 340px;
  border: 1px solid rgba(140, 155, 177, 0.45);
  background: #111b2e;
  color: #d6e3f2;
  border-radius: 8px;
  font-size: 0.78rem;
  line-height: 1.2;
  padding: 7px 10px;
}

.snapshot-analytics-search-clear {
  border: 1px solid rgba(140, 155, 177, 0.45);
  background: #111b2e;
  color: #d2dfef;
  border-radius: 999px;
  font-size: 0.72rem;
  line-height: 1;
  padding: 6px 10px;
}

.snapshot-analytics-map-chart {
  position: relative;
  min-height: clamp(460px, 56vh, 520px);
  margin-top: 0;
}

.snapshot-analytics-chart-stage {
  position: relative;
  margin-top: 16px;
}

.snapshot-analytics-map-helper {
  margin-top: 0;
  color: #9aacbf;
  font-size: 0.82rem;
  line-height: 1.4;
}

.snapshot-analytics-chart-footer {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px 12px;
  flex-wrap: wrap;
  margin-top: 6px;
}

.snapshot-risk-return-hitarea {
  fill: transparent;
  cursor: pointer;
}

.snapshot-risk-return-svg {
  width: 100%;
  height: auto;
}

.snapshot-risk-return-axis path,
.snapshot-risk-return-axis line {
  stroke: rgba(163, 177, 198, 0.5);
}

.snapshot-risk-return-axis text {
  fill: #c2cfdf;
  font-size: 10px;
}

.snapshot-risk-return-axis-label {
  fill: #8fa2ba;
  font-size: 10px;
  letter-spacing: 0.02em;
}

.snapshot-risk-return-ref-line {
  stroke: rgba(159, 174, 197, 0.65);
  stroke-width: 1;
  stroke-dasharray: 4 4;
}

.snapshot-risk-return-ref-label {
  fill: #90a4bd;
  font-size: 9.5px;
}

.snapshot-risk-return-bubble {
  cursor: pointer;
  transition: opacity 150ms ease, stroke-width 150ms ease, stroke 150ms ease;
}

.snapshot-risk-return-bubble.is-dimmed {
  opacity: 0.24;
}

.snapshot-risk-return-bubble.is-emphasis {
  opacity: 0.9;
}

.snapshot-risk-return-bubble.is-selected {
  opacity: 0.98;
  filter: drop-shadow(0 0 5px rgba(214, 236, 255, 0.24));
}

.snapshot-risk-return-bubble.is-hovered,
.snapshot-risk-return-bubble.is-focused {
  opacity: 0.92;
}

.snapshot-risk-return-bubble:focus-visible {
  outline: 2px solid #a8d7ff;
  outline-offset: 2px;
}

.snapshot-risk-return-bubble.is-focused {
  stroke: #ffffff;
}

.snapshot-risk-return-label {
  fill: #f1f7ff;
  font-size: 10.5px;
  font-weight: 700;
  pointer-events: none;
  paint-order: stroke fill;
  stroke: rgba(10, 19, 35, 0.8);
  stroke-width: 2.5px;
}

.snapshot-analytics-map-legend {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin-top: 0;
  color: #93a4ba;
  font-size: 0.78rem;
}

.snapshot-analytics-map-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.snapshot-analytics-map-legend-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(221, 234, 249, 0.16);
  border: 1px solid rgba(221, 234, 249, 0.66);
}

.snapshot-risk-return-sector-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-right: 8px;
}

.snapshot-risk-return-sector-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 1px solid rgba(225, 236, 250, 0.8);
}

.snapshot-analytics-map-coverage {
  margin-top: 8px;
}

.snapshot-analytics-map-status {
  margin-top: 0;
  color: #a4b6cb;
  font-size: 0.78rem;
}

.snapshot-analytics-sector-select-wrap {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.snapshot-analytics-sector-select-label {
  color: #9aacbf;
  font-size: 0.72rem;
  margin: 0;
}

.snapshot-analytics-sector-select {
  min-width: 170px;
  border: 1px solid rgba(140, 155, 177, 0.45);
  background: #111b2e;
  color: #d6e3f2;
  border-radius: 8px;
  font-size: 0.76rem;
  line-height: 1.2;
  padding: 7px 10px;
}

.snapshot-analytics-sector-select:focus-visible {
  outline: 2px solid #a8d7ff;
  outline-offset: 2px;
}

.snapshot-analytics-sector-focus {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 0;
}

.snapshot-analytics-sector-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid rgba(140, 155, 177, 0.4);
  background: #111b2e;
  color: #c4d2e4;
  border-radius: 999px;
  font-size: 0.72rem;
  line-height: 1;
  padding: 6px 10px;
}

.snapshot-analytics-sector-btn.is-active {
  border-color: rgba(99, 198, 167, 0.9);
  background: rgba(99, 198, 167, 0.18);
  color: #d7f6ea;
}

.snapshot-risk-return-details {
  position: absolute;
  z-index: 9;
  width: min(340px, calc(100% - 16px));
  border: 1px solid rgba(160, 175, 197, 0.36);
  border-radius: 10px;
  background: rgba(6, 13, 24, 0.97);
  color: #e5effa;
  padding: 10px 11px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.36);
  font-size: 0.73rem;
  line-height: 1.35;
}

.snapshot-risk-return-mobile-details {
  margin-top: 10px;
  border: 1px solid rgba(160, 175, 197, 0.36);
  border-radius: 10px;
  background: rgba(6, 13, 24, 0.95);
  color: #e5effa;
  padding: 10px 11px;
}

.snapshot-risk-return-details__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}

.snapshot-risk-return-details__head-actions {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
}

.snapshot-risk-return-details__title {
  font-size: 0.85rem;
  font-weight: 700;
  color: #f3f8ff;
}

.snapshot-risk-return-details__subtitle {
  margin-top: 1px;
  margin-bottom: 0;
  color: #b9cce2;
}

.snapshot-risk-return-details__grid {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 3px 8px;
}

.snapshot-risk-return-details__close {
  min-width: 44px;
  min-height: 44px;
  border: 1px solid rgba(140, 155, 177, 0.45);
  background: #111b2e;
  color: #d2dfef;
  border-radius: 999px;
  font-size: 0.72rem;
  line-height: 1;
  padding: 6px 10px;
}

.snapshot-risk-return-details__close:focus-visible {
  outline: 2px solid #a8d7ff;
  outline-offset: 2px;
}

.snapshot-analytics-bottom-disclaimer {
  margin-top: 8px;
  color: #8ea0b7;
  font-size: 0.78rem;
  line-height: 1.4;
}

.snapshot-cta {
  margin-top: 10px;
  padding: 10px 12px;
  border-width: 1px;
  border-style: solid;
  background: #0a1323;
}

.snapshot-cta__copy {
  min-width: 0;
}

.snapshot-cta__heading {
  margin: 0 0 4px;
  color: #dce9f7;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.3;
}

.snapshot-cta__body {
  font-size: 0.84rem;
  line-height: 1.4;
  color: #d3dfed;
}

.snapshot-cta .btn {
  align-self: center;
}

.snapshot-cta--automation {
  border-color: rgba(98, 199, 165, 0.4);
  background: rgba(10, 20, 34, 0.92);
}

.snapshot-cta--automation .snapshot-cta__heading {
  color: #7ce0bd;
}

.snapshot-cta--performance {
  border-color: rgba(146, 160, 181, 0.42);
  background: rgba(10, 20, 34, 0.92);
  margin-bottom: 12px;
}

#current-holdings.pop2-card {
  border-color: rgba(146, 160, 181, 0.42);
  background: rgba(10, 20, 34, 0.92);
}

.snapshot-cta--performance .snapshot-cta__heading {
  color: #f6c574;
}

.snapshot-table-shell {
  margin-top: 12px;
}

.snapshot-cta--state {
  border-color: rgba(126, 224, 189, 0.38);
  background: rgba(98, 199, 165, 0.1);
}

.snapshot-analytics-unavailable {
  min-height: 250px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9eb0c7;
  font-size: 0.85rem;
  text-align: center;
}

.snapshot-analytics-unavailable--compact {
  position: absolute;
  inset: 0;
  min-height: 0;
}

.snapshot-analytics-table-wrap {
  margin-top: 8px;
}

.snapshot-analytics-table-wrap--unified {
  margin-top: 0;
}

.snapshot-analytics-table-controls,
.snapshot-analytics-table-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  color: #92a2b8;
  font-size: 0.75rem;
  margin-bottom: 8px;
}

.snapshot-analytics-table-footer {
  margin-top: 8px;
  margin-bottom: 0;
}

.snapshot-analytics-table-controls-group {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.snapshot-analytics-page-btn,
.snapshot-analytics-load-more {
  border: 1px solid rgba(140, 155, 177, 0.35);
  background: #111b2e;
  color: #d2dfef;
  border-radius: 999px;
  font-size: 0.74rem;
  line-height: 1;
  padding: 6px 10px;
}

.snapshot-analytics-page-btn.is-active {
  background: #63c6a7;
  color: #071917;
  border-color: #63c6a7;
}

.snapshot-analytics-page-btn:disabled {
  opacity: 0.45;
  cursor: default;
}

.snapshot-analytics-expand-btn {
  border: 0;
  background: transparent;
  color: inherit;
  padding: 0;
  font: inherit;
  text-align: left;
}

.snapshot-analytics-row-meta,
.snapshot-analytics-row-context {
  color: #90a0b6;
  font-size: 0.72rem;
  margin-top: 2px;
}

.snapshot-analytics-row-context {
  margin-top: 4px;
}

.snapshot-analytics-title-row {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.snapshot-logo-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 39px;
  height: 39px;
  min-width: 39px;
  min-height: 39px;
  flex-shrink: 0;
}

.snapshot-logo-badge__img,
.snapshot-logo-badge__fallback {
  width: 39px;
  height: 39px;
  border-radius: 50%;
}

.snapshot-logo-badge__img {
  object-fit: contain;
  padding: 3px;
  background: rgba(11, 23, 44, 0.95);
  border: 1px solid rgba(144, 167, 200, 0.55);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.30);
  filter: drop-shadow(0 0 1px rgba(8, 16, 32, 0.85));
}

.snapshot-logo-badge__fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #dbe7f6;
  background: rgba(100, 142, 207, 0.24);
  border: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.snapshot-analytics-selection-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 2px 8px;
  background: rgba(99, 198, 167, 0.16);
  border: 1px solid rgba(99, 198, 167, 0.38);
  color: #dff9ee;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.snapshot-analytics-primary-cell {
  min-width: 250px;
}

.snapshot-analytics-group-cell {
  position: relative;
  padding-left: calc(var(--space-md) + 8px) !important;
}

.snapshot-analytics-group-wrap {
  display: flex;
  align-items: center;
  gap: var(--space-md);
}

.snapshot-analytics-group-accent {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  flex-shrink: 0;
  background: var(--sector-color, #8a94a7);
  box-shadow: 0 0 10px color-mix(in srgb, var(--sector-color, #8a94a7) 45%, transparent);
}

.snapshot-analytics-number-cell,
.snapshot-analytics-number-text {
  font-variant-numeric: tabular-nums;
}

.snapshot-analytics-risk-text {
  color: #d9e4f0;
  font-weight: 600;
}

.snapshot-analytics-table .is-selected td {
  background: rgba(99, 198, 167, 0.09);
}

.snapshot-analytics-table th,
.snapshot-analytics-table td {
  vertical-align: middle;
}

.snapshot-analytics-table td,
.snapshot-analytics-table th {
  white-space: nowrap;
}

.snapshot-analytics-table thead th {
  border-bottom: 1px solid rgba(146, 160, 181, 0.18);
}

.snapshot-analytics-table .is-selected {
  background: rgba(99, 198, 167, 0.12);
}

.snapshot-analytics-table tbody tr.is-selected td {
  box-shadow: inset 0 1px 0 rgba(99, 198, 167, 0.12), inset 0 -1px 0 rgba(99, 198, 167, 0.12);
}

.snapshot-analytics-table tbody tr.is-selected .snapshot-holding-cell::before {
  width: 6px;
}

.snapshot-analytics-table tbody tr:focus-visible td {
  outline: 2px solid rgba(168, 215, 255, 0.6);
  outline-offset: -2px;
}

.snapshot-analytics-sort-btn {
  border: 0;
  background: transparent;
  color: #d2dfef;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

.snapshot-analytics-sort-indicator {
  color: #89a1bb;
}

.snapshot-analytics-mobile-rows {
  display: none;
}

@media (max-width: 860px) {
  .snapshot-cta {
    gap: 10px;
  }

  .snapshot-cta__copy {
    width: 100%;
  }

  .snapshot-cta .btn {
    width: 100%;
  }
}

.snapshot-analytics-mobile-row {
  border: 1px solid rgba(146, 160, 181, 0.16);
  border-radius: 10px;
  margin-bottom: 8px;
  background: #0a1323;
}

.snapshot-analytics-mobile-row.is-selected {
  border-color: rgba(99, 198, 167, 0.45);
}

.snapshot-analytics-mobile-toggle {
  width: 100%;
  border: 0;
  background: transparent;
  color: #d5e2f1;
  padding: 10px;
  text-align: left;
}

.snapshot-analytics-mobile-title {
  display: grid;
  gap: 2px;
  margin-bottom: 8px;
}

.snapshot-analytics-mobile-title-row {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.snapshot-logo-badge--mobile {
  width: 34px;
  height: 34px;
  min-width: 34px;
  min-height: 34px;
}

.snapshot-logo-badge--mobile .snapshot-logo-badge__img,
.snapshot-logo-badge--mobile .snapshot-logo-badge__fallback {
  width: 34px;
  height: 34px;
}

.snapshot-analytics-mobile-toggle .name {
  display: inline-flex;
  font-size: 0.86rem;
  font-weight: 700;
}

.snapshot-analytics-mobile-subtitle {
  color: #95a6bd;
  font-size: 0.74rem;
}

.snapshot-analytics-mobile-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 10px;
}

.snapshot-analytics-mobile-metric {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.snapshot-analytics-mobile-metric-label {
  color: #95a6bd;
  font-size: 0.68rem;
  line-height: 1.1;
}

.snapshot-analytics-mobile-metric-value {
  color: #e3edf8;
  font-size: 0.78rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.snapshot-analytics-mobile-detail {
  border-top: 1px solid rgba(146, 160, 181, 0.2);
  color: #aebed1;
  font-size: 0.75rem;
  padding: 6px 10px 8px;
}

.snapshot-analytics-mobile-detail .metric-row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding-top: 2px;
}

.snapshot-analytics-mobile-more {
  margin-top: 8px;
}

@media (max-width: 860px) {
  .snapshot-analytics-shell {
    padding: 11px;
  }

  .snapshot-analytics-top {
    gap: 18px;
  }

  .snapshot-analytics-summary-strip {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 10px 0;
  }

  .snapshot-analytics-controls-row {
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 10px;
  }

  .snapshot-analytics-controls-group {
    width: 100%;
    min-width: 0;
  }

  .snapshot-analytics-controls-group--mode {
    order: 1;
    grid-column: auto;
  }

  .snapshot-analytics-controls-group--display {
    order: 2;
    grid-column: auto;
  }

  .snapshot-analytics-controls-group--search {
    order: 3;
    grid-column: auto;
    justify-content: flex-start;
  }

  .snapshot-analytics-display-hint {
    max-width: none;
  }

  .snapshot-analytics-segmented--map {
    justify-content: flex-start;
  }

  .snapshot-analytics-search-wrap {
    align-items: stretch;
  }

  .snapshot-analytics-search-input {
    min-width: 0;
    width: 100%;
    max-width: none;
  }

  .snapshot-analytics-map-chart {
    min-height: clamp(390px, 52vh, 440px);
  }

  .snapshot-risk-return-details {
    display: none;
  }

  .snapshot-risk-return-mobile-details {
    display: block;
  }

  .snapshot-analytics-chart-footer {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  .snapshot-analytics-sector-focus {
    max-width: 100%;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 2px;
    -webkit-overflow-scrolling: touch;
  }

  .snapshot-analytics-sector-btn {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .snapshot-analytics-table-desktop {
    display: none;
  }

  .snapshot-analytics-mobile-rows {
    display: block;
  }

  .snapshot-analytics-table-footer {
    margin-top: 10px;
  }

  .snapshot-analytics-table-controls {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  .snapshot-analytics-table-controls-group {
    width: 100%;
    justify-content: flex-start;
  }

  .snapshot-analytics-sector-select,
  #snapshotAnalyticsTablePageSize {
    width: 100%;
  }

}

@media (min-width: 861px) {
  .snapshot-risk-return-mobile-details {
    display: none;
  }
}

@media (max-width: 768px) {
  .snapshot-risk-return-axis text {
    font-size: 11.5px;
  }

  .snapshot-risk-return-axis-label {
    font-size: 11px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .snapshot-risk-return-bubble {
    transition: none;
  }

  .snapshot-risk-return-details,
  .snapshot-risk-return-mobile-details {
    transition: none;
  }
}
