/* ── PETA KONSEP (roadmap.sh style) ── */
.rvm-wrap{padding:1.5rem 1.25rem 3rem;max-width:1240px;margin:0 auto}
.rvm-title{font-family:var(--font-sans);font-size:1.35rem;font-weight:800;color:var(--text);letter-spacing:-.01em}
.rvm-sub{font-size:12px;color:var(--text2);margin:.2rem 0 .9rem}
.rvm-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px}
.rvm-tabs{display:flex;flex-wrap:wrap;gap:6px;flex:1 1 100%}
.rvm-tab{font-family:var(--font-mono);font-size:11px;font-weight:600;padding:6px 12px;border-radius:999px;border:1px solid var(--border2);background:var(--bg2);color:var(--text2);cursor:pointer;transition:.15s}
.rvm-tab:hover{border-color:var(--tc);color:var(--text)}
.rvm-tab.active{background:color-mix(in srgb,var(--tc) 16%,var(--bg2));border-color:var(--tc);color:var(--tc)}
.rvm-btn{font-family:var(--font-mono);font-size:10.5px;padding:5px 10px;border-radius:6px;border:1px solid var(--border2);background:var(--bg2);color:var(--text2);cursor:pointer}
.rvm-btn:hover{color:var(--text);border-color:var(--border3)}
.rvm-stat{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;color:var(--text2);margin-left:auto}
.rvm-stat-bar{width:120px;height:6px;border-radius:3px;background:var(--bg4);overflow:hidden}
.rvm-stat-bar i{display:block;height:100%;background:var(--teal);width:0;transition:width .3s}
.rvm-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:10.5px;color:var(--text3);font-family:var(--font-mono);margin-bottom:6px}
.rvm-legend span{display:inline-flex;align-items:center;gap:5px}
.rvm-legend i{width:12px;height:12px;border-radius:3px;border:1.5px solid var(--text3);display:inline-block}
.rvm-legend i.d{background:var(--teal);border-color:var(--teal)}
.rvm-legend i.p{border-color:var(--amber);border-style:dashed;background:color-mix(in srgb,var(--amber) 18%,transparent)}
.rvm-map{position:relative;padding:28px 0 20px}
.rvm-svg{position:absolute;left:0;top:0;pointer-events:none;overflow:visible;z-index:0}
.rvm-phase{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 230px minmax(0,1fr);column-gap:70px;align-items:start;margin-bottom:64px}
.rvm-phase:last-child{margin-bottom:0}
.rvm-col{display:flex;flex-direction:column;gap:18px;min-width:0}
.rvm-mid{display:flex;justify-content:center}
.rvm-hub{width:230px;text-align:center;padding:12px 14px 11px;border-radius:12px;border:2px solid var(--hc);background:color-mix(in srgb,var(--hc) 20%,var(--bg2));box-shadow:0 6px 22px -8px var(--hc);position:relative;z-index:2}
.rvm-hub-ph{font-family:var(--font-sans);font-size:15px;font-weight:800;color:var(--hc);line-height:1.25}
.rvm-hub-sub{font-size:11.5px;color:var(--text);margin-top:2px;line-height:1.35}
.rvm-hub-mo{font-size:9.5px;color:var(--text2);margin-top:3px;font-family:var(--font-mono);opacity:.85}
.rvm-hub-bar{height:5px;border-radius:3px;background:color-mix(in srgb,var(--hc) 18%,var(--bg4));margin-top:8px;overflow:hidden}
.rvm-hub-bar i{display:block;height:100%;background:var(--hc);width:0;transition:width .3s}
.rvm-hub-cnt{font-size:10px;color:var(--text2);font-family:var(--font-mono);margin-top:4px}
.rvm-group{border-radius:10px;border:1.5px solid color-mix(in srgb,var(--gc) 55%,var(--border2));background:var(--bg2);overflow:hidden}
.rvm-ghead{display:flex;align-items:center;gap:8px;padding:9px 11px;cursor:pointer;background:color-mix(in srgb,var(--gc) 14%,var(--bg2));user-select:none}
.rvm-ghead:hover{background:color-mix(in srgb,var(--gc) 22%,var(--bg2))}
.rvm-gicon{font-size:14px}
.rvm-gname{flex:1;font-family:var(--font-sans);font-size:12px;font-weight:700;color:var(--text);line-height:1.3}
.rvm-gcnt{font-family:var(--font-mono);font-size:10px;color:var(--gc);white-space:nowrap}
.rvm-gchev{font-size:10px;color:var(--text2);transition:transform .15s}
.rvm-group.collapsed .rvm-gchev{transform:rotate(-90deg)}
.rvm-group.collapsed .rvm-gbody{display:none}
.rvm-gbody{display:flex;flex-direction:column;gap:5px;padding:8px}
.rvm-chip{display:flex;align-items:center;gap:8px;padding:6px 9px;border-radius:7px;border:1px solid var(--border2);background:var(--bg3);cursor:pointer;font-size:11.5px;line-height:1.4;color:var(--text);text-align:left;transition:.12s}
.rvm-chip:hover{border-color:var(--cc);background:color-mix(in srgb,var(--cc) 9%,var(--bg3))}
.rvm-chip-box{flex:none;width:14px;height:14px;border-radius:4px;border:1.5px solid var(--cc);display:flex;align-items:center;justify-content:center;font-size:10px;color:transparent;font-weight:800}
.rvm-chip-t{flex:1;min-width:0}
.rvm-chip-h{font-family:var(--font-mono);font-size:9.5px;color:var(--text3);white-space:nowrap}
.rvm-chip-ref{flex:none;font-family:var(--font-mono);font-size:9px;padding:1px 6px;border-radius:4px;border:1px solid var(--border3);background:var(--bg2);color:var(--text2);cursor:pointer}
.rvm-chip-ref:hover{color:var(--cc);border-color:var(--cc)}
.rvm-chip.done{background:color-mix(in srgb,var(--cc) 16%,var(--bg3));border-color:var(--cc)}
.rvm-chip.done .rvm-chip-box{background:var(--cc);color:var(--bg)}
.rvm-chip.done .rvm-chip-t{color:var(--text2);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--cc) 60%,transparent)}
.rvm-chip.pending{border-style:dashed;border-color:var(--amber);background:color-mix(in srgb,var(--amber) 10%,var(--bg3))}
.rvm-chip.pending .rvm-chip-box{border-color:var(--amber);color:var(--amber)}
.rvm-chip.bare{border-width:1.5px;border-color:color-mix(in srgb,var(--cc) 55%,var(--border2));padding:8px 10px;font-weight:500}
.rvm-intro{max-width:760px;margin:0 auto 26px;text-align:center;font-size:12px;color:var(--text2);line-height:1.65}
@media (max-width:860px){
  .rvm-wrap{padding:1rem .75rem 2rem}
  .rvm-phase{grid-template-columns:1fr;row-gap:12px;margin-bottom:34px}
  .rvm-mid{order:-1}
  .rvm-hub{width:100%}
  .rvm-col{gap:12px}
  .rvm-svg{display:none}
  .rvm-stat{margin-left:0;flex:1 1 100%}
}
