/* ═══ MARKET REPLAY ON CHART (batch REPLAY2, 2026-10-23: the redesign) ═══════════════════════════════════════════════
   The owner on the first build: "it looked like a kid's game ... that classic AI look"; on phones "a stack of big rounded
   buttons"; on the start screen "the search bar looks really crazy and wide" and the sectors covered the results. This
   is the professional replay tool he asked for: panels that butt together with 1px lines, no floating cards, one dense
   type scale with tabular figures, 4px corners on controls and none on panels, the page scrolling as one.

   Three screens. THE LAUNCHER (the last row of the chart's header while US stocks are closed): a narrow stock search
   whose list shows stocks first (Recent, Yours, Popular, then what is typed), sectors folded under "Browse by sector"
   and never over the results; the five sessions as one segmented row; the allowance line; one filled Start replay.
   THE REPLAY: a slim top bar (tag, symbol, date, red Exit replay), the chart taking the screen with a thin tool row
   (candle size, type, indicators, zoom, the price), the order ticket docked on the right like a broker's, a transport
   bar under the chart (Play, Step, a speed dropdown, the 9:30 to 4:00 timeline, the New York clock), the account strip,
   open orders and the log. THE RESULT: the figures in one strip. On a phone the chart is on top, the transport bar is
   fixed at the foot with Buy and Sell, the ticket and the chart tools open as sheets above that bar.

   Colours are the chart page's own variables (--cdp-*, light and dark). Teal for the chosen state (outlined) and the
   one primary action; green only for Buy and a rise, red for Sell and a fall; Pro's orange is drawn by the Pro offer
   itself. Every control has a visible border. Phone rules live only in the one @media block at the end. */

:root {
  --rp-acc: #0F6E76;
  --rp-acc-on: #FFFFFF;
  --rp-acc-soft: #E3F3F4;
  --rp-exit: #B42318;
  --rp-exit-line: #7A1A12;
  --rp-r: var(--jag-radius, 2px);   /* SHARP1: follows css/tokens.css */
  --rp-bar-h: 0px;
}
html[data-chart-theme="dark"] {
  --rp-acc: #57CFD8;
  --rp-acc-on: #06171A;
  --rp-acc-soft: #0E2B32;
  --rp-exit: #D83A2E;
  --rp-exit-line: #F08A82;
}

/* ── type and controls: one family ────────────────────────────────────────────────────────────────────────────── */
.rp, .rp-band { font-variant-numeric: tabular-nums; color: var(--cdp-text, #132033); }
.rp-lbl { display: block; margin: 0; font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--cdp-muted, #667085); line-height: 1.2; }
.rp-up { color: var(--cdp-green-text, #15803d); }
.rp-down { color: var(--cdp-red, #dc2626); }
.rp-btn {
  appearance: none; -webkit-appearance: none; display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  box-sizing: border-box; min-height: 32px; padding: 0 10px; margin: 0;
  border: 1px solid var(--cdp-border, #75828F); border-radius: var(--rp-r);
  background: var(--cdp-panel, #fff); color: var(--cdp-text, #132033);
  font: inherit; font-size: 12.5px; font-weight: 600; line-height: 1.2; white-space: nowrap; cursor: pointer;
}
.rp-btn:hover { border-color: var(--cdp-text, #132033); }
.rp-btn.rp-small { min-height: 28px; padding: 0 8px; font-size: 12px; }
.rp-btn.rp-primary { border-color: var(--rp-acc); background: var(--rp-acc); color: var(--rp-acc-on); font-weight: 700; }
.rp-btn.rp-primary:hover { filter: brightness(1.08); border-color: var(--rp-acc); }
.rp-btn[aria-pressed="true"], .rp-btn[aria-checked="true"], .rp-chip[aria-checked="true"] { border-color: var(--rp-acc); color: var(--rp-acc); box-shadow: inset 0 0 0 1px var(--rp-acc); }
.rp-btn[data-locked="1"], .rp-seg-btn[data-locked="1"] { color: var(--cdp-muted, #667085); }
.rp-btn .jpo-mark, .rp-seg-btn .jpo-mark, .rp-opt .jpo-mark { margin-left: 4px; }
.rp-btn:focus-visible, .rp-seg-btn:focus-visible, .rp-chip:focus-visible, .rp-opt:focus-visible, .rp-in:focus-visible, .rp-play:focus-visible, .rp-cta:focus-visible, .rp-x:focus-visible, .rp-tbuy:focus-visible, .rp-tsell:focus-visible { outline: 2px solid var(--rp-acc); outline-offset: 1px; }
.rp-btn svg, .rp-play svg { flex: 0 0 auto; }
/* the segmented row: controls sharing their edges, the chosen one outlined in teal */
.rp-segrow { display: inline-flex; align-items: stretch; min-width: 0; }
.rp-seg-btn {
  appearance: none; -webkit-appearance: none; display: inline-flex; align-items: center; justify-content: center; gap: 4px;
  box-sizing: border-box; min-height: 32px; padding: 0 10px; margin: 0 0 0 -1px; position: relative;
  border: 1px solid var(--cdp-border, #75828F); border-radius: 0;
  background: var(--cdp-panel, #fff); color: var(--cdp-text, #132033);
  font: inherit; font-size: 12.5px; font-weight: 600; line-height: 1.2; white-space: nowrap; cursor: pointer;
}
.rp-seg-btn:first-child { margin-left: 0; border-radius: var(--rp-r) 0 0 var(--rp-r); }
.rp-seg-btn:last-child { border-radius: 0 var(--rp-r) var(--rp-r) 0; }
.rp-seg-btn:only-child { border-radius: var(--rp-r); }
.rp-seg-btn:hover { border-color: var(--cdp-text, #132033); z-index: 1; }
.rp-seg-btn[aria-checked="true"], .rp-seg-btn[aria-pressed="true"] { border-color: var(--rp-acc); color: var(--rp-acc); box-shadow: inset 0 0 0 1px var(--rp-acc); z-index: 2; }
.rp-segrow.rp-fill .rp-seg-btn { flex: 1 1 0; min-width: 0; padding: 0 4px; }
/* text fields and the native select before the site's dropdown dresses it */
.rp-in, .rp-sel {
  appearance: none; -webkit-appearance: none; box-sizing: border-box; width: 100%; min-height: 32px; padding: 0 10px; margin: 0;
  border: 1px solid var(--cdp-border, #75828F); border-radius: var(--rp-r);
  background: var(--cdp-panel, #fff); color: var(--cdp-text, #132033);
  font: inherit; font-size: 13px; font-weight: 600; line-height: 1.2;
}
.rp-in::placeholder { color: var(--cdp-muted, #667085); opacity: 1; font-weight: 500; }
.rp-in:hover, .rp-sel:hover { border-color: var(--cdp-text, #132033); }
.rp .jsel, .rp-band .jsel { display: flex; min-width: 0; }
.rp .jsel-btn, .rp-band .jsel-btn {
  width: 100%; box-sizing: border-box; min-height: 32px; padding: 0 10px; border-radius: var(--rp-r);
  border: 1px solid var(--cdp-border, #75828F) !important; background: var(--cdp-panel, #fff); color: var(--cdp-text, #132033);
  font-size: 12.5px; font-weight: 600;
}
.rp .jsel-btn:hover, .rp .jsel-btn[aria-expanded="true"] { border-color: var(--cdp-text, #132033) !important; }
.rp .jsel-pop, .rp-band .jsel-pop { border-radius: var(--rp-r); padding: 4px; min-width: 150px; }
.rp .jsel-opt, .rp-band .jsel-opt { border-radius: 2px; font-size: 12.5px; padding: 7px 10px; }
.rp-tag {
  display: inline-flex; align-items: center; flex: 0 0 auto; height: 20px; padding: 0 6px; border: 1px solid var(--rp-acc); border-radius: 3px;
  background: var(--rp-acc-soft); color: var(--cdp-text, #132033);
  font-size: 10px; font-weight: 700; letter-spacing: .08em; line-height: 1; text-transform: uppercase;
}
.rp-x {
  appearance: none; -webkit-appearance: none; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box;
  width: 32px; min-height: 32px; padding: 0; margin: 0; border: 1px solid var(--cdp-border, #75828F); border-radius: var(--rp-r);
  background: var(--cdp-panel, #fff); color: var(--cdp-text, #132033); font: inherit; font-size: 13px; line-height: 1; cursor: pointer;
}
.rp-x:hover { border-color: var(--cdp-text, #132033); }
.rp-chip {
  appearance: none; -webkit-appearance: none; display: inline-flex; align-items: center; justify-content: center; gap: 4px;
  box-sizing: border-box; min-height: 28px; padding: 0 8px; margin: 0;
  border: 1px solid var(--cdp-border, #75828F); border-radius: var(--rp-r);
  background: var(--cdp-panel, #fff); color: var(--cdp-text, #132033);
  font: inherit; font-size: 12px; font-weight: 600; line-height: 1.2; cursor: pointer; white-space: nowrap;
}
.rp-chip small { font-size: 11px; font-weight: 500; color: var(--cdp-muted, #667085); }
.rp-chip:hover { border-color: var(--cdp-text, #132033); }
.rp-none { margin: 0; padding: 10px 12px; font-size: 12.5px; font-weight: 500; color: var(--cdp-muted, #667085); }

/* ── the launcher: the last row of the chart's header panel ────────────────────────────────────────────────────── */
.rp-band { margin: 0; padding: 0; border-top: 1px solid var(--cdp-hairline, #e6ebf2); }
.rp-band[hidden] { display: none; }
.rp-lhead { display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 0 14px; border-bottom: 1px solid var(--cdp-hairline, #e6ebf2); }
.rp-band-l { min-width: 0; font-size: 12.5px; font-weight: 500; color: var(--cdp-muted, #667085); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rp-band-l b { font-weight: 700; color: var(--cdp-text, #132033); }
.rp-lhead .rp-x { margin-left: auto; }
/* the door to /replay (batch REPLAY3): one bordered link in the start screen's head, before the X */
.rp-pagelink { margin-left: auto; align-self: center; white-space: nowrap; text-decoration: none; }
.rp-pagelink + .rp-x { margin-left: 0; }
.rp-lbody { display: grid; grid-template-columns: minmax(280px, 360px) minmax(0, 1fr); align-items: start; }
.rp-lpick { padding: 12px 14px 14px; min-width: 0; }
.rp-lsess { padding: 12px 14px 14px; min-width: 0; border-left: 1px solid var(--cdp-hairline, #e6ebf2); align-self: stretch; }
.rp-lpick .rp-lbl, .rp-lsess .rp-lbl { margin-bottom: 6px; }
.rp-search { position: relative; }
.rp-search svg { position: absolute; left: 10px; top: 50%; width: 14px; height: 14px; margin-top: -7px; color: var(--cdp-muted, #667085); pointer-events: none; }
.rp-search .rp-in { padding-left: 30px; min-height: 36px; }
.rp-sessions { display: flex; flex-wrap: wrap; margin: 0 0 10px; }
.rp-sessions .rp-seg-btn { min-height: 36px; padding: 0 12px; }
.rp-allow { margin: 0 0 10px; font-size: 12px; font-weight: 500; line-height: 1.45; color: var(--cdp-muted, #667085); }
.rp-allow.rp-strong { color: var(--cdp-text, #132033); font-weight: 600; }
.rp-start { min-height: 36px; padding: 0 18px; font-size: 13px; }
/* a stock that is not stored loads on Start (batch REPLAYANY): the button says "Loading the session" and keeps its look */
.rp-start[aria-busy="true"] { cursor: progress; }
/* the stock list: in the flow under the field, never over anything; stocks first, sectors folded at its foot */
.rp-drop { margin: 6px 0 0; border: 1px solid var(--cdp-border, #75828F); border-radius: var(--rp-r); background: var(--cdp-panel, #fff); overflow: hidden; }
.rp-drop[hidden] { display: none; }
.rp-dlist { max-height: 264px; overflow-y: auto; overscroll-behavior: contain; }
.rp-group + .rp-group { border-top: 1px solid var(--cdp-hairline, #e6ebf2); }
.rp-glbl { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 26px; padding: 0 12px; background: var(--cdp-panel-2, #fbfcfe); border-bottom: 1px solid var(--cdp-hairline, #e6ebf2); font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--cdp-muted, #667085); }
.rp-opts { display: block; margin: 0; padding: 0; }
.rp-opt {
  appearance: none; -webkit-appearance: none; display: flex; align-items: center; gap: 10px; box-sizing: border-box; width: 100%;
  min-height: 34px; padding: 0 12px; margin: 0; text-align: left;
  border: 0 solid var(--cdp-hairline, #e6ebf2); border-top-width: 1px; border-radius: 0;
  background: var(--cdp-panel, #fff); color: var(--cdp-text, #132033); font: inherit; font-size: 12.5px; cursor: pointer;
}
.rp-glbl + .rp-opts { margin-top: -1px; }   /* the label's own line is the first row's top edge */
.rp-group-bare > .rp-opts { margin-top: -1px; }   /* a chosen sector's list has no label: the first row's line tucks under the frame */
.rp-opt b { font-weight: 700; flex: 0 0 auto; min-width: 48px; }
.rp-opt span { font-weight: 500; color: var(--cdp-text, #132033); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; flex: 1 1 auto; }
.rp-opt em { font-style: normal; font-size: 11px; font-weight: 500; color: var(--cdp-muted, #667085); flex: 0 0 auto; }
.rp-opt:hover { background: var(--cdp-panel-2, #fbfcfe); }
.rp-opt[aria-selected="true"] { box-shadow: inset 2px 0 0 var(--rp-acc); color: var(--rp-acc); }
.rp-opt[aria-selected="true"] span { color: var(--rp-acc); }
.rp-dfoot { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 36px; padding: 0 8px 0 12px; border-top: 1px solid var(--cdp-border, #75828F); background: var(--cdp-panel-2, #fbfcfe); }
.rp-dfoot .rp-none { padding: 0; font-size: 11.5px; }
.rp-sectors { display: flex; flex-wrap: wrap; gap: 6px; padding: 8px 12px 10px; border-top: 1px solid var(--cdp-hairline, #e6ebf2); background: var(--cdp-panel-2, #fbfcfe); }

/* ── the replay ─────────────────────────────────────────────────────────────────────────────────────────────────── */
.rp { box-sizing: border-box; margin: 0; padding: 0; position: relative; background: var(--cdp-panel, #fff);
  scroll-margin-top: calc(var(--cdp-appbar-h, 88px) + var(--jag-day-strip-h, 0px)); }
.rp[hidden] { display: none; }
.rp-top { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 0 14px; border-bottom: 1px solid var(--cdp-hairline, #e6ebf2); }
.rp-title { display: inline-flex; align-items: baseline; gap: 6px; min-width: 0; font-size: 14px; font-weight: 700; letter-spacing: -.01em; white-space: nowrap; }
.rp-title small { font-size: 12.5px; font-weight: 500; color: var(--cdp-muted, #667085); overflow: hidden; text-overflow: ellipsis; }
.rp-sess { font-size: 12.5px; font-weight: 500; color: var(--cdp-muted, #667085); white-space: nowrap; }
.rp-grow { flex: 1 1 auto; }
.rp-exit, .rp .rp-exit { border-color: var(--rp-exit-line); background: var(--rp-exit); color: #fff; font-weight: 700; }
.rp-exit:hover, .rp .rp-exit:hover { filter: brightness(.94); border-color: var(--rp-exit-line); }
.rp .rp-exit:focus-visible { outline-color: var(--rp-exit); }

/* the chart column and the ticket */
.rp-stage { display: grid; grid-template-columns: minmax(0, 1fr) 288px; align-items: stretch; }
.rp-chartcol { min-width: 0; display: flex; flex-direction: column; }
.rp-toolrow { display: flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 10px; border-bottom: 1px solid var(--cdp-hairline, #e6ebf2); }
.rp-tools { display: flex; align-items: center; gap: 8px; min-width: 0; flex: 1 1 auto; }
.rp-tool-group { display: flex; align-items: center; gap: 6px; min-width: 0; }
.rp-tool-group > .rp-lbl { display: none; }
.rp-tools .rp-sheet-head { display: none; }
.rp-more { display: none; }
.rp-tool-type .jsel { width: 124px; }
.rp-tool-ind { position: relative; }
.rp-count { font-weight: 700; color: var(--rp-acc); }
.rp-count:not(:empty)::before { content: ' '; }
.rp-zoom .rp-seg-btn { min-width: 30px; padding: 0 6px; font-size: 15px; }
.rp-quote { display: flex; align-items: baseline; gap: 8px; margin-left: auto; min-width: 0; white-space: nowrap; }
.rp-quote b { font-size: 15px; font-weight: 700; letter-spacing: -.01em; }
.rp-quote span { font-size: 12px; font-weight: 600; }
/* the indicator menu drops under its button, as the site's own dropdowns do */
.rp-indmenu { position: absolute; top: calc(100% + 4px); left: 0; z-index: 30; width: 272px; max-height: 360px; overflow-y: auto;
  border: 1px solid var(--cdp-border, #75828F); border-radius: var(--rp-r); background: var(--cdp-panel, #fff); box-shadow: 0 10px 28px rgba(15, 23, 42, .14); }
html[data-chart-theme="dark"] .rp-indmenu { box-shadow: 0 10px 28px rgba(0, 0, 0, .5); }
.rp-indmenu[hidden] { display: none; }
.rp-indmenu .rp-none { border-top: 1px solid var(--cdp-hairline, #e6ebf2); background: var(--cdp-panel-2, #fbfcfe); font-size: 11.5px; padding: 8px 12px; }
.rp-study { min-height: 32px; }
.rp-study b { min-width: 0; flex: 0 1 auto; }
.rp-study span { flex: 1 1 auto; font-size: 11.5px; color: var(--cdp-muted, #667085); }
.rp-study em { font-style: normal; font-size: 11px; font-weight: 700; color: var(--rp-acc); }
.rp-study[aria-checked="true"] { box-shadow: inset 2px 0 0 var(--rp-acc); }
.rp-canvas { width: 100%; flex: 1 1 auto; min-height: 320px;
  height: clamp(320px, calc(100vh - var(--cdp-appbar-h, 88px) - var(--jag-day-strip-h, 0px) - 196px), 640px); }

/* the ticket: a broker's, docked on the right */
.rp-ticket { min-width: 0; border-left: 1px solid var(--cdp-hairline, #e6ebf2); background: var(--cdp-panel, #fff); display: flex; flex-direction: column; }
.rp-sheet-head { display: flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 12px; border-bottom: 1px solid var(--cdp-hairline, #e6ebf2); }
.rp-sheet-head b { font-size: 12.5px; font-weight: 700; }
.rp-sheet-head > span { font-size: 12.5px; font-weight: 500; color: var(--cdp-muted, #667085); }
.rp-sheet-head .rp-btn { margin-left: auto; }
.rp-ticket-head .rp-btn { display: none; }
.rp-tbody { padding: 12px; }
.rp-seg { display: flex; margin: 0 0 10px; }
.rp-seg .rp-seg-btn { flex: 1 1 0; min-height: 36px; }
.rp-seg3 .rp-seg-btn { min-height: 32px; }
.rp-seg-btn.buy[aria-pressed="true"] { border-color: var(--cdp-green-text, #15803d); color: var(--cdp-green-text, #15803d); box-shadow: inset 0 0 0 1px var(--cdp-green-text, #15803d); background: var(--cdp-green-soft, #eaf8ef); }
.rp-seg-btn.sell[aria-pressed="true"] { border-color: var(--cdp-red, #dc2626); color: var(--cdp-red, #dc2626); box-shadow: inset 0 0 0 1px var(--cdp-red, #dc2626); background: var(--cdp-red-soft, #fcecec); }
.rp-field { margin: 0 0 10px; }
.rp-field[hidden] { display: none; }
.rp-field label { display: block; margin: 0 0 4px; font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--cdp-muted, #667085); }
.rp-field .rp-in { min-height: 36px; font-size: 14px; font-weight: 600; }
.rp-presets { display: flex; margin: 6px 0 0; }
.rp-presets .rp-seg-btn { flex: 1 1 0; min-width: 0; min-height: 28px; padding: 0 2px; font-size: 11.5px; }
.rp-est { margin: 0 0 10px; border-top: 1px solid var(--cdp-hairline, #e6ebf2); }
.rp-kv { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; min-height: 26px; border-bottom: 1px solid var(--cdp-hairline, #e6ebf2); font-size: 12px; }
.rp-kv span { color: var(--cdp-muted, #667085); font-weight: 500; }
.rp-kv b { font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.rp-kv[hidden] { display: none; }
/* the position is in the account strip beside the docked ticket; it shows in the ticket only on a phone, where the
   ticket is a sheet over the strip (owner, 23 Oct 2026: no figure twice on one screen) */
.rp-kv-held { display: none; }
.rp-cta {
  appearance: none; -webkit-appearance: none; box-sizing: border-box; width: 100%; min-height: 40px; padding: 0 12px; margin: 0;
  border: 1px solid var(--cdp-border, #75828F); border-radius: var(--rp-r); background: var(--cdp-panel, #fff); color: var(--cdp-text, #132033);
  font: inherit; font-size: 13px; font-weight: 700; letter-spacing: -.01em; cursor: pointer; line-height: 1.25;
}
.rp-cta.buy  { border-color: var(--cdp-green-text, #15803d); background: var(--cdp-green-text, #15803d); color: #fff; }
.rp-cta.sell { border-color: var(--cdp-red, #dc2626); background: var(--cdp-red, #dc2626); color: #fff; }
.rp-cta:hover { filter: brightness(1.06); }
.rp-sub { margin: 8px 0 0; font-size: 12px; font-weight: 500; color: var(--cdp-muted, #667085); line-height: 1.45; min-height: 17px; }
.rp-sub.rp-strong { color: var(--cdp-text, #132033); font-weight: 600; }
/* owner, 23 Oct 2026: no rules button on an order ticket; one quiet line under the button */
.rp-fine { margin: 8px 0 0; font-size: 11.5px; font-weight: 500; color: var(--cdp-muted, #667085); line-height: 1.4; }

/* the transport bar: play, step, speed, the timeline, the clock */
.rp-transport { position: relative; border-top: 1px solid var(--cdp-hairline, #e6ebf2); border-bottom: 1px solid var(--cdp-hairline, #e6ebf2); background: var(--cdp-panel, #fff); }
.rp-trow { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 14px; }
.rp-play {
  appearance: none; -webkit-appearance: none; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  box-sizing: border-box; min-width: 96px; min-height: 36px; padding: 0 14px; margin: 0;
  border: 1px solid var(--rp-acc); border-radius: var(--rp-r); background: var(--rp-acc); color: var(--rp-acc-on);
  font: inherit; font-size: 13px; font-weight: 700; cursor: pointer;
}
.rp-play:hover { filter: brightness(1.08); }
.rp-step { min-height: 36px; }
.rp-speedfld { display: flex; align-items: center; gap: 8px; }
.rp-speedfld .jsel { width: 132px; }
.rp-speedfld .jsel-btn, .rp-speedfld .rp-sel { min-height: 36px; }
.rp-timeline { display: flex; align-items: center; gap: 10px; flex: 1 1 200px; min-width: 0; }
.rp-timeline > span { font-size: 11px; font-weight: 600; color: var(--cdp-muted, #667085); white-space: nowrap; }
.rp-clock { display: flex; align-items: baseline; gap: 5px; white-space: nowrap; }
.rp-clock b { font-size: 15px; font-weight: 700; letter-spacing: -.01em; }
.rp-clock span { font-size: 10px; font-weight: 700; letter-spacing: .06em; color: var(--cdp-muted, #667085); }
.rp-trade-row { display: none; }
.rp-scrim { display: none; }
/* THE SCRUB (batch REPLAY3): the timeline as a slider on a laptop, dragged or pressed forward to jump the clock. A
   bordered track with the played part in teal (--rp-p, set by the page) and a round handle. */
.rp-scrub {
  -webkit-appearance: none; appearance: none; flex: 1 1 auto; min-width: 0; height: 10px; margin: 0; padding: 0; box-sizing: border-box;
  border: 1px solid var(--cdp-border, #75828F); border-radius: 5px; cursor: pointer;
  background: linear-gradient(to right, var(--rp-acc) 0, var(--rp-acc) var(--rp-p, 0%), var(--cdp-hairline, #e6ebf2) var(--rp-p, 0%), var(--cdp-hairline, #e6ebf2) 100%);
}
.rp-scrub::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 16px; height: 16px; border-radius: 50%; border: 2px solid var(--rp-acc); background: var(--cdp-panel, #fff); box-shadow: 0 1px 3px rgba(15, 23, 42, .25); }
.rp-scrub::-moz-range-thumb { width: 14px; height: 14px; border-radius: 50%; border: 2px solid var(--rp-acc); background: var(--cdp-panel, #fff); }
.rp-scrub::-moz-range-track { background: transparent; border: 0; }
.rp-scrub:focus-visible { outline: 2px solid var(--rp-acc); outline-offset: 3px; }
/* the replay's keys, under the bar on a laptop */
.rp-keys { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; margin: 0; padding: 0 14px 8px; font-size: 11px; font-weight: 600; color: var(--cdp-muted, #667085); }
.rp-keys kbd { display: inline-block; min-width: 18px; margin-left: 8px; padding: 1px 5px; text-align: center; border: 1px solid var(--cdp-border, #75828F); border-bottom-width: 2px; border-radius: 3px; font: inherit; font-size: 10.5px; font-weight: 800; color: var(--cdp-text, #132033); background: var(--cdp-panel-2, #fbfcfe); }
.rp-keys kbd:first-child, .rp-keys kbd + kbd { margin-left: 0; }
/* a session's marks in the picker: Today, Early close 1:00 PM */
.rp-smark { margin-left: 8px; font-size: 11px; font-weight: 700; color: var(--cdp-muted, #667085); }
.rp-seg-btn[aria-checked="true"] .rp-smark { color: var(--rp-acc); }
/* the start screen's History, across the foot of the dialog */
.rp-lhist { grid-column: 1 / -1; padding: 14px 20px 18px; border-top: 1px solid var(--cdp-hairline, #e6ebf2); }
.rp-lhist[hidden] { display: none; }
.rp-hist { list-style: none; margin: 8px 0 0; padding: 0; }
.rp-hist li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; align-items: center; gap: 4px 16px; min-height: 40px; border-bottom: 1px solid var(--cdp-hairline, #e6ebf2); font-size: 13px; }
.rp-hist li:last-child { border-bottom: 0; }
.rp-hsym { min-width: 0; display: flex; align-items: baseline; gap: 8px; }
.rp-hsym small { font-size: 12px; font-weight: 500; color: var(--cdp-muted, #667085); }
.rp-hret { font-weight: 700; text-align: right; min-width: 64px; }
.rp-htr { font-size: 12px; font-weight: 500; color: var(--cdp-muted, #667085); text-align: right; min-width: 56px; }
.rp-hist .rp-btn { grid-column: 4; }

/* the account strip and the lists */
.rp-acct { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-bottom: 1px solid var(--cdp-hairline, #e6ebf2); }
.rp-acct > div { min-width: 0; padding: 8px 14px; border-right: 1px solid var(--cdp-hairline, #e6ebf2); }
.rp-acct > div:last-child { border-right: 0; }
.rp-acct i { display: block; font-style: normal; font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--cdp-muted, #667085); }
.rp-acct b { display: block; margin-top: 2px; font-size: 14px; font-weight: 700; letter-spacing: -.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rp-lists { display: grid; grid-template-columns: 1fr 1fr; }
.rp-listbox { min-width: 0; }
.rp-listbox + .rp-listbox { border-left: 1px solid var(--cdp-hairline, #e6ebf2); }
.rp-listbox h3 { display: flex; align-items: center; margin: 0; min-height: 30px; padding: 0 14px; border-bottom: 1px solid var(--cdp-hairline, #e6ebf2); background: var(--cdp-panel-2, #fbfcfe); font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--cdp-muted, #667085); }
.rp-log { list-style: none; margin: 0; padding: 0; font-size: 12.5px; max-height: 232px; overflow-y: auto; }
.rp-log li { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 32px; padding: 4px 14px; border-bottom: 1px solid var(--cdp-hairline, #e6ebf2); font-weight: 500; }
.rp-log li span { min-width: 0; }
.rp-log li small { flex: 0 0 auto; font-size: 11px; font-weight: 600; color: var(--cdp-muted, #667085); }
.rp-log .rp-empty { color: var(--cdp-muted, #667085); }

/* the result */
.rp-rbody { padding: 16px 14px 18px; }
.rp-result-h { margin: 0 0 2px; font-size: 18px; font-weight: 700; letter-spacing: -.01em; }
.rp-result-sub { margin: 0 0 14px; font-size: 12.5px; font-weight: 500; color: var(--cdp-muted, #667085); }
/* seven or nine figures (best and worst trade only with two sales or more): rows that fill the width whatever the
   count, a hairline between every two (batch REPLAY3) */
.rp-figs { display: flex; flex-wrap: wrap; overflow: hidden; border-top: 1px solid var(--cdp-hairline, #e6ebf2); border-bottom: 1px solid var(--cdp-hairline, #e6ebf2); margin: 0 0 16px; }
.rp-fig { flex: 1 1 200px; min-width: 0; padding: 10px 14px 12px; margin: 0 -1px -1px 0; border-right: 1px solid var(--cdp-hairline, #e6ebf2); border-bottom: 1px solid var(--cdp-hairline, #e6ebf2); }
@media (min-width: 768px) {
  .rp-fig { flex-basis: 22%; }                 /* seven: four, then three */
  .rp-figs-9 .rp-fig { flex-basis: 30%; }      /* nine: three rows of three */
}
/* the replay's trades, in order (batch REPLAY3) */
.rp-trades { margin: 0 0 16px; max-height: 320px; overflow: auto; border: 1px solid var(--cdp-hairline, #e6ebf2); }
.rp-trades table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.rp-trades th { padding: 6px 12px; text-align: left; font-size: 10.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--cdp-muted, #667085); border-bottom: 1px solid var(--cdp-hairline, #e6ebf2); background: var(--cdp-panel-2, #fbfcfe); }
.rp-trades td { padding: 7px 12px; border-bottom: 1px solid var(--cdp-hairline, #e6ebf2); font-weight: 500; white-space: nowrap; }
.rp-trades tr:last-child td { border-bottom: 0; }
.rp-trades .rp-num { text-align: right; font-variant-numeric: tabular-nums; }
.rp-trades .rp-buy { color: var(--cdp-green-text, #15803d); font-weight: 700; }
.rp-trades .rp-sell { color: var(--cdp-red, #dc2626); font-weight: 700; }
.rp-fig i { display: block; font-style: normal; font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--cdp-muted, #667085); }
.rp-fig b { display: block; margin-top: 4px; font-size: 18px; font-weight: 700; letter-spacing: -.01em; white-space: nowrap; }
.rp-fig.rp-fig-main b { font-size: 22px; }
.rp-fig small { display: block; margin-top: 3px; font-size: 11.5px; font-weight: 500; color: var(--cdp-muted, #667085); line-height: 1.4; }
.rp-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.rp-actions .rp-btn { min-height: 36px; padding: 0 16px; }
.rp-src { margin: 14px 0 0; font-size: 12px; font-weight: 500; color: var(--cdp-muted, #667085); line-height: 1.45; }

/* ── replay mode takes the chart's place ───────────────────────────────────────────────────────────────────────────
   The app shell is a grid of one row per panel; while the replay is on, the shell flows as a block holding only the
   header panel, and inside it only the replay, edge to edge under the site header. Nothing is layered over anything. */
body.rp-on .cdp-app { display: block !important; height: auto !important; min-height: 0 !important; padding: 0 !important; }
body.rp-on .cdp-app > :not(#cdpChrome) { display: none !important; }
body.rp-on #cdpChrome { border-radius: 0 !important; border-left: 0 !important; border-right: 0 !important; border-top: 0 !important; box-shadow: none !important; }
body.rp-on #cdpChrome > :not(#cdpReplaySlot) { display: none !important; }
body.rp-on #cdpPhoneDock, body.rp-on #mobileTradeDock, body.rp-on #chartHoldingCard, body.rp-on #cdpPhoneTabs { display: none !important; }
/* The footer sits at the foot of the window when a replay or its result is shorter than the screen (owner, 17 Oct 2026). */
@media (min-width: 768px) {
  body.rp-on .cdp-app { min-height: calc(100vh - 170px) !important; }
}

/* ── phones ────────────────────────────────────────────────────────────────────────────────────────────────────── */
/* ── the Pro offer in the band (batch SMALL1, 23 Oct 2026): Free has no replays ─────────────────────────────────────
   What Pro gives here in one line, then the free try (teal, js/features/try-offer.js, only while it is on) and Get Pro
   in Pro's own colour, as the Portfolio view lock has them. Nothing greyed; the band's close still works. */
.rp-lbody.rp-offer { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; padding: 14px; }
.rp-offer-text { flex: 1 1 340px; min-width: 0; }
.rp-offer-t { margin: 0 0 4px; font-size: 14.5px; font-weight: 700; line-height: 1.35; color: var(--cdp-text, #132033); }
.rp-offer-l { margin: 0; font-size: 12.5px; font-weight: 500; line-height: 1.5; color: var(--cdp-muted, #667085); }
.rp-offer-go { display: flex; flex-direction: column; align-items: stretch; flex: 0 1 280px; min-width: 0; }
.rp-offer-go .jtry { margin: 0 0 8px; }
.rp-offer-go .jtry .jtry-go { width: 100%; }
.rp-btn.rp-getpro {
  min-height: 40px; padding: 0 16px; border: 1.5px solid var(--jag-pro-line, #BB5C2D); background: var(--cdp-panel, #fff);
  color: var(--jag-pro-text, #A04F26); font-size: 14px; font-weight: 800; text-decoration: none;
}
.rp-btn.rp-getpro:hover { background: var(--jag-pro-tint, #FBEEE7); border-color: var(--jag-pro-line, #BB5C2D); }
html[data-chart-theme="dark"] .rp-btn.rp-getpro { background: var(--cdp-panel, #151d29); border-color: #FF9440; color: #FF9440; }
html[data-chart-theme="dark"] .rp-btn.rp-getpro:hover { background: #2A1B12; }

@media (max-width: 767px) {
  /* the Pro offer in the band: one column, both buttons the full width and 44px or more */
  .rp-lbody.rp-offer { padding: 12px; gap: 12px; }
  .rp-offer-text, .rp-offer-go { flex: 1 1 100%; }
  .rp-btn.rp-getpro { min-height: 48px; }
  .rp-btn, .rp-seg-btn, .rp-chip, .rp-opt, .rp-in, .rp-sel, .rp-x, .rp .jsel-btn, .rp-band .jsel-btn, .rp-field .rp-in, .rp-search .rp-in,
  .rp-btn.rp-small, .rp-presets .rp-seg-btn, .rp-zoom .rp-seg-btn, .rp-seg3 .rp-seg-btn, .rp-study, .rp-play, .rp-step, .rp-cta, .rp-speedfld .jsel-btn, .rp-speedfld .rp-sel,
  .rp-sessions .rp-seg-btn, .rp-sectors .rp-chip { min-height: 44px; }
  .rp-x { width: 44px; }
  /* the launcher: one column, the list under the field, the sessions as wrapped chips */
  .rp-lhead { min-height: 44px; padding: 0 12px; }
  .rp-band-l { white-space: normal; font-size: 12px; line-height: 1.35; }
  .rp-lbody { grid-template-columns: 1fr; }
  .rp-lpick, .rp-lsess { padding: 12px; }
  .rp-lsess { border-left: 0; border-top: 1px solid var(--cdp-hairline, #e6ebf2); }
  .rp-sessions { gap: 6px; }
  .rp-sessions .rp-seg-btn { margin: 0; border-radius: var(--rp-r); flex: 1 1 30%; padding: 0 8px; }
  .rp-start { width: 100%; min-height: 48px; font-size: 14px; }
  .rp-dlist { max-height: 240px; }
  .rp-glbl { min-height: 28px; }
  .rp-dfoot { min-height: 44px; }
  /* the replay: the chart first, the transport fixed at the foot, the ticket and the chart tools as sheets above it */
  /* the bar holds the scrub's row too (batch REPLAY3, measured: 155px, the scrub's row and Play's 101px of it) */
  .rp { --rp-bar-h: 155px; --rp-trow-h: 101px; padding-bottom: calc(var(--rp-bar-h) + env(safe-area-inset-bottom, 0px)); }
  .rp-top { min-height: 48px; padding: 0 12px; gap: 8px; }
  .rp-title { font-size: 13.5px; }
  .rp-sess { font-size: 12px; }
  .rp-exit { padding: 0 10px; }
  .rp-stage { grid-template-columns: 1fr; }
  .rp-toolrow { min-height: 48px; padding: 0 12px; }
  .rp-quote { margin-left: 0; }
  .rp-more { display: inline-flex; margin-left: auto; }
  .rp-canvas { height: 300px; min-height: 0; flex: 0 0 auto; }
  .rp-tools, .rp-ticket {
    /* above the site's sticky header (z-index 100) and clear of it: a sheet never runs under the header */
    display: none; position: fixed; left: 0; right: 0; bottom: calc(var(--rp-bar-h) + env(safe-area-inset-bottom, 0px)); z-index: 120;
    flex-direction: column; max-height: calc(100vh - var(--rp-bar-h) - 100px); overflow-y: auto; overscroll-behavior: contain;
    border: 1px solid var(--cdp-border, #75828F); background: var(--cdp-panel, #fff);
  }
  .rp.rp-sheet-tools .rp-tools, .rp.rp-sheet-ticket .rp-ticket { display: flex; }
  /* with the ticket open, its own Buy | Sell is the one pair on screen: the bar's Buy and Sell step away and the
     sheet reaches down to Play, Step, the speed and the clock (no two controls doing one job) */
  .rp.rp-sheet-ticket .rp-trade-row { display: none; }
  .rp.rp-sheet-ticket .rp-ticket, .rp.rp-sheet-ticket .rp-scrim { bottom: calc(var(--rp-trow-h) + env(safe-area-inset-bottom, 0px)); }
  .rp.rp-sheet-ticket .rp-ticket { max-height: calc(100vh - var(--rp-trow-h) - 100px); }
  .rp-kv-held { display: flex; }
  .rp-tools { align-items: stretch; gap: 0; }
  .rp-tools .rp-sheet-head { display: flex; min-height: 48px; }
  .rp-ticket-head { min-height: 48px; }
  .rp-ticket-head .rp-btn { display: inline-flex; }
  .rp-tool-group { display: block; padding: 10px 12px 0; }
  .rp-tool-group:last-child { padding-bottom: 14px; }
  .rp-tool-group > .rp-lbl { display: block; margin: 0 0 6px; }
  .rp-tool-group .rp-segrow { display: flex; width: 100%; }
  .rp-tool-group .rp-seg-btn { flex: 1 1 0; min-width: 0; padding: 0 4px; }
  .rp-tool-type .jsel { width: 100%; }
  .rp-tool-ind > [data-rp="ind"] { display: none; }
  .rp-indmenu { position: static; width: auto; max-height: none; box-shadow: none; border: 1px solid var(--cdp-border, #75828F); }
  .rp-zoom .rp-seg-btn { font-size: 18px; }
  .rp-tbody { padding: 12px 12px 14px; }
  .rp-seg .rp-seg-btn, .rp-seg3 .rp-seg-btn { min-height: 44px; }
  .rp-field .rp-in { min-height: 44px; font-size: 16px; }
  .rp-presets .rp-seg-btn { font-size: 12.5px; }
  .rp-kv { min-height: 30px; font-size: 12.5px; }
  .rp-cta { min-height: 48px; font-size: 14px; }
  .rp-transport { position: fixed; left: 0; right: 0; bottom: 0; z-index: 105; padding: 0 0 env(safe-area-inset-bottom, 0px); border-bottom: 0; border-top: 1px solid var(--cdp-border, #75828F); }
  /* two rows: the scrub across the top, then Play, Step, the speed and the clock (the speed gives way first) */
  .rp-trow { display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto; align-items: center; min-height: 56px; column-gap: 8px; row-gap: 0; padding: 0 12px 6px; }
  .rp-play { min-width: 92px; padding: 0 12px; }
  .rp-step { padding: 0 10px; }
  .rp-speedfld .rp-lbl { display: none; }
  .rp-speedfld .jsel { width: 104px; }
  /* THE SCRUB ON A PHONE (batch REPLAY3; a member rage-pressed Step on 30 Oct): its own 44px row at the top of the bar,
     the 9:30 and close times at its ends; the track inside the bordered row, the handle 24px */
  .rp-timeline { grid-column: 1 / -1; grid-row: 1; gap: 8px; padding: 4px 0 2px; }
  .rp-speedfld { min-width: 0; }
  .rp-speedfld .jsel { width: 100%; max-width: 104px; }
  .rp-timeline > span { font-size: 11px; }
  .rp-keys { display: none; }
  .rp-scrub {
    height: 44px; border-radius: var(--rp-r);
    background: linear-gradient(to right, var(--rp-acc) 0, var(--rp-acc) var(--rp-p, 0%), var(--cdp-hairline, #e6ebf2) var(--rp-p, 0%), var(--cdp-hairline, #e6ebf2) 100%) center / calc(100% - 24px) 8px no-repeat, var(--cdp-panel, #fff);
  }
  .rp-scrub::-webkit-slider-thumb { width: 24px; height: 24px; }
  .rp-clock { margin-left: auto; }
  .rp-clock b { font-size: 15px; }
  .rp-trade-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 0 12px 10px; }
  .rp-tbuy, .rp-tsell { min-height: 44px; font-size: 14px; font-weight: 700; }
  .rp-tbuy { border-color: var(--cdp-green-text, #15803d); color: var(--cdp-green-text, #15803d); }
  .rp-tsell { border-color: var(--cdp-red, #dc2626); color: var(--cdp-red, #dc2626); }
  .rp-tbuy[aria-expanded="true"] { background: var(--cdp-green-soft, #eaf8ef); box-shadow: inset 0 0 0 1px var(--cdp-green-text, #15803d); }
  .rp-tsell[aria-expanded="true"] { background: var(--cdp-red-soft, #fcecec); box-shadow: inset 0 0 0 1px var(--cdp-red, #dc2626); }
  .rp-scrim { display: block; position: fixed; left: 0; right: 0; top: 0; bottom: calc(var(--rp-bar-h) + env(safe-area-inset-bottom, 0px)); z-index: 110; background: rgba(9, 13, 20, .45); }
  .rp-scrim[hidden] { display: none; }
  .rp-acct { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rp-acct > div { padding: 8px 12px; border-bottom: 1px solid var(--cdp-hairline, #e6ebf2); }
  .rp-acct > div:nth-child(3n) { border-right: 0; }
  .rp-acct > div:last-child { border-right: 0; grid-column: span 2; }   /* Position reads in full on its own row */
  .rp-acct > div:nth-last-child(-n+2) { border-bottom: 0; }
  .rp-acct b { font-size: 13.5px; }
  .rp-lists { grid-template-columns: 1fr; }
  .rp-listbox + .rp-listbox { border-left: 0; border-top: 1px solid var(--cdp-hairline, #e6ebf2); }
  .rp-log { max-height: 200px; }
  .rp-log li { padding: 4px 12px; min-height: 40px; }
  /* the result */
  .rp-rbody { padding: 14px 12px 16px; }
  .rp-fig { flex: 1 1 40%; padding: 10px 12px; }
  .rp-fig.rp-fig-main { flex-basis: 100%; }
  .rp-trades { max-height: 280px; }
  .rp-trades td, .rp-trades th { padding-left: 8px; padding-right: 8px; }
  .rp-lhist { padding: 12px 16px 16px; }
  .rp-hist li { grid-template-columns: minmax(0, 1fr) auto auto; gap: 2px 12px; padding: 6px 0; }
  .rp-hist .rp-htr { display: none; }
  .rp-hist .rp-btn { grid-column: 3; }
  .rp-actions .rp-btn { flex: 1 1 100%; min-height: 48px; }
}
@media (max-width: 359px) {
  .rp-title small, .rp-sess-y, .rp-dfoot .rp-none { display: none; }
  .rp-top { gap: 6px; }
  .rp-exit { padding: 0 8px; font-size: 12px; }
  .rp-sessions .rp-seg-btn { flex-basis: 45%; }
  .rp-step span { display: none; }
  .rp-play { min-width: 84px; }
  .rp-speedfld .jsel { width: 92px; }
  .rp-clock b { font-size: 14px; }
  .rp-clock span { display: none; }
  .rp-canvas { height: 260px; }
  .rp-acct { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rp-acct > div:nth-child(3n) { border-right: 1px solid var(--cdp-hairline, #e6ebf2); }
  .rp-acct > div:nth-child(2n), .rp-acct > div:last-child { border-right: 0; }
  .rp-acct > div:nth-last-child(2) { border-bottom: 1px solid var(--cdp-hairline, #e6ebf2); }
}

/* ── THE START SCREEN, A DIALOG IN THE MIDDLE OF THE PAGE (batch SHARP1, 23 Oct 2026) ──────────────────────────────────
   The owner: replay should feel like its own mode, "a large centred dialog with the stock search, the sessions and
   Start replay, sharp and spacious". The band element is the dimmed page; .rp-dlg is the card (820px on a laptop, a
   bottom sheet on a phone). The same data-rp hooks and handlers as the strip this replaces; the engine is untouched.
   Radii from css/tokens.css through --rp-r (2px controls) and --jag-radius-panel (4px frame). */
.rp-band:not([hidden]) { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 12200; display: flex; align-items: center; justify-content: center; box-sizing: border-box; padding: 24px; margin: 0; border: 0; background: rgba(10, 22, 20, .42); overflow: auto; }
html[data-chart-theme="dark"] .rp-band:not([hidden]) { background: rgba(2, 8, 10, .62); }
.rp-dlg { box-sizing: border-box; width: min(820px, 100%); max-height: calc(100vh - 48px); overflow: auto; background: var(--cdp-panel, #fff); color: var(--cdp-text, #132033); border: 1px solid var(--cdp-border, #75828F); border-radius: var(--jag-radius-panel, 4px); box-shadow: var(--jag-shadow-float, 0 10px 28px rgba(15, 23, 42, .14)); }
.rp-dlg .rp-lhead { align-items: flex-start; gap: 12px; min-height: 0; padding: 18px 20px 16px; }
.rp-dlg .rp-tag { margin-top: 3px; }
.rp-dlg .rp-band-l { white-space: normal; overflow: visible; text-overflow: clip; font-size: 13.5px; line-height: 1.45; }
.rp-dlg .rp-band-l b { display: block; font-size: 22px; font-weight: 800; letter-spacing: -.02em; line-height: 1.15; margin-bottom: 4px; }
.rp-dlg .rp-band-sub { display: block; font-weight: 500; color: var(--cdp-muted, #667085); }
.rp-dlg .rp-lhead .rp-x { margin-top: 2px; }
.rp-dlg .rp-lbody { grid-template-columns: minmax(300px, 1fr) minmax(0, 1fr); }
.rp-dlg .rp-lpick, .rp-dlg .rp-lsess { padding: 18px 20px 20px; }
.rp-dlg .rp-lbl { font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--cdp-muted, #667085); }
.rp-dlg .rp-search .rp-in { min-height: 44px; padding-left: 34px; font-size: 15px; }
.rp-dlg .rp-search svg { left: 12px; width: 16px; height: 16px; margin-top: -8px; }
.rp-dlg .rp-sessions { flex-direction: column; flex-wrap: nowrap; gap: 6px; margin: 0 0 14px; }
.rp-dlg .rp-sessions .rp-seg-btn { min-height: 44px; margin: 0; padding: 0 14px; justify-content: flex-start; text-align: left; font-size: 14px; border-radius: var(--rp-r); }
.rp-dlg .rp-allow { font-size: 13px; margin: 0 0 12px; }
.rp-dlg .rp-start { width: 100%; min-height: 48px; padding: 0 22px; font-size: 15px; }
.rp-dlg .rp-lbody.rp-offer { padding: 20px; }
@media (max-width: 767px) {
  .rp-band:not([hidden]) { align-items: flex-end; padding: 0; }
  .rp-dlg { width: 100%; max-height: 94vh; border-radius: var(--jag-radius-panel, 4px) var(--jag-radius-panel, 4px) 0 0; border-bottom: 0; border-left: 0; border-right: 0; }
  .rp-dlg .rp-lbody { grid-template-columns: minmax(0, 1fr); }
  .rp-dlg .rp-lsess { border-left: 0; border-top: 1px solid var(--cdp-hairline, #e6ebf2); }
  .rp-dlg .rp-lpick, .rp-dlg .rp-lsess { padding: 14px 16px 16px; }
  .rp-dlg .rp-search .rp-in { font-size: 16px; }
}
/* the order box's "You own N shares" line (batch SHARP1, after batch TICKET2 on the main Chart) */
.rp-own { margin: 6px 0 0; font-size: 12.5px; font-weight: 600; color: var(--cdp-muted, #667085); }
.rp-own b { color: var(--cdp-text, #132033); font-weight: 800; font-variant-numeric: tabular-nums; }
.rp-own[hidden] { display: none; }
