/* Fibo R-R 매매 설명서 — fibolanding.html(단독 페이지)과 fibo_rr_backtest.html(펼침 칸)이 함께 쓴다.
   본문은 tools/build-fibo-guide.mjs 가 만든다. 차트 SVG 의 색은 전부 이 파일의 클래스로 준다(SVG 속성에 색·var() 금지). */

/* ── 백테스트 화면의 펼침 칸 ── */
.rr-guide{margin:0 0 18px;border:1px solid var(--tql-line);border-radius:var(--tql-r);background:var(--tql-card)}
.rr-guide>summary{display:flex;align-items:center;gap:14px;cursor:pointer;list-style:none;padding:16px 18px;min-height:64px}
.rr-guide>summary::-webkit-details-marker{display:none}
.rr-guide>summary::before{content:'';flex:none;width:10px;height:10px;border-right:2.5px solid var(--tql-action);border-bottom:2.5px solid var(--tql-action);transform:rotate(-45deg);transition:transform .2s;margin-left:4px}
.rr-guide[open]>summary::before{transform:rotate(45deg)}
.rr-guide>summary b{display:block;font-size:18px;color:var(--tql-ink)}
.rr-guide>summary small{display:block;margin-top:3px;font-size:13.5px;color:var(--tql-ink-sub);line-height:1.5}
.rr-guide>summary .go{margin-left:auto;flex:none;font-size:13px;font-weight:700;color:var(--tql-action);text-decoration:none;padding:8px 12px;border:1px solid var(--tql-line);border-radius:var(--tql-r-pill);white-space:nowrap}
.rr-guide-body{border-top:1px solid var(--tql-line);padding:6px 18px 18px}
.rr-guide-body .rrg{padding-top:10px}
.rr-guide-wait{padding:22px 4px;color:var(--tql-ink-sub);font-size:14px}
@media (max-width:640px){.rr-guide>summary .go{display:none}.rr-guide-body{padding:4px 12px 14px}}

/* ── 설명서 본문 ── */
.rrg-wrap{max-width:1080px}
.rrg{--rrg-bg:#0b0e11;--rrg-grid:#1b2028;--rrg-ax:#6b7686;--rrg-ttl:#c3cad6;--rrg-up:#26a69a;--rrg-dn:#ef5350;--rrg-bb:#6f7fa3;
  --rrg-f0:#fcd535;--rrg-blue:#4f9dff;--rrg-tp:#ffa94d;--rrg-red:#ff5c66;--rrg-avg:#e9edf5;--rrg-ink:#e9edf5;--rrg-sub:#9aa4b4;
  --rrg-l1:#7cc4ff;--rrg-l2:#b69cff;--rrg-l3:#ffb86b;--rrg-l4:#ff8fb8;--rrg-l5:#8de0c8;--rrg-l6:#e6ee8c;--rrg-gold:#8a6a0a;
  --rrg-n1:#c3f07a;--rrg-n2:#67e8f9;--rrg-buyn:#39ff14;--rrg-selln:#ff3b47;
  color:var(--tql-ink);font-size:16px;line-height:1.75}
.rrg p{margin:0 0 14px}
.rrg b{color:var(--tql-ink)}
.rrg-hero{padding:18px 0 10px}
.rrg-tag{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px !important;padding:6px 14px;border:1px solid var(--tql-line);border-radius:var(--tql-r-pill);background:var(--tql-card);font-size:13px;color:var(--tql-ink-sub)}
.rrg-tag i{width:8px;height:8px;border-radius:50%;background:var(--tql-action)}
.rrg h1{font-size:clamp(32px,6vw,58px);line-height:1.12;letter-spacing:-.035em;font-weight:900;margin:0 0 18px;text-wrap:balance}
.rrg h1 .a{color:var(--tql-action)}
.rrg h1 .y{color:var(--rrg-gold)}
.rrg-lead{font-size:clamp(16px,2vw,19px);color:var(--tql-ink-sub);max-width:780px}
.rrg-lead b{color:var(--tql-ink)}
.rrg h2{font-size:clamp(24px,3.6vw,36px);line-height:1.25;letter-spacing:-.025em;font-weight:850;margin:0 0 14px;text-wrap:balance}
.rrg-kick{font-size:12.5px !important;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--tql-action);margin:0 0 10px !important}
.rrg-sec{padding:44px 0 8px;border-top:1px solid var(--tql-line);margin-top:34px;scroll-margin-top:84px}
.rrg-sec>p{max-width:820px}
.rrg-note{color:var(--tql-ink-sub);font-size:15px}

/* 차트 — 어두운 판(트레이딩뷰처럼) 위에 캔들 */
.rrg-chart{margin:20px 0 14px;scroll-margin-top:100px}
.rrg-frame{container-type:inline-size;overflow:hidden;border:1px solid var(--rrg-grid);border-radius:18px;background:var(--rrg-bg);color:var(--rrg-ink)}
.rrg-scroll{overflow:hidden}
.rrg-scroll:focus-visible{outline:2px solid var(--rrg-blue);outline-offset:-3px}
.rrg-chart-head{padding:22px 24px 12px}
.rrg .rrg-chart-head h3{margin:0 0 12px;color:var(--rrg-ink);font-size:16px;line-height:1.5;letter-spacing:0}
.rrg-legend{display:flex;flex-wrap:wrap;gap:8px 22px;color:var(--rrg-sub);font-size:13px;line-height:1.5}
.rrg-legend>span{display:inline-flex;align-items:center;gap:6px;min-width:0}
.rrg .rrg-reading-key{margin:12px 0 0;font-size:12px;line-height:1.6;color:var(--rrg-sub)}
.rrg .rrg-events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:4px 24px 16px;padding:0;list-style:none;border:1px solid var(--rrg-grid);border-radius:12px;overflow:hidden}
.rrg-events li{display:flex;align-items:flex-start;gap:12px;min-width:0;padding:16px;background:var(--rrg-grid)}
.rrg-events li:nth-child(n+3){border-top:1px solid var(--rrg-bg)}
.rrg-events li:nth-child(2n){border-left:1px solid var(--rrg-bg)}
.rrg-events strong{display:block;font-size:14px;font-weight:750;line-height:1.5;color:var(--rrg-ink)}
.rrg .rrg-events p{margin:5px 0 0;font-size:12.5px;line-height:1.6;color:var(--rrg-sub);overflow-wrap:anywhere}
.rrg-stage{display:grid;place-items:center;flex:0 0 28px;height:28px;border:1px solid var(--rrg-sub);border-radius:7px;color:var(--rrg-ink);background:var(--rrg-bg);font-size:14px;font-weight:800}
.rrg .rrg-result{margin:0;padding:18px 24px;border-top:1px solid var(--rrg-grid);text-align:center;color:var(--rrg-f0);font-size:18px;font-weight:800;line-height:1.55}
.rrg-svg .stage-pin{fill:var(--rrg-bg);stroke:var(--rrg-sub);stroke-width:1.5}
.rrg-svg .stage-letter{fill:var(--rrg-ink);font-size:15px;font-weight:800}
.rrg-chart svg{display:block;width:100%;height:auto}
.rrg-chart .rrg-legend-icon{width:24px;height:24px;flex:none}
.rrg-swipe{display:none;margin:6px 0 0 !important;font-size:12.5px;color:var(--tql-ink-faint);text-align:center}
.rrg-chart figcaption{margin-top:10px;font-size:14.5px;line-height:1.7;color:var(--tql-ink-sub)}
.rrg-chart figcaption b{color:var(--tql-ink)}
@media (max-width:720px){
  .rrg-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
  .rrg-scroll>svg{width:1000px;max-width:none}
  .rrg-chart-head{padding:18px 16px 12px}
  .rrg .rrg-events{margin:0 16px 16px;grid-template-columns:minmax(0,1fr)}
  .rrg-events li{padding:13px;gap:10px}
  .rrg-events li:nth-child(n+2){border-top:1px solid var(--rrg-bg);border-left:0}
  .rrg .rrg-result{font-size:16px;padding:16px}
  .rrg-swipe{display:block;padding:10px 12px;color:var(--rrg-sub)}
}
/* [?] 안의 좁은 설명 칸도 화면 폭이 아닌 실제 차트 카드 폭에 맞춰 배치한다. */
@container (max-width:560px){
  .rrg-chart-head{padding:18px 16px 12px}
  .rrg .rrg-events{margin:0 16px 16px;grid-template-columns:minmax(0,1fr)}
  .rrg-events li{padding:13px;gap:10px}
  .rrg-events li:nth-child(n+2){border-top:1px solid var(--rrg-bg);border-left:0}
}
.rrg-svg{font-family:-apple-system,BlinkMacSystemFont,'Pretendard','Apple SD Gothic Neo','Malgun Gothic','Noto Sans KR',sans-serif}
.rrg-svg .bg{fill:var(--rrg-bg)}
.rrg-svg .grid{stroke:var(--rrg-grid);stroke-width:1}
.rrg-svg .ax{fill:var(--rrg-ax);font-size:14px;font-variant-numeric:tabular-nums}
.rrg-svg .ttl{fill:var(--rrg-ttl);font-size:16px;font-weight:700}
.rrg-svg .lg{fill:var(--rrg-sub);font-size:14px}
.rrg-svg .cu,.rrg-svg .cuw{fill:var(--rrg-up);stroke:var(--rrg-up)}
.rrg-svg .cd,.rrg-svg .cdw{fill:var(--rrg-dn);stroke:var(--rrg-dn)}
.rrg-svg .cuw,.rrg-svg .cdw{stroke-width:1.2}
.rrg-svg .cu,.rrg-svg .cd{stroke-width:0}
.rrg-svg .bb{fill:none;stroke:var(--rrg-bb);stroke-width:1.5;stroke-opacity:.9}
.rrg-svg .bbm{fill:none;stroke:var(--rrg-bb);stroke-width:1;stroke-dasharray:3 5;stroke-opacity:.6}
.rrg-svg .bbf{fill:var(--rrg-bb);fill-opacity:.08;stroke:none}
.rrg-svg line.bb{stroke-width:3}
.rrg-svg .f0{stroke:var(--rrg-f0);stroke-width:2.2;fill:none}
.rrg-svg .f0t,.rrg-svg .f0tt{fill:var(--rrg-f0);font-size:15.5px;font-weight:800}
.rrg-svg .trg,.rrg-svg .nx{stroke:var(--rrg-blue);stroke-width:2;stroke-dasharray:7 5;fill:none}
.rrg-svg .trgt{fill:var(--rrg-blue);font-size:15.5px;font-weight:800}
.rrg-svg .avg,.rrg-svg .avgs{stroke:var(--rrg-avg);stroke-width:1.8;stroke-dasharray:2 4;fill:none}
.rrg-svg .avgt{fill:var(--rrg-avg);font-size:15px;font-weight:700}
.rrg-svg .sls{stroke:var(--rrg-red);stroke-width:2;stroke-dasharray:8 5;fill:none}
.rrg-svg .tpl{stroke-width:2;stroke-dasharray:5 4;fill:none}
.rrg-svg .tplt{font-size:14px;font-weight:700}
.rrg-svg .l1{stroke:var(--rrg-l1);fill:var(--rrg-l1)}.rrg-svg .l2{stroke:var(--rrg-l2);fill:var(--rrg-l2)}.rrg-svg .l3{stroke:var(--rrg-l3);fill:var(--rrg-l3)}
.rrg-svg .l4{stroke:var(--rrg-l4);fill:var(--rrg-l4)}.rrg-svg .l5{stroke:var(--rrg-l5);fill:var(--rrg-l5)}.rrg-svg .l6{stroke:var(--rrg-l6);fill:var(--rrg-l6)}
.rrg-svg line.tpl{fill:none}
.rrg-svg .buy{fill:var(--rrg-blue)}
.rrg-svg .tp{fill:var(--rrg-tp)}
.rrg-svg .sl{fill:var(--rrg-red)}
.rrg-svg .px{stroke:var(--rrg-bg);stroke-width:2}
.rrg-svg .buyt{fill:var(--rrg-blue);font-size:15.5px;font-weight:800}
.rrg-svg .tpt{fill:var(--rrg-tp);font-size:15.5px;font-weight:800}
.rrg-svg .slt{fill:var(--rrg-red);font-size:15.5px;font-weight:800}
.rrg-svg .s{font-weight:600;font-size:14px;opacity:.9}
.rrg-svg .ring{fill:none;stroke:var(--rrg-f0);stroke-width:2.4}
.rrg-svg .lead{stroke:var(--rrg-sub);stroke-width:1.2;stroke-dasharray:3 3}
.rrg-svg .nt{fill:var(--rrg-ink);font-size:17px;font-weight:800}
.rrg-svg .ntr{fill:var(--rrg-red);font-size:17px;font-weight:800}
.rrg-svg .ntw{fill:var(--rrg-ink);font-size:14px;font-weight:800}
/* 캔들 위에 겹쳐도 읽히게 — 글자 둘레를 차트 바탕색으로 */
.rrg-svg .buyt,.rrg-svg .tpt,.rrg-svg .slt,.rrg-svg .nt,.rrg-svg .ntr,.rrg-svg .ntw,.rrg-svg .f0t,.rrg-svg .trgt,.rrg-svg .avgt,.rrg-svg text.tplt,.rrg-svg .vlt,.rrg-svg .tpkt,.rrg-svg .cumt,.rrg-svg .uplt,.rrg-svg .pnlt,.rrg-svg .zt2,.rrg-svg .fiblt,.rrg-svg .fibdt,.rrg-svg .fibtt,.rrg-svg .uset,.rrg-svg .eqt,.rrg-svg .gthrt,.rrg-svg .eq0t,.rrg-svg .cyt,.rrg-svg .avgxt,.rrg-svg .cumxt{paint-order:stroke;stroke:var(--rrg-bg);stroke-width:4px;stroke-linejoin:round}
.rrg-svg .vl{stroke:var(--rrg-sub);stroke-width:1.5;stroke-dasharray:6 5}
.rrg-svg .vlt{fill:var(--rrg-sub);font-size:15px;font-weight:700}
.rrg-svg .shu{fill:var(--rrg-f0);fill-opacity:.09}
.rrg-svg .shd{fill:var(--rrg-blue);fill-opacity:.12}
.rrg-svg .shw{fill:var(--rrg-ink);fill-opacity:.06}
.rrg-svg .shg{fill:var(--rrg-blue);fill-opacity:.2}
.rrg-svg .subb{fill:var(--rrg-red);fill-opacity:.55}
.rrg-svg .pill{fill:var(--rrg-f0);fill-opacity:.1;stroke:var(--rrg-f0);stroke-width:1.5}
.rrg-svg .pillt{fill:var(--rrg-f0);font-size:19px;font-weight:800}
/* 구간 칠하기(사이클 1·2 · 첫 기준·새 기준) */
.rrg-svg .shA{fill:var(--rrg-blue);fill-opacity:.07}
.rrg-svg .shB{fill:var(--rrg-f0);fill-opacity:.06}
.rrg-svg .zt2{fill:var(--rrg-sub);font-size:14px;font-weight:800;letter-spacing:.03em}
/* 실제 묶음 위의 피보나치 되돌림 선 */
.rrg-svg .fibl{stroke:var(--rrg-sub);stroke-width:1.2;stroke-opacity:.65;stroke-dasharray:6 5;fill:none}
.rrg-svg .fibd{stroke:var(--rrg-tp);stroke-width:2.4;fill:none}
.rrg-svg .fib1{stroke:var(--rrg-blue);stroke-width:1.8;stroke-dasharray:3 4;fill:none}
.rrg-svg .fiblt{fill:var(--rrg-sub);font-size:14.5px;font-weight:700}
.rrg-svg .fibdt{fill:var(--rrg-tp);font-size:15.5px;font-weight:800}
.rrg-svg .fibtt{fill:var(--rrg-tp);font-size:13.5px;font-weight:800}
/* 아래 칸 — 증거금 사용률 · 계좌 평가금 */
.rrg-svg .usel{fill:none;stroke:var(--rrg-tp);stroke-width:2.2}
.rrg-svg .used{fill:var(--rrg-tp);stroke:var(--rrg-bg);stroke-width:2}
.rrg-svg .uset{fill:var(--rrg-tp);font-size:14.5px;font-weight:800}
.rrg-svg .eql{fill:none;stroke:var(--rrg-l1);stroke-width:2.2}
.rrg-svg .eqd{fill:var(--rrg-l1);stroke:var(--rrg-bg);stroke-width:2}
.rrg-svg .eqt{fill:var(--rrg-l1);font-size:14.5px;font-weight:800}
.rrg-svg .eq0l{stroke:var(--rrg-sub);stroke-width:1.2;stroke-dasharray:5 5;fill:none}
.rrg-svg .eq0t{fill:var(--rrg-sub);font-size:13px;font-weight:700}
/* 번호 붙은 묶음(● 매수 · ■ 익절 · 같은 번호) — 새 기준 묶음은 n1·n2 색 */
.rrg-svg .n1{stroke:var(--rrg-n1);fill:var(--rrg-n1)}.rrg-svg .n2{stroke:var(--rrg-n2);fill:var(--rrg-n2)}
/* 묶음 표시(2026-10-04) — 산 자리·판 자리 점 + 알약 꼬리표(B1·S1) · 테두리 꼬리표 = 새 기준 묶음 · 이어지는 그림은 B→S 점선 */
.rrg-svg .tpill{stroke:var(--rrg-bg);stroke-width:1.5}
.rrg-svg .tpill.b{fill:var(--rrg-buyn)}.rrg-svg .tpill.s{fill:var(--rrg-selln)}
.rrg-svg .tpill.nw{fill:var(--rrg-bg);stroke-width:1.6}
.rrg-svg .tpill.b.nw{stroke:var(--rrg-buyn)}.rrg-svg .tpill.s.nw{stroke:var(--rrg-selln)}
.rrg-svg .tptx{font-size:11.5px;font-weight:900;letter-spacing:.02em}
.rrg-svg .tptx.b{fill:var(--rrg-bg)}.rrg-svg .tptx.s{fill:var(--tql-white)}
.rrg-svg .tptx.b.nw{fill:var(--rrg-buyn)}.rrg-svg .tptx.s.nw{fill:var(--rrg-selln)}
.rrg-svg .tdot{stroke:var(--rrg-bg);stroke-width:1.6}
.rrg-svg .tdot.b{fill:var(--rrg-buyn)}.rrg-svg .tdot.s{fill:var(--rrg-selln)}
.rrg-svg .tstem{stroke-width:1.2;fill:none}.rrg-svg .tstem.b{stroke:var(--rrg-buyn)}.rrg-svg .tstem.s{stroke:var(--rrg-selln)}
.rrg-svg line.tlink{stroke-width:1.8;stroke-dasharray:1 4.5;stroke-linecap:round;fill:none}
.rrg-svg .cyb{fill:var(--rrg-bg);fill-opacity:.88;stroke:var(--rrg-buyn);stroke-opacity:.5;stroke-width:1.2}
.rrg-chart .rrg-legend-icon.w2{width:40px}
.rrg-svg .cyt{fill:var(--rrg-buyn);font-size:12.5px;font-weight:800}
.rrg-svg .lgi{fill:var(--rrg-sub);stroke:var(--rrg-sub)}
.rrg-svg .kyb{fill:var(--rrg-grid);fill-opacity:.55}
.rrg-svg .kyt{fill:var(--rrg-ink);font-size:15px;font-weight:800}
.rrg-svg .kys{fill:var(--rrg-sub);font-size:13px;font-weight:600}
.rrg-svg .bdg{fill:var(--rrg-blue);stroke:var(--rrg-bg);stroke-width:2}
.rrg-svg .bdgn{fill:var(--tql-white);font-size:15px;font-weight:900}
.rrg-svg .nbox{fill:var(--rrg-bg);fill-opacity:.9;stroke:var(--rrg-grid);stroke-width:1.2}
/* 끝까지 못 판 묶음의 익절선 · 그 묶음을 산 자리 */
.rrg-svg .tpk{stroke:var(--rrg-tp);stroke-width:1;stroke-opacity:.5;stroke-dasharray:4 3;fill:none}
.rrg-svg .tpkt{fill:var(--rrg-tp);font-size:15px;font-weight:800}
.rrg-svg .px.sm{stroke-width:1}
/* 아래 칸 — 묶음 수 · 돈 */
.rrg-svg .zero{stroke:var(--rrg-sub);stroke-width:1;stroke-opacity:.55}
.rrg-svg .pnl{fill:var(--rrg-sub);font-weight:700}
.rrg-svg .pnlt{fill:var(--rrg-red);font-size:14px;font-weight:800}
.rrg-svg .cumtp{fill:none;stroke:var(--rrg-up);stroke-width:2.6}
.rrg-svg .cumd{fill:var(--rrg-up);stroke:var(--rrg-bg);stroke-width:2}
.rrg-svg .cumt{fill:var(--rrg-up);font-size:14.5px;font-weight:800}
.rrg-svg .upl{fill:none;stroke:var(--rrg-red);stroke-width:2}
.rrg-svg .upla{fill:var(--rrg-red);fill-opacity:.2}
.rrg-svg .upld{fill:var(--rrg-red);stroke:var(--rrg-bg);stroke-width:2}
.rrg-svg .uplt{fill:var(--rrg-red);font-size:14.5px;font-weight:800}
/* 증거금 보호 기준선(아래 칸) */
.rrg-svg .gthr{stroke:var(--rrg-f0);stroke-width:2.4;stroke-dasharray:8 5}
.rrg-svg .gthrt{fill:var(--rrg-f0);font-size:13.5px;font-weight:800}

/* 세 단계 카드 */
.rrg-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:10px;align-items:stretch;margin:18px 0 6px}
.rrg-flow .st{border:1px solid var(--tql-line);border-radius:14px;background:var(--tql-card);padding:14px 16px}
.rrg-flow .k{font-size:12px !important;font-weight:800;letter-spacing:.08em;color:var(--tql-ink-faint);margin:0 0 6px !important}
.rrg-flow .v{font-size:clamp(18px,2.3vw,23px);font-weight:900;line-height:1.2;margin:0 0 6px !important}
.rrg-flow .v.y{color:var(--rrg-gold)}.rrg-flow .v.b{color:var(--tql-action)}.rrg-flow .v.g{color:var(--tql-up)}
.rrg-flow .s{font-size:13.5px !important;color:var(--tql-ink-sub);line-height:1.5;margin:0 !important}
.rrg-flow .ar{display:flex;align-items:center;justify-content:center;color:var(--tql-action);font-size:22px;font-weight:800}
@media (max-width:760px){.rrg-flow{grid-template-columns:1fr}.rrg-flow .ar{transform:rotate(90deg)}}

.rrg-cta{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 12px}
.rrg-cta .btn{display:inline-flex;align-items:center;min-height:50px;padding:0 22px;border-radius:12px;font-weight:800;font-size:15.5px;text-decoration:none}
.rrg-cta .btn.p{background:var(--tql-action);color:var(--tql-white)}
.rrg-cta .btn.s{border:1px solid var(--tql-line-2);color:var(--tql-ink);background:var(--tql-card)}
.rrg-cta.end{margin-top:26px}
.rrg-disc{font-size:12.5px !important;color:var(--tql-ink-faint);line-height:1.6}

.rrg-toc{position:sticky;top:0;z-index:5;display:flex;gap:6px;overflow-x:auto;padding:10px 0;margin:18px 0 0;background:var(--tql-bg-deep);scrollbar-width:none}
.rrg-toc::-webkit-scrollbar{display:none}
.rrg-toc a{flex:none;padding:8px 14px;border:1px solid var(--tql-line);border-radius:var(--tql-r-pill);background:var(--tql-card);font-size:13.5px;font-weight:700;color:var(--tql-ink-sub);text-decoration:none}
.rrg-toc a:hover{border-color:var(--tql-action);color:var(--tql-action)}
.rr-guide .rrg-toc{position:static;background:none}


.rrg-formula{margin:16px 0;padding:16px 18px;border-radius:14px;background:var(--tql-card);border:1px solid var(--tql-line);border-left:4px solid var(--tql-action);font-size:clamp(15.5px,2vw,18px);font-weight:800;font-variant-numeric:tabular-nums}
.rrg-formula span{display:block;margin-top:5px;font-size:14px;font-weight:600;color:var(--tql-ink-sub)}
.rrg-list{margin:12px 0 0;padding-left:20px;max-width:820px}
.rrg-list li{margin:6px 0;color:var(--tql-ink-sub)}

.rrg-table{overflow-x:auto;margin:16px 0;border:1px solid var(--tql-line);border-radius:14px;background:var(--tql-card)}
.rrg-table table{width:100%;border-collapse:collapse;font-size:14.5px;font-variant-numeric:tabular-nums}
.rrg-table caption{text-align:left;padding:12px 14px 4px;font-size:13px;color:var(--tql-ink-sub)}
.rrg-table th,.rrg-table td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--tql-line);white-space:nowrap}
.rrg-table td:last-child{white-space:normal;min-width:180px}
.rrg-table thead th{font-size:12.5px;color:var(--tql-ink-faint);font-weight:800}
.rrg-table tfoot th,.rrg-table tfoot td{font-weight:800;border-bottom:0}
.rrg-table .up{color:var(--tql-up);font-weight:800}
.rrg-table .dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:7px;vertical-align:0}
.rrg-table .dot.l1{background:var(--rrg-l1)}.rrg-table .dot.l2{background:var(--rrg-l2)}.rrg-table .dot.l3{background:var(--rrg-l3)}
.rrg-table .dot.l4{background:var(--rrg-l4)}.rrg-table .dot.l5{background:var(--rrg-l5)}.rrg-table .dot.l6{background:var(--rrg-l6)}
.rrg-table .dot.n1{background:var(--rrg-n1)}.rrg-table .dot.n2{background:var(--rrg-n2)}
.rrg-table td b{font-weight:900}
.rrg-note.sm{font-size:13px;margin-top:-6px}

/* 차트 아래 '이 차트의 설정' 줄 */
.rrg-cfgline{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 0 !important;font-size:12.5px;line-height:1.4}
.rrg-cfgline .k{font-weight:800;color:var(--tql-ink-faint);margin-right:2px}
.rrg-cfgline span:not(.k){padding:4px 10px;border:1px solid var(--tql-line);border-radius:var(--tql-r-pill);background:var(--tql-card);color:var(--tql-ink-sub);font-variant-numeric:tabular-nums}
.rrg-cfgline span.on{border-color:var(--tql-action);color:var(--tql-action);font-weight:800}
.rrg-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 6px}
.rrg-cards .c{border:1px solid var(--tql-line);border-radius:14px;background:var(--tql-card);padding:16px}
.rrg-cards .k{font-size:15.5px !important;font-weight:850;margin:0 0 8px !important}
.rrg-cards p{font-size:14.5px;line-height:1.65;margin:0 0 8px}
.rrg-cards .f{font-weight:800;font-size:14px;padding:8px 10px;border-radius:10px;background:var(--tql-card-sub)}
.rrg-cards .s{color:var(--tql-ink-sub);font-size:13.5px}
@media (max-width:860px){.rrg-cards{grid-template-columns:1fr}}

.rrg-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}
.rrg-stats>div{border:1px solid var(--tql-line);border-radius:14px;background:var(--tql-card);padding:14px}
.rrg-stats .k{font-size:12.5px !important;color:var(--tql-ink-faint);font-weight:800;margin:0 0 4px !important}
.rrg-stats .v{font-size:clamp(18px,2.4vw,23px);font-weight:900;margin:0 !important;font-variant-numeric:tabular-nums}
.rrg-stats .g{color:var(--tql-up)}.rrg-stats .r{color:var(--tql-down)}
@media (max-width:760px){.rrg-stats{grid-template-columns:1fr 1fr}}

/* 전략 가이드 탭 줄(fibolanding.html) — zombielanding·turtlelanding 의 .stsw 와 같은 모양 */
.stsw{max-width:1100px;margin:14px auto 0;padding:0 16px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Noto Sans KR',sans-serif}
.stsw-tabs{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--tq-line-3);border-radius:14px;overflow:hidden}
.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-panel-2);transition:.15s}
.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(--tql-ink-sub)}
.stsw-tabs a .t2{font-size:11px;color:var(--tq-mut-3)}
.stsw-tabs a .fl{width:22px;height:15px;border-radius:2px;overflow:hidden;flex:none;box-shadow:0 0 0 1px rgba(25,31,40,.14)}
.stsw-tabs a .fl.rri{box-shadow:none;color:var(--tql-action)}
.stsw-tabs a:hover{background:var(--tq-panel-3)}
.stsw-tabs a+a{border-left:1px solid var(--tq-line-3)}
.stsw-tabs a.on.rr{background:rgba(0,100,255,.10);cursor:default}
.stsw-tabs a.on.rr .t1{color:var(--tql-action)}
.stsw-tabs.x4{grid-template-columns:repeat(4,1fr)}   /* 2026-10-21 코너 RSI2 탭 — 네 설명서 같은 네 탭 · 2026-10-30 순서 R-R → 래리코너스(+터틀병합) → 터틀 → DCA */
/* 2부 래리터틀(병합) — connorslanding(2026-10-30) */
.rrg-part{margin:60px 0 0;padding:30px 0 6px;border-top:3px solid var(--tql-action);scroll-margin-top:84px}
.rrg-part h2{font-size:clamp(26px,3.8vw,40px);line-height:1.18;letter-spacing:-.02em;margin:0 0 14px}
.rrg-part h2 .y{color:var(--rrg-gold)}
.rrg-part .rrg-stats{margin-top:18px}
.rrg-toc a.p2{border-color:var(--tql-action);color:var(--tql-action);font-weight:800}
.rrg-lanes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 10px}
.rrg-lane{border:1px solid var(--tql-line);border-radius:14px;background:var(--tql-card);padding:14px 16px}
.rrg-lane .k{font-size:13px !important;font-weight:850;letter-spacing:.04em;margin:0 0 8px !important}
.rrg-lane.t .k{color:var(--rrg-gold)}.rrg-lane.r .k{color:var(--tql-action)}
.rrg-lane ol{margin:0;padding-left:20px}.rrg-lane li{margin:5px 0;font-size:14.5px;line-height:1.6;color:var(--tql-ink-sub)}
.rrg-lane .f{margin:12px 0 0 !important;font-weight:800;font-size:14px;padding:8px 10px;border-radius:10px;background:var(--tql-card-sub)}
@media(max-width:760px){.rrg-lanes{grid-template-columns:1fr}}
.stsw-tabs a.on.rsi{background:rgba(38,166,154,.12);cursor:default}
.stsw-tabs a.on.rsi .t1{color:var(--tql-up)}
.stsw-tabs a .fl.rsi{box-shadow:none;color:var(--tql-up)}
@media(max-width:560px){.stsw{padding-left:14px;padding-right:14px}.stsw-tabs a{padding:12px 6px}.stsw-tabs a .t1{font-size:14px;gap:5px;flex-wrap:wrap;justify-content:center}.stsw-tabs a .t2{display:none}.stsw-tabs.x4{grid-template-columns:repeat(2,1fr)}.stsw-tabs.x4 a:nth-child(3){border-left:0}.stsw-tabs.x4 a:nth-child(n+3){border-top:1px solid var(--tq-line-3)}}
#rrgFibTool{scroll-margin-top:110px}
#rrgFibTool h3{font-size:clamp(18px,2.4vw,22px);margin:26px 0 8px}
.rrg-table tr.on th,.rrg-table tr.on td{background:var(--tql-card-sub);font-weight:800}
.rrg-table th small{font-size:11.5px;font-weight:800;color:var(--tql-action);margin-left:4px}
/* 판단선 사다리(Rule 3) — 기준 → 간격 → 판단선 → 체결 · 칸마다 차수·기준·선·체결 글 */
.rrg-svg .ldcol{fill:var(--rrg-ink);fill-opacity:.035}
.rrg-svg .ldref{stroke:var(--rrg-sub);stroke-width:1.6;stroke-dasharray:2 4;fill:none}
.rrg-svg .ldgap{stroke:var(--rrg-blue);stroke-width:2.2;fill:none}
.rrg-svg .ldah{fill:var(--rrg-blue)}
.rrg-svg .ldgapt{fill:var(--rrg-blue);font-size:15.5px;font-weight:800}
.rrg-svg .ldnext{stroke-opacity:.55}
.rrg-svg .ldh{fill:var(--rrg-ink);font-size:16px;font-weight:800}
.rrg-svg .ldk{fill:var(--rrg-sub);font-size:13.5px;font-weight:700}
.rrg-svg .ldl{fill:var(--rrg-blue);font-size:14px;font-weight:700}
.rrg-svg .ldf{fill:var(--rrg-ink);font-size:14px;font-weight:800}
.rrg-svg .ghost{stroke:var(--rrg-sub);stroke-width:1.6;stroke-dasharray:4 5;fill:none}
.rrg-svg .ghostt{fill:var(--rrg-sub);font-size:14px;font-weight:700}
.rrg-svg .ldgapt,.rrg-svg .ghostt{paint-order:stroke;stroke:var(--rrg-bg);stroke-width:4px;stroke-linejoin:round}
.rrg-sec h3.rrg-h3{font-size:clamp(18px,2.4vw,22px);line-height:1.35;letter-spacing:-.02em;margin:34px 0 8px}

/* 2026-10-15 거래소 평단 그림(#rrgAvg) — 거래소 평단(주황 실선) · 평단보다 낮게 팔린 구간(붉은 띠) · 누적 손익 두 줄(봇 장부 초록 · 거래소 화면 빨강 점선) · 표의 손실 줄 */
.rrg-svg .avgx{stroke:var(--rrg-tp);stroke-width:2.2;fill:none}
.rrg-svg .avgxt{fill:var(--rrg-tp);font-size:15px;font-weight:800}
.rrg-svg .shR{fill:var(--rrg-red);fill-opacity:.09}
.rrg-svg .shRk{fill:var(--rrg-red);fill-opacity:.35;stroke:var(--rrg-red)}
.rrg-svg .cumex{fill:none;stroke:var(--rrg-red);stroke-width:2.4;stroke-dasharray:7 4}
.rrg-svg .cumxd{fill:var(--rrg-red);stroke:var(--rrg-bg);stroke-width:2}
.rrg-svg .cumxt{fill:var(--rrg-red);font-size:14.5px;font-weight:800}
.rrg-table tr.neg td,.rrg-table tr.neg th{background:color-mix(in srgb,var(--tql-down) 9%,transparent)}
.rrg-fold{margin:14px 0}.rrg-fold>summary{cursor:pointer;padding:12px 16px;border:1px solid var(--tql-line);border-radius:12px;background:var(--tql-card);font-weight:700;font-size:15px}.rrg-fold[open]>summary{border-radius:12px 12px 0 0}.rrg-fold>.rrg-table{margin-top:0}
/* 2026-10-15 거래소 평단 3장 카드(.rrg-3) — 살 때마다 평단 ↓ · 익절선이 평단 아래 · 봇 알림 vs 거래소 화면. 작은 그림은 어두운 차트 판과 같은 색(.rrg-svg 토큰) */
.rrg-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}
.rrg-3 .c{min-width:0;border:1px solid var(--tql-line);border-radius:16px;background:var(--tql-card);padding:14px}
.rrg-3 .k{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:16px;font-weight:850;line-height:1.3}
.rrg-3 .n{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:9px;background:var(--tql-action);color:var(--tql-white);font-size:15px;font-weight:900}
.rrg-3 p{font-size:14.5px;line-height:1.65;margin:10px 0 0;color:var(--tql-ink)}
.rrg-3 .rrg-mini{display:block;width:100%;height:auto}
.rrg-3 .pnl{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rrg-3 .box{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;border-radius:14px;background:var(--tql-card-sub);text-align:center}
.rrg-3 .box span{font-size:12.5px;font-weight:700;color:var(--tql-ink-sub)}.rrg-3 .box b{font-size:26px;font-weight:900;letter-spacing:-.02em}.rrg-3 .box small{font-size:12px;color:var(--tql-ink-sub)}
.rrg-3 .box.up b{color:var(--tql-up)}.rrg-3 .box.dn b{color:var(--tql-down)}
.rrg-svg .mini-ttl{fill:var(--rrg-ttl);font-size:13.5px;font-weight:700}
.rrg-svg .mini-tx{fill:var(--rrg-ink);font-size:14px;font-weight:800}.rrg-svg .mini-sub{fill:var(--rrg-sub);font-size:12.5px;font-weight:600}
.rrg-svg .mini-drop{stroke:var(--rrg-sub);stroke-width:1.2;stroke-dasharray:3 3}
.rrg-svg .mini-tp{stroke:var(--rrg-red);stroke-width:2;stroke-dasharray:7 4;fill:none}.rrg-svg .mini-tpt{fill:var(--rrg-red);font-size:14px;font-weight:800}
.rrg-svg .mini-buy{stroke:var(--rrg-up);stroke-width:2;fill:none}.rrg-svg .mini-buyt{fill:var(--rrg-up);font-size:14px;font-weight:800}
.rrg-svg .mini-arr{stroke:var(--rrg-up);stroke-width:2.4}.rrg-svg .mini-arrh{fill:var(--rrg-up)}.rrg-svg .mini-upt{fill:var(--rrg-up);font-size:13px;font-weight:800}
.rrg-svg .mini-brk{stroke:var(--rrg-red);stroke-width:2}.rrg-svg .mini-dnt{fill:var(--rrg-red);font-size:13px;font-weight:800}
@media (max-width:860px){.rrg-3{grid-template-columns:1fr}}
.rrg-svg .mini-jl{stroke:var(--rrg-blue);stroke-width:2;stroke-dasharray:7 4}.rrg-svg .mini-jlt{fill:var(--rrg-blue);font-size:13.5px;font-weight:800}
.rrg-svg .mini-ok{fill:var(--rrg-up);font-size:15px;font-weight:900}.rrg-svg .mini-no{fill:var(--rrg-red);font-size:14px;font-weight:800}.rrg-svg .mini-dim{opacity:.35}
/* 2026-10-15 거래소 평단 — 실제 차트 3장 아래 손익 상자 3개(봇 알림 · 거래소 화면 · 합계 같음) */
.rrg-pnl2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:4px 0 18px}
.rrg-pnl2 .box{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 10px;border:1px solid var(--tql-line);border-radius:14px;background:var(--tql-card);text-align:center}
.rrg-pnl2 .box span{font-size:13px;font-weight:700;color:var(--tql-ink-sub)}.rrg-pnl2 .box b{font-size:28px;font-weight:900;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.rrg-pnl2 .box small{font-size:12.5px;color:var(--tql-ink-sub)}
.rrg-pnl2 .box.up b{color:var(--tql-up)}.rrg-pnl2 .box.dn b{color:var(--tql-down)}.rrg-pnl2 .box.eq b{font-size:20px;color:var(--tql-ink)}
@media (max-width:860px){.rrg-pnl2{grid-template-columns:1fr}}
/* 2026-10-21 코너 RSI2 설명서(connorslanding.html · tools/build-connors-guide.mjs) — 200일선 · RSI(2) 아래 칸 · 터틀 채널 · 매수 금지 띠 */
.rrg-svg .ma200{stroke:var(--rrg-f0);stroke-width:2;fill:none;stroke-opacity:.95}
.rrg-svg .rsil{stroke:var(--rrg-blue);stroke-width:2;fill:none}
.rrg-svg .rsib{stroke:var(--rrg-up);stroke-width:1.6;stroke-dasharray:6 4;fill:none}
.rrg-svg .rsibt{fill:var(--rrg-up);font-size:13.5px;font-weight:800}
.rrg-svg .rsis{stroke:var(--rrg-tp);stroke-width:1.6;stroke-dasharray:6 4;fill:none}
.rrg-svg .rsist{fill:var(--rrg-tp);font-size:13.5px;font-weight:800}
.rrg-svg .hhl{stroke:var(--rrg-up);stroke-width:1.8;fill:none;stroke-opacity:.9}
.rrg-svg .lll{stroke:var(--rrg-dn);stroke-width:1.6;stroke-dasharray:5 4;fill:none;stroke-opacity:.9}
.rrg-svg .rsibt,.rrg-svg .rsist{paint-order:stroke;stroke:var(--rrg-bg);stroke-width:4px;stroke-linejoin:round}
