/* Fibo R-R 백테스트 — 라이트 토큰(--tql-*)만 쓴다. 하드코딩 색 금지(린트 기준선). */
/* ★body 에만 건다 — 전략 탭의 Fibo R-R 칸도 class="rr" 라서, 그냥 .rr 로 두면 그 탭이 화면 높이(100vh)만큼 늘어난다(2026-09-30 실측). */
body.rr{min-height:100vh;background:var(--tql-bg-deep)}
/* Result metrics: native help buttons, touch targets and modal focus. */
.rr-risk-q{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin-inline-start:4px;border:1px solid var(--tql-line);border-radius:var(--tql-r-pill);background:var(--tql-card);color:var(--tql-action);font:inherit;font-weight:700;cursor:pointer;vertical-align:middle}
.rr-risk-q:hover,.rr-risk-q:active{background:var(--tql-action-weak)}
.rr-risk-q:focus-visible,.rr-risk-dialog button:focus-visible,.rr-risk-dialog a:focus-visible{outline:2px solid var(--tql-action);outline-offset:3px}
.rr-stats.rr-stats-five{grid-template-columns:repeat(5,minmax(0,1fr))}
.rr-stats.rr-risk-pair{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}
.rr-risk-pair .rr-stat{border:1px solid var(--tql-line)}
.rr-stats.rr-pair{grid-template-columns:repeat(2,minmax(0,1fr))}   /* 가격 대비 수익 — 가격 변화 · 이 종목 손익 두 칸 */
.rr-risk-basis{margin:8px 0 16px}
.rr-risk-dialog{width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;padding:24px;border:1px solid var(--tql-line);border-radius:var(--tql-r);background:var(--tql-card);color:var(--tql-ink);font-size:16px;line-height:1.7;overflow:auto}
.rr-risk-dialog::backdrop{background:color-mix(in srgb,var(--tql-ink) 60%,transparent)}
.rr-risk-dialog header{display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:0;background:var(--tql-card);z-index:1}
.rr-risk-dialog h2{font-size:20px;margin:0}
.rr-risk-dialog button{min-width:64px;min-height:44px;flex-shrink:0;border:1px solid var(--tql-line);border-radius:var(--tql-r-sm);background:var(--tql-card-sub);color:var(--tql-ink);font:inherit;cursor:pointer}
.rr-risk-dialog ul{padding-inline-start:22px;margin:20px 0}
.rr-risk-dialog li+li{margin-top:14px}
.rr-risk-dialog a{color:var(--tql-action);text-decoration:underline}
.rr-level-inputs input:disabled{opacity:.55;cursor:not-allowed}
.rr-fib-dialog{width:min(920px,calc(100vw - 24px))}
.rr-fib-dialog::backdrop{background:color-mix(in srgb,var(--tql-bg-deep) 80%,transparent)}
.rr-fib-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center}
.rr-fib-settings{min-width:0}
@media(max-width:640px){.rr-fib-layout{grid-template-columns:1fr;gap:12px}.rr-fib-intro{font-size:14px}}
.rr-fib-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rr-fib-controls label{font-size:14px;color:var(--tql-ink-sub)}
.rr-fib-controls select{display:block;width:100%;min-height:44px;margin-top:6px;padding:8px;border:1px solid var(--tql-line-2);border-radius:var(--tql-r-sm);background:var(--tql-card-sub);color:var(--tql-ink);font-size:16px}
.rr-fib-controls select:focus-visible{outline:2px solid var(--tql-action);outline-offset:2px}
.rr-fib-compare{display:flex;gap:8px;flex-wrap:wrap}
.rr-fib-compare button{padding:8px 14px}
.rr-fib-compare button[aria-pressed=true]{border-color:var(--tql-action);background:var(--tql-action-weak);color:var(--tql-action)}
.rr-fib-applied{font-size:14px;color:var(--tql-action);font-weight:700}
.rr-fib-example{font-size:13px;color:var(--tql-ink-sub)}
.rr-fib-svg{display:block;width:100%;max-width:440px;margin:auto;font-size:17px;font-variant-numeric:tabular-nums}
.rr-fib-level path{stroke:var(--tql-line-2);stroke-width:1}
.rr-fib-level text,.rr-fib-caption{fill:var(--tql-ink-sub)}
.rr-fib-diagonal{stroke:var(--tql-ink-faint);stroke-dasharray:5 5;fill:none}
.rr-fib-active{stroke:var(--tql-action);stroke-width:3;fill:none}
.rr-fib-dot{fill:var(--tql-action)}
.rr-fib-summary{display:grid;gap:4px;padding:16px;border:1px solid var(--tql-action);border-radius:var(--tql-r-sm);background:var(--tql-action-weak);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.rr-fib-summary strong{font-size:22px;color:var(--tql-action)}
.rr-fib-summary small{color:var(--tql-ink-sub)}
.rr-fib-dialog ol{padding-inline-start:22px}
@media(max-width:1100px){.rr-stats.rr-stats-five{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.rr-stats.rr-stats-five{grid-template-columns:repeat(2,minmax(0,1fr))}.rr-risk-dialog{padding:18px}.rr-risk-dialog header{align-items:flex-start}}
.rr-top{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1240px;margin:0 auto;padding:14px 16px}
.rr-brand{display:flex;align-items:center;gap:6px;color:var(--tql-ink);text-decoration:none;font-weight:900;letter-spacing:.04em}
.rr-brand svg{color:var(--tql-bolt)}
.rr-strat{display:flex;gap:4px;background:var(--tql-card);border:1px solid var(--tql-line);border-radius:var(--tql-r-pill);padding:3px}
.rr-strat a{padding:7px 12px;border-radius:var(--tql-r-pill);color:var(--tql-ink-sub);text-decoration:none;font-size:14px;font-weight:600}
.rr-strat a.on{background:var(--tql-action);color:var(--tql-white)}
.rr-wrap{max-width:1240px;margin:0 auto;padding:0 16px 96px}
.rr-hero h1{font-size:26px;margin:8px 0 6px}
.rr-hero p{margin:0 0 18px;color:var(--tql-ink-sub);line-height:1.65;max-width:820px}
.rr-grid{display:grid;grid-template-columns:360px minmax(0,1fr);gap:18px;align-items:start}
@media (max-width:900px){.rr-grid{grid-template-columns:minmax(0,1fr)}}
/* 휴대폰 — 결과가 나오면 설정 칸을 접는다(fibo-rr-page.js foldSetup · 2026-10-06 모바일 점검: 설정 칸이 6,000px 넘게 길었다). 「설정 바꾸기」로 다시 펼침 · 넓은 화면은 그대로 */
.rr-fold{display:none}
@media (max-width:900px){
  body.rr-res .rr-setup,body.rr-res .t2ex,body.rr-res .sthero,body.rr-res .ma-launch{display:none}
  body.rr-res .rr-fold{display:flex;align-items:center;justify-content:space-between;gap:10px 14px;flex-wrap:wrap;margin-bottom:12px}
  .rr-fold,#rrOut{scroll-margin-top:84px}   /* 위에 떠 있는 메뉴(상단 독)에 가리지 않게 */
}
/* 2026-10-07 사장님 「구버전(검정) 설정 화면은 싹 쳐내 없애 — 흰색 설정 값은 흰색 UI 에서만」: 검정 백테스트 화면(R-R · 터틀/DCA)은 결과만 —
   설정 칸 · 휴대폰 접기 줄은 언제나 숨기고 결과를 넓게. 칸 자체는 남아 있다(값 보관 — 흰 단계 화면이 채우고 엔진이 읽는다) */
body.rr.rr-bt .rr-setup,body.rr.rr-bt .rr-fold{display:none}
body.rr.rr-bt .rr-grid{grid-template-columns:minmax(0,1fr)}
.rr-fold-h{flex:1 1 200px;min-width:0}
.rr-fold-h b{display:block;font-size:15px;color:var(--tql-ink)}
.rr-fold-h span{display:block;margin-top:3px;font-size:13px;line-height:1.5;color:var(--tql-ink-sub)}
.rr-card{background:var(--tql-card);border:1px solid var(--tql-line);border-radius:var(--tql-r);padding:18px}
.rr-card h2{font-size:18px;margin:0 0 12px}
.rr-card h3{font-size:16px;margin:0 0 10px}
.rr-setup{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto}
@media (max-width:900px){.rr-setup{position:static;max-height:none}}
.rr-setup fieldset{border:0;border-top:1px solid var(--tql-line);margin:0;padding:14px 0 6px}
.rr-setup legend{font-weight:800;font-size:14px;padding:0 0 8px;color:var(--tql-ink)}
.rr-setup label{display:block;font-size:13.5px;color:var(--tql-ink-sub);margin:8px 0 6px}
.rr-setup label small,.rr-setup .hint{display:block;font-size:12.5px;color:var(--tql-ink-faint);line-height:1.55;margin-top:2px}
.rr-setup input[type=number],.rr-setup input[type=date]{display:block;width:100%;margin-top:5px;padding:10px 12px;border:1px solid var(--tql-line-2);border-radius:var(--tql-r-sm);background:var(--tql-card);color:var(--tql-ink);font-size:16px}
.rr-setup input[type=range]{width:100%;margin-top:8px}
.rr-setup .chk{display:flex;gap:8px;align-items:flex-start}
.rr-setup .cap{float:right;font-size:12.5px;color:var(--tql-action);font-weight:700}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rr-money-input{display:grid;grid-template-columns:minmax(64px,.7fr) minmax(0,1.3fr);gap:8px;align-items:center}
.rr-setup .rr-money-input output{display:block;float:none;font-size:12.5px;line-height:1.5;white-space:pre-line;overflow-wrap:anywhere;color:var(--tql-action);font-weight:700}
.rr-sizing details{border:1px solid var(--tql-line);border-radius:var(--tql-r-sm);padding:8px;margin-top:8px}
.rr-sizing summary{cursor:pointer;min-height:44px;align-content:center;font-size:13px;font-weight:700;overflow-wrap:anywhere}
.rr-sizing-scroll{max-width:100%;overflow-x:auto}
.rr-sizing table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}
.rr-sizing caption{text-align:left;color:var(--tql-ink-sub);padding:6px 0}
.rr-sizing th,.rr-sizing td{text-align:right;padding:6px 4px;border-bottom:1px solid var(--tql-line);white-space:nowrap}
.rr-sizing th:first-child{text-align:left}
.rr-sizing tfoot{font-weight:700}
.rr-results{min-width:0}
.rr-setup .rr-field-error{color:var(--tql-down);font-size:var(--tq-fs-sm);line-height:1.5;margin-top:6px}
.rr-setup .rr-field-error[hidden]{display:none}
.rr-setup input[aria-invalid=true]{border-color:var(--tql-down)}
.rr-sizing-total{border-left:3px solid var(--tql-action);padding:var(--tq-sp-3);background:var(--tql-action-weak);font-size:var(--tq-fs-sm);line-height:1.6}
.rr-sizing-total:empty{display:none}
#fMode button{min-height:var(--tq-touch)}
#fMode button[data-v=ultra]{flex-basis:100%}
#fMode button[data-v=ultra].on{border-color:var(--tql-warn);background:var(--tql-warn-weak);color:var(--tql-warn)}
#fMode button[data-v=ultra].on small{color:var(--tql-warn)}
.rr-mode-risk{border:1px solid var(--tql-warn);border-radius:var(--tql-r-sm);background:var(--tql-warn-weak);color:var(--tql-ink);padding:var(--tq-sp-3);margin:var(--tq-sp-3) 0;font-size:var(--tq-fs-sm);line-height:1.6}
.rr-mode-risk[hidden]{display:none}
.rr-mode-risk strong{display:block;color:var(--tql-warn)}
.rr-mode-risk p{margin:var(--tq-sp-2) 0}
.rr-mode-risk a{color:var(--tql-ink);text-decoration:underline}
#rrFormError a{color:inherit;text-decoration:underline}
.rr-sizing th{white-space:normal}
.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.seg{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.seg button{flex:1 1 auto;min-height:40px;padding:8px 10px;border:1px solid var(--tql-line-2);background:var(--tql-card);color:var(--tql-ink);border-radius:var(--tql-r-sm);font-weight:700;font-size:14px;cursor:pointer}
.seg button small{display:block;font-weight:500;font-size:11.5px;color:var(--tql-ink-faint)}
.seg button.on{border-color:var(--tql-action);background:var(--tql-action-weak);color:var(--tql-action)}
.seg button.on small{color:var(--tql-action)}
.seg button:disabled{opacity:.4;cursor:not-allowed}
.seg.sm button{min-height:34px;font-size:13px;padding:6px 8px}
/* 기간 버튼 6개(1개월~전체) — 좁은 화면의 공용 2열 격자(mobile.css) 대신 3열로 두 줄 */
@media (max-width:760px){#fPeriod{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
.rr-run{width:100%;min-height:56px;margin-top:14px;border:0;border-radius:var(--tql-r);background:var(--tql-action);color:var(--tql-white);font-size:17px;font-weight:800;cursor:pointer}
.rr-run:disabled{background:var(--tql-disabled);cursor:wait}
.rr-out{display:flex;flex-direction:column;gap:16px;min-width:0}
.rr-empty p{color:var(--tql-ink-sub)}
.rr-rules{margin:10px 0 0;padding-left:18px;color:var(--tql-ink-sub);line-height:1.7;font-size:14px}
.rr-warn{background:var(--tql-warn-weak);border:1px solid var(--tql-warn);border-radius:var(--tql-r-sm);padding:10px 12px;font-size:14px;line-height:1.6}
.rr-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
@media (max-width:640px){.rr-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rr-stat{background:var(--tql-card-sub);border-radius:var(--tql-r-sm);padding:12px}
.rr-stat .k{font-size:12.5px;color:var(--tql-ink-faint)}
.rr-stat .v{font-size:22px;font-weight:800;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.rr-stat .s{font-size:12.5px;color:var(--tql-ink-sub);margin-top:2px}
.up{color:var(--tql-up)}.dn{color:var(--tql-down)}
.rr-kv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 16px;margin-top:14px;font-size:14px}
@media (max-width:640px){.rr-kv{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.rr-kv{grid-template-columns:minmax(0,1fr)}.rr-kv span{flex:none;max-width:58%}.rr-kv b{text-align:right}}   /* 휴대폰 — 한 줄에 하나 · 이름은 안 쪼개고 값이 줄바꿈(2026-10-06 모바일 점검) */
.rr-kv div{display:flex;justify-content:space-between;gap:8px;border-bottom:1px dashed var(--tql-line);padding:5px 0}
.rr-kv span{color:var(--tql-ink-sub)}
.rr-kv b{font-variant-numeric:tabular-nums}
.rr-halt{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:var(--tql-r-pill);font-size:11.5px;font-weight:800;line-height:1.5;color:var(--tql-down);background:var(--tql-down-weak);white-space:nowrap;vertical-align:1px}   /* 종목 최대 손실로 매수 멈춤 꼬리표(fibo-rr-page.js haltTag) */
.rr-tw small{font-size:max(11.5px,.85em)}
.rr-chart{height:320px;width:100%}
.rr-chart.tall{height:420px}
@media (max-width:640px){.rr-chart{height:240px}.rr-chart.tall{height:320px}}
.rr-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--tql-ink-sub);margin:8px 0 0}
.rr-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.lg-up{background:var(--tql-up)}.lg-ne{background:var(--tql-neon-up,var(--tql-up))}.lg-dn{background:var(--tql-down)}.lg-ac{background:var(--tql-action)}.lg-wa{background:var(--tql-warn)}.lg-mu{background:var(--tql-ink-faint)}
/* 선 범례(2026-10-12) — 차트의 계단선 · 밴드와 같은 색 · 점선은 점선. 볼린저 밴드 = --tq-chart-bb(파랑) */
.rr-legend i.lg-ln{width:16px;height:0;border-radius:0;border-top:2px solid var(--tql-ink-faint);background:none;vertical-align:3px}
.rr-legend i.lg-ln.lg-ac{border-top-color:var(--tql-action)}.rr-legend i.lg-ln.lg-dn{border-top-color:var(--tql-down)}.rr-legend i.lg-ln.lg-mu{border-top-color:var(--tql-ink-sub)}
.rr-legend i.lg-ln.lg-bb{border-top-color:var(--tq-chart-bb)}.rr-legend i.lg-ln.lg-dot{border-top-style:dotted}
.rr-tw{overflow-x:auto;-webkit-overflow-scrolling:touch}
.rr-tw table{width:100%;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums}
.rr-tw th,.rr-tw td{padding:7px 8px;border-bottom:1px solid var(--tql-line);text-align:right;white-space:nowrap}
.rr-tw th{color:var(--tql-ink-sub);font-weight:700;background:var(--tql-card-sub);position:sticky;top:0}
.rr-tw th:first-child,.rr-tw td:first-child{text-align:left}
.rr-tw tr.go{cursor:pointer}
.rr-tw tr.go:hover td{background:var(--tql-action-weak)}
.rr-more{display:flex;gap:8px;justify-content:space-between;align-items:center;margin-top:10px;font-size:13px;color:var(--tql-ink-sub)}
.rr-btn{min-height:40px;padding:8px 14px;border:1px solid var(--tql-line-2);background:var(--tql-card);color:var(--tql-ink);border-radius:var(--tql-r-sm);font-weight:700;cursor:pointer}
.rr-notes{font-size:13.5px;color:var(--tql-ink-sub);line-height:1.7;margin:0;padding-left:18px}
.rr-tag{display:inline-block;padding:1px 7px;border-radius:var(--tql-r-pill);font-size:12px;font-weight:700;background:var(--tql-card-sub)}
.rr-tag.tp{background:var(--tql-up-weak);color:var(--tql-up)}
.rr-tag.sl,.rr-tag.liq{background:var(--tql-down-weak);color:var(--tql-down)}
.rr-tag.guard{background:var(--tql-warn-weak)}
.rr-tag.entry{background:var(--tql-action-weak);color:var(--tql-action)}
.rr-busy{display:flex;align-items:center;gap:10px;color:var(--tql-ink-sub)}
.rr [hidden]{display:none!important}
.rr-top{padding-top:74px}
@media (max-width:760px){.rr-top{padding-top:74px}}
.rr-top{flex-direction:column;align-items:flex-start}
.rr .hint{font-size:13px;color:var(--tql-ink-faint);line-height:1.6;margin:8px 0 0}
.seg .grp{flex:1 0 100%;font-size:12.5px;font-weight:700;color:var(--tql-ink-faint);margin:6px 0 -2px}
#fAsset button{flex:0 1 auto;min-width:64px}
.rr-stat .v{font-size:clamp(17px,1.9vw,22px);white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
@media (max-width:760px){body.rr-bt .rr-stat .v{font-size:17px!important}}   /* mobile.css 의 「.v 12.5px」(다른 화면용 하한)가 결과 칸 숫자를 이름 글자만큼 줄였다 — 숫자는 칸의 원래 크기 */
@media (max-width:420px){body.rr-bt .rr-stat .v{font-size:15.5px!important}}
/* 매매 리플레이 */
.rp-head{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:flex-end;justify-content:space-between;margin-bottom:10px}
.rp-when b{display:block;font-size:20px;font-variant-numeric:tabular-nums}
.rp-when span{font-size:12.5px;color:var(--tql-ink-faint)}
.rp-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,auto));gap:6px 18px}
@media (max-width:900px){.rp-kpis{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}}
@media (max-width:480px){.rp-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rp-kpi span{display:block;font-size:12px;color:var(--tql-ink-faint)}
.rp-kpi b{display:block;font-size:14.5px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.rp-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px}
.rr-btn.pri{background:var(--tql-action);border-color:var(--tql-action);color:var(--tql-white);min-width:92px}
.rp-spd{display:inline-flex;border:1px solid var(--tql-line-2);border-radius:var(--tql-r-sm);overflow:hidden;margin-left:auto}
.rp-spd button{min-height:40px;padding:0 10px;border:0;background:var(--tql-card);color:var(--tql-ink-sub);font-weight:700;cursor:pointer}
.rp-spd button.on{background:var(--tql-action-weak);color:var(--tql-action)}
@media (max-width:480px){.rp-spd{margin-left:0}}
.rp-feed ul{list-style:none;margin:10px 0 0;padding:0;font-size:13px;font-variant-numeric:tabular-nums}
.rp-feed li{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;padding:6px 0;border-bottom:1px dashed var(--tql-line);color:var(--tql-ink-sub)}
.rp-feed li b{color:var(--tql-ink)}
.rp-feed li b.up{color:var(--tql-up)}.rp-feed li b.dn{color:var(--tql-down)}
.rr-chart{overflow:hidden;position:relative}
/* 복수 종목(한 계좌 분산) — 터틀 복수 종목 행과 같은 구조. 종목 식별 색은 --tq-cmp-* (행·곡선·탭이 같은 색) */
.rr-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px;flex:none}
.rr-dot.c0{background:var(--tq-cmp-1)}.rr-dot.c1{background:var(--tq-cmp-3)}.rr-dot.c2{background:var(--tq-cmp-4)}
.rr-dot.c3{background:var(--tq-cmp-2)}.rr-dot.c4{background:var(--tq-cmp-5)}.rr-dot.c5{background:var(--tql-down)}
.rr-legend i.rr-dot{border-radius:50%}
.rr-sub{margin:18px 0 8px;font-size:14px;font-weight:800;color:var(--tql-ink)}   /* 「가격 대비 수익」 종목 보기 안의 소제목 */
#rrPxSum tr.on td{background:var(--tql-action-weak)}   /* 지금 보고 있는 종목·방향 줄 */
#rrPxSum .rr-subrow td{font-size:12.5px;color:var(--tql-ink-sub)}
#rrPxSum .rr-subrow td:first-child{padding-left:22px}
.rr-indent{white-space:nowrap}
#rrPxSides{margin:0 0 10px}
.lg-ink{background:var(--tql-ink)}
.rr-mrow{border:1px solid var(--tql-line);border-radius:var(--tql-r-sm);padding:10px;margin:8px 0;background:var(--tql-card)}
.rr-mtop{display:flex;align-items:center;gap:6px}
.rr-mtk{flex:1;display:flex;align-items:center;gap:6px;min-width:0;min-height:40px;padding:6px 10px;border:1px solid var(--tql-line);border-radius:var(--tql-r-sm);background:var(--tql-card-sub);color:var(--tql-ink);font-weight:800;font-size:15px;cursor:pointer;text-align:left}
.rr-mtk .rr-mname{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.rr-mtk small{display:block;font-weight:500;color:var(--tql-ink-faint);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rr-mtk .rr-msearch{margin-left:auto;color:var(--tql-ink-faint);flex:none}
.rr-mx{flex:none;width:40px;min-height:40px;border:1px solid var(--tql-line);border-radius:var(--tql-r-sm);background:var(--tql-card);color:var(--tql-ink-sub);font-size:18px;cursor:pointer}
.rr-mx:disabled{opacity:.35;cursor:not-allowed}
.rr-mgrid{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px;align-items:end}
.rr-setup .rr-mgrid label{margin:6px 0 0}
.rr-mgrid .seg{grid-column:1/-1;margin:4px 0 0;flex-wrap:nowrap}
.rr-mm-foot{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.rr-mm-foot .rr-btn{flex:1 1 auto}
.rr-tw tr.rr-total td{font-weight:800;background:var(--tql-card-sub)}
#mmTabs button{flex:0 1 auto;display:inline-flex;align-items:center}
/* 분석 카드 — 손익 분해 막대 · 진입 흐름 막대 · 낮은 차트 */
.rr-bd,.rr-fn{display:flex;flex-direction:column;gap:6px;margin:4px 0 2px}
.rr-bd-row,.rr-fn-row{display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr) minmax(92px,auto);gap:10px;align-items:center;font-size:14px}
.rr-bd-row span,.rr-fn-row span{color:var(--tql-ink-sub)}
.rr-bd-row em,.rr-fn-row em{font-style:normal;font-weight:800;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.rr-bd-bar{display:block;height:10px;background:var(--tql-card-sub);border-radius:var(--tql-r-pill);overflow:hidden}
.rr-bd-bar b{display:block;height:100%;border-radius:var(--tql-r-pill)}
.rr-bd-bar b.pos{background:var(--tql-up)}.rr-bd-bar b.neg{background:var(--tql-down)}.rr-bd-bar b.act{background:var(--tql-action)}.rr-bd-bar b.mut{background:var(--tql-ink-faint)}
.rr-bd-row.tot{border-top:1px solid var(--tql-line);padding-top:8px;margin-top:2px}.rr-bd-row.tot span{color:var(--tql-ink);font-weight:800}
.rr-chart.short{height:180px}
@media (max-width:640px){.rr-bd-row,.rr-fn-row{grid-template-columns:minmax(96px,120px) minmax(0,1fr) auto;font-size:13px;gap:8px}.rr-chart.short{height:150px}}
.rr-avg{margin:10px 0 4px;padding:10px 12px;border-radius:var(--tql-r-sm);background:var(--tql-card-sub);font-size:13.5px;line-height:1.65;color:var(--tql-ink-sub)}.rr-avg b{color:var(--tql-ink)}.rr-avg b.dn{color:var(--tql-down)}
/* 설정 도움말 [?] — fibo-rr-help.js */
.rr-q{position:relative;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;min-height:0;min-width:0;margin:0 2px 0 6px;border:1px solid var(--tql-line-2);border-radius:50%;background:var(--tql-card);color:var(--tql-action);font-size:12px;font-weight:800;line-height:1;vertical-align:1px;cursor:pointer;user-select:none}
.rr-q::after{content:'';position:absolute;inset:-10px}
.rr-q:hover,.rr-q[aria-expanded="true"]{border-color:var(--tql-action);background:var(--tql-action-weak)}
.rr-q:focus-visible{outline:2px solid var(--tql-action);outline-offset:2px}
/* 설명 창(2026-10-02 사장님 "[?] 누르면 좁은 칸 안이 아니라 새 UI 하나에서 깔끔하게") — 위: 제목·닫기 / 왼쪽: 글 / 오른쪽: 지금 값으로 그린 그림 / 아래: 실제 차트 */
.rr-help-dialog{width:min(1040px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);box-sizing:border-box;padding:0;border:1px solid var(--tql-line-2);border-radius:16px;background:var(--tql-card);color:var(--tql-ink);overflow:auto;overscroll-behavior:contain}
.rr-help-dialog.text-only{width:min(700px,calc(100vw - 32px))}   /* 그림이 없는 설명(종목·기간)은 글 폭에 맞춘다 */
.rr-help-dialog::backdrop{background:color-mix(in srgb,var(--tql-bg-deep) 80%,transparent)}
.rr-help-dialog>header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;background:var(--tql-card);border-bottom:1px solid var(--tql-line)}
.rr-help-head{min-width:0}
.rr-help-kicker{display:block;font-size:12.5px;font-weight:800;color:var(--tql-action)}
.rr-help-dialog h2{margin:2px 0 0;font-size:20px;line-height:1.35;color:var(--tql-ink);word-break:keep-all;overflow-wrap:anywhere}
.rr-help-dialog>header button{flex:none;min-width:64px;min-height:44px;padding:0 16px;border:1px solid var(--tql-line-2);border-radius:var(--tql-r-sm);background:var(--tql-card-sub);color:var(--tql-ink);font-family:inherit;font-size:14px;font-weight:800;cursor:pointer}
.rr-help-dialog>header button:hover{border-color:var(--tql-action)}
.rr-help-dialog>header button:focus-visible{outline:2px solid var(--tql-action);outline-offset:3px}
.rr-help-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:22px 26px;align-items:start;padding:20px 22px 26px}
.rr-help-main.solo{grid-template-columns:minmax(0,1fr)}   /* 옆에 놓을 그림이 없으면 글이 창 폭을 쓴다 */
.rr-help{min-width:0;color:var(--tql-ink-sub);font-size:15px;line-height:1.75;word-break:keep-all;overflow-wrap:anywhere}   /* 한글은 낱말 단위로 줄을 바꾼다 */
.rr-help-main.solo .rr-help{max-width:820px}
.rr-help ul{margin:0;padding:0;list-style:none}
.rr-help li{position:relative;padding:12px 0 12px 22px;border-bottom:1px solid var(--tql-line)}
.rr-help li::before{content:'';position:absolute;left:4px;top:23px;width:7px;height:7px;border-radius:50%;background:var(--tql-action)}
.rr-help li:first-child{padding-top:2px}
.rr-help li:first-child::before{top:13px}
.rr-help li:last-child{padding-bottom:0;border-bottom:0}
.rr-help b{color:var(--tql-ink)}
.seg>.rr-q{align-self:center;flex:none;margin:0 2px 0 4px}
.rr-mgrid .seg[data-help]{display:flex!important;flex-wrap:nowrap}

/* 통합 리플레이(fibo-rr-multiplay.js) — TBV 복수 종목 통합 리플레이와 같은 모양(2026-09-30 사장님 "첫 번째 UI 를 두 번째처럼 이쁘게").
   어두운 바탕 카드 안에 밝은 패널(차트·종목 카드·날짜판) · 숫자는 고정폭 글꼴 가운데 정렬 · 종목 티커는 종목 색. */
.rr-card.mp-card{padding:0;background:var(--tql-bg);border-color:var(--tql-line-2)}
.mp{container:mp/inline-size;font-variant-numeric:tabular-nums}   /* 칸 모양은 화면 폭이 아니라 이 카드 폭을 따른다(설정 칸 옆 좁은 결과 칸에서도 안 눌리게) */
.mp-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:14px 18px;background:var(--tql-card);border-bottom:1px solid var(--tql-line);border-radius:var(--tql-r) var(--tql-r) 0 0}
.mp-ttl{flex:1 1 280px;min-width:0}
.mp-ttl b{display:block;font-size:15px;font-weight:800;color:var(--tql-ink)}
.mp-ttl span{display:block;margin-top:3px;font-size:11.5px;line-height:1.55;color:var(--tql-ink-sub)}
.mp-prog{margin-left:auto;font:800 13px var(--tql-mono);color:var(--tql-action);white-space:nowrap}
.mp-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:18px 18px 2px;text-align:center}
.mp-kpi span{display:block;font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--tql-ink-sub)}
.mp-kpi b{display:block;margin-top:2px;font:800 26px/1.15 var(--tql-mono);color:var(--tql-ink)}
.mp-arrow{font-size:22px;font-weight:900;color:var(--tql-action)}
.mp-ret{padding:4px 0 12px;text-align:center;font-size:14px;font-weight:800;color:var(--tql-ink-sub)}
.mp-ret span{font-family:var(--tql-mono)}
/* 쿼터(증거금 보호 컷) — 지금까지 몇 번 · 최근 것. 새로 걸리면 잠깐 노랗게 */
.mp-qlog{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 10px;margin:0 16px 12px;padding:8px 12px;border:1px dashed var(--tql-line-2);border-radius:10px;font-size:12px;line-height:1.5;color:var(--tql-ink-sub);text-align:center}
.mp-qlog b{color:var(--tql-warn)}
.mp-qlog span{font-family:var(--tql-mono)}
.mp-q{display:inline-block;margin-top:3px;padding:0 6px;border-radius:6px;font:800 11.5px/1.6 var(--tql-mono);font-style:normal;color:var(--tql-warn);background:var(--tql-warn-weak)}
.mp-q[hidden]{display:none}
/* 2026-10-27 종목 칸 방향 칩 — 롱 형광(강조색) · 숏 빨강 */
.mp-side{display:inline-block;margin:3px 0 0 4px;padding:0 6px;border-radius:6px;font:800 11.5px/1.6 var(--tql-mono);font-style:normal}
.mp-side.is-long{color:var(--tql-neon-up,var(--tql-up));background:color-mix(in srgb,var(--tql-neon-up,var(--tql-up)) 16%,transparent)}   /* 2026-10-28 롱 = 형광 · 숏 = 노랑(리플레이 표식과 같은 색) */
.mp-side.is-short{color:var(--tql-action);background:var(--tql-action-weak)}
.mp-side[hidden]{display:none}
.mp-side.is-flat{color:var(--tql-ink-sub);background:var(--tql-card)}
/* 2026-10-27 병합(터틀 + 래리) — 종목 카드 밑 두 갈래: 터틀 포지션 · 래리 포지션(방향 칩 · 진입가 → 평가 · 진입 횟수) */
.mp-eng{display:flex;flex-direction:column;gap:6px;margin-top:-8px;padding:8px 14px 10px 44px;border:1px solid var(--tql-line-2);border-top:0;border-radius:0 0 11px 11px;background:var(--tql-card-sub)}
.mp-row:has(+.mp-eng){border-radius:11px 11px 0 0}
.mp-eng-r{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;font-size:12px;color:var(--tql-ink-2)}
.mp-eng-n{flex:0 0 92px;font-weight:800;color:var(--tql-ink)}
.mp-eng .mp-side{margin:0}
.mp-eng-d{font-family:var(--tql-mono)}
.mp-eng-d .mp-pp{margin:0 0 0 2px}
.mp-eng-c{margin-left:auto;font:800 11.5px var(--tql-mono);color:var(--tql-ink-sub)}
@media (max-width:640px){.mp-eng{padding:8px 10px 10px 12px}.mp-eng-n{flex-basis:80px}.mp-eng-r{font-size:11.5px}}
@keyframes mpqhit{0%{border-color:var(--tql-warn);background:var(--tql-warn-weak)}100%{border-color:var(--tql-line-2)}}
.mp-row.qhit,.mp-qlog.hit{animation:mpqhit 1.6s ease-out}
@media (prefers-reduced-motion:reduce){.mp-row.qhit,.mp-qlog.hit{animation:none}}
/* 큰 날짜 숫자판 — 년 월 일 시:분 UTC (바뀐 칸만 굴린다) */
.mp-date{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 12px;margin:0 16px 14px;padding:12px;font-family:var(--tql-mono);color:var(--tql-ink);background:var(--tql-card);border:1px solid var(--tql-line-2);border-radius:12px}
.mp-date .dgrp{display:inline-flex;align-items:flex-end;gap:4px}
.mp-date .dg{width:30px;height:40px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;background:var(--tql-bg);border:1px solid var(--tql-line-2);border-radius:8px}
.mp-date .dgi{display:block;font-size:22px;line-height:1;font-weight:800}
.mp-date .dgi.roll{animation:mproll .32s cubic-bezier(.2,.7,.3,1)}
@keyframes mproll{0%{transform:translateY(-115%);opacity:.1}100%{transform:translateY(0);opacity:1}}
@media (prefers-reduced-motion:reduce){.mp-date .dgi.roll{animation:none}}
.mp-date .du{margin-left:3px;padding-bottom:3px;font-size:10.5px;font-weight:700;letter-spacing:.1em;color:var(--tql-ink-sub)}
.mp-date .tm .du{color:var(--tql-action)}
.mp-date .dsep{align-self:center;font-size:20px;font-weight:800;color:var(--tql-ink-sub)}
.mp-box{margin:0 16px;border:1px solid var(--tql-line-2);border-radius:11px;overflow:hidden;background:var(--tql-card)}
.mp-eq{height:230px}
.mp-px{height:250px}
/* 종목 카드 — 종목 · 포지션 · 트레이딩 계좌 · 현금 보관 · 자산 */
.mp-rows{display:flex;flex-direction:column;gap:8px;padding:14px 16px 4px}
.mp-row{display:grid;grid-template-columns:minmax(160px,1.3fr) repeat(4,minmax(0,1fr));gap:8px;align-items:center;padding:11px 14px;background:var(--tql-card);border:1px solid var(--tql-line-2);border-radius:11px}
.mp-a{display:flex;align-items:center;gap:8px;min-width:0}
.mp-id{min-width:0}
.mp-id b,.mp-id small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mp-id small{margin-top:1px;font-size:11px;color:var(--tql-ink-sub)}
.mp-tk{font:800 15px var(--tql-mono);letter-spacing:.02em}
.mp-tk.c0{color:var(--tq-cmp-1)}.mp-tk.c1{color:var(--tq-cmp-3)}.mp-tk.c2{color:var(--tq-cmp-4)}.mp-tk.c3{color:var(--tq-cmp-2)}.mp-tk.c4{color:var(--tq-cmp-5)}.mp-tk.c5{color:var(--tql-down)}
.mp-c{min-width:0;text-align:center;font-family:var(--tql-mono)}
.mp-l{display:block;margin-bottom:3px;font-family:var(--tql-font);font-size:10.5px;font-weight:700;letter-spacing:.03em;color:var(--tql-ink-sub)}
.mp-c b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:800;color:var(--tql-ink)}
.mp-e b{font-size:17px}
.mp-c em{display:block;font-style:normal}
.mp-pp{display:inline-block;margin:3px 2px 0;padding:1px 7px;border-radius:6px;font-size:11.5px;font-weight:800;font-style:normal;background:var(--tql-card-sub);color:var(--tql-ink-sub)}
.mp-pp.up{color:var(--tql-up);background:var(--tql-up-weak)}.mp-pp.dn{color:var(--tql-down);background:var(--tql-down-weak)}
.mp-pn{display:block;margin-top:3px;font-size:12px;font-weight:800;font-style:normal;color:var(--tql-ink-sub)}
.mp-pn.up{color:var(--tql-up)}.mp-pn.dn{color:var(--tql-down)}
.mp-foot{margin:4px 16px 0;font-size:11px;line-height:1.6;color:var(--tql-ink-sub)}
.mp-cht{display:flex;align-items:center;gap:8px;margin:18px 16px 7px;font-size:12.5px;color:var(--tql-ink-2)}
.mp-cht span{min-width:0}
.mp-cht em{margin-left:auto;font:700 12px var(--tql-mono);color:var(--tql-ink)}
/* 아래 고정 재생 막대 */
.mp-bar{position:sticky;bottom:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;padding:11px 16px;background:var(--tql-card);border-top:1px solid var(--tql-line-2)}
.mp-bar button{min-height:44px;padding:0 15px;border:1px solid var(--tql-line-2);border-radius:10px;background:var(--tql-card);color:var(--tql-ink);font:800 13px var(--tql-font);cursor:pointer}
.mp-bar button:hover{border-color:var(--tql-action)}
.mp-bar .mp-go{flex:1;min-width:110px;background:var(--tql-action);border-color:var(--tql-action);color:var(--tql-white)}
.mp-bar .mp-sp{min-width:48px;padding:0 10px;font-family:var(--tql-mono)}
.mp-bar .mp-sp.on{border-color:var(--tql-action);color:var(--tql-action);background:var(--tql-action-weak)}
.mp-bar .mp-dim{color:var(--tql-ink-sub)}
.mp-splab{font-size:11px;font-weight:800;color:var(--tql-ink-sub)}
.rr-legend.mp-legend{margin:0;padding:10px 16px 16px;background:var(--tql-card);border-radius:0 0 var(--tql-r) var(--tql-r)}
@container mp (max-width:640px){
  .mp-top{padding:12px 14px}.mp-prog{width:100%;margin-left:0}
  .mp-head{padding:14px 12px 2px}.mp-kpi b{font-size:21px}
  .mp-date{gap:6px 8px;margin:0 10px 12px;padding:10px 6px}
  .mp-date .dg{width:22px;height:31px;border-radius:6px}.mp-date .dgi{font-size:17px}.mp-date .du{margin-left:1px;font-size:10.5px;letter-spacing:0}.mp-date .dsep{font-size:16px}
  .mp-box{margin:0 10px}.mp-eq{height:190px}.mp-px{height:215px}
  .mp-rows{padding:12px 10px 4px}
  .mp-row{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"a a e" "p t v";gap:8px;padding:10px 12px}
  .mp-a{grid-area:a;align-self:stretch;padding-bottom:8px;border-bottom:1px solid var(--tql-line)}
  .mp-e{grid-area:e;padding-bottom:8px;border-bottom:1px solid var(--tql-line)}
  .mp-p{grid-area:p}.mp-t{grid-area:t}.mp-v{grid-area:v}
  .mp-c b{font-size:14px}.mp-e b{font-size:15px}.mp-l{font-size:11.5px;letter-spacing:0}
  .mp-foot{margin:4px 10px 0}.mp-cht{flex-wrap:wrap;margin:16px 10px 6px;font-size:11.5px}
  .mp-bar{gap:6px;padding:9px 10px}
  .mp-bar button{min-height:40px;padding:0 10px;font-size:12px}.mp-bar .mp-go{min-width:88px}.mp-bar .mp-sp{min-width:40px;padding:0 6px}
  .mp-splab{display:block;flex:0 0 100%;height:0;margin:-3px 0;overflow:hidden;font-size:0}   /* 보이지 않는 줄바꿈 — 첫 줄 재생 · 한 칸 · 다음 매매, 둘째 줄 속도 · 끝까지 · 처음 */
  .rr-legend.mp-legend{padding:10px 10px 14px}
}
@container mp (max-width:430px){
  .mp-date{gap:5px 6px}.mp-date .dgrp{gap:3px}.mp-date .dg{width:19px;height:27px;border-radius:5px}.mp-date .dgi{font-size:15px}.mp-date .du{font-size:10px}
  .mp-kpi b{font-size:18px}.mp-eq{height:170px}.mp-px{height:200px}
}
@container mp (max-width:370px){   /* 휴대폰 — 년 월 일 시:분 을 한 줄에 */
  .mp-date{gap:4px 5px;padding:9px 4px}.mp-date .dgrp{gap:2px}.mp-date .dg{width:17px;height:25px;border-radius:4px}.mp-date .dgi{font-size:14px}.mp-date .du{font-size:9.5px}.mp-date .dsep{font-size:13px}
}
@media (max-width:720px){.mp-bar{bottom:calc(72px + env(safe-area-inset-bottom))}}   /* 아래 탭바 위에 */

/* ── TBV·DCA 와 같은 어두운 틀(2026-09-30 사장님: "흰 화면으로 넘어가지 말고 터틀·DCA UI 틀 안에서 R-R 도 백테스트") ──
   백테스트 페이지(body.rr-bt)만: tq-light.css 를 싣지 않고, 화면·공용 모듈이 쓰는 라이트 토큰 이름(--tql-*)을 사이트의 어두운 값(design-tokens.css 의 --tq-*)에 잇는다.
   설명서 페이지(fibolanding.html · body.rr)는 그대로 밝다. 머리말·전략 탭·설명 상자·설명 버튼은 zombie_backtest.html 의 .nav·.stsw·.t2ex·.sthero 와 같은 모양. */
body.rr-bt{
  --tql-bg:var(--tq-bg);--tql-bg-deep:var(--tq-bg);--tql-card:var(--tq-surface);--tql-card-sub:var(--tq-surface-2);
  --tql-line:var(--tq-border);--tql-line-2:var(--tq-border-2);--tql-line-3:var(--tq-border-2);
  --tql-ink:var(--tq-text);--tql-ink-2:var(--tq-ink-3);--tql-ink-sub:var(--tq-text-mut);--tql-ink-faint:var(--tq-text-faint);
  --tql-invert:var(--tq-text);--tql-arrow:var(--tq-text-faint);--tql-disabled:var(--tq-border-2);--tql-bolt:var(--tq-accent);
  --tql-action:var(--tq-accent);--tql-action-press:var(--tq-accent-2);--tql-action-weak:var(--tq-accent-deep);
  --tql-white:var(--tq-bg);   /* 노란 배경 위 글자 = 어두운 잉크(흰 글자는 대비 1.4:1 — design-tokens.css 규칙) */
  --tql-up:var(--tq-up);--tql-down:var(--tq-down);--tql-warn:var(--tq-warn);--tql-warn-ink:var(--tq-gold-ink);   /* 주황 경고 동그라미 위 글자 — 어두운 화면은 어두운 잉크, 흰 섬은 흰 글자(2026-10-21) */
  --tql-neon-up:var(--tq-neon-up);--tql-neon-down:var(--tq-neon-down);--tql-neon-up-glow:var(--tq-neon-up-glow);--tql-neon-down-glow:var(--tq-neon-down-glow);   /* 결과 손익 · MDD 형광(밝은 화면엔 없다 → 보통 색) */
  --tql-up-weak:color-mix(in srgb,var(--tq-up) 14%,transparent);--tql-down-weak:color-mix(in srgb,var(--tq-down) 14%,transparent);--tql-warn-weak:color-mix(in srgb,var(--tq-warn) 14%,transparent);
  --tql-font:var(--tq-font-ui);--tql-mono:var(--tq-font-mono);--tql-fs-input:16px;
  --tql-r:16px;--tql-r-sm:12px;--tql-r-pill:999px;--tql-touch:44px;
  --rr-strat:var(--tq-purple);   /* R-R 전략 색(탭·설명 버튼) — DCA 빨강 · TBV 노랑과 구분 */
  margin:0;background:var(--tq-bg);color:var(--tq-text);font-family:var(--tq-font-ui);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip;   /* clip: hidden 이면 body 가 스크롤 상자가 되어 아래 고정 재생 막대(sticky)가 안 붙는다(mobile.css 의 body 규칙까지 덮는다) */
  color-scheme:dark   /* 스크롤바·날짜 칸 같은 브라우저 기본 부품도 어둡게 */
}
body.rr-bt *{box-sizing:border-box}
body.rr-bt a{color:var(--tql-action)}
body.rr-bt button,body.rr-bt input,body.rr-bt select{font-family:inherit}
body.rr-bt .rrx-wrap{max-width:1200px;margin:0 auto;padding:0 22px}
body.rr-bt .rrx-head{padding:30px 0 0}
body.rr-bt .nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}
body.rr-bt .brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:18px;letter-spacing:.04em;color:var(--tq-text)}
body.rr-bt .nav-tag{font-size:11px;color:var(--tq-text-mut);letter-spacing:.12em}
body.rr-bt .stsw{max-width:1100px;margin:0 auto;padding:0 20px}
body.rr-bt .stsw-tabs{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--tq-border-2);border-radius:14px;overflow:hidden}
body.rr-bt .stsw-tabs a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:15px 10px;text-decoration:none;text-align:center;background:var(--tq-surface);transition:.15s}
body.rr-bt .stsw-tabs a+a{border-left:1px solid var(--tq-border-2)}
body.rr-bt .stsw-tabs a .t1{display:flex;align-items:center;gap:8px;font-size:clamp(16px,2.4vw,21px);font-weight:800;letter-spacing:-.01em;color:var(--tq-text-mut)}
body.rr-bt .stsw-tabs a .t2{font-size:11px;color:var(--tq-text-faint)}
body.rr-bt .stsw-tabs a .fl{width:22px;height:15px;border-radius:2px;overflow:hidden;flex:none;box-shadow:0 0 0 1px var(--tq-border-2)}
body.rr-bt .stsw-tabs a:hover{background:var(--tq-surface-2)}
body.rr-bt .stsw-tabs a.on.rr{background:color-mix(in srgb,var(--rr-strat) 16%,var(--tq-surface));cursor:default}
body.rr-bt .stsw-tabs a.on.rr .t1{color:var(--rr-strat)}
body.rr-bt .t2ex{max-width:1100px;margin:16px auto 0;padding:0 20px}
body.rr-bt .t2ex .bx{background:var(--tq-surface);border:1px solid var(--tq-border-2);border-radius:14px;padding:16px 18px}
body.rr-bt .t2ex .h{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
body.rr-bt .t2ex .h b{font-size:16px;font-weight:800;color:var(--tq-text)}
body.rr-bt .t2ex .h .en{font-size:12.5px;color:var(--tq-text-mut);font-weight:700}
body.rr-bt .t2ex .keys{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 4px}
body.rr-bt .t2ex .keys span{font-size:11.5px;font-weight:700;color:var(--tq-text-mut);background:var(--tq-surface-2);border:1px solid var(--tq-border-2);border-radius:999px;padding:5px 11px}
body.rr-bt .t2ex p{font-size:13px;line-height:1.75;color:var(--tq-text);margin:10px 0 0}
body.rr-bt .t2ex p.how{font-size:12.5px;color:var(--tq-text-mut)}
body.rr-bt .t2ex p b{color:var(--tq-text)}
body.rr-bt .sthero{max-width:1060px;width:calc(100% - 40px);margin:14px auto 18px;padding:22px 20px;border:1px solid var(--tq-border-2);border-radius:16px;background:var(--tq-surface-2);text-align:center}
body.rr-bt .sthero-cta{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:18px}
body.rr-bt .sthero-cta a{font-size:13px;font-weight:700;color:var(--rr-strat);border:1px solid var(--rr-strat);border-radius:10px;padding:11px 16px;text-decoration:none;transition:.15s}
body.rr-bt .sthero-cta a:hover{background:color-mix(in srgb,var(--rr-strat) 12%,transparent)}
body.rr-bt .sthero-free{border-top:1px solid var(--tq-border-2);padding-top:16px}
body.rr-bt .sthero-free .ft{font-size:14px;font-weight:800;color:var(--tq-text);margin-bottom:10px}
body.rr-bt .sthero-free .fb{display:inline-block;font-size:14px;font-weight:800;color:var(--tq-bg);background:var(--rr-strat);border-radius:11px;padding:13px 36px;text-decoration:none}
body.rr-bt .sthero-free .fb:hover{filter:brightness(1.12)}
body.rr-bt .rr-wrap{max-width:1200px;padding:0 22px 96px}
@media(max-width:560px){
  body.rr-bt .rrx-wrap{padding:0 13px}body.rr-bt .rrx-head{padding:12px 0 0}body.rr-bt .nav{margin-bottom:14px}body.rr-bt .nav-tag{display:none}
  body.rr-bt .stsw,body.rr-bt .t2ex{padding:0 14px}body.rr-bt .sthero{width:calc(100% - 28px);padding:18px 14px}
  body.rr-bt .stsw-tabs a{padding:12px 6px}body.rr-bt .stsw-tabs a .t1{font-size:14px;gap:5px;flex-wrap:wrap;justify-content:center}body.rr-bt .stsw-tabs a .t2{display:none}
  body.rr-bt .rr-wrap{padding:0 13px 96px}
}
/* 종목 칸의 최대 손실 → USDT 안내(종목별 손절 · 확정 손익 + 포지션 손익) */
.rr-mloss{margin:0;align-self:center;font-size:11.5px;line-height:1.45;color:var(--tql-ink-sub)}
/* 한 종목 매매 리플레이(fibo-rr-replay.js) — 통합 리플레이와 같은 틀(.mp · 2026-10-01 사장님 "터틀처럼 깔끔하게") */
.rp-chart{position:relative;width:100%;height:400px;overflow:hidden}
.rp-now{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:8px 16px 12px}
.rp-now>div{min-width:0;padding:8px 12px;border:1px solid var(--tql-line-2);border-radius:10px;background:var(--tql-card)}
.rp-now span{display:block;font-size:11.5px;font-weight:700;color:var(--tql-ink-sub)}
.rp-now b{display:block;margin-top:2px;font:700 13px/1.45 var(--tql-mono);color:var(--tql-ink);overflow-wrap:anywhere}
.rp1 .rr-legend.mp-legend{border-radius:0}
.mp .rp-feed{padding:0 16px 14px;background:var(--tql-card);border-radius:0 0 var(--tql-r) var(--tql-r)}
.mp .rp-feed ul{margin-top:0}
@container mp (max-width:640px){
  .rp-now{grid-template-columns:repeat(2,minmax(0,1fr));margin:8px 10px 10px}
  .rp-chart{height:300px}
  .mp .rp-feed{padding:0 10px 12px}
}
/* 기간 끝 계좌 구성 · 월말 금고 — 금고 숫자는 노랑(현금 보관) */
.rr-stats.rr-comp .rr-stat{border:1px solid var(--tql-line)}
.rr-vt{color:var(--tql-warn)}
/* 설정 [?] 그림(fibo-rr-help-fig.js · 2026-10-01 사장님 "[?] 누르면 시각화") — 설명 창 안: 도식(.rr-hfig-draws · 글 옆) + 설명서 실제 차트(.rr-hfig-guides · 아래, 창 폭 그대로) */
.rr-hfig{min-width:0;max-width:100%}
.rr-hfig-t{margin:0 0 10px;font-size:13px;font-weight:800;color:var(--tql-ink)}
.rr-hfig-d{margin:0 0 12px;padding:12px;border:1px solid var(--tql-line-2);border-radius:12px;background:var(--tql-card-sub)}
.rr-hfig-d:last-child{margin-bottom:0}
.rr-hfig-guides{grid-column:1/-1;padding-top:20px;border-top:1px solid var(--tql-line)}
.hf-svg{display:block;width:100%;max-width:560px;height:auto;margin:0 auto}
.hf-svg text{font-size:11px;fill:var(--tql-ink-sub);font-family:inherit}
.hf-svg .t{font-size:12px;font-weight:800;fill:var(--tql-ink)}
.hf-svg .n{font-family:var(--tql-mono);font-weight:700;fill:var(--tql-ink)}
.hf-svg .hf-on{fill:var(--tql-white)}
.hf-svg .tb{fill:var(--tq-cmp-1);font-weight:700}.hf-svg .tg{fill:var(--tql-up);font-weight:700}.hf-svg .tr{fill:var(--tql-down);font-weight:700}.hf-svg .tw{fill:var(--tql-warn);font-weight:700}
.hf-svg .b{fill:var(--tq-cmp-1)}.hf-svg .g{fill:var(--tql-up)}.hf-svg .r{fill:var(--tql-down)}.hf-svg .rd{fill:var(--tql-down);fill-opacity:.45}.hf-svg .w{fill:var(--tql-warn)}.hf-svg .m{fill:var(--tql-line-2)}
.hf-svg .c0{fill:var(--tq-cmp-1)}.hf-svg .c1{fill:var(--tq-cmp-3)}.hf-svg .c2{fill:var(--tq-cmp-4)}.hf-svg .c3{fill:var(--tq-cmp-2)}.hf-svg .c4{fill:var(--tq-cmp-5)}.hf-svg .c5{fill:var(--tql-down)}
.hf-svg .bx{fill:var(--tql-card-sub);stroke:var(--tql-line-2);stroke-width:1}
.hf-svg .vt{fill:var(--tql-warn-weak);stroke:var(--tql-warn);stroke-width:1}
.hf-svg .ax{stroke:var(--tql-ink-faint);stroke-width:1;fill:none}
.hf-svg .sp{stroke:var(--tql-card);stroke-width:1.2;fill:none}
.hf-svg .bl{stroke:var(--tq-cmp-1);stroke-width:1.6;stroke-dasharray:5 4;fill:none}
.hf-svg .wl{stroke:var(--tql-warn);stroke-width:1.6;fill:none}
.hf-svg .gl{stroke:var(--tql-up);stroke-width:1.4;fill:none}.hf-svg .rl{stroke:var(--tql-down);stroke-width:1.4;stroke-dasharray:4 3;fill:none}
.hf-svg .thr{stroke:var(--tql-down);stroke-width:2;fill:none}
.hf-svg .pl{stroke:var(--tql-ink-sub);stroke-width:1.6;fill:none;stroke-linejoin:round}
.hf-svg .ar{stroke:var(--tql-ink-sub);stroke-width:1.4;fill:none}
.hf-svg circle.b,.hf-svg circle.g,.hf-svg circle.r,.hf-svg circle.w,.hf-svg circle.m{stroke:var(--tql-card);stroke-width:1.5}
/* 설명서 차트 — 창 폭 그대로 보여 주고, 좁은 화면에서는 읽히는 크기(1000px)로 두고 옆으로 민다 */
.rr-hfig-g{min-width:0;max-width:100%;contain:inline-size}   /* 차트 폭(1000px)이 바깥 폭 계산에 끼지 않는다 — 안에서만 옆으로 민다 */
.rr-hfig-g .rrg-chart{margin:0 0 12px}
.rr-hfig-g .rrg-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;border-radius:12px}
.rr-hfig-g .rrg-scroll>svg{width:100%;max-width:none}
.rr-hfig-g .rrg-swipe{display:none}
.rr-hfig-g .rrg-chart figcaption{margin-top:8px;font-size:13.5px;line-height:1.65}
.rr-hfig-note{margin:6px 0 0;font-size:12.5px;line-height:1.6;color:var(--tql-ink-sub)}
.rr-hfig-note a{color:var(--tql-action);text-decoration:underline}
@media (max-width:860px){.rr-help-main{grid-template-columns:minmax(0,1fr)}}
@media (max-width:720px){
  .rr-help-dialog,.rr-help-dialog.text-only{width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0}
  .rr-help-dialog>header{padding:12px 16px}
  .rr-help-dialog h2{font-size:18px}
  .rr-help-main{gap:18px;padding:16px 16px 28px}
  .rr-hfig-g .rrg-scroll>svg{width:1000px}
  .rr-hfig-g .rrg-swipe{display:block}
}
/* ── 계산 예시 도식(쿼터 · 여러 종목 200% · 현금 보관) — 2026-10-04 설명서에서 설정 [?] 설명 창으로 옮김(fibo-rr-help-fig.js 의 EX) ──
   실제 차트와 같은 어두운 판(.rrg-frame). 글은 전부 HTML 이라 줄바꿈·번역이 되고, 막대·칸의 크기만 style 의 % 로 넣는다(지금 화면 값으로 계산).
   .rrg 판 안에서만 쓰고(--rrg-* 토큰은 fibo-rr-guide.css 의 .rrg) 색은 전부 그 토큰. */
.rrg-diag{margin:20px 0 14px;scroll-margin-top:100px;word-break:keep-all;overflow-wrap:anywhere}
.rrg-dhead{padding:20px 24px 14px}
.rrg .rrg-dtag{display:inline-block;margin:0 0 10px;padding:3px 10px;border-radius:999px;background:var(--rrg-grid);color:var(--rrg-sub);font-size:12px;font-weight:800;line-height:1.5}
.rrg .rrg-dhead h3{margin:0 0 12px;color:var(--rrg-ink);font-size:16px;line-height:1.5;letter-spacing:0}
.rrg-dkey{display:inline-block;flex:none;box-sizing:border-box;width:14px;height:14px;border-radius:4px;background:var(--rrg-sub)}
.rrg-dkey.l1{background:var(--rrg-l1)}.rrg-dkey.l2{background:var(--rrg-l2)}.rrg-dkey.l3{background:var(--rrg-l3)}
.rrg-dkey.op{background:var(--rrg-blue)}.rrg-dkey.vt{background:var(--rrg-f0)}
.rrg-dkey.thr,.rrg-dkey.acct,.rrg-dkey.base{width:18px;height:0;border-radius:0;background:none;border-top:3px dashed var(--rrg-f0)}
.rrg-dkey.acct,.rrg-dkey.base{border-top-color:var(--rrg-avg)}
.rrg-dkey.cut{background:repeating-linear-gradient(135deg,var(--rrg-red) 0 2px,transparent 2px 5px);box-shadow:inset 0 0 0 1.5px var(--rrg-red)}
.rrg-dkey.lend{background:repeating-linear-gradient(135deg,var(--rrg-l1) 0 3px,color-mix(in srgb,var(--rrg-l1) 30%,transparent) 3px 6px)}
.rrg-dkey.gh{background:color-mix(in srgb,var(--rrg-f0) 12%,transparent);border:1.5px dashed var(--rrg-f0)}
.rrg-diag figcaption{margin-top:10px;font-size:14.5px;line-height:1.7;color:var(--tql-ink-sub)}
/* ① 쿼터 — 차수마다 한 줄: 설명 · 막대(시드 0~100%, 노란 점선 = 쿼터 기준) · 비율 */
.rrg .rrg-qrows{list-style:none;margin:0;padding:0 0 4px}
.rrg-qrow{display:grid;grid-template-columns:minmax(150px,210px) minmax(0,1fr) 132px;grid-template-areas:"lab bar val";align-items:center;gap:8px 20px;padding:14px 24px;border-top:1px solid var(--rrg-grid)}
.rrg-qlab{grid-area:lab;display:flex;align-items:flex-start;gap:10px;min-width:0}
.rrg-qlab strong{display:block;font-size:14.5px;font-weight:800;line-height:1.4;color:var(--rrg-ink)}
.rrg .rrg-qlab p{margin:2px 0 0;font-size:12.5px;line-height:1.5;color:var(--rrg-sub)}
.rrg-qbar{grid-area:bar;position:relative;display:flex;height:30px;border-radius:8px;background:var(--rrg-grid)}
.rrg-qbar .qs{display:flex;align-items:center;justify-content:center;flex:none;min-width:0;height:100%;overflow:hidden;box-shadow:inset -2px 0 0 var(--rrg-bg)}
.rrg-qbar .qs:first-child{border-radius:8px 0 0 8px}
.rrg-qbar .qs em{font-style:normal;font-size:12px;font-weight:800;color:var(--rrg-bg);white-space:nowrap}
.rrg-qbar .qs.l1{background:var(--rrg-l1)}.rrg-qbar .qs.l2{background:var(--rrg-l2)}.rrg-qbar .qs.l3{background:var(--rrg-l3)}
.rrg-qbar .qs.cut{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--rrg-red) 50%,transparent) 0 5px,transparent 5px 10px);box-shadow:inset 0 0 0 1.5px var(--rrg-red)}
.rrg-qbar .qs.cut em{padding:0 5px;border-radius:4px;background:var(--rrg-bg);color:var(--rrg-red)}
.rrg-qbar .ovr{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(135deg,var(--rrg-red) 0 3px,transparent 3px 6px);pointer-events:none}
.rrg-qbar .thr{position:absolute;top:-7px;bottom:-7px;width:0;margin-left:-1px;border-left:2px dashed var(--rrg-f0)}
.rrg-qrow.hit .rrg-qbar{box-shadow:0 0 0 2px var(--rrg-red)}
.rrg-qval{grid-area:val;text-align:right;line-height:1.3;font-variant-numeric:tabular-nums}
.rrg-qval b{display:block;font-size:21px;font-weight:900;color:var(--rrg-ink)}
.rrg-qval small{display:block;font-size:12px;color:var(--rrg-sub)}
.rrg-qflag{display:inline-block;margin-top:5px;padding:2px 9px;border-radius:999px;background:var(--rrg-red);color:var(--rrg-bg);font-size:11.5px;font-weight:900;white-space:nowrap}
.rrg-qrow.hit .rrg-qval b{color:var(--rrg-red)}
.rrg-qrow.after{background:color-mix(in srgb,var(--rrg-up) 8%,transparent)}
.rrg-qrow.after .rrg-qval b{color:var(--rrg-up)}
.rrg-qrow.ax{padding-top:4px;padding-bottom:8px;border-top:0}
.rrg-qaxis{grid-area:bar;position:relative;height:18px;font-size:12px;color:var(--rrg-sub);font-variant-numeric:tabular-nums}
.rrg-qaxis span{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}
.rrg-qaxis .lo{transform:none}.rrg-qaxis .hi{transform:translateX(-100%)}
.rrg-qaxis .thr{color:var(--rrg-f0);font-weight:800}
/* ② 여러 종목 — 한 막대($0 ~ 계좌 전체)에 BTC 증거금 · ① 종목 쿼터 · ② 계좌 쿼터 */
.rrg-mwrap{padding:6px 24px 4px}
.rrg-mzones{display:flex;font-size:12.5px;font-weight:800;line-height:1.4}
.rrg-mzones span{flex:none;min-width:0;padding:0 4px 6px;border-bottom:2px solid var(--rrg-l1);color:var(--rrg-l1);text-align:center}
.rrg-mzones .lend{border-bottom-style:dashed;border-bottom-color:var(--rrg-sub);color:var(--rrg-sub)}
.rrg-mbar{position:relative;height:34px;margin:36px 0 0;border-radius:8px;background:var(--rrg-grid)}
.rrg-mbar .fill{position:absolute;top:0;bottom:0;left:0;border-radius:8px 0 0 8px;background:var(--rrg-l1)}
.rrg-mbar .fill2{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(135deg,var(--rrg-l1) 0 6px,color-mix(in srgb,var(--rrg-l1) 30%,transparent) 6px 12px)}
.rrg-mbar .mk{position:absolute;top:-10px;bottom:-10px;width:0;margin-left:-1px;border-left:2px dashed var(--rrg-f0);font-style:normal}
.rrg-mbar .mk.c{border-left-color:var(--rrg-avg)}
.rrg-mbar .mk b{position:absolute;left:0;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;transform:translateX(-50%);background:var(--rrg-f0);color:var(--rrg-bg);font-size:12px;font-weight:900;line-height:1}
.rrg-mbar .mk.a b{top:-24px}
.rrg-mbar .mk.c b{bottom:-24px;background:var(--rrg-avg)}
.rrg-maxis{position:relative;height:18px;margin:40px 0 0;font-size:12px;color:var(--rrg-sub);font-variant-numeric:tabular-nums}
.rrg-maxis span{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}
.rrg-maxis .lo{transform:none}.rrg-maxis .hi{transform:translateX(-100%)}
.rrg-mcases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 24px 22px}
.rrg-mcase{min-width:0;padding:14px 16px;border:1px solid var(--rrg-grid);border-radius:12px;background:color-mix(in srgb,var(--rrg-grid) 40%,transparent)}
.rrg .rrg-mcase p{margin:0 0 6px;font-size:13.5px;line-height:1.6;color:var(--rrg-ink)}
.rrg .rrg-mcase .k{font-size:12.5px;font-weight:800;color:var(--rrg-f0)}
.rrg .rrg-mcase .s{margin:0;font-size:12.5px;color:var(--rrg-sub)}
/* ③ 현금 보관 — 세 장면(처음 · 보관 · 투입). 장면마다 운용 자산 통 · 금고 통(높이 = 금액) · 흰 점선 = 기준 */
.rrg-vflow{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr) 22px minmax(0,1fr);gap:6px;align-items:stretch;padding:4px 24px 22px}
.rrg-var{display:flex;align-items:center;justify-content:center;color:var(--rrg-sub);font-size:20px;font-weight:800}
.rrg-vst{display:flex;flex-direction:column;min-width:0;padding:14px 14px 12px;border:1px solid var(--rrg-grid);border-radius:14px;background:color-mix(in srgb,var(--rrg-grid) 40%,transparent)}
.rrg .rrg-vst .k{margin:0 0 8px;font-size:15px;font-weight:850;line-height:1.35;color:var(--rrg-ink)}
.rrg .rrg-vtrig{display:flex;align-items:center;min-height:48px;margin:0;padding:6px 10px;border-radius:8px;background:var(--rrg-grid);color:var(--rrg-sub);font-size:12px;font-weight:700;line-height:1.5}
.rrg .rrg-vtrig.up{background:color-mix(in srgb,var(--rrg-up) 13%,transparent);color:var(--rrg-up)}
.rrg .rrg-vtrig.dn{background:color-mix(in srgb,var(--rrg-red) 13%,transparent);color:var(--rrg-red)}
.rrg-vtanks{display:flex;align-items:flex-end;justify-content:center;gap:24px;height:150px;margin:32px 0 54px;padding-left:70px}
.rrg-vtank{position:relative;flex:none;width:56px;height:100%;border:1.5px solid var(--rrg-ax);border-top:1.5px dashed var(--rrg-grid);border-radius:4px 4px 10px 10px}
.rrg-vtank>.lv,.rrg-vtank>.gh,.rrg-vtank>.in{position:absolute;left:0;right:0;box-sizing:border-box}
.rrg-vtank>.lv{border-radius:0 0 8px 8px;background:var(--rrg-blue)}
.rrg-vtank.vt>.lv{background:var(--rrg-f0)}
.rrg-vtank>.in{background:var(--rrg-f0)}
.rrg-vtank>.gh{border:1.5px dashed var(--rrg-f0);background:color-mix(in srgb,var(--rrg-f0) 12%,transparent)}
.rrg-vtank .base{position:absolute;left:-12px;right:-12px;height:0;border-top:2px dashed var(--rrg-avg);font-style:normal}
.rrg-vtank .base span{position:absolute;right:100%;top:-10px;margin-right:6px;font-size:11.5px;font-weight:800;line-height:1.5;color:var(--rrg-avg);white-space:nowrap}
.rrg-vtank .cap{position:absolute;top:100%;left:50%;margin-top:8px;transform:translateX(-50%);font-size:11.5px;font-weight:700;line-height:1.35;color:var(--rrg-sub);text-align:center;white-space:nowrap}
.rrg-vtank .cap b{display:block;font-size:14px;font-weight:900;color:var(--rrg-ink);font-variant-numeric:tabular-nums}
.rrg-vtank.vt .cap b{color:var(--rrg-f0)}
.rrg .rrg-vst .s{margin:0 0 4px;font-size:13px;line-height:1.55;color:var(--rrg-ink)}
.rrg .rrg-vst .nx{margin:0 0 10px;font-size:12px;line-height:1.5;color:var(--rrg-sub)}
.rrg .rrg-vst .tot{margin:auto 0 0;padding-top:9px;border-top:1px solid var(--rrg-grid);font-size:13.5px;font-weight:850;color:var(--rrg-ink);font-variant-numeric:tabular-nums}
.rrg-vst .tot small{display:block;margin-top:1px;font-size:11.5px;font-weight:600;color:var(--rrg-sub)}
@container (max-width:860px){
  .rrg-vflow{grid-template-columns:minmax(0,1fr);padding:4px 16px 18px}
  .rrg-var{height:22px;transform:rotate(90deg)}
  .rrg .rrg-vtrig{min-height:0}
}
@container (max-width:560px){
  .rrg-dhead{padding:18px 16px 12px}
  .rrg-qrow{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"lab val" "bar bar";gap:10px 12px;padding:12px 16px}
  .rrg-qrow.ax{grid-template-columns:minmax(0,1fr);grid-template-areas:"bar"}
  .rrg-qrow.ax>span{display:none}
  .rrg-qbar .qs em{font-size:11px}
  .rrg-qval b{font-size:19px}
  .rrg-mwrap{padding:6px 16px 4px}
  .rrg-mcases{grid-template-columns:minmax(0,1fr);margin:16px}
}
/* 설명 창 안 자리 — 그림이 글보다 먼저, 창 폭 그대로(.rr-help-main 두 칸을 다 쓴다) */
.rr-hex{grid-column:1/-1;min-width:0}
.rr-hex-fig{min-width:0;margin:0 0 18px;font-size:15px;line-height:1.7}
.rr-hex-fig:last-child{margin-bottom:0}
.rr-hex-fig .rrg-diag{margin:0}
.rr-hex-fig .rrg-diag figcaption{margin-top:10px;font-size:13.5px;line-height:1.7;color:var(--tql-ink-sub)}
.rr-hex-fig figcaption b{color:var(--tql-ink)}
.rr-hex-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 12px;padding:0;list-style:none}
.rr-hex-steps li{display:flex;align-items:flex-start;gap:10px;min-width:0;padding:12px 14px;border:1px solid var(--tql-line-2);border-radius:12px;background:var(--tql-card-sub);color:var(--tql-ink);font-size:13.5px;font-weight:700;line-height:1.55;word-break:keep-all;overflow-wrap:anywhere}
.rr-hex-steps li>b{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;background:var(--tql-action);color:var(--tql-white);font-size:13px;font-weight:900;line-height:1}
.rr-hex-steps span b{color:var(--tql-action);font-weight:900}   /* 글 안의 강조(MDD 그림) — 번호 동그라미와 다르다 */
.rr-hex-off{margin:0 0 10px !important;padding:10px 14px;border-radius:10px;background:var(--tql-warn-weak);color:var(--tql-warn);font-size:13.5px;font-weight:800;line-height:1.55}
.rr-hex-note{margin:10px 0 0 !important;font-size:13px;line-height:1.65;color:var(--tql-ink-sub)}
.rr-hex-sub{margin:26px 0 10px;font-size:15.5px;font-weight:850;line-height:1.45;color:var(--tql-ink);word-break:keep-all}
@media (max-width:720px){.rr-hex-steps{grid-template-columns:minmax(0,1fr)}.rr-hex-steps li{padding:10px 12px}}
/* ④ MDD(2026-10-04 · fibo-rr-help-fig.js mddHtml) — 자산 곡선: 선 · 칸은 0~100 좌표 SVG 를 판 크기로 늘리고(선 굵기는 그대로),
   글자 · 점은 같은 % 자리에 HTML 로 얹는다(휴대폰에서도 글자가 작아지지 않는다). 구간 표: 남는 돈 · 구간 폭 · 빠진 돈 막대 + 되찾는 데 필요한 상승률 */
.rrg-ddchart{position:relative;height:250px;margin:6px 24px 4px}
.rrg-ddchart svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.rrg-ddchart path{fill:none;vector-effect:non-scaling-stroke}
.rrg-ddchart .eq{stroke:var(--rrg-blue);stroke-width:2.5;stroke-linejoin:round}
.rrg-ddchart .pk{stroke:var(--rrg-avg);stroke-width:1.5;stroke-dasharray:6 5}
.rrg-ddchart .sd{stroke:var(--rrg-sub);stroke-width:1.5;stroke-dasharray:2 4}
.rrg-ddchart .uw{fill:color-mix(in srgb,var(--rrg-red) 22%,transparent);stroke:none}
.rrg-ddchart .br{stroke:var(--rrg-red);stroke-width:2}
.rrg-dddot{position:absolute;width:12px;height:12px;box-sizing:border-box;border:2px solid var(--rrg-bg);border-radius:50%;transform:translate(-50%,-50%)}
.rrg-dddot.pk{background:var(--rrg-avg)}
.rrg-dddot.lo{background:var(--rrg-red)}
.rrg-ddlab{position:absolute;padding:2px 8px;border-radius:6px;background:color-mix(in srgb,var(--rrg-bg) 88%,transparent);color:var(--rrg-ink);font-size:12.5px;font-weight:800;line-height:1.45;white-space:nowrap;transform:translate(-50%,calc(-100% - 9px))}
.rrg-ddlab.lo{color:var(--rrg-red);transform:translate(-50%,9px)}
.rrg-ddlab.sd{left:0;padding-left:0;color:var(--rrg-sub);font-weight:700;transform:translate(0,5px)}
.rrg-ddpill{position:absolute;padding:3px 10px;border-radius:999px;background:var(--rrg-red);color:var(--rrg-bg);font-size:13px;font-weight:900;line-height:1.4;white-space:nowrap;transform:translate(-50%,-50%)}
.rrg-ddrows{margin:0;padding:4px 18px 2px;list-style:none}
.rrg-ddrow{display:grid;grid-template-columns:118px minmax(0,1fr) 184px;align-items:center;gap:6px 14px;padding:9px 10px;border-radius:10px}
.rrg-ddrow.on{background:color-mix(in srgb,var(--rrg-f0) 12%,transparent);box-shadow:inset 0 0 0 1.5px var(--rrg-f0)}
.rrg-ddk{color:var(--rrg-ttl);font-size:13.5px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.rrg-ddk em{display:block;margin-top:1px;color:var(--rrg-f0);font-size:12px;font-style:normal;font-weight:900}
.rrg-ddbar{display:flex;height:16px;overflow:hidden;border-radius:5px;background:var(--rrg-grid)}
.rrg-ddbar span{flex:none;height:100%}
.rrg-ddbar .keep{background:var(--rrg-blue)}
.rrg-ddbar .band{background:repeating-linear-gradient(135deg,var(--rrg-f0) 0 2px,transparent 2px 5px)}
.rrg-ddbar .lost{background:color-mix(in srgb,var(--rrg-red) 70%,transparent)}
.rrg-ddv{display:flex;flex-direction:column;color:var(--rrg-ink);font-size:13.5px;line-height:1.4;font-variant-numeric:tabular-nums}
.rrg .rrg-ddv b{color:var(--rrg-ink);font-weight:800}   /* 설명서 .rrg b(밝은 글 바탕용 진한 글자)보다 앞서게 — 어두운 판 위 */
.rrg-ddv small{color:var(--rrg-sub);font-size:12px;font-weight:700}
.rrg-ddrow.on .rrg-ddv small{color:var(--rrg-f0)}
.rrg-dkey.ddeq,.rrg-dkey.ddsd{width:18px;height:0;border-radius:0;background:none;border-top:3px solid var(--rrg-blue)}
.rrg-dkey.ddsd{border-top:2px dotted var(--rrg-sub)}
.rrg-dkey.dduw{background:color-mix(in srgb,var(--rrg-red) 35%,transparent)}
.rrg-dkey.ddkeep{background:var(--rrg-blue)}
.rrg-dkey.ddband{background:repeating-linear-gradient(135deg,var(--rrg-f0) 0 2px,transparent 2px 5px);box-shadow:inset 0 0 0 1.5px var(--rrg-f0)}
.rrg-dkey.ddlost{background:color-mix(in srgb,var(--rrg-red) 70%,transparent)}
@media (max-width:720px){
  .rrg-ddchart{height:220px;margin:6px 14px 4px}
  .rrg-ddrows{padding:4px 8px 2px}
  .rrg-ddrow{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"k v" "bar bar";padding:9px 8px}
  .rrg-ddk{grid-area:k}
  .rrg-ddv{grid-area:v;text-align:right}
  .rrg-ddbar{grid-area:bar}
}
/* ── 빠른 최적화(2026-10-02) — 설정 칸의 탭 · 진행 막대 · 낙폭 구간별 표(fibo-rr-opt.js) ── */
.rr-view{display:flex;gap:6px;margin:0 0 8px}
.rr-view button{flex:1 1 0;min-height:var(--tq-touch);padding:8px 10px;border:1px solid var(--tql-line-2);border-radius:var(--tql-r-sm);background:var(--tql-card);color:var(--tql-ink);font:inherit;font-weight:800;font-size:15px;cursor:pointer}
.rr-view button small{display:block;font-weight:500;font-size:11.5px;color:var(--tql-ink-faint)}
.rr-view button.on{border-color:var(--tql-action);background:var(--tql-action);color:var(--tql-white)}
.rr-view button.on small{color:var(--tql-white)}
.rr-view button:disabled{opacity:.5;cursor:not-allowed}
.rr-view button:focus-visible{outline:2px solid var(--tql-action);outline-offset:2px}
/* 빠른 최적화 탭에서는 계좌 · 종목(고른 것 전부 · 한 계좌) · 봉 · 기간 · 찾는 범위만 보인다 — 나머지 설정은 지금 값 그대로 쓴다.
   종목 줄은 이름(검색) · 빼기만, 시드는 총 시드를 똑같이 나눠 쓰므로 균등 분배 단추와 줄마다의 칸은 숨긴다 */
.rr-setup:not(.opt) .rr-opt-only{display:none}
.rr-setup.opt fieldset:not(.rr-opt-keep),.rr-setup.opt #oTotal,.rr-setup.opt #multiBox>.hint:not(.rr-opt-only),.rr-setup.opt #mmEven,.rr-setup.opt .rr-mgrid,.rr-setup.opt .rr-mamt{display:none}
/* 견딜 수 있는 MDD 고르기(2026-10-03) — 7칸을 4 + 3 줄로, 쉬운 설명 상자 */
.rr-otarget button{flex:1 1 22%;min-width:0}
.rr-setup .seg.rr-otarget,.rr-orec .seg.rr-otarget{grid-template-columns:repeat(4,minmax(0,1fr))}   /* 휴대폰(mobile.css 가 .seg 를 2칸 격자로) — MDD 7칸은 4칸씩 */
.rr-omdd{margin:8px 0 4px;padding:10px 12px;border-left:3px solid var(--tql-action);border-radius:var(--tql-r-sm);background:var(--tql-card-sub);font-size:13.5px;line-height:1.65;color:var(--tql-ink-sub)}
.rr-omdd b{color:var(--tql-ink)}
.rr-omdd p{margin:0}.rr-omdd p+p{margin-top:6px}
.rr-orec .rr-octl{margin:10px 0 8px}
.rr-orec .rr-octl>div{flex:1 1 260px;min-width:0}
.rr-oratio{font-weight:800}
/* 여러 종목 — MDD 칸 아래 종목별 MDD(작은 글씨 · 계좌 MDD 와 구분) */
.rr-oas{display:block;max-width:240px;margin-left:auto;font-size:12px;font-weight:400;color:var(--tql-ink-sub);white-space:normal;line-height:1.5}
.rr-oas i{font-style:normal;white-space:nowrap}
/* 「MDD 구간별 전체 보기」 — 70개 표는 접어 두고, 펼치면 안의 카드들이 결과 칸과 같은 간격으로 */
details.rr-oall>summary{cursor:pointer;display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;font-weight:800;font-size:15px;list-style:none}
details.rr-oall>summary::-webkit-details-marker{display:none}
details.rr-oall>summary::before{content:'▸';color:var(--tql-action)}
details.rr-oall[open]>summary::before{content:'▾'}
details.rr-oall>summary small{font-weight:500;font-size:13px;color:var(--tql-ink-faint)}
details.rr-oall>summary:focus-visible{outline:2px solid var(--tql-action);outline-offset:2px}
.rr-oall-in{display:flex;flex-direction:column;gap:16px;margin-top:16px}
#optBox .rr-btn{width:100%;margin-top:10px}
.rr-opt-bar{height:12px;border-radius:var(--tql-r-pill);background:var(--tql-card-sub);overflow:hidden;margin:14px 0 10px}
.rr-opt-bar i{display:block;height:100%;width:0;border-radius:var(--tql-r-pill);background:var(--tql-action);transition:width .25s}
.rr-opt-prog p{margin:0 0 10px;font-variant-numeric:tabular-nums}
.rr-onotes{margin-top:14px}
.rr-onotes+.rr-warn,.rr-warn+.rr-warn{margin-top:12px}
.rr-octl{display:flex;flex-wrap:wrap;gap:6px 18px;margin-bottom:6px}
.rr-olbl{display:block;font-size:12.5px;color:var(--tql-ink-faint);font-weight:700}
.rr-card h3.rr-oh{margin-top:14px}
.rr .hint.rr-osub{margin:0 0 10px}
.rr-tw td.rr-oset{text-align:left;white-space:normal;min-width:240px;line-height:1.5}
.rr-tw .rr-otbl th,.rr-tw .rr-otbl td{padding:7px 6px}
/* [백테스트 보기] 칸은 표를 옆으로 밀어도 오른쪽에 붙어 있다 */
.rr-tw .rr-otbl td.rr-oact,.rr-tw .rr-otbl th:last-child{position:sticky;right:0;border-left:1px solid var(--tql-line)}
.rr-tw .rr-otbl td.rr-oact{background:var(--tql-card)}
/* 휴대폰 — 줄 하나를 카드 하나로(이름표 · 값). 옆으로 미는 넓은 표 대신 세팅 · 숫자 · 버튼을 위에서 아래로 */
@media (max-width:640px){
  .rr-tw .rr-otbl thead{display:none}
  .rr-tw .rr-otbl,.rr-tw .rr-otbl tbody,.rr-tw .rr-otbl tr{display:block;width:100%}
  .rr-tw .rr-otbl tr{border:1px solid var(--tql-line);border-radius:var(--tql-r-sm);padding:10px 12px;margin:0 0 10px}
  .rr-tw .rr-otbl td{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:4px 0;border:0;white-space:normal;text-align:right;min-width:0}
  .rr-tw .rr-otbl td[data-l]::before{content:attr(data-l);flex:0 1 46%;text-align:left;font-size:12.5px;font-weight:400;color:var(--tql-ink-faint)}
  .rr-tw .rr-otbl td.rr-ohd{display:block;text-align:left;font-weight:800;font-size:15px}
  .rr-tw .rr-otbl td.rr-orank::before{content:'#'}
  .rr-tw .rr-otbl td.rr-oset{display:block;text-align:left;min-width:0;padding-bottom:8px}
  .rr-tw .rr-otbl td.rr-onone{display:block;text-align:left}
  .rr-tw .rr-otbl td.rr-oact{position:static;display:block;border-left:0;padding-top:8px;background:none}
  .rr-tw .rr-otbl td.rr-oact .rr-btn{width:100%;min-height:var(--tq-touch)}
  .rr-onav a{flex:1 1 22%}
}
.rr-otbl th small{font-weight:500}
.rr-oth-l{display:block;text-align:left}
.rr-osm{display:block;font-size:12.5px;font-weight:400;color:var(--tql-ink-sub)}
.rr-oside{font-weight:800;white-space:nowrap}
.rr-oset small{color:var(--tql-ink-faint);white-space:nowrap}
.rr-oshape{font-size:12.5px;color:var(--tql-ink-sub)}
.rr-tw td.rr-onone{text-align:left;color:var(--tql-ink-faint)}
.rr-oband{color:var(--tql-action);font-weight:700;text-decoration:underline}
.rr-btn.rr-ogo{min-height:36px;padding:6px 12px;font-size:13px;white-space:nowrap}
.rr-onav{display:flex;flex-wrap:wrap;gap:6px}
.rr-onav a{flex:1 1 auto;min-height:40px;align-content:center;text-align:center;padding:6px 10px;border:1px solid var(--tql-line-2);border-radius:var(--tql-r-pill);background:var(--tql-card);color:var(--tql-ink);font-weight:800;font-size:13.5px;text-decoration:none}
.rr-onav a small{color:var(--tql-ink-faint);font-weight:600}
.rr-onav a:hover{background:var(--tql-action-weak)}
.rr-card.rr-oback{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;font-size:14px;line-height:1.6;border-color:var(--tql-action)}
/* 이 결과의 세팅(2026-10-03) — 결과 맨 위 숫자 칸 바로 아래: 전략 · 사고팔기 · 위험 관리 · 비용(· 종목별) */
/* 이 결과의 세팅 — EXITANT AI 봇 첫 설정 순서 [항목] : 값(fibo-rr-botsim.js · 2026-10-04) */
.rr-bset-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 16px;margin-bottom:6px}
.rr-bset-kick{display:block;font-size:12.5px;font-weight:800;color:var(--tql-action)}
.rr-bset h3{margin:2px 0 0}
.rr-bset-go{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px}
/* 2026-10-05 사장님 「길게 보여 주지 말고 종목별로 — 화살표로 펼치면 설정값 작게」: 종목마다 한 줄(<details>) · 펼치면 장별 작은 값 표 */
.rr-bset-sum{margin:2px 0 2px;font-size:13.5px;font-weight:700;color:var(--tql-ink-sub);overflow-wrap:anywhere}
.rr-bset-lead{margin:0 0 10px}
.rr-bset-list{display:grid;gap:6px}
.rr-bset-a{border:1px solid var(--tql-line);border-radius:var(--tql-r-sm);background:var(--tql-card-sub)}
.rr-bset-a[open]{border-color:var(--tql-line-2)}
.rr-bset-a>summary{display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 12px;cursor:pointer;list-style:none;border-radius:var(--tql-r-sm)}
.rr-bset-a>summary::-webkit-details-marker{display:none}
.rr-bset-a>summary:hover{background:var(--tql-action-weak)}
.rr-bset-a>summary:focus-visible{outline:2px solid var(--tql-action);outline-offset:2px}
.rr-bset-a .ap-badge{width:30px;height:30px}
.rr-bset-emo{display:inline-grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--tql-line-2);background:var(--tql-card);color:var(--tql-ink);font-size:15px}
.rr-bset-an{flex:1 1 auto;min-width:0}
.rr-bset-an b{display:block;font-size:14.5px;line-height:1.35;color:var(--tql-ink)}
.rr-bset-an small{display:block;margin-top:1px;font-size:12.5px;line-height:1.4;color:var(--tql-ink-sub);overflow-wrap:anywhere}
.rr-bset-tag{flex:none;padding:2px 8px;border-radius:var(--tql-r-pill);background:var(--tql-action-weak);color:var(--tql-action);font-size:11.5px;font-weight:800;white-space:nowrap}
.rr-bset-tag.add{border:1px solid var(--tql-line-2);background:var(--tql-card);color:var(--tql-ink-sub)}
.rr-bset-tag.no{background:var(--tql-down-weak);color:var(--tql-down)}   /* 봇에서 고를 수 없는 종목(터틀 · DCA 봇 종목 목록 밖) */
.rr-bset-wn{flex:none;width:20px;height:20px;border-radius:50%;background:var(--tql-warn);color:var(--tql-warn-ink);font:800 12px/20px var(--tql-font);text-align:center}
.rr-bset-ar{flex:none;width:9px;height:9px;margin:0 4px 3px 2px;border-right:2px solid var(--tql-ink-sub);border-bottom:2px solid var(--tql-ink-sub);transform:rotate(45deg);transition:transform .15s ease}
.rr-bset-a[open]>summary .rr-bset-ar{margin-bottom:-3px;transform:rotate(-135deg)}
.rr-bset-p{padding:0 12px 12px;border-top:1px solid var(--tql-line)}
.rr-bset-how{margin:8px 0 2px;font-size:12.5px;line-height:1.5;color:var(--tql-ink-sub)}
.rr-bset-g{margin-top:10px}
.rr-bset-gt{display:block;margin-bottom:3px;font-size:12px;font-weight:800;color:var(--tql-action)}
.rr-bset-p dl{margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:0 18px}
.rr-bset-p dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:4px 0;border-bottom:1px dashed var(--tql-line);font-size:12.5px;line-height:1.45}
.rr-bset-p dt{min-width:0;color:var(--tql-ink-faint)}
.rr-bset-p dd{margin:0;min-width:0;color:var(--tql-ink);font-weight:800;text-align:right;overflow-wrap:anywhere}
.rr-bset-p dd small{display:block;font-size:11.5px;font-weight:500;color:var(--tql-ink-faint)}
.rr-bset-p dl>div.w dd{color:var(--tql-warn)}
.rr-bset-x .rr-bset-p dl{grid-template-columns:minmax(0,1fr)}
.rr-bset-x .rr-bset-p dl>div{display:block}
.rr-bset-x .rr-bset-p dd{margin-top:1px;text-align:left}
.rr-bset-x .rr-bset-p .hint{margin:6px 0 0;font-size:12.5px}
.rr-bset-warn{display:block;margin:6px 0 0;padding:4px 8px;border-left:3px solid var(--tql-warn);border-radius:var(--tql-r-sm);background:var(--tql-warn-weak);color:var(--tql-ink);font-size:12.5px;line-height:1.5}
/* 텔레그램 로고(파란 동그라미 + 흰 종이비행기) — 카드 단추 · 시뮬레이션 창 머리 · 텔레그램 창 줄 */
.rr-tg{display:inline-grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;background:var(--tq-brand-telegram)}
.rr-tg svg{display:block;width:62%;height:62%;margin-left:-6%;fill:var(--tq-white)}   /* 흰 비행기 — 이 화면의 --tql-white 는 노란 단추 위 어두운 잉크라 쓰지 않는다 */
.rr-tg.lg{width:40px;height:40px}
/* 텔봇 세팅 복사(2026-10-09) — 카드 머리 단추 둘(복사 = 노란 단추 · 시뮬레이션 = 테두리 단추) · 복사 알림 줄 · 붙여 넣을 내용 · 창 머리 단추 */
.rr-bset-acts{display:flex;flex-wrap:wrap;gap:8px}
.rr-bset-copy{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px}
.rr-bset-copy.ok,.rr-bs-copy.ok{background:var(--tql-up);border-color:var(--tql-up)}
.rr-cp-ic{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rr-bset-cst{margin:0 0 6px;font-size:13.5px;font-weight:700;color:var(--tql-up)}
.rr-bset-cst:empty{display:none}
.rr-bset-paste{margin:0 0 10px}
.rr-bset-paste>summary{padding:12px 0;cursor:pointer;font-size:13px;font-weight:700;color:var(--tql-ink-sub)}
.rr-bset-pre{margin:8px 0 0;padding:10px 12px;max-height:220px;overflow:auto;border:1px solid var(--tql-line);border-radius:var(--tql-r-sm);background:var(--tql-bg);color:var(--tql-ink-sub);font-family:inherit;font-size:12px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}
.rr-cp-ta{position:fixed;top:0;left:0;width:1px;height:1px;opacity:0;pointer-events:none}
.rr-btn.rr-bs-copy{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:44px;min-width:0;padding:0 14px;font-family:inherit;font-size:14px;font-weight:800}
@media (max-width:720px){.rr-btn.rr-bs-copy{padding:0 12px}.rr-bs-copy span{display:none}}
@media (max-width:640px){.rr-bset-acts{width:100%}.rr-bset-acts .rr-btn{width:100%}}
@media (max-width:640px){.rr-bset-go{width:100%}.rr-bset-a>summary{gap:8px;padding:8px 10px}.rr-bset-p{padding:0 10px 10px}}
/* 붙여 넣기 1초 안내(2026-10-18 사장님) — 「이 결과의 세팅」 카드 안 · 실제 봇 화면 사진 + 바로 밑 복사 단추 + 3단계(fibo-rr-botsim.js · quant-botsim.js pasteGuideHTML)
   넓은 화면 = 왼쪽 사진 · 그 밑 복사 단추 / 오른쪽 제목 · 단계.  휴대폰 = 제목 → 사진 → 복사 단추 → 단계 */
.rr-paste{display:grid;grid-template-columns:minmax(0,248px) minmax(0,1fr);grid-template-areas:"shot head" "shot steps" "act steps";column-gap:24px;row-gap:12px;align-items:start;margin:12px 0 14px;padding:18px;border:1px solid color-mix(in srgb,var(--tql-action) 40%,var(--tql-line));border-radius:var(--tql-r);background:linear-gradient(135deg,color-mix(in srgb,var(--tql-action) 10%,var(--tql-card-sub)) 0%,var(--tql-card-sub) 62%)}
.rr-paste-head{grid-area:head}
.rr-paste-kick{display:inline-block;padding:3px 10px;border-radius:var(--tql-r-pill);background:var(--tql-action-weak);color:var(--tql-action);font-size:12px;font-weight:800;letter-spacing:.2px}
.rr-paste h4{margin:8px 0 4px;font-size:21px;line-height:1.3;font-weight:900;letter-spacing:-.3px;color:var(--tql-ink);word-break:keep-all}
.rr-paste-head p{margin:0;font-size:13.5px;line-height:1.55;color:var(--tql-ink-sub);word-break:keep-all}
.rr-paste-shot{grid-area:shot;position:relative;margin:0;aspect-ratio:480/652;border:1px solid var(--tql-line-2);border-radius:18px;overflow:hidden;background:var(--tql-card);box-shadow:0 14px 32px color-mix(in srgb,var(--tql-bg-deep) 60%,transparent)}
.rr-paste-shot img{display:block;width:100%;height:100%;object-fit:cover;-webkit-mask-image:linear-gradient(to bottom,var(--tql-ink) 80%,transparent);mask-image:linear-gradient(to bottom,var(--tql-ink) 80%,transparent)}
.rr-paste-hit{position:absolute;left:2%;top:39%;width:87%;height:7.6%;border-radius:10px;box-shadow:0 0 0 2px var(--tql-action),0 0 18px color-mix(in srgb,var(--tql-action) 70%,transparent);animation:rrPasteHit 2.2s ease-in-out infinite;pointer-events:none}   /* 사진 속 「붙여 넣기」 단추 자리 */
@keyframes rrPasteHit{0%,100%{opacity:.35}50%{opacity:1}}
.rr-paste-shot figcaption{position:absolute;left:10px;bottom:10px;padding:3px 9px;border-radius:var(--tql-r-pill);background:color-mix(in srgb,var(--tql-bg-deep) 78%,transparent);color:var(--tql-ink);font-size:11px;font-weight:800}
.rr-paste-act{grid-area:act}
.rr-paste-act .rr-btn{width:100%;min-height:48px;font-size:15px}
.rr-paste-steps{grid-area:steps;min-width:0}
.rr-paste-steps ol{margin:0;padding:0;list-style:none;counter-reset:rrp;display:grid;gap:8px}
.rr-paste-steps li{counter-increment:rrp;display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--tql-line);border-radius:var(--tql-r-sm);background:var(--tql-card);font-size:13.5px;line-height:1.5;color:var(--tql-ink-sub);word-break:keep-all}
.rr-paste-steps li::before{content:counter(rrp);grid-row:1 / span 2;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--tql-action);color:var(--tql-white);font-size:14px;font-weight:900}
.rr-paste-steps li b{display:block;font-size:14px;color:var(--tql-ink)}
.rr-paste-note{margin:10px 0 0;font-size:12.5px;line-height:1.5;color:var(--tql-ink-faint);word-break:keep-all}
.rr-paste-start{display:inline-flex;align-items:center;gap:4px;min-height:44px;font-size:13.5px;font-weight:800;color:var(--tql-action);text-decoration:none}
.rr-paste-start:hover{text-decoration:underline}
.rr-paste-start:focus-visible{outline:2px solid var(--tql-action);outline-offset:2px;border-radius:4px}
@media (prefers-reduced-motion:reduce){.rr-paste-hit{animation:none;opacity:1}}
@media (max-width:720px){.rr-paste{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "shot" "act" "steps";padding:14px}.rr-paste-shot{width:min(100%,280px);justify-self:center}.rr-paste-act{width:min(100%,280px);justify-self:center}.rr-paste h4{font-size:19px}}
/* EXITANT AI 봇 시뮬레이션 창 — 왼쪽 전자책 목차 · 가운데 텔레그램 · 오른쪽 이 단계 설명 · 아래 재생 막대(fibo-rr-botsim-ui.js · 2026-10-05) */
.rr-bs{width:min(1280px,calc(100vw - 32px));max-width:none;height:min(860px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;padding:0;border:1px solid var(--tql-line-2);border-radius:16px;background:var(--tql-card);color:var(--tql-ink);overflow:hidden;display:none}
.rr-bs[open]{display:flex;flex-direction:column}
.rr-bs::backdrop{background:color-mix(in srgb,var(--tql-bg-deep) 80%,transparent)}
.rr-bs>header{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--tql-line)}
.rr-bs-headtx{flex:1 1 auto;min-width:0}
.rr-bs-kick{display:block;font-size:12.5px;font-weight:800;color:var(--tql-action)}
.rr-bs h2{margin:2px 0 0;font-size:18px;line-height:1.35;word-break:keep-all}
.rr-bs-x,.rr-bs-tocbtn{flex:none;min-width:64px;min-height:44px;padding:0 14px;border:1px solid var(--tql-line-2);border-radius:var(--tql-r-sm);background:var(--tql-card-sub);color:var(--tql-ink);font-family:inherit;font-size:14px;font-weight:800;cursor:pointer}
.rr-bs-tocbtn{display:none}
.rr-bs-main{position:relative;flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,270px) minmax(0,1fr) minmax(0,330px);overflow:hidden}
.rr-bs-toc{min-height:0;overflow:auto;padding:12px 8px 16px 12px;border-right:1px solid var(--tql-line);background:var(--tql-card-sub)}
.rr-bs-toch{display:block;margin:0 0 8px 6px;font-size:13px;color:var(--tql-ink-sub)}
.rr-bs-chap{margin:0 0 4px}
.rr-bs-chh{display:flex;align-items:center;gap:8px;width:100%;min-height:42px;padding:6px 8px;border:1px solid transparent;border-radius:var(--tql-r-sm);background:transparent;color:var(--tql-ink);font-family:inherit;text-align:left;cursor:pointer}
.rr-bs-chh:hover{border-color:var(--tql-line-2)}
.rr-bs-chh .no{flex:none;min-width:2.6em;padding:1px 6px;border-radius:var(--tql-r-pill);background:var(--tql-card);border:1px solid var(--tql-line-2);font-size:11.5px;font-weight:800;text-align:center;color:var(--tql-ink-sub)}
.rr-bs-chh .tt{flex:1 1 auto;min-width:0;font-size:13.5px;font-weight:800;line-height:1.35;word-break:keep-all}
.rr-bs-chh .cnt{flex:none;font:700 11.5px var(--tql-mono);color:var(--tql-ink-faint)}
.rr-bs-chap.cur>.rr-bs-chh .no{background:var(--tql-action);border-color:var(--tql-action);color:var(--tql-white)}
.rr-bs-steps{display:none;margin:2px 0 6px;padding:0 0 0 10px;list-style:none;border-left:2px solid var(--tql-line)}
.rr-bs-chap.open>.rr-bs-steps{display:block}
.rr-bs-st button{display:flex;align-items:flex-start;gap:8px;width:100%;min-height:38px;padding:5px 8px;border:1px solid transparent;border-radius:var(--tql-r-sm);background:transparent;color:var(--tql-ink-faint);font-family:inherit;text-align:left;cursor:pointer}
.rr-bs-st button:hover{border-color:var(--tql-line-2)}
.rr-bs-st .n{flex:none;min-width:22px;height:22px;border-radius:50%;border:1px solid var(--tql-line-2);font:700 11px/20px var(--tql-mono);text-align:center}
.rr-bs-st .t{flex:1 1 auto;min-width:0}
.rr-bs-st .t b{display:block;font-size:12.5px;font-weight:700;line-height:1.35}
.rr-bs-st .t small{display:block;font-size:11.5px;line-height:1.35;overflow-wrap:anywhere}
.rr-bs-st .w{flex:none;width:18px;height:18px;border-radius:50%;background:var(--tql-warn);color:var(--tql-ink);font:800 11px/18px var(--tql-font);text-align:center}
.rr-bs-st.ok button{color:var(--tql-ink-sub)}
.rr-bs-st.ok .n{background:var(--tql-up-weak);border-color:var(--tql-up);color:var(--tql-up)}
.rr-bs-st.cur button{border-color:var(--tql-action);background:var(--tql-action-weak);color:var(--tql-ink)}
.rr-bs-st.cur .n{border-color:var(--tql-action);color:var(--tql-action)}
.rr-bs-empty{padding:6px 8px;font-size:12px;color:var(--tql-ink-faint)}
.rr-bs-phone{min-height:0;display:flex;flex-direction:column;background:var(--tql-bg)}
.rr-bs-top{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--tql-line);background:var(--tql-card)}
.rr-bs-tgbar{display:flex;align-items:center;gap:8px;padding:6px 16px;border-bottom:1px solid var(--tql-line);background:var(--tql-card-sub);font-size:12.5px;font-weight:800;color:var(--tql-ink-sub)}
.rr-bs-tgbar .rr-tg{width:20px;height:20px}
.rr-bs-tgbar small{margin-left:auto;font-size:11.5px;font-weight:600;color:var(--tql-ink-faint)}
.rr-bs-ava{flex:none;width:34px;height:34px;border-radius:50%;background:var(--tql-action);color:var(--tql-white);font:900 15px/34px var(--tql-font);text-align:center}
.rr-bs-name b{display:block;font-size:14px}
.rr-bs-name small{display:block;font-size:12px;color:var(--tql-ink-faint)}
.rr-bs-chat{flex:1 1 auto;min-height:0;overflow:auto;padding:14px 16px 18px;display:flex;flex-direction:column;gap:8px;scroll-behavior:smooth}
.rr-bs-sys{align-self:center;margin:0 0 2px;padding:3px 10px;border-radius:var(--tql-r-pill);background:var(--tql-card-sub);font:700 12px var(--tql-mono);color:var(--tql-ink-faint)}
.rr-bs-day{align-self:center;margin:6px 0 0;padding:3px 12px;border-radius:var(--tql-r-pill);background:var(--tql-card-sub);font-size:12px;font-weight:700;color:var(--tql-ink-sub)}
.rr-bs-sep{align-self:center;margin:6px 0 0;font-size:12px;color:var(--tql-ink-faint)}
.rr-bs-msg{position:relative;max-width:min(92%,560px);padding:9px 12px 8px;border-radius:14px;font-size:14px;line-height:1.55;overflow-wrap:anywhere}
.rr-bs-msg .tx{white-space:pre-line}
.rr-bs-msg .tx code{padding:0 4px;border-radius:4px;background:var(--tql-card-sub);font:600 .92em var(--tql-mono)}   /* 봇 글의 <code>(터틀 봇 보관 규칙 입력 예) */
.rr-bs-msg .tx i{font-style:italic;color:var(--tql-ink-sub)}
.rr-bs-msg.bot{align-self:flex-start;background:var(--tql-card);border:1px solid var(--tql-line);border-bottom-left-radius:4px;color:var(--tql-ink-sub)}
.rr-bs-msg.bot .tx b{color:var(--tql-ink);font-weight:800}
.rr-bs-msg .tm{display:block;margin-top:2px;text-align:right;font-size:11px;color:var(--tql-ink-faint)}
.rr-bs-msg.me{align-self:flex-end;background:var(--tql-action);color:var(--tql-white);border-bottom-right-radius:4px;font-weight:700}
.rr-bs-msg.in{animation:rrbsIn .28s ease-out both}
.rr-bs-msg.flash{animation:rrbsEdit .6s ease-out both}
.rr-bs-msg.me.paste{max-width:94%;font-weight:600}
.rr-bs-msg.me.paste span{display:block;white-space:pre-wrap;word-break:break-all;font-size:11.5px;line-height:1.45;max-height:240px;overflow:auto}
.rr-bs-pst{display:block;margin-bottom:4px;font-size:10.5px;font-weight:700;opacity:.82}
.rr-bset-rerun{margin:10px 0 2px;padding:10px 12px;border:1px dashed var(--tql-line-2);border-radius:10px;background:var(--tql-card-sub)}
.rr-bset-rerun p{margin:0 0 8px;font-size:13px;line-height:1.55;color:var(--tql-ink-sub)}
.rr-bset-rerun .rr-btn{display:inline-flex;margin:0 6px 4px 0;text-decoration:none}
.rr-bs-msg.me.type span{display:inline-block;overflow:hidden;white-space:nowrap;vertical-align:bottom;max-width:100%;animation:rrbsType var(--dur,.6s) steps(var(--n,8)) both}
.rr-bs-kb{display:grid;gap:5px;margin-top:9px}
.rr-bs-kb .kr{display:flex;flex-wrap:wrap;gap:5px}
.rr-bs-kb .kbtn{flex:1 1 0;min-width:max-content;padding:7px 8px;border:1px solid var(--tql-line-2);border-radius:8px;background:var(--tql-card-sub);color:var(--tql-ink);font-size:12.5px;font-weight:700;text-align:center}
.rr-bs-kb .kbtn.hit{border-color:var(--tql-action);background:var(--tql-action-weak);color:var(--tql-action)}
.rr-bs-kb .kbtn.press{animation:rrbsPress .5s ease-out both}
.rr-bs-typing{align-self:flex-start;display:flex;gap:4px;padding:11px 14px;border-radius:14px;background:var(--tql-card);border:1px solid var(--tql-line)}
.rr-bs-typing i{width:6px;height:6px;border-radius:50%;background:var(--tql-ink-faint);animation:rrbsDot 1s infinite}
.rr-bs-typing i:nth-child(2){animation-delay:.15s}.rr-bs-typing i:nth-child(3){animation-delay:.3s}
.rr-bs-ex{min-height:0;overflow:auto;border-left:1px solid var(--tql-line);background:var(--tql-card)}
.rr-bs-exh{display:none;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:0 14px;border:0;border-bottom:1px solid var(--tql-line);background:var(--tql-card-sub);color:var(--tql-ink);font-family:inherit;font-size:13.5px;font-weight:800;text-align:left;cursor:pointer}
.rr-bs-exh .st{flex:none;padding:4px 10px;border:1px solid var(--tql-line-2);border-radius:var(--tql-r-pill);color:var(--tql-action);font-size:12.5px;font-weight:800}
/* 다시 띄우는 메인메뉴 — 버튼 줄을 접어 한 줄로(2026-10-06 사장님 「중간중간 길게 뜨는 메뉴가 거슬림」) */
.rr-bs-msg.menu.fold .rr-bs-kb{display:none}
.rr-bs-menut{display:block;width:100%;min-height:36px;margin-top:8px;padding:0 10px;border:1px dashed var(--tql-line-2);border-radius:8px;background:transparent;color:var(--tql-ink-sub);font-family:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.rr-bs-menut:hover{border-color:var(--tql-action);color:var(--tql-ink)}
.rr-bs-exb{padding:14px 16px 18px}
.rr-bs-exch{display:block;font-size:12px;font-weight:800;color:var(--tql-action)}
.rr-bs-exb h3{margin:3px 0 10px;font-size:17px;line-height:1.35;word-break:keep-all}
.rr-bs-exs{margin:0 0 12px}
.rr-bs-exs .h{display:block;margin-bottom:3px;font-size:12px;color:var(--tql-ink-faint)}
.rr-bs-exs p{margin:0;font-size:14px;line-height:1.6;color:var(--tql-ink-sub);word-break:keep-all;overflow-wrap:anywhere}
.rr-bs-exs ul{margin:0;padding:0 0 0 18px;font-size:13.5px;line-height:1.55;color:var(--tql-ink-sub)}
.rr-bs-exs.todo p{padding:8px 10px;border-radius:var(--tql-r-sm);background:var(--tql-action-weak);color:var(--tql-ink);font-weight:700}
.rr-bs-exs .kv b.k{color:var(--tql-ink)}
.rr-bs-exs .kv b.v{color:var(--tql-action)}
.rr-bs-exs.warn{padding:8px 10px;border-left:3px solid var(--tql-warn);border-radius:var(--tql-r-sm);background:var(--tql-warn-weak)}
.rr-bs-exs.warn ul{color:var(--tql-ink)}
.rr-bs-exs.day ul{padding-left:16px;font-size:12.5px}
.rr-bs-exs.day li.me{color:var(--tql-action);font-weight:800}
.rr-bs-st.day .t b{font-size:12px}
.rr-bs-exfoot{margin:14px 0 0;font-size:11.5px;line-height:1.5;color:var(--tql-ink-faint)}
.rr-bs-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 16px;border-top:1px solid var(--tql-line);background:var(--tql-card)}
.rr-bs-btn{min-height:44px;padding:0 14px;border:1px solid var(--tql-line-2);border-radius:var(--tql-r-sm);background:var(--tql-card-sub);color:var(--tql-ink);font-family:inherit;font-size:14px;font-weight:800;cursor:pointer}
.rr-bs-btn.pri{min-width:110px;background:var(--tql-action);border-color:var(--tql-action);color:var(--tql-white)}
.rr-bs-spd{display:flex;border:1px solid var(--tql-line-2);border-radius:var(--tql-r-sm);overflow:hidden}
.rr-bs-spd button{min-height:42px;padding:0 12px;border:0;background:transparent;color:var(--tql-ink-sub);font-family:inherit;font-size:13px;font-weight:700;cursor:pointer}
.rr-bs-spd button.on{background:var(--tql-action-weak);color:var(--tql-action)}
.rr-bs-prog{margin-left:auto;font-size:13px;color:var(--tql-ink-sub);font-family:var(--tql-mono);overflow-wrap:anywhere}
.rr-bs button:focus-visible{outline:2px solid var(--tql-action);outline-offset:2px}
@keyframes rrbsIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes rrbsEdit{0%{box-shadow:0 0 0 2px var(--tql-action)}100%{box-shadow:0 0 0 0 transparent}}
@keyframes rrbsPress{0%{transform:scale(1)}40%{transform:scale(.94)}100%{transform:scale(1)}}
@keyframes rrbsType{from{max-width:0}to{max-width:100%}}
@keyframes rrbsDot{0%,80%,100%{opacity:.3}40%{opacity:1}}
@media (prefers-reduced-motion:reduce){.rr-bs *{animation:none !important}.rr-bs-chat{scroll-behavior:auto}}
@media (max-width:1100px){.rr-bs-tocbtn{display:block}.rr-bs-main{grid-template-columns:minmax(0,1fr) minmax(0,320px)}.rr-bs-toc{position:absolute;inset:0 auto 0 0;z-index:3;width:min(300px,86%);transform:translateX(-102%);transition:transform .2s ease;box-shadow:none}.rr-bs.toc-open .rr-bs-toc{transform:none;border-right:1px solid var(--tql-line-2)}}
@media (max-width:760px){.rr-bs-main{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}.rr-bs-ex{max-height:34vh;border-left:0;border-top:1px solid var(--tql-line)}.rr-bs-exh{display:flex;position:sticky;top:0;z-index:1}.rr-bs-ex.shut .rr-bs-exb{display:none}.rr-bs-exb{padding:10px 14px 14px}.rr-bs-exb h3{font-size:15px}}
@media (max-width:720px){.rr-bs>header .rr-tg.lg{width:30px;height:30px}.rr-bs-tgbar{padding:5px 10px}.rr-bs{width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border:0}.rr-bs>header{padding:8px 10px;gap:8px}.rr-bs h2{font-size:15px}.rr-bs-kick{font-size:11.5px}.rr-bs-x,.rr-bs-tocbtn{min-width:0;padding:0 10px}.rr-bs-bar{padding:8px 10px;gap:6px}.rr-bs-btn{flex:1 1 calc(25% - 6px);min-width:0;min-height:42px;padding:0 4px;font-size:13px;white-space:nowrap}.rr-bs-btn.pri{min-width:0}.rr-bs-spd{flex:1 1 calc(50% - 4px)}.rr-bs-spd button{flex:1 1 0;min-height:38px;padding:0 6px}.rr-bs-prog{display:none}.rr-bs-msg{max-width:96%}.rr-bs-chat{padding:10px}}
/* MDD 바닥일 때 처음 시드 대비 — 결과 맨 위 숫자 칸 바로 아래 한 줄 */
.rr-mddnote{margin:12px 0 0;padding:10px 12px;border-left:3px solid var(--tql-down);border-radius:var(--tql-r-sm);background:var(--tql-card-sub);font-size:14px;line-height:1.65;color:var(--tql-ink-sub)}
.rr-mddnote b{color:var(--tql-ink)}.rr-mddnote b.dn{color:var(--tql-down)}.rr-mddnote b.up{color:var(--tql-up)}

/* 커뮤니티에 공유하기(2026-10-09) — 결과 요약 카드 바로 아래 · 아이콘 · 글 · 노란 단추(휴대폰은 단추가 아래로 꽉) */
.rr-share{display:flex;align-items:center;flex-wrap:wrap;gap:14px 18px;border-color:var(--tql-action);background:linear-gradient(135deg,var(--tql-action-weak),var(--tql-card) 62%)}
.rr-share-ic{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--tql-action);color:var(--tql-white)}
.rr-share-ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rr-share-tx{flex:1 1 260px;min-width:0}
.rr-share-tx b{display:block;font-size:16px;color:var(--tql-ink)}
.rr-share-tx span{display:block;margin-top:4px;font-size:13.5px;line-height:1.6;color:var(--tql-ink-sub)}
.rr-share-go{flex:none;min-height:46px;padding:0 20px;font-size:15px;font-weight:800}
.qb-share-top{border-color:var(--tql-action)!important;color:var(--tql-action)!important;font-weight:800}   /* 결과 맨 위 줄의 「↗ 커뮤니티 공유」(2026-10-29) */
@media (max-width:640px){.rr-share-go{width:100%}}

/* 2026-10-12 [청산](손절 없음 종목이 종목 몫을 다 잃어 정리 · 화면 kind cap) — 꼬리표 · 체결 표 */
.rr-tag.cap{background:var(--tql-down);color:var(--tql-white)}.rr-halt.rr-cap{color:var(--tql-white);background:var(--tql-down)}

/* 2026-10-12 진입 모드(단리 · 복리) 칩 — 결과 제목 */
.rr-sz{display:inline-block;margin-left:8px;padding:2px 9px;border:1px solid var(--tql-line);border-radius:var(--tql-r-pill);font-size:12px;font-weight:800;line-height:1.5;vertical-align:middle;color:var(--tql-ink-2)}.rr-sz.comp{border-color:var(--tql-action);color:var(--tql-action)}

/* 2026-10-12 빠른 최적화 표 — 수익률 칸의 연복리 */
.rr-osm.rr-ocagr{font-weight:700;color:inherit}
/* 결과 칸 「다시 시도」(자료 연결 문제 · 2026-10-13) */
.rr-warn .rr-retry{margin:12px 0 0}
.rr-legend i.lg-ln.lg-up{border-top-color:var(--tql-up)}.rr-legend i.lg-ln.lg-dash{border-top-style:dashed}   /* 2026-10-14 통합 리플레이 TP 선 범례 */
/* 값 하나만 바꿔 다시 돌리기(2026-10-26 커뮤니티 「시드만 바꿔 다른 건 그대로」) — R-R(fibo-rr-page.js quickHTML) · 터틀 · DCA · 래리전략(quant-bt.js quickHTML) 결과 맨 위 · 토큰만 */
.qb-quick{display:grid;gap:10px}
.qb-quick-a{display:grid;gap:6px}.qb-quick-a>span{font-size:12.5px;color:var(--tql-ink-sub)}.qb-quick-al{display:flex;flex-wrap:wrap;gap:8px}   /* 종목 바꾸기(2026-10-29) */
.qb-qk-asset{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid var(--tql-line-2);border-radius:10px;background:var(--tql-card);color:var(--tql-ink);font:inherit;font-size:14px;cursor:pointer}.qb-qk-asset:hover{border-color:var(--tql-action)}.qb-qk-asset img{width:24px;height:24px;border-radius:50%;object-fit:contain}.qb-qk-asset b{font-weight:800}.qb-qk-asset i{font-style:normal;color:var(--tql-ink-sub);font-size:12px}
.qb-quick-h b{display:block;font-size:15px}
.qb-quick-h span{display:block;margin-top:3px;font-size:13px;line-height:1.5;color:var(--tql-ink-sub)}
.qb-quick-f{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}
.qb-quick-f label{display:flex;flex:1 1 150px;flex-direction:column;gap:4px;font-size:12.5px;color:var(--tql-ink-sub)}
.qb-quick-f input,.qb-quick-f select{min-height:40px;padding:0 10px;border:1px solid var(--tql-line-2);border-radius:10px;background:var(--tql-card);color:var(--tql-ink);font:inherit;font-size:14px}
.qb-quick-f .rr-btn.pri{flex:1 1 200px;min-height:42px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}

/* 2026-10-29 과최적화 점검(overfit-check.js) — 「가격 대비 수익」 종목 보기 안 · 판정 배지(양호 · 주의 · 과최적화 의심) · 이웃 세팅 표 */
.rr-of{margin:6px 0 0}.rr-of .of-concept{margin:0 0 10px;line-height:1.6}
.rr-of .of-block{margin:12px 0 0;padding:12px 14px;border:1px solid var(--tql-line);border-radius:12px;background:var(--tql-card2,transparent)}
.rr-of .of-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 8px;font-size:14px;font-weight:800;color:var(--tql-ink)}
/* 2026-10-30 과최적화 점검 ③ 다른 종목 — 종목 칩(눌러서 바꾸기) · 점검 단추 · 결과 표 */
.rr-of .of-chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px}
.rr-of .of-chip{min-height:34px;padding:0 12px;border:1px solid var(--tql-line-2,var(--tql-line));border-radius:999px;background:var(--tql-card);color:var(--tql-ink);font:800 13px/1 var(--tql-mono,inherit);cursor:pointer}
.rr-of .of-chip:hover:not(:disabled){border-color:var(--tql-action)}
.rr-of .of-chip:disabled{opacity:.55;cursor:default}
.rr-of .of-run{display:block;width:100%;min-height:46px;margin:0 0 10px;border:0;border-radius:12px;background:var(--tql-action);color:var(--tql-action-ink,#111);font-weight:800;font-size:14.5px;cursor:pointer}
.rr-of .of-run:disabled{opacity:.6;cursor:default}
.rr-of .of-xt td,.rr-of .of-xt th{white-space:nowrap}
.rr-of .of-xt tr.of-now td{background:var(--tql-card-sub,transparent);font-weight:700}
.of-badge{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid transparent}
.of-badge.of-ok{color:var(--tql-up);border-color:var(--tql-up);background:color-mix(in srgb,var(--tql-up) 12%,transparent)}
.of-badge.of-warn{color:#5b9dff;border-color:#5b9dff;background:#5b9dff1f}   /* 2026-11-01 점검 = 파랑 · 의심 = 노랑 · 확신 = 빨강 */
.of-badge.of-bad{color:#f0b429;border-color:#f0b429;background:#f0b4291f}
.of-badge.of-alert{color:var(--tq-lev-over);border-color:var(--tq-lev-over);background:color-mix(in srgb,var(--tq-lev-over) 12%,transparent)}
.of-badge.of-sure{color:var(--tql-down);border-color:var(--tql-down);background:color-mix(in srgb,var(--tql-down) 12%,transparent)}
.of-badge.of-na{color:var(--tql-ink2);border-color:var(--tql-line)}
.rr-of .of-stats{margin:0 0 8px}.rr-of .of-need{margin:0 0 6px;font-weight:700;color:var(--tql-ink)}
.rr-of .of-msg{margin:8px 0 0;padding:9px 12px;border-radius:10px;font-size:13px;line-height:1.55;background:var(--tql-card,transparent);border:1px solid var(--tql-line)}
.rr-of .of-msg.of-sure{border-color:var(--tql-down);color:var(--tql-down)}.rr-of .of-msg.of-alert{border-color:var(--tq-lev-over);color:var(--tq-lev-over)}.rr-of .of-msg.of-bad{border-color:#f0b429;color:#f0b429}.rr-of .of-msg.of-warn{border-color:#5b9dff;color:#5b9dff}.rr-of .of-msg.of-ok{border-color:var(--tql-up)}
.rr-of table td{vertical-align:top;line-height:1.45}.rr-of .of-now{background:color-mix(in srgb,var(--tql-ink) 6%,transparent)}.rr-of .of-dim{color:var(--tql-ink2);font-size:12px}

/* 2026-10-29 숏 · 양방향 주의사항(overfit-check.js shortWarnHTML) — 결과 맨 위 성적 카드 앞 · 빨간 테두리 */
.rr-card.of-short{border:1px solid var(--tql-down);background:color-mix(in srgb,var(--tql-down) 8%,var(--tql-card,transparent))}
.rr-card.of-short h3{margin:0 0 8px;color:var(--tql-down);font-size:15px;font-weight:800}
.rr-card.of-short p{margin:6px 0 0;line-height:1.65;font-size:13.5px;color:var(--tql-ink)}
.rr-card.of-short .of-short-lead{font-weight:800}
.rr-card.of-short .of-short-strong{margin-top:10px;padding:9px 12px;border-radius:10px;background:color-mix(in srgb,var(--tql-down) 14%,transparent);color:var(--tql-down);font-weight:800}
/* 2026-10-30 사장님 「과최적화 점검 — 문구 크게(소제목)」: 제목 22px · ①②③ 소제목 18px · 개념 3줄 14.5px · 배지 13px(휴대폰은 한 단계 작게) */
.rr-of>.rr-sub{margin:22px 0 10px;font-size:22px;font-weight:900;letter-spacing:-.02em}
.rr-of .of-concept{font-size:14.5px}
.rr-of .of-h{margin:0 0 10px;font-size:18px;font-weight:900;letter-spacing:-.01em}
.rr-of .of-h .of-badge{font-size:13px;padding:3px 11px}
@media (max-width:640px){.rr-of>.rr-sub{font-size:19px}.rr-of .of-h{font-size:16px}.rr-of .of-concept{font-size:13.5px}}

/* 2026-10-31 과최적화 ② 랜덤 세팅 표 — 바꾼 세팅 글은 줄바꿈 */
/* 2026-10-31 과최적화 ② 세팅 비교 — 지금 세팅(왼쪽) | 전부 1 ~ 4칸 내림 | 랜덤 2개 */
.rr-of .of-cp th,.rr-of .of-cp td{white-space:nowrap;text-align:right}.rr-of .of-cp .of-cp-name{text-align:left;font-weight:700}
.rr-of .of-cp .of-cp-now{background:color-mix(in srgb,var(--tql-action) 10%,transparent);border-left:2px solid var(--tql-action);border-right:2px solid var(--tql-action);font-weight:800;color:var(--tql-action)}
.rr-of .of-cp .of-cp-now.up{color:var(--tql-up)}.rr-of .of-cp .of-cp-now.dn{color:var(--tql-down)}
.rr-of .of-cp tr.of-cp-first td{border-top:2px solid var(--tql-line)}.rr-of .of-cp tr.of-cp-res td{font-weight:800;font-size:14px}.rr-of .of-cp .of-dim{font-weight:400}
.rr-of .of-cp th.of-cp-rand{color:var(--tql-action)}
.rr-of .of-cp-sub{margin:18px 0 4px;font-size:15px;font-weight:800;color:var(--tql-ink)}.rr-of .of-cp-btns{display:flex;flex-wrap:wrap;gap:8px}.rr-of .of-cp-btns .of-run{flex:1 1 220px}
.rr-of .of-block .of-run{margin:10px 0 0}
/* 2026-10-30 과최적화 ③ 아래 세 줄 — 칼마 · 가격 상승 · 세팅 변경 */
.rr-of .of-checks{display:grid;gap:6px;margin:8px 0 0;padding:0;list-style:none}
.rr-of .of-checks li{padding:8px 12px;border-left:3px solid var(--tql-line);border-radius:0 10px 10px 0;background:var(--tql-card,transparent);color:var(--tql-ink);font-size:13px;line-height:1.55}
.rr-of .of-checks li b{margin-right:2px;font-weight:800}
.rr-of .of-checks li.of-ok{border-left-color:var(--tql-up)}.rr-of .of-checks li.of-ok b{color:var(--tql-up)}.rr-of .of-checks li.of-na b{color:var(--tql-ink-sub)}.rr-of .of-checks li.of-warn{border-left-color:#5b9dff}.rr-of .of-checks li.of-warn b{color:#5b9dff}
.rr-of .of-checks li.of-bad{border-left-color:#f0b429}.rr-of .of-checks li.of-bad b{color:#f0b429}
.rr-of .of-checks li.of-alert{border-left-color:var(--tq-lev-over)}.rr-of .of-checks li.of-alert b{color:var(--tq-lev-over)}.rr-of .of-checks li.of-note b{color:var(--tql-ink2)}.rr-of .of-checks li.of-sure{border-left-color:var(--tql-down)}.rr-of .of-checks li.of-sure b{color:var(--tql-down)}
/* 2026-10-31 단순 보유 vs 이 전략 — 표 + 판정 문구(가격 대비 수익 · 가격 차트 위) */
.rr-hold table td:first-child{font-weight:700;color:var(--tql-ink)}
.rr-hold-say{margin:10px 0 0;padding:10px 12px;border-left:3px solid var(--tql-line);border-radius:0 10px 10px 0;background:var(--tql-card,transparent);color:var(--tql-ink);font-size:13.5px;line-height:1.6}
.rr-hold-say b{margin-right:2px;font-weight:800}
.rr-hold-say.ok{border-left-color:var(--tql-up)}.rr-hold-say.ok b{color:var(--tql-up)}
.rr-hold-say.warn{border-left-color:#f0b429}.rr-hold-say.warn b{color:#f0b429}
.rr-hold-say.bad{border-left-color:var(--tql-down)}.rr-hold-say.bad b{color:var(--tql-down)}
/* 2026-10-30 과최적화 ③ 칩 — 로고 + 이름 + 티커 · ✕ 빼기 · 「+ 종목 추가」(흰 단계 화면 종목 칸과 같은 느낌) */
.rr-of .of-chips{gap:8px}
.rr-of .of-chipw{display:inline-flex;align-items:stretch;border:1px solid var(--tql-line-2,var(--tql-line));border-radius:14px;background:var(--tql-card);overflow:hidden}
.rr-of .of-chipw:hover{border-color:var(--tql-action)}
.rr-of .of-chip-a,.rr-of .of-chip-add{display:inline-flex;align-items:center;gap:9px;min-height:48px;padding:6px 12px 6px 8px;border:0;border-radius:0;background:transparent;font:inherit;text-align:left}
.rr-of .of-chip-add{border:1px dashed var(--tql-action);border-radius:14px;background:color-mix(in srgb,var(--tql-action) 10%,transparent);color:var(--tql-action)}
.rr-of .of-chip-t{display:flex;flex-direction:column;gap:2px;line-height:1.15}
.rr-of .of-chip-t b{font-size:13.5px;font-weight:800;color:var(--tql-ink)}.rr-of .of-chip-add .of-chip-t b{color:var(--tql-action)}
.rr-of .of-chip-t small{font:700 11px/1.1 var(--tql-mono,monospace);color:var(--tql-ink2)}
.rr-of .of-chip-car{font-style:normal;font-size:11px;color:var(--tql-ink2)}
.rr-of .of-logo{position:relative;flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;overflow:hidden;color:#fff;font:800 13px/1 var(--tql-mono,monospace)}
.rr-of .of-logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#fff}
.rr-of .of-chip-plus{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--tql-action);color:var(--tql-action-ink,#111);font:900 20px/1 inherit}
.rr-of .of-chip-x{flex:none;width:34px;border:0;border-left:1px solid var(--tql-line);background:transparent;color:var(--tql-ink2);font-size:13px;cursor:pointer}
.rr-of .of-chip-x:hover:not(:disabled){color:var(--tql-down);background:color-mix(in srgb,var(--tql-down) 10%,transparent)}
.rr-of .of-chip-a:disabled,.rr-of .of-chip-add:disabled,.rr-of .of-chip-x:disabled{opacity:.55;cursor:default}
/* 매월 충전 칸(복리에서만) */
.rr-tu{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:8px;margin:8px 0}
.rr-tu[hidden]{display:none}
.rr-tu .hint{grid-column:1/-1;margin:0}
