/* Roadmap Explorer */
.roadmap-shell{padding-top:52px;min-height:100vh}
.roadmap-wrap{max-width:1600px;margin:0 auto;padding:52px 20px 60px;position:relative;z-index:1}
.rm-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-bottom:22px}
.rm-intro-card,.rm-status-card{background:var(--card);border:1px solid var(--border);padding:18px}
.rm-intro-title{font-family:var(--sans);font-size:1rem;font-weight:700;color:var(--white);margin-bottom:6px}
.rm-intro-text{font-size:11px;color:var(--text2);line-height:1.8}
.rm-status-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.rm-status-pill{font-size:9px;padding:4px 10px;border:1px solid var(--border);color:var(--text2);background:var(--s1);letter-spacing:1px;text-transform:uppercase}
.rm-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 14px;background:var(--s1);border:1px solid var(--border);margin-bottom:16px;font-size:10px;color:var(--text2);letter-spacing:.5px}
.rm-breadcrumb span{line-height:1.5}.rm-breadcrumb-sep{color:var(--L1)}
.rm-board{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}
.rm-explorer{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin;min-height:480px}
.rm-explorer::-webkit-scrollbar{height:8px}.rm-explorer::-webkit-scrollbar-thumb{background:var(--border2)}
.rm-column{min-width:255px;max-width:255px;position:relative}.rm-column:not(:first-child)::before{content:'';position:absolute;left:-9px;top:50%;width:18px;height:2px;background:var(--border2);opacity:.9}
.rm-column-root{min-width:280px;max-width:280px}
.rm-column-head{font-size:10px;letter-spacing:1.7px;text-transform:uppercase;color:var(--L1);margin-bottom:10px;padding-left:4px}
.rm-stack{display:flex;flex-direction:column;gap:10px}
.rm-card,.rm-root-btn{width:100%;text-align:left;background:var(--card);border:1px solid var(--border);padding:14px 14px 15px;color:var(--text);cursor:pointer;transition:transform .15s,border-color .2s,background .2s,box-shadow .2s;display:flex;flex-direction:column;gap:4px;border-left:3px solid var(--rm-accent,var(--border2));min-height:96px}
.rm-card:hover,.rm-root-btn:hover{transform:translateY(-2px);border-color:var(--rm-accent,var(--L1));background:var(--card2)}
.rm-card-active{background:rgba(34,211,238,.08);border-color:var(--rm-accent,var(--L1));box-shadow:0 0 0 1px var(--rm-accent,var(--L1)) inset}
.rm-card-kicker{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text2)}
.rm-card-title{font-family:var(--sans);font-size:.95rem;font-weight:700;color:var(--white);line-height:1.35}
.rm-card-title-sm{font-size:.88rem}.rm-card-meta{font-size:10px;color:var(--text2);line-height:1.6}
.rm-root-btn{min-height:132px;justify-content:center;border-left-color:var(--L1)}
.rm-resource-wrap{display:flex;flex-direction:column;gap:6px}
.rm-resource-link{display:flex;align-items:center;justify-content:center;text-decoration:none;padding:8px 12px;font-size:10px;letter-spacing:1.3px;text-transform:uppercase;border:1px solid var(--L1);color:var(--L1);background:transparent;transition:background .2s,color .2s,border-color .2s}
.rm-resource-link:hover{background:rgba(34,211,238,.08)}
.rm-detail{position:sticky;top:68px}.rm-detail-card,.rm-empty-detail{background:var(--card);border:1px solid var(--border);padding:18px}
.rm-detail-kicker{font-size:10px;letter-spacing:1.7px;text-transform:uppercase;color:var(--L1);margin-bottom:6px}
.rm-detail-title,.rm-empty-title{font-family:var(--sans);font-size:1.08rem;font-weight:700;color:var(--white);margin-bottom:8px;line-height:1.35}
.rm-detail-desc,.rm-empty-text{font-size:11px;color:var(--text);line-height:1.9}
.rm-detail-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.rm-tag{font-size:9px;padding:4px 10px;border:1px solid var(--border);background:var(--s1);color:var(--text2);letter-spacing:1px;text-transform:uppercase}
.rm-detail-list-head{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--L1);margin-top:16px;margin-bottom:8px}
.rm-detail-list{list-style:none;display:flex;flex-direction:column;gap:6px}.rm-detail-list li{background:var(--s1);border:1px solid var(--border);padding:8px 10px;font-size:11px;color:var(--text);line-height:1.7}
.rm-detail-actions{margin-top:14px}.rm-detail-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:9px 14px;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;border:1px solid var(--L1);color:var(--L1)}.rm-detail-link:hover{background:rgba(34,211,238,.08)}
.rm-quick-win{font-size:11px;color:var(--text);line-height:1.8;padding:10px 12px;background:rgba(16,185,129,.06);border:1px solid rgba(16,185,129,.22)}
.rm-detail-split{display:grid;grid-template-columns:1fr;gap:14px;margin-top:14px}.is-disabled{pointer-events:none;opacity:.45}
@media(max-width:1200px){.rm-board{grid-template-columns:1fr}.rm-detail{position:static}}
@media(max-width:768px){.roadmap-wrap{padding:42px 14px 48px}.rm-intro{grid-template-columns:1fr}.rm-column{min-width:220px;max-width:220px}.rm-column-root{min-width:250px;max-width:250px}.rm-card,.rm-root-btn{min-height:88px}}

.rm-stack-resources{
  gap:12px;
}

.rm-resource-card{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:10px 12px;
  min-height:auto;
  text-decoration:none;
}

.rm-resource-card .rm-card-kicker{
  font-size:8px;
  letter-spacing:2px;
  opacity:.8;
}

.rm-resource-title{
  font-size:12px;
  line-height:1.3;
}

.rm-resource-meta{
  font-size:10px;
  opacity:.8;
}

.rm-resource-card.is-disabled{
  pointer-events:none;
  opacity:.45;
}