.equity-chart[data-interactive] { position: relative; outline-offset: -5px; }
.equity-chart[data-interactive] > svg { cursor: crosshair; }
.equity-chart[data-interactive]:focus-visible { outline: 2px solid #bad9ef; border-radius: 6px; }
.chart-cursor { pointer-events: none; }
.chart-tooltip { position: absolute; z-index: 4; width: 190px; max-width: calc(100% - 16px); pointer-events: none; padding: 13px 15px; border: 1px solid #526c80; border-radius: 7px; background: #101b25f5; box-shadow: 0 8px 28px #0007; color: #e6f0f7; text-align: left; }
.chart-tooltip[hidden] { display: none; }
.chart-tooltip span, .chart-tooltip small { display: block; }
.tooltip-kicker { font: .625rem var(--mono); letter-spacing: .06em; color: #b4c6d5; }
.chart-tooltip > strong { display: block; font-size: 1.4rem; font-weight: 500; margin: 4px 0 0; line-height: 1.25; }
.tooltip-label { font-size: .6875rem; color: #b0bfcd; }
.tooltip-equity { display: flex !important; justify-content: space-between; gap: 12px; border-top: 1px solid #384b5b; padding-top: 8px; margin-top: 8px; font-size: .6875rem; }
.tooltip-equity b { font-weight: 500; }
.chart-tooltip small { color: #99acbc; font-size: .625rem; margin-top: 5px; }
.chart-interaction-hint { font-size: .6875rem; margin: 0 29px 16px; color: #96aaba; }
.a11y-high-contrast .chart-tooltip { background: #000; border-color: #fff; }
.a11y-large-text .chart-tooltip { width: 290px; }
.a11y-large-text .tooltip-equity { flex-wrap: wrap; }
.playlist-layout { display: grid; grid-template-columns: minmax(0,1.9fr) minmax(300px,1fr); gap: 22px; align-items: start; }
.playlist-feature { margin: 0; min-width: 0; }
.playlist-feature .video-caption { display: block; padding: 24px; }
.playlist-feature .video-caption h2 { font-size: 1.6rem; }
.playlist-feature .video-caption .text-link { margin-top: 12px; }
.playlist-player-footer { display: flex; align-items: center; justify-content: space-between; padding: 14px 24px; border-top: 1px solid var(--line); gap: 15px; color: #92a8b9; font-size: .75rem; }
.playlist-player-footer > div { display: flex; gap: 8px; }
.playlist-player-footer button { width: 44px; height: 44px; border: 1px solid #3a5062; border-radius: 5px; background: #111b24; color: #ccdeec; }
.playlist-player-footer button:not(:disabled):hover { background: #25394a; }
.playlist-queue { border: 1px solid #2b3a46; border-radius: 7px; background: #0d1318; overflow: hidden; min-width: 0; }
.playlist-heading { padding: 24px 20px; border-bottom: 1px solid #273641; display: flex; gap: 15px; justify-content: space-between; align-items: center; }
.playlist-heading .eyebrow { font-size: .625rem; margin-bottom: 7px; }
.playlist-heading h2 { font-size: 1.25rem; letter-spacing: -.03em; }
.playlist-heading > span { white-space: nowrap; font-size: .6875rem; color: #9aaebd; }
.playlist-queue ol { list-style: none; padding: 8px; margin: 0; max-height: 520px; overflow-y: auto; }
.playlist-queue li + li { margin-top: 5px; }
.playlist-item { width: 100%; min-height: 92px; padding: 12px 9px; display: flex; align-items: center; gap: 12px; background: transparent; color: #b2c2cf; border: 1px solid transparent; border-radius: 5px; text-align: left; }
.playlist-item[aria-current] { background: #1a2a37; border-color: #506d83; }
.playlist-item:hover { background: #172531; }
.playlist-number { font: .6875rem var(--mono); color: #8099ad; }
.playlist-item img { width: 76px; height: 46px; border-radius: 3px; object-fit: cover; flex-shrink: 0; }
.playlist-item-copy { min-width: 0; }
.playlist-item strong { display: block; font-size: .875rem; font-weight: 450; line-height: 1.5; text-align: start; overflow-wrap: anywhere; }
.playlist-item small { display: block; color: #9bbad0; font: .5625rem var(--mono); letter-spacing: .08em; margin-top: 8px; }
.playlist-empty { padding: 45px 0; }
.playlist-empty p { margin-top: 15px; }
.a11y-large-text .playlist-layout { grid-template-columns: minmax(0,1fr); }
.a11y-large-text .playlist-item { flex-wrap: wrap; }
.a11y-large-text .playlist-item-copy { flex-basis: 100%; }
.a11y-high-contrast .playlist-queue, .a11y-high-contrast .playlist-item[aria-current] { background: #000; border-color: #fff; }
@media(max-width:900px) { .playlist-layout { grid-template-columns: minmax(0,1fr); } .playlist-queue ol { max-height: 350px; } .playlist-heading { padding: 20px; } }
@media(max-width:480px) { .playlist-feature .video-caption { padding: 20px; } .playlist-feature .video-caption h2 { font-size: 1.4rem; } .playlist-item { gap: 10px; padding: 10px 6px; } .playlist-item img { width: 72px; } .playlist-player-footer { padding: 12px 20px; } .chart-interaction-hint { font-size: .625rem; margin: 0 17px 14px; } }
.journal-source-line { display:flex; flex-wrap:wrap; gap:12px 28px; margin:0 0 24px; color:#97a7b6; font-size:.75rem; }
.journal-source-line b { color:#dbe5ed; font-weight:500; margin-left:5px; }
.account-data-status { margin-left: auto; display: flex; flex-direction: column; align-items: flex-end; gap: 7px; }
.account-data-badge { display: inline-flex; align-items: center; gap: 8px; padding: 7px 10px; border: 1px solid #2d5144; border-radius: 5px; background: #10231b; color: #bce8cf; font: .5625rem var(--mono); letter-spacing: .06em; }
.account-data-badge i { flex: 0 0 6px; width: 6px; height: 6px; border-radius: 50%; background: #6fdfa3; box-shadow: 0 0 7px #6fdfa32b; }
.account-data-status small { font-size: .6875rem; color: #a4b5ae; }
.a11y-high-contrast .account-data-badge { background: #000; border-color: #fff; }
@media(max-width:600px) { .account-data-status { margin-left: 0; align-items: flex-start; } }
.editorial-about { align-items: start; }
.about-portrait { margin: 0; min-width: 0; }
.about-portrait img { display: block; width: 100%; height: auto; border-radius: 6px; }
.about-portrait figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-top: 15px; color: #a5b7c6; font: .5625rem var(--mono); letter-spacing: .07em; }
.about-portrait figcaption span { color: #8d9eac; }
.editorial-about .about-story p { max-width: 65ch; line-height: 1.85; }
.editorial-approach > div:first-child > p { max-width: 58ch; font-size: 1rem; line-height: 1.85; margin-top: 20px; }
.story-chapter { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 8%; padding: 54px 0; border-top: 1px solid var(--line); }
.chapter-heading .micro { display: block; color: #8ea7ba; margin-bottom: 18px; }
.chapter-heading h2 { font-size: clamp(1.75rem,3vw,2.625rem); line-height: 1.15; max-width: 13ch; }
.chapter-copy { max-width: 66ch; }
.chapter-copy p { font-size: 1.0625rem; line-height: 1.9; color: #b0bac4; }
.chapter-copy p + p { margin-top: 23px; }
.editorial-closing h2 { line-height: 1.2; }
.a11y-large-text .story-chapter { grid-template-columns: minmax(0,1fr); gap: 26px; }
.a11y-large-text .chapter-heading h2 { max-width: none; }
@media(max-width:800px) {
 .editorial-about { grid-template-columns: minmax(0,1fr); gap: 36px; }
 .about-portrait { width: min(100%,480px); }
 .story-chapter { grid-template-columns: minmax(0,1fr); gap: 24px; padding: 38px 0; }
 .chapter-heading h2 { max-width: 22ch; }
 .chapter-copy p { font-size: 1rem; line-height: 1.85; }
}
.journal-summary { margin: 32px 0 34px; }
.summary-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 14px; flex-wrap: wrap; }
.summary-heading h2 { font-size: 1rem; letter-spacing: -.02em; font-weight: 500; }
.summary-heading > span { font: .5625rem var(--mono); letter-spacing: .06em; color: #9bacbf; }
.journal-summary-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)) minmax(0,1.3fr); gap: 12px; }
.journal-metric { min-width: 0; padding: 22px 18px 17px; border: 1px solid #2b3c4c; border-radius: 10px; background: #0a1118; display: flex; flex-direction: column; }
.journal-metric h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 20px; color: #a7bdd1; font: .5625rem var(--mono); line-height: 1.5; text-transform: uppercase; letter-spacing: .035em; }
.journal-metric h3 > span { color: #aecbff; font-size: .875rem; }
.journal-metric > strong { display: block; font-size: clamp(1.25rem,2.1vw,1.75rem); line-height: 1.25; font-weight: 500; color: #e0ecff; letter-spacing: -.035em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.journal-metric p { color: #96aabe; font-size: .625rem; line-height: 1.5; margin: auto 0 0; padding-top: 16px; }
.summary-sparkline { display: block; width: 100%; height: 48px; margin: 10px 0 -4px; overflow: visible; }
.journal-metric-total h3 { margin-bottom: 10px; }
.journal-metric-total p { padding-top: 8px; }
.summary-source { font-size: .6875rem; line-height: 1.6; color: #96aabe; margin-top: 12px; }
.stats.period-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
.a11y-high-contrast .journal-metric { background: #000; border-color: #fff; }
.a11y-large-text .journal-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.a11y-large-text .journal-metric-total { grid-column: 1 / -1; }
@media(max-width:1000px) {
 .journal-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .journal-metric-total { grid-column: 1 / -1; }
 .summary-sparkline { height: 54px; max-width: 360px; }
 .journal-metric > strong { font-size: 1.6rem; }
}
@media(max-width:480px) {
 .journal-summary-grid { gap: 10px; }
 .journal-metric { padding: 18px 15px 15px; }
 .journal-metric h3 { margin-bottom: 14px; }
 .journal-metric > strong { font-size: 1.5rem; }
 .summary-heading > span { font-size: .5rem; }
}
