/* 滚仓专题（滚仓手艺）课页样式 */
.rt .page { margin-left:0; }
.rt .lesson { --maxw:860px; }
.rt-draft { font-size:12px; color:var(--sub); border:1px dashed var(--line); border-radius:999px; padding:2px 10px; white-space:nowrap; }
.rt .topbar-end { display:flex; align-items:center; gap:10px; }
.rt-lesson { overflow-wrap:anywhere; }

.rt-head h1 { margin-bottom:10px; }
.rt-concl { margin:0 0 14px; font-size:17px; line-height:1.8; }
.rt-concl b { color:var(--accent-deep); }

.rt-flow { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; counter-reset:rtf; }
.rt-flow li { position:relative; min-width:0; padding:10px 10px 9px; border:1px solid var(--line); border-radius:12px; background:var(--card,var(--bg)); text-align:center; }
.rt-flow li b { display:block; font-size:17px; line-height:1.4; }
.rt-flow li small { display:block; font-size:12.5px; line-height:1.5; color:var(--sub); margin-top:2px; }
.rt-flow li:not(:last-child)::after { content:""; position:absolute; right:-6px; top:50%; width:6px; border-top:1.6px solid var(--line); }
.rt-flow li.is-on { border-color:var(--accent); background:var(--accent-soft); }
.rt-flow li.is-on b { color:var(--accent-deep); }
.rt-flow.is-small li { padding:6px 4px; border-radius:10px; }
.rt-flow.is-small li b { font-size:15px; }

.rt-goals { margin:0 0 22px; padding:14px 16px; border:1px solid var(--line); border-radius:14px; background:var(--card,var(--bg)); }
.rt-k { margin:0 0 6px; font-size:12px; font-weight:700; letter-spacing:.06em; color:var(--accent-deep); }
.rt-goals ol { list-style:none; margin:0; padding:0; }
.rt-goals li a { display:flex; gap:8px; align-items:flex-start; padding:5px 0; color:var(--text); text-decoration:none; font-size:15.5px; line-height:1.7; }
.rt-goals li a svg { flex:0 0 auto; margin-top:5px; color:var(--accent); }
.rt-goals li a:hover span { text-decoration:underline; }

.rt-sec { margin:30px 0 18px; }
.rt-h2 { margin:0 0 8px !important; font-size:20px; }
.rt-sec-sub { margin:0 0 12px; color:var(--sub); font-size:14px; }
.rt-qa h2.ln-qa-q { font-weight:800; }
.rt-note { margin:8px 0 0; font-size:13.5px; line-height:1.7; color:var(--sub); }
.rt-cap { margin:4px 0 6px; font-size:13.5px; color:var(--sub); }

.rt-sb { margin:0 0 24px; border:1px solid var(--line); border-radius:16px; background:var(--card,var(--bg)); overflow:hidden; }
.rt-sb-top { display:flex; flex-wrap:wrap; gap:4px 12px; align-items:baseline; padding:14px 16px; background:var(--accent-soft); }
.rt-sb-top b { font-size:16px; }
.rt-sb-top span { font-size:13px; color:var(--sub); }
.rt-sb-box > summary { cursor:pointer; padding:10px 16px; font-size:14px; font-weight:700; color:var(--accent-deep); }
.rt-sb-list { list-style:none; margin:0; padding:0 16px 14px; }
.rt-sb-list li { display:flex; gap:10px; padding:10px 0; border-top:1px solid var(--line); }
.rt-sb-no { flex:0 0 auto; width:26px; height:26px; border-radius:50%; display:grid; place-items:center; background:var(--accent); color:#fff; font-size:12.5px; font-weight:800; margin-top:2px; }
.rt-sb-list div { min-width:0; }
.rt-sb-say { margin:0; font-size:15px; line-height:1.75; }
.rt-sb-scene { display:flex; gap:6px; margin:2px 0 0; font-size:13px; line-height:1.65; color:var(--sub); }
.rt-sb-scene svg { flex:0 0 auto; margin-top:3px; }

.rt-vs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.rt-vs > div { min-width:0; padding:12px 14px; border-radius:14px; border:1px solid var(--line); background:var(--bg); }
.rt-vs h3 { margin:0 0 8px; font-size:15.5px; }
.rt-vs .is-bad h3 { color:var(--dp-r); }
.rt-vs .is-ok h3 { color:var(--accent-deep); }
.rt-vs dl { margin:0; display:grid; grid-template-columns:auto minmax(0,1fr); gap:6px 12px; font-size:14px; }
.rt-vs dt { color:var(--sub); }
.rt-vs dd { margin:0; text-align:right; font-weight:700; font-variant-numeric:tabular-nums; }
.rt-vs .rt-vs-end { margin:10px 0 0; font-size:13.5px; line-height:1.65; }
.rt-vs .is-bad .rt-vs-end b { color:var(--dp-r); }
.rt-vs .is-ok .rt-vs-end b { color:var(--accent-deep); }

.rt-dec { display:grid; gap:8px; margin:6px 0 4px; }
.rt-dec > div { display:grid; grid-template-columns:88px minmax(0,1fr) auto; gap:10px; align-items:center; font-size:14px; }
.rt-dec .tr { height:14px; border-radius:7px; background:var(--line); overflow:hidden; }
.rt-dec .tr i { display:block; height:100%; border-radius:7px; background:var(--accent); opacity:.85; }
.rt-dec .v { font-variant-numeric:tabular-nums; color:var(--sub); font-size:13px; white-space:nowrap; }

.rt-calc { margin:6px 0 0; padding:14px; border:1px solid var(--line); border-radius:14px; background:var(--bg); }
.rt-calc-k { margin:0 0 10px; font-weight:800; font-size:15px; }
.rt-calc-in { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px 10px; }
.rt-calc-in label { display:flex; flex-direction:column; gap:3px; min-width:0; font-size:12.5px; color:var(--sub); }
.rt-calc-in input { width:100%; min-width:0; font:inherit; font-size:15px; padding:7px 9px; border:1px solid var(--line); border-radius:9px; background:var(--card,var(--bg)); color:var(--text); }
.rt-calc-out { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:12px; }
.rt-calc-out div { min-width:0; padding:8px 10px; border-radius:10px; border:1px solid var(--line); background:var(--card,var(--bg)); }
.rt-calc-out span { display:block; font-size:12px; color:var(--sub); }
.rt-calc-out b { font-size:16px; font-variant-numeric:tabular-nums; }
.rt-calc-out .is-key { border-color:var(--accent); background:var(--accent-soft); }
.rt-calc-note { margin:10px 0 0; font-size:14px; line-height:1.7; }

.rt-eq { display:block; width:100%; height:auto; }
.rt-eq text { font-family:inherit; }
.rt-eq-grid { stroke:var(--dp-grid,var(--line)); stroke-width:1; }
.rt-eq-base { stroke:var(--sub); stroke-width:1; stroke-dasharray:4 4; opacity:.7; }
.rt-eq-ax { fill:var(--sub); font-size:12px; }
.rt-eq-area { fill:var(--accent); opacity:.08; }
.rt-eq-line { fill:none; stroke:var(--accent); stroke-width:2.2; stroke-linejoin:round; }
.rt-eq-dot { stroke:var(--bg); stroke-width:2; fill:var(--accent); }
.rt-eq-dot.is-cut, .rt-eq-dot.is-exit { fill:var(--dp-r); }
.rt-eq-dot.is-take, .rt-eq-dot.is-out { fill:var(--dp-o); }
.rt-eq-lbl { font-size:13px; font-weight:800; fill:var(--text); paint-order:stroke; stroke:var(--bg); stroke-width:4px; }

.rt-home .lesson-header h1 { font-size:30px; }
.rt-pos { margin:0 0 12px; font-size:17px; line-height:1.8; }
.rt-cells { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:14px 0 6px; }
.rt-cells div { min-width:0; padding:12px; border-radius:12px; border:1px solid var(--line); background:var(--card,var(--bg)); }
.rt-cells b { display:flex; gap:6px; align-items:center; font-size:15px; color:var(--accent-deep); }
.rt-cells span { display:block; margin-top:4px; font-size:13.5px; line-height:1.65; }
.rt-thumb { margin:16px 0 4px; padding:12px 14px; border:1px solid var(--line); border-radius:14px; background:var(--card,var(--bg)); }
.rt-thumb p { margin:0 0 6px; font-size:14px; }
.rt-thumb p small { color:var(--sub); }
.rt-ch { margin:24px 0 0; }
.rt-ch h3 { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; margin:0 0 8px; font-size:18px; }
.rt-ch-no { color:var(--accent-deep); font-size:14px; }
.rt-ch-step { padding:1px 8px; border-radius:999px; background:var(--accent-soft); color:var(--accent-deep); font-size:12.5px; }
.rt-ch h3 small { margin-left:auto; font-size:12.5px; font-weight:500; color:var(--sub); }
.rt-list { list-style:none; margin:0; padding:0; border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--card,var(--bg)); }
.rt-list li + li { border-top:1px solid var(--line); }
.rt-list a, .rt-list button { display:flex; gap:12px; width:100%; padding:11px 14px; text-align:left; font:inherit; color:var(--text); background:none; border:0; cursor:pointer; text-decoration:none; }
.rt-list a:hover, .rt-list button:hover { background:var(--accent-soft); }
.rt-no { flex:0 0 38px; font-weight:800; color:var(--sub); font-variant-numeric:tabular-nums; }
.rt-t { min-width:0; }
.rt-t b { display:block; font-size:15.5px; line-height:1.6; }
.rt-t small { display:block; font-size:13px; line-height:1.6; color:var(--sub); margin-top:2px; }
.rt-free, .rt-sample { display:inline-block; margin-left:8px; padding:0 7px; border-radius:6px; font-size:11.5px; font-style:normal; font-weight:700; vertical-align:2px; }
.rt-free { border:1px solid var(--accent); color:var(--accent-deep); }
.rt-sample { background:var(--accent); color:#fff; }
.rt-list li.is-sample { background:var(--accent-soft); }
.rt-toast { position:fixed; left:50%; bottom:24px; transform:translate(-50%,20px); margin:0; padding:10px 16px; max-width:calc(100% - 32px); border-radius:12px; background:var(--text); color:var(--bg); font-size:14px; opacity:0; pointer-events:none; transition:opacity .2s, transform .2s; z-index:50; }
.rt-toast.is-on { opacity:1; transform:translate(-50%,0); }
.rt-foot .disclaimer { font-size:13px; line-height:1.7; }

@media(max-width:640px){
  .rt .lesson { padding-left:16px; padding-right:16px; }
  .rt-draft { display:none; }
  .rt-flow { gap:4px; }
  .rt-flow li { padding:8px 2px; }
  .rt-flow.is-small li small { display:none; } .rt-flow li small { font-size:11px; }
  .rt-flow li:not(:last-child)::after { right:-4px; width:4px; }
  .rt-vs, .rt-cells { grid-template-columns:minmax(0,1fr); }
  .rt-calc-in, .rt-calc-out { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rt-dec > div { grid-template-columns:auto minmax(0,1fr); } .rt-dec b { white-space:nowrap; }
  .rt-dec .v { grid-column:1 / -1; }
  .rt-home .lesson-header h1 { font-size:24px; }
  .rt-ch h3 small { margin-left:0; }
}
.rt-halo { paint-order:stroke; stroke:var(--dp-paper,var(--bg)); stroke-width:4px; stroke-linejoin:round; }
.hb-k .k-hline.up { stroke:var(--hb-up); opacity:.9; } .hb-k .k-hline.dn { stroke:var(--hb-dn); opacity:.9; } .hb-k .k-hline.amber { stroke:var(--hb-amber); opacity:.9; }
.rt .skip-link { position:absolute; left:-9999px; top:0; }
.rt .skip-link:focus { left:12px; top:12px; z-index:100; }
