/* Home-only player. Fixed charts and shared site styles are not overridden. */
.home-walkthrough {
  /* The walkthrough is a visual tool, not a reading column. Give its fixed
     TradingView-style canvas more room than the site's normal 1180px shell. */
  width: min(calc(100% - 2rem), 1480px);
  padding-top: 0;
  scroll-margin-top: 110px;
  /* Teaching typography is role-based: 72px product introductions are
     animated in rank-walkthrough.js; the stable tiers below keep equivalent
     lessons, chart explanations, supporting copy and native labels aligned. */
  --walkthrough-type-lesson: 43px;
  --walkthrough-type-explanation: 28px;
  --walkthrough-type-support: 22px;
  --walkthrough-type-native: 16px;
}
.home-walkthrough [hidden] { display: none !important; }
.home-walkthrough .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.walkthrough-player { margin: 0; border: 1px solid var(--line); border-radius: 16px; background: var(--panel); padding: clamp(.75rem,2vw,1.35rem); }
.walkthrough-title { margin: 0 0 clamp(.75rem,1.8vw,1.15rem); text-align: center; font-size: clamp(1.6rem,3vw,2.4rem); line-height: 1.08; letter-spacing: -.045em; }
.walkthrough-chart-stage { position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: #0e1219; }
.walkthrough-poster-overlay { position: absolute; inset: 0; z-index: 4; display: flex; justify-content: center; align-items: center; padding: 1rem; background: rgba(4,6,10,.1); }
.walkthrough-poster-overlay button { min-width: min(240px,85%); min-height: 86px; padding: 1rem 1.25rem; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: .8rem; align-items: center; border: 1px solid #f4ce6d; border-radius: 999px; color: #090b0f; background: var(--gold-bright); box-shadow: 0 14px 36px rgba(0,0,0,.4); cursor: pointer; }
.walkthrough-poster-overlay button:hover { filter: brightness(1.06); transform: translateY(-1px); }
.walkthrough-poster-overlay button > span { grid-row: 1 / 3; font-size: 1.25rem; }
.walkthrough-poster-overlay strong { align-self: end; font-size: 1rem; line-height: 1.2; }
.walkthrough-poster-overlay small { align-self: start; font-size: .72rem; opacity: .72; }
.home-walkthrough.is-poster .walkthrough-chart-scroll { pointer-events: none; }
.home-walkthrough.is-poster .replay-candle-highlight-band { fill-opacity: .04; }
.home-walkthrough.is-poster .walkthrough-player-bar,
.home-walkthrough.is-poster .walkthrough-more { display: none !important; }
.home-walkthrough button:focus-visible, .home-walkthrough input:focus-visible, .home-walkthrough summary:focus-visible, .walkthrough-end-actions a:focus-visible { outline: 2px solid var(--gold-bright); outline-offset: 3px; }
.walkthrough-chart-scroll { position: relative; max-width: 100%; overflow: hidden; background: #0e1219; }
.walkthrough-surface-control { position: absolute; inset: 0; z-index: 3; display: grid; place-items: center; width: 100%; padding: 1rem; border: 0; color: var(--ink); background: transparent; cursor: pointer; }
.walkthrough-surface-control:focus-visible { outline: 3px solid var(--gold-bright); outline-offset: -4px; }
.walkthrough-surface-cue { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border: 1px solid #f4ce6d; border-radius: 50%; color: #090b0f; background: var(--gold-bright); box-shadow: 0 10px 30px rgba(0,0,0,.45); transition: opacity .2s ease; }
.walkthrough-surface-cue [data-replay-play-symbol] { font-size: 1.3rem; line-height: 1; }
.walkthrough-surface-cue [data-replay-play-label] { display: none; }
.home-walkthrough[data-playing="true"] .walkthrough-surface-cue { opacity: 0; }
.walkthrough-chart { width: 100%; overflow: hidden; }
.walkthrough-chart svg { width: 100%; height: auto; display: block; transition: transform .46s cubic-bezier(.22,.61,.36,1); }
.walkthrough-chart-scroll.is-mobile-framed .walkthrough-chart { overflow: hidden; transition: height .46s cubic-bezier(.22,.61,.36,1); }
.walkthrough-chart .replay-focus-node,
.walkthrough-chart .replay-stock-path { transition: opacity .58s cubic-bezier(.22,.61,.36,1); }
/* These scale and title layers hand off from identical teaching glyphs at the
   same coordinates. Fading the native copy after that swap creates a visible
   blink, so the visually identical replacements are intentionally atomic. */
.walkthrough-chart #replay-own-rank-scale,
.walkthrough-chart #replay-own-indicator-title,
.walkthrough-chart #replay-screener-indicator-title { transition: none; }
.home-walkthrough.is-intro-reset .walkthrough-chart .replay-focus-node,
.home-walkthrough.is-intro-reset .walkthrough-chart .replay-rank-step,
.home-walkthrough.is-intro-reset .walkthrough-chart .replay-marker-step { transition: none; }
.walkthrough-chart .replay-candle-step,
.walkthrough-chart .replay-rank-step,
.walkthrough-chart .replay-marker-step { transform-box: fill-box; transform-origin: center bottom; transition: opacity .34s ease-out, transform .42s cubic-bezier(.22,.61,.36,1); }
.walkthrough-chart .replay-rank-step.replay-focus-node,
.walkthrough-chart .replay-marker-step.replay-focus-node { transition: opacity .46s ease-out, transform .42s cubic-bezier(.22,.61,.36,1); }
.walkthrough-chart .replay-candle-highlight,
.walkthrough-chart .replay-candle-highlight-band,
.walkthrough-chart #replay-teaching-candle-a { transition: transform .18s ease-out; }
.walkthrough-chart .replay-native-table-row,
.walkthrough-chart .replay-native-table,
.walkthrough-chart .replay-occurrence-table { transition: opacity .46s cubic-bezier(.22,.61,.36,1); }
.walkthrough-chart #replay-symbol-legend,
.walkthrough-chart #replay-date-axis { visibility: visible; }
.walkthrough-chart #replay-symbol-legend {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight: 500;
  fill: #adb3bf;
}
.walkthrough-chart #replay-price-pane-content,
.walkthrough-chart #replay-price-scale-labels,
.walkthrough-chart #replay-symbol-legend { transition: opacity .46s cubic-bezier(.22,.61,.36,1); }
/* Extended-session shading is faithful to the source chart, but it reads as
   another signal in this teaching view and competes with the gold focus bar. */
.walkthrough-chart #replay-extended-session-bands { display: none; }
.walkthrough-chart #replay-price-pane-content *,
.walkthrough-chart #replay-rank-pane-content *,
.walkthrough-chart #replay-screener-pane-content * { vector-effect: non-scaling-stroke; }
.walkthrough-chart .replay-native-table-row { transition: opacity .46s cubic-bezier(.22,.61,.36,1), filter .28s ease; }
.walkthrough-chart .replay-native-table-row > rect { transition: stroke .28s ease, stroke-opacity .28s ease, stroke-width .28s ease; }
.walkthrough-chart .replay-native-table-row.is-source-positive { filter: drop-shadow(0 0 4px rgba(237,194,90,.34)) brightness(1.08); }
.walkthrough-chart .replay-native-table-row.is-source-positive > rect { stroke: #edc25a; stroke-width: 1.25; stroke-opacity: .78; }
.walkthrough-chart .replay-native-table-row.is-source-neutral { filter: brightness(.78); }
.walkthrough-chart .replay-native-table-row.is-source-neutral > rect { stroke: #77808d; stroke-width: 1; stroke-opacity: .62; }
.walkthrough-chart #replay-screener-readings-at-a > rect:first-child {
  transition: stroke .3s ease, stroke-width .3s ease, filter .3s ease;
}
.walkthrough-chart .replay-cursor { stroke: #edf0f6; stroke-width: 1; stroke-opacity: .38; pointer-events: none; }
.walkthrough-chart .replay-price-outcome-arrow {
  fill: none;
  stroke: #edc25a;
  stroke-width: 2.1;
  stroke-opacity: .9;
  stroke-linecap: round;
  filter: drop-shadow(0 0 4px rgba(237,194,90,.42));
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.walkthrough-chart .replay-price-outcome-origin {
  fill: #edc25a;
  stroke: #0d1118;
  stroke-width: 1.2;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.walkthrough-chart .replay-callout-dimmer,
.walkthrough-chart .replay-teaching-dimmer { fill: #05070b; opacity: 0; pointer-events: none; transition: opacity .3s ease; }
.walkthrough-chart .replay-callout { opacity: 0; pointer-events: none; transform-box: fill-box; transform-origin: center; transform: translateY(9px) scale(.965); transition: opacity .3s ease, transform .46s cubic-bezier(.22,.61,.36,1); }
.walkthrough-chart .replay-callout.is-active { opacity: 1; transform: translateY(0) scale(1); }
.walkthrough-chart .replay-callout-box { fill: #151a22; fill-opacity: .97; stroke: #737c89; stroke-opacity: .9; stroke-width: 1.2; }
.walkthrough-chart .replay-callout.is-active .replay-callout-box { animation: replay-callout-attention .58s ease-out both; }
.walkthrough-chart .replay-callout-leader { fill: none; stroke: #d9dee7; stroke-width: 1.5; stroke-opacity: .88; stroke-linecap: round; stroke-linejoin: round; }
.walkthrough-chart .replay-callout.is-extreme-callout .replay-callout-leader { stroke: #f1f4f8; stroke-width: 2.1; stroke-opacity: 1; }
.walkthrough-chart .replay-callout.is-active .replay-callout-leader { animation: replay-leader-in .44s .12s ease-out both; }
.walkthrough-chart .replay-callout-step { fill: #edc25a; }
.walkthrough-chart .replay-callout-step-text { fill: #0b0e13; font: 800 13px "Inter",Arial,sans-serif; }
.walkthrough-chart .replay-callout-copy { fill: #eef1f6; font-family: "Inter",Arial,sans-serif; letter-spacing: -.01em; }
.walkthrough-chart .replay-callout-headline { font-size: 18px; font-weight: 760; }
.walkthrough-chart .replay-callout-detail { fill: #c5cbd5; font-size: 15.5px; font-weight: 600; letter-spacing: 0; }
.walkthrough-chart .replay-title-dimmer { fill: #070a0f; pointer-events: none; }
.walkthrough-chart .replay-title-morph {
  fill: #f4f1e9;
  stroke: #090c11;
  stroke-width: 4px;
  paint-order: stroke fill;
  font-family: "Inter",Arial,sans-serif;
  /* Animated SVG weight, spacing and outline own the seamless title landing. */
  pointer-events: none;
}
.walkthrough-chart .replay-title-morph-accent { fill: #ef74eb; }
.walkthrough-chart .replay-rank-lesson { pointer-events: none; }
.walkthrough-chart .replay-rank-lesson-region,
.walkthrough-chart .replay-rank-guide,
.walkthrough-chart .replay-rank-guide-label,
.walkthrough-chart .replay-rank-lesson-zero-glow,
.walkthrough-chart .replay-rank-lesson-zero,
.walkthrough-chart .replay-rank-direction-copy,
.walkthrough-chart .replay-rank-lesson-copy,
.walkthrough-chart .replay-rank-lesson-title,
.walkthrough-chart .replay-rank-extreme-leader,
.walkthrough-chart .replay-rank-extreme-copy { transition: filter .2s ease; }
.walkthrough-chart .replay-rank-lesson-region.is-overbought { fill: #cb0000; fill-opacity: .14; }
.walkthrough-chart .replay-rank-lesson-region.is-oversold { fill: #38d453; fill-opacity: .13; }
.walkthrough-chart .replay-rank-guide { stroke-linecap: round; }
.walkthrough-chart .replay-rank-guide-label { font: 400 var(--walkthrough-type-native) "Inter",Arial,sans-serif; }
.walkthrough-chart .replay-rank-lesson-zero-glow {
  stroke: #fff2c5;
  stroke-linecap: round;
  filter:
    drop-shadow(0 0 9px rgba(255,255,255,1))
    drop-shadow(0 0 24px rgba(255,221,125,.96))
    drop-shadow(0 0 48px rgba(255,197,70,.72));
}
.walkthrough-chart .replay-rank-lesson-zero { stroke: #f4f1e9; stroke-linecap: round; }
.walkthrough-chart .replay-rank-lesson-title {
  fill: #bcc3cf;
  font: 400 var(--walkthrough-type-native) "Inter",Arial,sans-serif;
  letter-spacing: -.025em;
}
.walkthrough-chart .replay-rank-lesson-copy,
.walkthrough-chart .replay-rank-direction-copy,
.walkthrough-chart .replay-rank-extreme-copy,
.walkthrough-chart .replay-rank-extreme-equation-copy {
  fill: #f4f1e9;
  stroke: #090c11;
  stroke-width: 5px;
  paint-order: stroke fill;
  font-family: "Inter",Arial,sans-serif;
  font-weight: 800;
  letter-spacing: -.025em;
}
.walkthrough-chart .replay-rank-lesson-copy { font-size: var(--walkthrough-type-lesson); }
.walkthrough-chart .replay-rank-direction-copy { font-size: var(--walkthrough-type-lesson); letter-spacing: .035em; }
.walkthrough-chart .replay-rank-direction-copy.is-overbought { fill: #ff6657; }
.walkthrough-chart .replay-rank-direction-copy.is-oversold { fill: #66df7a; }
.walkthrough-chart .replay-rank-extreme-equation { opacity: 0; }
.walkthrough-chart .replay-rank-extreme-icon {
  stroke: #11151d;
  stroke-width: 1px;
  stroke-linejoin: round;
}
.walkthrough-chart .replay-rank-extreme-icon.is-overbought { fill: #ff875c; }
.walkthrough-chart .replay-rank-extreme-icon.is-oversold { fill: #05ed02; }
.walkthrough-chart .replay-rank-extreme-equation-copy {
  fill: #f4f1e9;
  font-size: var(--walkthrough-type-explanation);
  font-weight: 800;
  stroke-width: 4px;
}
.walkthrough-chart .replay-rank-extreme-leader {
  fill: none;
  stroke: #f4f1e9;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 1;
}
.walkthrough-chart .replay-rank-extreme-copy {
  fill: #f4f1e9;
  font-size: var(--walkthrough-type-explanation);
  font-weight: 800;
  stroke-width: 4px;
}
.walkthrough-chart .replay-rank-extreme-copy .is-spy { fill: #66df7a; }
.walkthrough-chart .replay-explanation-note {
  fill: #d2d7df;
  stroke: #090c11;
  stroke-width: 4px;
  paint-order: stroke fill;
  font: 650 var(--walkthrough-type-support) "Inter",Arial,sans-serif;
  pointer-events: none;
}
.walkthrough-chart .replay-explanation-note.is-rewind { font-size: 27px; }
.walkthrough-chart .replay-explanation-note.is-closing { fill: #b9c0cb; font-weight: 500; }
.walkthrough-chart .replay-rank-lesson-copy,
.walkthrough-chart .replay-rank-direction-copy,
.walkthrough-chart .replay-rank-extreme-copy { transform-box: fill-box; transform-origin: center; }
.walkthrough-chart .replay-screener-lesson { pointer-events: none; }
.walkthrough-chart .replay-screener-lesson-background { fill: #0e1219; fill-opacity: .99; }
.walkthrough-chart .replay-screener-lesson-grid { stroke: #20262f; stroke-width: 1; }
.walkthrough-chart .replay-screener-lesson-highlight-band {
  fill: #edc25a;
  fill-opacity: .08;
  pointer-events: none;
}
.walkthrough-chart .replay-screener-lesson-highlight {
  stroke: #edc25a;
  stroke-width: 1;
  stroke-opacity: .55;
  pointer-events: none;
}
.walkthrough-chart .replay-screener-lesson-guide { stroke-width: 1.35; }
.walkthrough-chart .replay-screener-lesson-scale { font: 400 var(--walkthrough-type-native) "Inter",Arial,sans-serif; }
.walkthrough-chart .replay-screener-lesson-title {
  fill: #bcc3cf;
  font: 400 var(--walkthrough-type-native) "Inter",Arial,sans-serif;
  letter-spacing: -.015em;
}
.walkthrough-chart .replay-screener-lesson-copy {
  transform-box: fill-box;
  transform-origin: center;
}
.walkthrough-chart .replay-screener-lesson-headline,
.walkthrough-chart .replay-screener-lesson-detail {
  stroke: #090c11;
  paint-order: stroke fill;
  font-family: "Inter",Arial,sans-serif;
}
.walkthrough-chart .replay-screener-lesson-headline { fill: #f4f1e9; stroke-width: 5px; font-size: var(--walkthrough-type-lesson); font-weight: 800; letter-spacing: -.025em; }
.walkthrough-chart .replay-screener-lesson-headline.is-total { font-size: var(--walkthrough-type-lesson); }
.walkthrough-chart .replay-screener-total-value {
  fill: #ef74eb;
  stroke: #090c11;
  stroke-width: 4px;
  paint-order: stroke fill;
  font: 800 var(--walkthrough-type-support) "Inter",Arial,sans-serif;
  letter-spacing: -.015em;
}
.walkthrough-chart .replay-screener-lesson-pointer {
  fill: none;
  stroke: #f4f1e9;
  stroke-width: 2.5;
  stroke-opacity: 1;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.walkthrough-chart .replay-screener-total-flow {
  fill: none;
  stroke: #f4f1e9;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.walkthrough-chart .replay-screener-lesson-copy.is-attention-visible .replay-screener-lesson-pointer {
  animation: replay-leader-in .44s .12s ease-out both;
}
.walkthrough-chart .replay-screener-lesson-detail { fill: #d2d7df; stroke-width: 4px; font-size: var(--walkthrough-type-support); font-weight: 650; }
.walkthrough-chart .replay-screener-neutral-copy { pointer-events: none; }
.walkthrough-chart .replay-screener-neutral-copy text {
  fill: #e5e9ef;
  stroke: #090c11;
  stroke-width: 4px;
  paint-order: stroke fill;
  font: 750 27px "Inter",Arial,sans-serif;
  letter-spacing: -.02em;
}
.walkthrough-chart .replay-screener-neutral-copy path {
  fill: none;
  stroke: #d4dae3;
  stroke-width: 1.5;
  stroke-opacity: .82;
  stroke-linecap: round;
}
.walkthrough-chart .replay-screener-lesson-cause {
  pointer-events: none;
  transition: opacity .24s ease;
}
.walkthrough-chart .replay-screener-row-meaning-copy {
  fill: #f4f1e9;
  stroke: #090c11;
  stroke-width: 4px;
  paint-order: stroke fill;
  font: 800 var(--walkthrough-type-explanation) "Inter",Arial,sans-serif;
  letter-spacing: -.025em;
}
.walkthrough-chart .replay-screener-row-meaning-copy .is-spy { fill: #ff6657; }
.walkthrough-chart .replay-screener-row-meaning-copy .is-alternative { fill: #66df7a; }
.walkthrough-chart .replay-screener-row-meaning-copy .is-score { fill: #ef74eb; }
.walkthrough-chart .replay-screener-row-meaning-detail {
  fill: #d9dee6;
  stroke: #090c11;
  stroke-width: 4px;
  paint-order: stroke fill;
  font: 700 30px "Inter",Arial,sans-serif;
  letter-spacing: -.025em;
}
.walkthrough-chart .replay-screener-row-meaning-detail .is-ticker { font-weight: 800; }
.walkthrough-chart .replay-screener-row-meaning-detail.is-nvda .is-ticker { fill: #37d5ff; }
.walkthrough-chart .replay-screener-row-meaning-detail.is-aapl .is-ticker { fill: #8b9dff; }
.walkthrough-chart .replay-screener-row-meaning-detail tspan:not(.is-ticker) { font-size: 24px; }
.walkthrough-chart .replay-screener-row-meaning-pointer {
  fill: none;
  stroke: #e5e9ef;
  stroke-opacity: .88;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.walkthrough-chart .replay-screener-preference { pointer-events: none; }
.walkthrough-chart .replay-screener-preference-title,
.walkthrough-chart .replay-screener-preference-subtitle,
.walkthrough-chart .replay-screener-preference-row {
  stroke: #090c11;
  stroke-width: 4px;
  paint-order: stroke fill;
  font-family: "Inter",Arial,sans-serif;
  letter-spacing: -.012em;
  transition: opacity .24s ease, transform .32s cubic-bezier(.22,.61,.36,1);
}
.walkthrough-chart .replay-screener-preference-title {
  fill: #edc25a;
  font-size: 24px;
  font-weight: 750;
}
.walkthrough-chart .replay-screener-preference-subtitle {
  fill: #b9c0cb;
  font-size: 18px;
  font-weight: 500;
}
.walkthrough-chart .replay-screener-preference-extreme-at {
  font-family: "Inter",Arial,sans-serif;
  font-weight: 500;
}
.walkthrough-chart .replay-screener-preference-row {
  fill: #eef1f6;
  font-size: 24px;
  font-weight: 800;
}
.walkthrough-chart .replay-screener-preference-row .is-number { fill: #edc25a; }
.walkthrough-chart .replay-screener-preference-row .is-preferred { fill: #66df7a; }
.walkthrough-chart .replay-screener-preference-mover {
  stroke: #090c11;
  stroke-width: 4px;
  paint-order: stroke fill;
  font: 800 24px "Inter",Arial,sans-serif;
  letter-spacing: -.012em;
  pointer-events: none;
}
.walkthrough-chart .replay-screener-preference-mover.is-preferred { fill: #66df7a; }
.walkthrough-chart .replay-screener-preference-row .is-detail {
  fill: #b9c0cb;
  font-size: 18px;
  font-weight: 650;
}
.walkthrough-chart .replay-screener-lesson-bar { transition: opacity .34s ease, filter .34s ease; }
.walkthrough-chart .replay-screener-lesson-bar.is-overbought { fill: #d619d0; }
.walkthrough-chart .replay-screener-lesson-bar.is-oversold { fill: #abb007; }
.walkthrough-chart .replay-screener-lesson-bar.is-neutral { fill: #6c7380; }
.walkthrough-chart .replay-screener-lesson-bar.is-total-focus.is-overbought {
  filter: drop-shadow(0 0 4px rgba(239,116,235,.6));
}
.walkthrough-chart .replay-screener-lesson-bar.is-total-focus.is-oversold {
  filter: drop-shadow(0 0 4px rgba(171,176,7,.62));
}
.walkthrough-chart .replay-screener-lesson-bar.is-selected {
  filter: drop-shadow(0 0 5px rgba(255,255,255,.82)) drop-shadow(0 0 15px rgba(239,116,235,.9));
}
.walkthrough-chart .replay-screener-lesson-bar.is-cause-focus {
  filter: drop-shadow(0 0 6px rgba(255,255,255,.95)) drop-shadow(0 0 20px rgba(239,116,235,1));
}
.walkthrough-chart .replay-screener-table-frame { fill: #10141b; fill-opacity: .98; stroke: #697383; stroke-width: 1.4; transition: stroke .3s ease, stroke-width .3s ease, filter .3s ease; }
.walkthrough-chart .replay-screener-lesson-table.is-individual-focus .replay-screener-table-frame {
  stroke: #edc25a;
  stroke-width: 2;
  filter: drop-shadow(0 0 9px rgba(237,194,90,.52));
}
.walkthrough-chart .replay-screener-lesson-table.is-individual-focus .replay-screener-table-row {
  filter: brightness(1.1);
}
.walkthrough-chart .replay-screener-table-header { fill: #3a3f48; }
.walkthrough-chart .replay-screener-table-header-copy { fill: #e2e5ea; font: 400 14px "Courier New",monospace; }
.walkthrough-chart .replay-screener-table-row { transition: opacity .3s ease, filter .28s ease; }
.walkthrough-chart .replay-screener-table-row rect { fill: #11151d; stroke: #343c49; stroke-width: .8; transition: fill .28s ease, stroke .28s ease, filter .28s ease; }
.walkthrough-chart .replay-screener-table-row rect.is-positive { fill: #d619d0; fill-opacity: .58; }
.walkthrough-chart .replay-screener-table-rank,
.walkthrough-chart .replay-screener-table-pair { fill: #edf0f6; font: 400 14px "Courier New",monospace; }
.walkthrough-chart .replay-screener-table-row.is-example-row { filter: drop-shadow(0 0 5px rgba(237,194,90,.34)) brightness(1.08); }
.walkthrough-chart .replay-screener-table-row.is-example-row rect { stroke: #edc25a; stroke-width: 1.25; stroke-opacity: .78; }
.walkthrough-chart .replay-screener-neutral-outline {
  fill: none;
  stroke: #d4dae3;
  stroke-width: 1.7;
  filter: drop-shadow(0 0 6px rgba(212,218,227,.34));
  pointer-events: none;
}
.walkthrough-chart .replay-screener-table-row.is-neutral-focus { filter: brightness(1.2); }
.walkthrough-chart .replay-screener-table-row.is-neutral-focus rect { fill: #242d38; stroke: #8693a4; stroke-width: 1; }
.walkthrough-chart .replay-screener-table-row.is-summary-positive { filter: drop-shadow(0 0 7px rgba(239,116,235,.72)) brightness(1.15); }
.walkthrough-chart .replay-screener-table-row.is-summary-neutral { filter: brightness(.72); }
.walkthrough-chart .replay-rank-continuity { pointer-events: none; }
.walkthrough-chart .replay-rank-continuity-background { fill: #0e1219; fill-opacity: .985; }
.walkthrough-chart .replay-rank-continuity-divider { stroke: #343b46; stroke-width: 1; opacity: .45; }
.walkthrough-chart .replay-rank-continuity-title {
  fill: #bcc3cf;
  font: 400 12px "Inter",Arial,sans-serif;
  letter-spacing: -.015em;
  opacity: .45;
}
.walkthrough-chart .replay-rank-continuity-zero { stroke: #6c7380; stroke-width: 1.25; opacity: .45; }
.walkthrough-chart .replay-rank-continuity-guide { fill: none; stroke-width: 1.2; opacity: .45; }
.walkthrough-chart .replay-rank-continuity-scale { fill: #bcc3cf; font: 400 11px "Inter",Arial,sans-serif; opacity: .45; }
.walkthrough-chart .replay-rank-continuity-bar { transition: none; }
.walkthrough-chart .replay-rank-continuity-marker {
  stroke: #11151d;
  stroke-width: .8;
  transition: none;
}
.walkthrough-chart .replay-rank-continuity-highlight-band { fill: #edc25a; fill-opacity: .055; }
.walkthrough-chart .replay-rank-continuity-highlight { stroke: #edc25a; stroke-width: 1; stroke-opacity: .68; }
.walkthrough-chart .is-attention-visible { animation: replay-teaching-text-in .52s cubic-bezier(.22,.61,.36,1) both; }
@keyframes replay-teaching-text-in {
  0% { transform: translateY(9px) scale(.965); filter: drop-shadow(0 0 18px rgba(237,194,90,.86)); }
  64% { transform: translateY(-1px) scale(1.012); filter: drop-shadow(0 0 9px rgba(237,194,90,.38)); }
  100% { transform: translateY(0) scale(1); filter: none; }
}
@keyframes replay-callout-attention {
  0% { filter: drop-shadow(0 0 0 rgba(237,194,90,0)); stroke: #edc25a; }
  38% { filter: drop-shadow(0 0 13px rgba(237,194,90,.52)); stroke: #edc25a; }
  100% { filter: none; stroke: #737c89; }
}
@keyframes replay-leader-in {
  from { stroke-dasharray: 1; stroke-dashoffset: 1; }
  to { stroke-dasharray: 1; stroke-dashoffset: 0; }
}
.walkthrough-chart .replay-rank-step.is-teaching-cue { animation: replay-signal-cue .8s ease-out 1; }
.walkthrough-chart .replay-marker-step.is-teaching-cue { animation: replay-marker-cue .78s ease-out 1; }
@keyframes replay-signal-cue {
  0%,100% { filter: none; }
  48% { filter: drop-shadow(0 0 7px rgba(237,194,90,.95)) brightness(1.45); }
}
@keyframes replay-marker-cue {
  0%,100% { filter: none; }
  28%,62% {
    filter:
      drop-shadow(0 0 5px rgba(255,255,255,.95))
      drop-shadow(0 0 13px rgba(5,237,2,1))
      drop-shadow(0 0 24px rgba(5,237,2,.82))
      brightness(1.7);
  }
}
.walkthrough-chart .replay-a-pulse { fill: #edc25a; fill-opacity: .13; stroke: none; opacity: 0; pointer-events: none; transform-box: fill-box; transform-origin: center; }
.walkthrough-chart .replay-a-pulse.is-active { animation: replay-a-pulse .92s ease-out 1; }
@keyframes replay-a-pulse {
  0% { opacity: 0; transform: scaleX(.5); }
  22% { opacity: .95; }
  100% { opacity: 0; transform: scaleX(1.8); }
}
.walkthrough-chart #replay-price-pane-content.is-price-return-focus {
  animation: replay-price-return-focus .5s ease-out 1;
}
.walkthrough-chart .replay-candle-highlight-band.is-price-return-cue {
  animation: replay-price-return-cue .5s ease-out 1;
}
@keyframes replay-price-return-focus {
  0% { filter: brightness(.94); }
  38% { filter: brightness(1.1); }
  100% { filter: brightness(1); }
}
@keyframes replay-price-return-cue {
  0%,100% { fill-opacity: .08; filter: none; }
  38% { fill-opacity: .22; filter: drop-shadow(0 0 8px rgba(237,194,90,.5)); }
}
.walkthrough-player-bar { position: absolute; inset: auto 0 0; z-index: 4; }
.walkthrough-transport { position: relative; display: flex; align-items: end; height: 28px; }
.walkthrough-transport input { appearance: none; -webkit-appearance: none; width: 100%; min-width: 0; height: 28px; margin: 0; border: 0; border-radius: 0; background: linear-gradient(to right, var(--gold-bright) 0 var(--walkthrough-progress, 0%), #69717c var(--walkthrough-progress, 0%) 100%) left bottom / 100% 3px no-repeat; cursor: pointer; }
.walkthrough-transport input::-webkit-slider-runnable-track { height: 28px; background: transparent; }
.walkthrough-transport input::-moz-range-track { height: 28px; background: transparent; }
.walkthrough-transport input::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 12px; height: 12px; margin-top: 8px; border: 2px solid #0e1219; border-radius: 50%; background: var(--gold-bright); opacity: 0; transform: translateY(10px); }
.walkthrough-transport input::-moz-range-thumb { width: 10px; height: 10px; border: 2px solid #0e1219; border-radius: 50%; background: var(--gold-bright); opacity: 0; transform: translateY(10px); }
.walkthrough-transport input:hover::-webkit-slider-thumb, .walkthrough-transport input:focus-visible::-webkit-slider-thumb, .walkthrough-transport input:active::-webkit-slider-thumb { opacity: 1; }
.walkthrough-transport input:hover::-moz-range-thumb, .walkthrough-transport input:focus-visible::-moz-range-thumb, .walkthrough-transport input:active::-moz-range-thumb { opacity: 1; }
.walkthrough-transport .walkthrough-time { position: absolute; left: clamp(48px, var(--walkthrough-time-position, 0%), calc(100% - 48px)); bottom: 20px; transform: translateX(-50%); min-width: 86px; padding: 4px 6px; border: 1px solid #69717c; border-radius: 4px; background: #151a22; color: #f4f1e9; box-shadow: 0 2px 8px #0008; font: 600 12px "DM Mono",monospace; text-align: center; white-space: nowrap; pointer-events: none; opacity: 0; visibility: hidden; transition: opacity .12s ease, visibility .12s ease; }
.walkthrough-transport input:hover + .walkthrough-time, .walkthrough-transport input:focus + .walkthrough-time, .walkthrough-transport input:active + .walkthrough-time { opacity: 1; visibility: visible; }
.walkthrough-end-actions a, .walkthrough-end-actions button { min-height: 44px; border: 1px solid var(--line); border-radius: 8px; padding: .5rem .85rem; display: inline-flex; align-items: center; justify-content: center; color: var(--ink); background: #151a22; font: inherit; font-size: .78rem; font-weight: 600; line-height: 1.15; text-decoration: none; cursor: pointer; white-space: nowrap; }
.walkthrough-end-actions { position: absolute; z-index: 5; left: 50%; bottom: var(--walkthrough-end-bottom, 7%); transform: translateX(-50%); width: var(--walkthrough-end-width, min(448px, calc(100% - 24px))); display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .25rem .5rem; padding: .5rem; border: 1px solid #69717c66; border-radius: 12px; background: #0e1219f5; box-shadow: 0 8px 24px #0005; }
.walkthrough-end-actions button { grid-column: 1 / -1; min-height: 32px; padding: .25rem .4rem; border: 0; border-radius: 4px; background: transparent; color: var(--ink); font-size: .8rem; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; white-space: normal; }
.walkthrough-end-actions a:hover { filter: brightness(1.06); }
.walkthrough-end-actions a { color: #090b0f; border-color: #f4ce6d; background: var(--gold-bright); }
.walkthrough-end-actions button:hover, .walkthrough-end-actions button:focus-visible { color: var(--gold-bright); }
.walkthrough-more { scroll-margin-top: 110px; border-top: 1px solid var(--line); margin-top: .85rem; }
.walkthrough-more > summary { font-weight: 600; }
.home-walkthrough[data-started="true"] .walkthrough-more:not([open]) { height: 0; overflow: hidden; margin: 0; border: 0; }
.home-walkthrough[data-started="true"] .walkthrough-more:not([open]) > summary { display: none; }
.walkthrough-more-body { padding-bottom: .25rem; }
.walkthrough-breakdown { max-width: 76ch; margin: .5rem auto 1.5rem; text-align: left; }
.walkthrough-breakdown h3 { margin: 0 0 .8rem; font-size: clamp(1.3rem, 2.5vw, 1.8rem); line-height: 1.25; }
.walkthrough-breakdown > section { padding-block: 1.15rem; border-bottom: 1px solid var(--line); }
.walkthrough-breakdown h4 { margin: 0 0 .6rem; font-size: 1.05rem; color: var(--ink); }
.walkthrough-breakdown p { margin: .6rem 0 0; color: var(--muted); font-size: .95rem; line-height: 1.75; }
.walkthrough-breakdown strong { color: var(--ink); font-weight: 600; }
.walkthrough-breakdown code { font-size: .9em; overflow-wrap: anywhere; }
.walkthrough-breakdown .walkthrough-breakdown-equation { color: var(--ink); }
.walkthrough-breakdown a { color: var(--gold-bright); text-decoration: underline; text-underline-offset: .2em; }
.walkthrough-breakdown .walkthrough-breakdown-links { margin-top: 1.25rem; }
.walkthrough-values { border-top: 1px solid var(--line); }
.walkthrough-values > p { margin: 0 0 1rem; line-height: 1.7; }
.walkthrough-readings { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin: .25rem 0 1.25rem; }
.walkthrough-reading-card h4 { margin: 0 0 .75rem; font-size: 1rem; color: var(--gold-bright); }
.walkthrough-reading-card dl { margin: 0; }
.walkthrough-reading-card dl > div { display: flex; justify-content: space-between; gap: 1rem; padding: .5rem 0; border-bottom: 1px solid var(--line); }
.walkthrough-reading-card dt { color: var(--muted); }
.walkthrough-reading-card dd { margin: 0; font: 600 1.15rem "DM Mono",monospace; }
.walkthrough-reading-card p { font-size: .85rem; color: var(--muted); margin: .75rem 0 0; }
.home-walkthrough table { width: 100%; border-collapse: collapse; font-size: .85rem; font-variant-numeric: tabular-nums; }
.home-walkthrough caption { text-align: left; font-weight: 600; padding: 0 0 .65rem; }
.home-walkthrough th, .home-walkthrough td { text-align: left; padding: .45rem .6rem; border-bottom: 1px solid var(--line); }
.home-walkthrough thead th { font-size: .75rem; color: var(--muted); }
.home-walkthrough tbody td { font-family: "DM Mono",monospace; }
.home-walkthrough tbody th { font-weight: 400; }
.home-walkthrough tfoot th, .home-walkthrough tfoot td { border-top: 2px solid var(--line); font-weight: 600; }
.walkthrough-pairs tbody tr.is-positive { background: #d619d033; }
.walkthrough-pairs tbody tr.is-negative { background: #9aa00024; }
.walkthrough-pairs tbody { font-family: "Courier New",monospace; }
.walkthrough-pairs tfoot td { color: #ef74eb; }
.walkthrough-occurrences, .walkthrough-method { border-top: 1px solid var(--line); }
.home-walkthrough summary { padding: 1rem 0; color: var(--gold-bright); font-size: .9rem; cursor: pointer; }
.walkthrough-occurrences > p, .walkthrough-method p, .walkthrough-method li { color: var(--muted); font-size: .85rem; line-height: 1.7; }
.walkthrough-occurrence-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.walkthrough-occurrence-grid > div { min-width: 0; }
.walkthrough-occurrence-grid h4 { margin: .5rem 0; }
.walkthrough-occurrence-grid p { color: var(--muted); font-size: .8rem; }
.walkthrough-occurrence-grid td:not(:first-child) { text-align: right; }
.walkthrough-source-note { color: var(--muted); font-size: .8rem; line-height: 1.7; padding-block: .75rem; margin: 0; }
.walkthrough-source-note a { color: var(--gold-bright); }
.walkthrough-method ol { padding-left: 1.25rem; }
.walkthrough-method li + li { margin-top: .5rem; }
@media (min-width: 701px) {
  /* Playback is capped to the usable viewport. A separate landscape treatment
     below keeps the complete chart and every control visible in short windows. */
  .home-walkthrough.is-height-fitted .walkthrough-player {
    height: var(--walkthrough-fit-height, calc(100svh - 96px));
    max-height: var(--walkthrough-fit-height, calc(100svh - 96px));
    scroll-margin-top: var(--walkthrough-scroll-offset, 84px);
    padding: clamp(.6rem,1.5svh,1.1rem);
    display: flex;
    flex-direction: column;
  }
  .home-walkthrough.is-height-fitted .walkthrough-title {
    flex: 0 0 auto;
    margin-bottom: clamp(.45rem,1.2svh,.85rem);
    font-size: clamp(1.45rem,4svh,2.65rem);
  }
  .home-walkthrough.is-height-fitted .walkthrough-chart-stage {
    min-height: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
  }
  .home-walkthrough.is-height-fitted .walkthrough-chart-scroll {
    min-height: 120px;
    flex: 1 1 auto;
  }
  /* The player has a fixed viewport height during playback. Fit the complete
     SVG inside that space in both dimensions so later panes and the anchored
     time scale can never be clipped behind the transport controls. */
  .home-walkthrough.is-height-fitted .walkthrough-chart-scroll {
    display: grid;
    place-items: center;
    overflow: hidden;
  }
  .home-walkthrough.is-height-fitted .walkthrough-chart-scroll .walkthrough-chart {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
  }
  .home-walkthrough.is-height-fitted .walkthrough-chart-scroll .walkthrough-chart svg {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
  }
}
@media (min-width: 1180px) and (max-height: 800px) {
  /* A wide, short browser has spare horizontal room but very little vertical
     room. Put the lesson and transport in a right rail while fitting the
     complete chart in the remaining space. */
  .home-walkthrough.is-landscape-player .walkthrough-player {
    height: var(--walkthrough-fit-height, calc(100svh - 96px));
    max-height: var(--walkthrough-fit-height, calc(100svh - 96px));
    padding: .45rem;
    display: grid;
    /* Keep the guidance readable without surrendering nearly a third of the
       player to a mostly empty rail. */
    grid-template-columns: minmax(0,1fr) clamp(300px,23vw,370px);
    grid-template-rows: auto minmax(0,1fr);
    gap: .45rem;
    overflow: hidden;
  }
  .home-walkthrough.is-landscape-player .walkthrough-title {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    padding: .25rem .55rem .15rem;
    text-align: left;
    font-size: clamp(1rem,3.1svh,1.45rem);
    letter-spacing: -.025em;
  }
  .home-walkthrough.is-landscape-player .walkthrough-chart-stage { display: contents; }
  .home-walkthrough.is-landscape-player .walkthrough-chart-scroll {
    grid-column: 1;
    grid-row: 1 / 3;
    min-width: 0;
    min-height: 0;
    height: 100%;
    border: 1px solid var(--line);
    border-radius: 9px;
    display: grid;
    place-items: center;
    overflow: hidden;
  }
  .home-walkthrough.is-landscape-player .walkthrough-chart-scroll.is-landscape-fit .walkthrough-chart {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    overflow: hidden;
  }
  .home-walkthrough.is-landscape-player .walkthrough-chart-scroll.is-landscape-fit .walkthrough-chart svg {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    transform: none !important;
  }
  .home-walkthrough.is-landscape-player .walkthrough-more:not([open]) { display: none !important; }
}
@media (max-width: 700px) {
  /* The compact centered control stays above the enlarged ratio table. */
  .walkthrough-poster-overlay { padding: .5rem; }
  .walkthrough-poster-overlay button { min-height: 44px; padding: .4rem .5rem; grid-template-columns: auto auto auto; grid-template-rows: auto; column-gap: .25rem; }
  .walkthrough-poster-overlay button > span { grid-row: auto; font-size: 1rem; line-height: 1; }
  .walkthrough-poster-overlay strong { align-self: center; font-size: .8rem; white-space: nowrap; }
  .walkthrough-poster-overlay small { align-self: center; line-height: 1.2; white-space: nowrap; }
  .walkthrough-readings, .walkthrough-occurrence-grid { grid-template-columns: 1fr; gap: 1rem; }
  .walkthrough-surface-cue { width: 44px; height: 44px; }
  .walkthrough-surface-cue [data-replay-play-symbol] { font-size: 1rem; }
  .walkthrough-end-actions { padding: .35rem; gap: .15rem .35rem; }
  .walkthrough-end-actions a { min-height: 40px; padding: .4rem .5rem; font-size: .74rem; }
  .walkthrough-end-actions button { min-height: 28px; padding: .2rem; font-size: .74rem; }
}
@media (max-width: 400px) {
  .walkthrough-end-actions { padding: .2rem; }
  .walkthrough-end-actions a { min-height: 32px; padding: .25rem; font-size: .68rem; }
  .walkthrough-end-actions button { min-height: 24px; font-size: .68rem; }
}
@media (prefers-reduced-motion: reduce) {
  .walkthrough-chart .replay-focus-node,
  .walkthrough-chart .replay-stock-path,
  .walkthrough-chart .replay-candle-highlight,
  .walkthrough-chart .replay-candle-highlight-band,
  .walkthrough-chart #replay-teaching-candle-a,
  .walkthrough-chart .replay-callout,
  .walkthrough-chart .replay-callout-dimmer,
  .walkthrough-chart .replay-teaching-dimmer { transition: none; }
  .walkthrough-chart .replay-rank-lesson-region,
  .walkthrough-chart .replay-rank-guide,
  .walkthrough-chart .replay-rank-guide-label,
  .walkthrough-chart .replay-rank-lesson-zero-glow,
  .walkthrough-chart .replay-rank-lesson-zero,
  .walkthrough-chart .replay-rank-direction-copy,
  .walkthrough-chart .replay-rank-lesson-copy,
  .walkthrough-chart .replay-rank-lesson-title,
  .walkthrough-chart .replay-rank-extreme-leader,
  .walkthrough-chart .replay-rank-extreme-copy { transition: none; }
  .walkthrough-chart .replay-callout.is-active .replay-callout-leader { animation: none; }
  .walkthrough-chart .replay-screener-lesson-copy.is-attention-visible .replay-screener-lesson-pointer { animation: none; }
  .walkthrough-chart .replay-callout.is-active .replay-callout-box,
  .walkthrough-chart .is-attention-visible { animation: none; }
  .walkthrough-chart .replay-rank-step.is-teaching-cue,
  .walkthrough-chart .replay-marker-step.is-teaching-cue { animation: none; }
  .walkthrough-chart .replay-a-pulse.is-active,
  .walkthrough-chart #replay-price-pane-content.is-price-return-focus,
  .walkthrough-chart .replay-candle-highlight-band.is-price-return-cue { animation: none; }
  .walkthrough-chart .replay-candle-step,
  .walkthrough-chart .replay-rank-step,
  .walkthrough-chart .replay-marker-step,
  .walkthrough-chart .replay-native-table-row,
  .walkthrough-chart .replay-native-table,
  .walkthrough-chart .replay-occurrence-table { transition: none; }
  .walkthrough-chart svg,
  .walkthrough-chart,
  .walkthrough-surface-cue,
  .walkthrough-chart-scroll.is-mobile-framed .walkthrough-chart,
  .walkthrough-chart #replay-date-axis { transition: none; }
  .walkthrough-chart-scroll { scroll-behavior: auto; }
}
