/* TRA-1524 C – replay bar, buffer progress, calm position labels, trade actions (own file, loaded after style.css) */
/* C3: thinner, shorter replay bar: play/pause, steps, speed, compact progress, short time; details in tooltips */
.replay-bar{gap:4px;padding:2px 3px 2px 2px;border-radius:8px;min-height:30px;font-size:11.5px}
.replay-bar .replay-handle{width:16px;height:24px}
.replay-bar .replay-handle svg{width:12px;height:12px}
.replay-bar .replay-tag{font-size:9.5px;padding:2px 5px;letter-spacing:.09em}
.replay-bar[data-state=buffering] .replay-tag,.replay-bar[data-state=playing] .replay-tag{box-shadow:inset 0 0 0 1px #d4b16a59}
.replay-controls{gap:2px}
.replay-controls .icon-btn,.replay-bar .replay-close{width:24px;height:24px}
.replay-controls .icon-btn svg{width:14px;height:14px}
.replay-controls .icon-btn:disabled{opacity:.4}
.replay-bar .replay-close svg{width:13px;height:13px}
#replaySpeedSlot .ui-select{height:24px;min-height:24px;padding:0 4px 0 6px;font-size:11px}
.replay-progress{position:relative;flex:0 0 auto;width:84px;height:4px;margin:0 3px 0 5px;border-radius:2px;background:#ffffff14;overflow:hidden;cursor:help}
.replay-progress i{position:absolute;inset:0;transform-origin:0 50%;will-change:transform}
.replay-progress .rp-buf{transform:scaleX(var(--buf,0));background:#d4b16a3d}
.replay-progress .rp-done{transform:scaleX(var(--done,0));background:var(--gold,#d4b16a)}
.replay-progress[data-waiting=true] .rp-buf{animation:rp-wait 1.1s ease-in-out infinite}
@keyframes rp-wait{50%{opacity:.35}}
.replay-bar .replay-time{font-size:11px;padding:0 2px;cursor:help}
.replay-bar .replay-status{max-width:220px;font-size:11px}
.replay-bar[data-state=buffering] .replay-status{color:var(--gold-2,#e8cb8e)}
.replay-bar .replay-pick-hint{font-size:11px}
.replay-bar .replay-pick input{height:24px}
.replay-bar #replayStart{height:24px;padding:0 9px}
.rf-jump{height:24px;padding:0 6px;font-size:11px}
.rf-jump[aria-disabled=true]{opacity:.55;cursor:help}
.rf-jump[aria-disabled=true]:hover{background:#ffffff0a;border-color:var(--line-2)}
.rf-jump[data-busy=true] .rf-jump-text::after{content:' …'}
@media(pointer:coarse){.replay-controls .icon-btn,.replay-bar .replay-close{width:32px;height:32px}.replay-progress{width:56px}}
.replay-bar[data-compact=true] .replay-progress{display:none}
@media(max-width:640px){.rf-row{white-space:normal}}
@media(prefers-reduced-motion:reduce){.replay-progress[data-waiting=true] .rp-buf{animation:none}}

/* C1: calm position labels (live broker positions + replay positions share them) */
.chart-stage .pl-tag.pl-tag.pl-tag{position:absolute;right:8px;top:0;display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 6px 0 5px;border-radius:4px;background:#0c1016ed;border:1px solid #ffffff1c;border-left:2px solid var(--pl-dir,#8db4e2);box-shadow:0 1px 3px #0007;font:500 10.5px/1 Inter,sans-serif;font-variant-numeric:tabular-nums;color:#c6ced8;white-space:nowrap;pointer-events:auto;cursor:pointer;animation:none!important;filter:none;transition:border-color .12s,background .12s}
.chart-stage .pl-tag.pl-tag.pl-tag[hidden]{display:none}
.chart-stage .pl-tag.pl-tag.pl-tag[data-side=short]{--pl-dir:#c3a3df}
.chart-stage .pl-tag.pl-tag.pl-tag[data-kind=sl],.chart-stage .pl-tag.pl-tag.pl-tag[data-kind=tp]{--pl-dir:#ffffff26;color:#9aa4b1;gap:4px}
.chart-stage .pl-tag.pl-tag.pl-tag:hover{background:#121821f7;border-color:#d4b16a73;border-left-color:var(--pl-dir,#8db4e2)}
.pl-dir{display:inline-flex;align-items:center;gap:2px;font-weight:600;color:var(--pl-dir,#8db4e2)}
.pl-dir-i{width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.pl-size{color:#8b95a3}
.pl-amt{font-weight:600;color:#c6ced8}
[data-tone=profit]>.pl-amt,.pl-tag[data-tone=profit] .pl-amt{color:#62d1ae}
[data-tone=loss]>.pl-amt,.pl-tag[data-tone=loss] .pl-amt{color:#ee8a94}
.pl-kind{font-weight:600;font-size:9.5px;letter-spacing:.06em}
.pl-tag[data-kind=sl] .pl-kind{color:#df949d}.pl-tag[data-kind=tp] .pl-kind{color:#7fcdb2}
.chart-stage .pl-tag.pl-tag.pl-tag[data-shifted=true]::before{content:'';position:absolute;left:-2px;top:calc(50% + var(--ct,0px));height:var(--ch,0px);border-left:1px solid #ffffff3d}
.broker-position-line.pl-hot,.rf-pos.pl-hot{border-top-style:solid!important;border-top-color:#d4b16aa6!important}
.pl-group{position:absolute;right:8px;z-index:2;pointer-events:auto}
.pl-group-head{display:inline-flex;align-items:center;gap:6px;height:20px;padding:0 6px;border-radius:4px;background:#0c1016f0;border:1px solid #d4b16a4d;box-shadow:0 1px 3px #0007;color:#d9dee5;font:500 10.5px/1 Inter,sans-serif;font-variant-numeric:tabular-nums;cursor:pointer}
.pl-group-head:hover,.pl-group.is-open .pl-group-head{border-color:#d4b16a99}
.pl-caret{color:#8b95a3;font-size:9px}
.pl-group-list{position:absolute;right:0;top:24px;display:grid;justify-items:end;gap:3px;padding:5px;border-radius:7px;background:#0c1016f7;border:1px solid #ffffff1f;box-shadow:0 8px 24px #000a}
.pl-group-list[hidden]{display:none}
.pl-group-item{all:unset;display:block;height:20px;cursor:pointer}
.pl-group-item .pl-tag{position:static!important;transform:none!important}
.pl-group-item:focus-visible .pl-tag{outline:1px solid var(--gold,#d4b16a)}

/* C4: replay positions at the replay time (calculated Ø entry, estimated open result) */
.rf-positions{position:absolute;inset:0;pointer-events:none}
.rf-pos{position:absolute;height:0;border-top:1px dashed #8db4e25c}
.rf-pos[data-side=short]{border-top-color:#c3a3df5c}
.rf-pos[data-selected=true]{border-top-style:solid;border-top-color:#d4b16ab3}
.rf-mark{cursor:pointer}
.rf-mark[data-selected=true]::before{border-top-width:2px;filter:drop-shadow(0 0 2px #d4b16a)}
.rf-line.is-selected{stroke:var(--gold,#d4b16a);opacity:.95}
/* left +/− strip: one row per open trade (clickable), realised result apart */
.rf-strip{display:grid;gap:1px;white-space:normal}
.rf-line-text{display:block}
.rf-row{all:unset;display:block;margin:0 -4px;padding:1px 4px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text,#e9edf3);cursor:pointer}
.rf-row:hover,.rf-row:focus-visible{background:#ffffff0f}
.rf-row[data-selected=true]{box-shadow:inset 2px 0 var(--gold,#d4b16a)}
.rf-row-dir{font-weight:600}
.rf-row[data-side=long] .rf-row-dir{color:#8db4e2}.rf-row[data-side=short] .rf-row-dir{color:#c3a3df}
.rf-row-avg,.rf-row-size{color:var(--text-2,#b7c0cb)}
.rf-row-est[data-tone=profit],.rf-real b[data-tone=profit]{color:#62d1ae}
.rf-row-est[data-tone=loss],.rf-real b[data-tone=loss]{color:#ee8a94}
.rf-real{display:block;color:var(--text-2,#b7c0cb)}
.rf-item-row{display:flex;align-items:stretch;gap:2px}
.rf-item-row .rf-item{flex:1;min-width:0}
.rf-item-row[data-selected=true] .rf-item{box-shadow:inset 2px 0 var(--gold,#d4b16a)}
.rf-item-ai{flex:0 0 30px;display:grid;place-items:center;border-radius:7px;color:var(--gold-2,#e8cb8e)}
.rf-item-ai svg{width:14px;height:14px}
.rf-item-ai:hover:not(:disabled),.rf-item-ai:focus-visible{background:var(--hover,#ffffff12)}
.rf-item-ai:disabled{opacity:.3;cursor:not-allowed}

/* C1: compact trade action menu */
.ta-menu{display:grid;gap:5px;padding:9px;min-width:224px;max-width:290px;font-size:12px}
.ta-head{display:flex;align-items:center;gap:7px;font-weight:600;color:var(--text,#e9edf3)}
.ta-dir{font-size:10.5px;font-weight:600;padding:1px 6px;border-radius:4px;border:1px solid currentColor}
.ta-dir[data-side=long]{color:#8db4e2}.ta-dir[data-side=short]{color:#c3a3df}
.ta-sym{font-variant-numeric:tabular-nums}
.ta-sub{color:var(--muted,#8b95a3);font-size:11px;font-variant-numeric:tabular-nums}
.ta-res{font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-2,#b7c0cb)}
.ta-res[data-tone=profit]{color:#62d1ae}.ta-res[data-tone=loss]{color:#ee8a94}
.ta-btn{display:flex;align-items:center;gap:8px;width:100%;min-height:30px;padding:0 9px;border-radius:6px;color:var(--text,#e9edf3);background:#ffffff08;border:1px solid var(--line-2,#ffffff1a);text-align:left;font-size:12px}
.ta-btn:hover,.ta-btn:focus-visible{background:#ffffff14;border-color:var(--gold-line,#d4b16a66)}
.ta-btn svg{width:14px;height:14px;color:var(--gold-2,#e8cb8e);flex:0 0 auto}
.ta-note{margin:2px 0 0;color:#f0c982;font-size:11px;line-height:1.4}
.ta-note[hidden]{display:none}
@media(pointer:coarse){.ta-btn{min-height:40px}}

/* TRA-1530 R: closed trades in the replay – small sharp SVG glyphs beside the candle (no glow, shadow or filter),
   direction (▲ buy / ▼ sell, blue/violet) and result (exit ring/diamond, green/red) coded apart; one fine path per trade */
.rf-mark{position:absolute;width:0;height:0;pointer-events:none;cursor:pointer;color:inherit;--rf-dir:#8db4e2;--rf-res:#9aa4b1}
.rf-mark[data-dir=short]{--rf-dir:#c3a3df}
.rf-mark[data-tone=profit]{--rf-res:#62d1ae}.rf-mark[data-tone=loss]{--rf-res:#ee8a94}
.rf-mark::before,.rf-mark::after,.rf-mark[data-selected=true]::before{content:none;display:none;filter:none}
.rf-glyph{position:absolute;left:calc(var(--dx,0px) - 4.5px);top:-4.5px;width:9px;height:9px;overflow:visible;pointer-events:none}
.rf-g-entry{fill:var(--rf-dir);stroke:#0b0e12;stroke-width:.9;stroke-linejoin:round}
.rf-g-exit{fill:#0b0e12;stroke:var(--rf-res);stroke-width:1.6}
.rf-mark[data-partial=true] .rf-g-entry{fill-opacity:.6}
.rf-hit{position:absolute;left:calc(var(--dx,0px) - 7px);top:-7px;width:14px;height:14px;border-radius:50%;pointer-events:auto}
@media(pointer:coarse){.rf-hit{left:calc(var(--dx,0px) - 11px);top:-11px;width:22px;height:22px}}
.rf-mark:focus{outline:none}.rf-mark:focus-visible .rf-hit{outline:1px solid var(--gold,#d4b16a);outline-offset:-1px}
.rf-mark[data-selected=true] .rf-g-entry,.rf-mark.is-hot .rf-g-entry{stroke:var(--gold,#d4b16a);stroke-width:1.4}
.rf-mark[data-selected=true] .rf-g-exit,.rf-mark.is-hot .rf-g-exit{fill:#2b2414;stroke-width:2}
.rf-line{fill:none;stroke-width:1;stroke-dasharray:none;opacity:.5;stroke-linejoin:round}
.rf-line.profit{stroke:#62d1ae}.rf-line.loss{stroke:#ee8a94}.rf-line.neutral{stroke:#9aa4b1}
.rf-line.is-open{stroke-dasharray:2 3}
.rf-line.is-selected,.rf-line.is-hot{stroke:var(--gold,#d4b16a);opacity:.95;stroke-width:1.3}
/* crowded spot: numbered cluster, opens a list */
.rf-cluster{position:absolute;transform:translate(-50%,-50%);min-width:15px;height:15px;padding:0 3px;border-radius:8px;background:#0c1016;border:1px solid #d4b16a8c;color:#e8cb8e;font:600 9.5px/13px Inter,sans-serif;font-variant-numeric:tabular-nums;text-align:center;pointer-events:auto;cursor:pointer;box-shadow:none}
.rf-cluster::after{content:'';position:absolute;inset:-5px;border-radius:50%}
@media(pointer:coarse){.rf-cluster::after{inset:-9px}}
.rf-cluster:hover,.rf-cluster:focus-visible{border-color:var(--gold,#d4b16a);background:#161b22;outline:none}
.rf-cluster[data-selected=true]{border-color:var(--gold,#d4b16a);color:#fff}
.rf-cluster-list{position:absolute;z-index:7;width:max-content;min-width:200px;max-width:min(320px,calc(100% - 12px));max-height:min(260px,calc(100% - 12px));display:flex;flex-direction:column;border-radius:8px;background:#12161bf7;border:1px solid var(--line-3,#ffffff2e);font-size:11.5px;color:var(--text,#e9edf3)}
.rf-cluster-list[hidden]{display:none}
.rf-cl-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 4px 4px 9px;border-bottom:1px solid var(--line-2,#ffffff1a)}
.rf-cl-items{overflow:auto;padding:3px;display:grid;gap:1px}
.rf-cl-item{display:flex;align-items:baseline;gap:7px;padding:5px 7px;border-radius:5px;text-align:left;color:var(--text,#e9edf3);font-variant-numeric:tabular-nums;white-space:nowrap}
.rf-cl-item:hover,.rf-cl-item:focus-visible{background:var(--hover,#ffffff12);outline:none}
.rf-cl-item[data-selected=true]{box-shadow:inset 2px 0 var(--gold,#d4b16a)}
.rf-cl-dir{font-weight:600;color:#8db4e2}.rf-cl-item[data-dir=short] .rf-cl-dir{color:#c3a3df}
.rf-cl-size{color:var(--text-2,#b7c0cb)}.rf-cl-when{color:var(--muted,#8b95a3)}
.rf-cl-res{margin-left:auto;padding-left:6px;font-weight:600}
.rf-cl-res[data-tone=profit]{color:#62d1ae}.rf-cl-res[data-tone=loss]{color:#ee8a94}
@media(pointer:coarse){.rf-cl-item{min-height:36px;align-items:center}}
/* hover/focus details of one execution */
.rf-tip{position:absolute;z-index:8;display:grid;gap:1px;max-width:290px;padding:5px 8px;border-radius:6px;background:#12161bf7;border:1px solid var(--line-3,#ffffff2e);border-left:2px solid #9aa4b1;font-size:11px;line-height:1.35;color:var(--text-2,#b7c0cb);font-variant-numeric:tabular-nums;pointer-events:none}
.rf-tip[hidden]{display:none}
.rf-tip strong{color:var(--text,#e9edf3);font-size:11.5px}.rf-tip small{color:var(--muted,#8b95a3)}
.rf-tip[data-tone=profit]{border-left-color:#62d1ae}.rf-tip[data-tone=loss]{border-left-color:#ee8a94}
/* jump list: direction in the neutral direction colours, never green/red (TRA-1531 R: floating fill notices removed) */
.rf-item[data-side=long] .rf-side{color:#8db4e2}.rf-item[data-side=short] .rf-side{color:#c3a3df}
/* TRA-1530 R: display switches in the replay bar (≤ 640 px: one button with a small menu) */
.rf-view{display:inline-flex;align-items:center;gap:1px;flex-shrink:0}
.rf-view[hidden]{display:none}
.rf-tg,.rf-view-more{position:relative;display:grid;place-items:center;width:24px;height:24px;border-radius:var(--r-sm,6px);color:var(--text-2,#b7c0cb);background:transparent;border:1px solid transparent}
.rf-tg svg,.rf-view-more svg{width:15px;height:15px}
.rf-tg:hover,.rf-view-more:hover,.rf-view-more[aria-expanded=true]{background:#ffffff12;color:var(--text,#e9edf3)}
.rf-tg[aria-pressed=true]{color:var(--gold-2,#e8cb8e)}
.rf-tg[aria-pressed=false]{color:var(--muted,#8b95a3)}
.rf-tg[aria-pressed=false]::after{content:'';position:absolute;left:4px;right:4px;top:50%;border-top:1.5px solid currentColor;transform:rotate(-40deg)}
.rf-view-more{display:none}
.rf-view-dot{position:absolute;right:4px;top:4px;width:5px;height:5px;border-radius:50%;background:var(--gold,#d4b16a);display:none}
.rf-view-more[data-off=true] .rf-view-dot{display:block}
@media(pointer:coarse){.rf-tg,.rf-view-more{width:32px;height:32px}}
@media(max-width:640px){.rf-tg{display:none}.rf-view-more{display:grid;width:26px}}
.rf-view-menu{position:absolute;z-index:8;display:grid;gap:2px;width:min(260px,calc(100% - 12px));padding:5px;border-radius:9px;background:#12161bf7;border:1px solid var(--line-3,#ffffff2e);font-size:12px}
.rf-view-menu[hidden]{display:none}
.rf-view-item{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:36px;padding:0 8px;border-radius:6px;color:var(--text,#e9edf3);text-align:left}
.rf-view-item:hover,.rf-view-item:focus-visible{background:var(--hover,#ffffff12);outline:none}
.rf-switch{position:relative;flex:0 0 auto;width:28px;height:16px;border-radius:8px;background:#ffffff1f;transition:background .15s}
.rf-switch::after{content:'';position:absolute;left:2px;top:2px;width:12px;height:12px;border-radius:50%;background:#c6ced8;transition:transform .15s}
.rf-view-item[aria-checked=true] .rf-switch{background:#d4b16a99}
.rf-view-item[aria-checked=true] .rf-switch::after{transform:translateX(12px);background:#fff}
.rf-view-note{margin:2px 8px 4px;color:var(--muted,#8b95a3);font-size:10.5px;line-height:1.4}
.rf-strip[data-summary=true]{padding-right:26px}
.rf-strip-x{position:absolute;right:4px;top:4px;width:18px;height:18px;display:grid;place-items:center;border-radius:4px;color:var(--muted,#8b95a3)}
.rf-strip-x svg{width:9px;height:9px;fill:none;stroke:currentColor;stroke-width:1.5}
.rf-strip-x:hover,.rf-strip-x:focus-visible{background:#ffffff14;color:var(--text,#e9edf3)}
@media(pointer:coarse){.rf-strip[data-summary=true]{padding-right:34px}.rf-strip-x{width:28px;height:28px;right:1px;top:1px}}
@media(prefers-reduced-motion:reduce){.rf-switch,.rf-switch::after{transition:none}}
/* TRA-1531 R: fill events – ONE compact bundled notice in the replay bar (≤ 700 px: glyph + count in place of the
   REPLAY tag), the list with the details only on click/tap; nothing over the candles */
.rf-ev,.rf-ev-item{--rf-dir:#8db4e2;--rf-res:#9aa4b1}
.rf-ev[data-dir=short],.rf-ev-item[data-dir=short]{--rf-dir:#c3a3df}
.rf-ev[data-tone=profit],.rf-ev-item[data-tone=profit]{--rf-res:#62d1ae}.rf-ev[data-tone=loss],.rf-ev-item[data-tone=loss]{--rf-res:#ee8a94}
.rf-ev{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;width:224px;height:24px;padding:0 8px 0 7px;border-radius:var(--r-sm,6px);border:1px solid var(--line-2,#ffffff1a);background:#ffffff06;color:var(--text-2,#b7c0cb);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;cursor:pointer;transition:border-color .3s,color .3s}
.rf-ev[hidden]{display:none}
.rf-ev[data-fresh=true]{border-color:#d4b16a66;color:var(--text,#e9edf3)}
.rf-ev:hover,.rf-ev:focus-visible,.rf-ev[aria-expanded=true]{border-color:var(--gold,#d4b16a);background:#ffffff0d;color:var(--text,#e9edf3);outline:none}
.rf-ev .rf-glyph,.rf-ev-item .rf-glyph{position:static;flex:0 0 9px;width:9px;height:9px}
.rf-ev-text{min-width:0;overflow:hidden;text-overflow:ellipsis}
.rf-ev-n{display:none;font-weight:600}
.replay-bar[data-compact=true][data-events=true] .replay-tag{display:none}
.replay-bar[data-compact=true] .rf-ev{width:auto;min-width:50px;justify-content:center;gap:4px;padding:0 6px}
.replay-bar[data-compact=true] .rf-ev-text{display:none}
.replay-bar[data-compact=true] .rf-ev-n{display:inline}
@media(pointer:coarse){.rf-ev{height:32px}}
.rf-ev-list{position:absolute;z-index:8;width:min(300px,calc(100% - 12px));max-height:min(260px,calc(100% - 96px));display:flex;flex-direction:column;border-radius:8px;background:#12161bf7;border:1px solid var(--line-3,#ffffff2e);font-size:11.5px;color:var(--text,#e9edf3)}
.rf-ev-list[hidden]{display:none}
.rf-ev-head{display:flex;align-items:center;gap:8px;padding:4px 4px 4px 9px;border-bottom:1px solid var(--line-2,#ffffff1a)}
.rf-ev-head .rf-list-close{margin-left:auto}
.rf-ev-when{color:var(--muted,#8b95a3);font-variant-numeric:tabular-nums}
.rf-ev-items{overflow:auto;padding:3px;display:grid;gap:1px}
.rf-ev-item{display:flex;flex-wrap:wrap;align-items:center;column-gap:7px;row-gap:0;padding:4px 7px;border-radius:5px;text-align:left;color:var(--text-2,#b7c0cb);font-variant-numeric:tabular-nums;white-space:nowrap}
.rf-ev-item:hover,.rf-ev-item:focus-visible{background:var(--hover,#ffffff12);outline:none}
.rf-ev-item[data-selected=true]{box-shadow:inset 2px 0 var(--gold,#d4b16a)}
.rf-ev-kind{font-weight:600;color:var(--text,#e9edf3)}
.rf-ev-time{margin-left:auto;padding-left:6px;color:var(--muted,#8b95a3)}
.rf-ev-res{font-weight:600}.rf-ev-res[data-tone=profit]{color:#62d1ae}.rf-ev-res[data-tone=loss]{color:#ee8a94}
@media(pointer:coarse){.rf-ev-item{min-height:36px}}
.rf-ev-line{order:3;width:100%;padding-left:16px;overflow:hidden;text-overflow:ellipsis}
@media(prefers-reduced-motion:reduce){.rf-ev{transition:none}}
/* TRA-1534 W – replay P/L in account currency: basis marker on labels/rows, manual conversion entry in the replay menu */
.chart-stage .pl-tag .pl-basis{margin-left:1px;padding:1px 4px;border-radius:3px;font-size:9.5px;font-weight:500;color:#d4b16a;background:#d4b16a1f;letter-spacing:.01em}
.chart-stage .pl-tag[data-basis="Kurswährung"] .pl-basis{color:#b7c0cb;background:#ffffff14}
.rf-row-est[data-basis="Kurswährung"]{color:var(--text-2,#b7c0cb)}
.rf-fx-hint{color:var(--muted,#8b95a3);font-size:11px}
.rf-view[data-fx=need] .rf-view-more{display:grid}
.rf-view[data-fx=need] .rf-view-dot{display:block}
.rf-fx-item{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:36px;padding:0 8px;border-radius:6px;color:var(--text,#e9edf3);text-align:left}
.rf-fx-item:hover,.rf-fx-item:focus-visible{background:var(--hover,#ffffff12);outline:none}
.rf-fx-item[hidden]{display:none}
.rf-fx-state{font-size:10.5px;color:var(--muted,#8b95a3)}
.rf-fx-state[data-state=on]{color:#d4b16a}
.rf-fx{display:grid;gap:6px;margin:0 2px 2px;padding:8px;border-radius:7px;background:#ffffff08;border:1px solid var(--line-2,#ffffff1a)}
.rf-fx[hidden]{display:none}
.rf-fx-label{color:var(--text,#e9edf3);font-weight:500}
.rf-fx-input{width:100%;box-sizing:border-box;height:30px;padding:0 8px;border-radius:6px;border:1px solid var(--line-3,#ffffff2e);background:#0b0e12;color:var(--text,#e9edf3);font:500 13px/1 Inter,sans-serif;font-variant-numeric:tabular-nums}
.rf-fx-input:focus{outline:none;border-color:#d4b16a99}
.rf-fx-inv{min-height:13px;color:var(--muted,#8b95a3);font-size:10.5px}
.rf-fx-btns{display:flex;gap:6px}
.rf-fx-btns button{flex:1;height:28px;border-radius:6px;border:1px solid var(--line-3,#ffffff2e);color:var(--text,#e9edf3);background:transparent;font-size:11.5px}
.rf-fx-btns .rf-fx-apply{background:#d4b16a26;border-color:#d4b16a66;color:#f0dcae}
.rf-fx-btns button:hover,.rf-fx-btns button:focus-visible{background:#ffffff14;outline:none}
.rf-fx-msg{margin:0;min-height:0;font-size:11px;color:var(--text-2,#b7c0cb)}
.rf-fx-msg:empty{display:none}
.rf-fx-msg[data-tone=error]{color:#ee8a94}
.rf-fx-note{margin:0;color:var(--muted,#8b95a3);font-size:10.5px;line-height:1.4}
@media(pointer:coarse){.rf-fx-input{height:36px;font-size:16px}.rf-fx-btns button{height:34px}}
.rf-row-fx{display:inline-block;margin-left:5px;padding:0 4px;border-radius:3px;font-size:10px;line-height:14px;vertical-align:1px;color:#b7c0cb;background:#ffffff14}
/* ≤ 640 px: the open row may wrap (the earlier media rule was overridden by the later .rf-row nowrap), so the amount stays visible */
@media(max-width:640px){.rf-strip .rf-row{white-space:normal}.rf-row-fx{white-space:nowrap}}
/* TRA-1534 B: entries as compact BUY / SELL badges in terminal style (direction colour, never the result colour), a
   small filled pointer whose tip sits on the executed price beside the candle; exits stay ring/diamond. Positions,
   size and hit area come from replay-fills.js (BADGE = 16 px high, 30/36 px wide, 4 px pointer). No glow/shadow. */
.rf-badge{position:absolute;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:1px;width:30px;height:16px;padding:0;border-radius:3px;
 background:color-mix(in srgb,var(--rf-dir) 13%,#0c1016);border:1px solid color-mix(in srgb,var(--rf-dir) 62%,transparent);color:var(--rf-dir);
 font:650 10px/14px var(--font,Inter),Inter,sans-serif;letter-spacing:.05em;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;transition:border-color .12s,background .12s}
.rf-badge[data-plus=true]{width:36px}
.rf-badge-plus{font-style:normal;font-weight:700;opacity:.8;letter-spacing:0}
.rf-ptr{position:absolute;width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid var(--rf-dir);pointer-events:none}
.rf-mark[data-flip=true] .rf-ptr{border-left:0;border-right:4px solid var(--rf-dir)}
.rf-mark:hover .rf-badge,.rf-mark:focus-visible .rf-badge{background:color-mix(in srgb,var(--rf-dir) 24%,#0c1016);border-color:var(--rf-dir)}
.rf-mark[data-selected=true] .rf-badge,.rf-mark.is-hot .rf-badge{border-color:var(--gold,#d4b16a)}
.rf-mark[data-selected=true] .rf-ptr,.rf-mark.is-hot .rf-ptr{border-left-color:var(--gold,#d4b16a)}
.rf-mark[data-flip=true][data-selected=true] .rf-ptr,.rf-mark[data-flip=true].is-hot .rf-ptr{border-left-color:transparent;border-right-color:var(--gold,#d4b16a)}
.rf-glyph{width:9px;height:9px}
.rf-hit{border-radius:4px}
.rf-mark:focus-visible .rf-hit{outline-offset:0}
/* opened cluster: its trades show one at a time while the list row is hovered/focused */
.rf-mark[data-peek=true],.rf-line.is-peek{visibility:hidden}
.rf-mark[data-peek=true].is-hot,.rf-line.is-peek.is-hot{visibility:visible}
/* open positions keep their calm label readable: a badge at the same price yields (data-under) */
.rf-layer .rf-positions{z-index:1}
.rf-mark[data-under=true]{visibility:hidden}
/* replay bar notice + its list: the badge in mini form */
.rf-ev .rf-badge,.rf-ev-item .rf-badge{position:static;flex:0 0 auto;width:auto;min-width:26px;height:14px;padding:0 3px;font-size:9px;line-height:12px;border-radius:3px}
/* TRA-1535 P49 – replay bar for recordings: minimise button (full ⇄ compact), compact = play/pause + restore only,
   hidden (key X) = no element at all ([hidden] on the bar). No reserved space, no overlay. */
.replay-bar .replay-min{flex-shrink:0;width:24px;height:24px;color:var(--text-2,#b7c0cb);background:#ffffff0a;border:1px solid transparent}
.replay-bar .replay-min[hidden]{display:none}
.replay-bar .replay-min svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.replay-bar .replay-min:hover,.replay-bar .replay-min:focus-visible{color:var(--text,#e9edf3);background:#ffffff17;border-color:var(--line-3,#ffffff2e)}
.replay-min .i-max,.replay-min[data-view=compact] .i-min{display:none}
.replay-min[data-view=compact] .i-max{display:inline}
.replay-bar[data-view=compact]{gap:3px;padding:3px}
.replay-bar[data-view=compact]>:not(#replayControls):not(#replayMin),.replay-bar[data-view=compact] #replayControls>:not(#replayPlay){display:none!important}
.replay-bar[data-view=compact][data-state=buffering] #replayPlay{box-shadow:0 0 0 2px #d4b16a59}
/* phones dock the bar full width (data-compact) – the compact view stays a small pill at the top centre */
.replay-bar[data-compact=true][data-view=compact]{left:50%!important;right:auto;transform:translateX(-50%);overflow:visible;max-width:none}
@media(pointer:coarse){.replay-bar .replay-min{width:32px;height:32px}}
/* phones: the full bar scrolls sideways under the sticky end-X – the button takes the REPLAY tag's place at the start (the tag
   already yields there to the event notice; the chart keeps its „REPLAY · time“ badge), so speed and time keep their room */
.replay-bar[data-compact=true]:not([data-view=compact]) .replay-min:not([hidden]){order:-1}
.replay-bar[data-compact=true]:not([data-view=compact]):has(.replay-min:not([hidden])) .replay-tag{display:none}

/* TRA-1539 P50: simulated stop („Was wäre wenn“) – one dashed amber line + a compact draggable label (local only) */
.rs-sim{position:absolute;inset:0;z-index:6;pointer-events:none}
.rs-sim[hidden]{display:none}
.rs-line{position:absolute;height:0;border-top:1px dashed #e8b34bc2}
.rs-sim[data-state=hit] .rs-line{border-top-style:solid;border-top-color:#e8b34b8c}
.rs-sim[data-state=ended] .rs-line{border-top-color:#9aa4b166}
.rs-sim[data-dragging=true] .rs-line{border-top-style:solid;border-top-color:#f0c463}
.rs-tag{position:absolute;display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 3px 0 4px;border-radius:5px;background:#14110af2;border:1px solid #e8b34b66;box-shadow:0 2px 8px #0009;font:500 10.5px/1 Inter,sans-serif;font-variant-numeric:tabular-nums;color:#e9e1cf;white-space:nowrap;pointer-events:auto;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none}
.rs-tag[data-drag=true]{cursor:ns-resize}
.rs-tag:focus-visible{outline:1px solid #f0c463;outline-offset:1px}
.rs-sim[data-dragging=true] .rs-tag{border-color:#f0c463;background:#1b160bf7}
.rs-grip{display:inline-flex;width:10px;height:12px;color:#e8b34b}
.rs-grip[hidden]{display:none}
.rs-grip svg{width:10px;height:12px;fill:currentColor}
.rs-name{font-weight:600;color:#f0c463;letter-spacing:.01em}
.rs-px{color:#c6ced8}
.rs-res{font-weight:600;color:#c6ced8}
.rs-res[data-tone=profit]{color:#62d1ae}.rs-res[data-tone=loss]{color:#ee8a94}
.rs-res[hidden],.rs-fx[hidden]{display:none}
.rs-fx{padding:1px 4px;border-radius:3px;font-size:9.5px;color:#d4b16a;background:#d4b16a1f}
.rs-x{display:inline-grid;place-items:center;width:18px;height:18px;padding:0;border:0;border-radius:4px;background:transparent;color:#9aa4b1;cursor:pointer}
.rs-x:hover,.rs-x:focus-visible{background:#ffffff14;color:#e9edf3}
.rs-x svg{width:10px;height:10px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round}
.rs-info{position:absolute;display:grid;gap:3px;max-width:min(360px,calc(100% - 16px));padding:8px 10px;border-radius:7px;background:#0c1016f7;border:1px solid #ffffff1f;box-shadow:0 8px 24px #000a;font:400 11px/1.4 Inter,sans-serif;color:#c6ced8;white-space:normal;pointer-events:auto}
.rs-info[hidden]{display:none}
.rs-info span:first-child{color:#e9edf3;font-weight:500}
/* TRA-1542 P52: area switch in the stop label, read-only target (TP) label of the own Long/Short-Position drawing */
.rs-zone{display:inline-grid;place-items:center;width:18px;height:18px;padding:0;border:0;border-radius:4px;background:transparent;color:#9aa4b1;cursor:pointer}
.rs-zone:hover,.rs-zone:focus-visible{background:#ffffff14;color:#e9edf3}
.rs-zone svg{width:11px;height:11px}
.rs-zone .rs-zone-p{fill:#0ecb8159;stroke:#0ecb81b3;stroke-width:.8}.rs-zone .rs-zone-l{fill:#f6465d59;stroke:#f6465db3;stroke-width:.8}
.rs-zone[aria-pressed=false] svg{opacity:.4}.rs-zone[aria-pressed=false] .rs-zone-p,.rs-zone[aria-pressed=false] .rs-zone-l{fill:none}
.rs-tline{position:absolute;height:0;border-top:1px dashed #0ecb818c}
.rs-tline[hidden],.rs-ttag[hidden]{display:none}
.rs-ttag{position:absolute;display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 6px;border-radius:5px;background:#0b1512f2;border:1px solid #0ecb8159;box-shadow:0 2px 8px #0009;font:500 10.5px/1 Inter,sans-serif;font-variant-numeric:tabular-nums;color:#d6e9e1;white-space:nowrap;pointer-events:auto;cursor:default}
.rs-ttag .rs-name{color:#5fd8ae}
.rs-ttag:focus-visible{outline:1px solid #5fd8ae;outline-offset:1px}
.rs-sim[data-kind=target] .rs-line{border-top-color:#9aa4b166}
@media(pointer:coarse){.rs-tag{height:32px;padding:0 4px 0 8px;font-size:11.5px}.rs-x,.rs-zone{width:28px;height:28px}.rs-grip{width:12px}.rs-ttag{height:28px;font-size:11.5px}}
