.home-step-preview {
  min-width:0;
  padding:18px 0;
  border-top:2px solid var(--forest);
  border-bottom:1px solid var(--line);
  color:var(--forest);
}
.home-step-head { display:flex; align-items:center; gap:9px; }
.home-step-head h2 { margin:0; font-size:1rem; font-weight:850; }
.home-step-copy { margin:6px 0 12px; color:var(--muted); font-size:.7rem; }
.home-step-list { display:grid; gap:5px; max-height:240px; margin:0 0 12px; padding:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; list-style:none; }
.home-step-row { display:grid; grid-template-columns:24px minmax(0,1fr); align-items:center; gap:6px; padding:9px 6px; border-radius:8px; background:var(--paper-dark); }
.home-step-row.top-1 { background:#f5dda2; }
.home-step-row.top-2 { background:#e7eadf; }
.home-step-row.top-3 { background:#eedac3; }
.home-step-rank { font-size:.8rem; font-weight:850; text-align:center; }
.home-step-info { display:grid; gap:3px; min-width:0; }
.home-step-name { font-size:.78rem; font-weight:800; overflow-wrap:anywhere; }
.home-step-meta { color:var(--muted); font-size:.65rem; line-height:1.45; }
.home-step-empty { padding:12px 0; color:var(--muted); font-size:.78rem; line-height:1.5; }
.home-step-link { display:flex; align-items:center; justify-content:center; min-height:44px; padding:8px; border:1px solid #b5bba5; border-radius:8px; color:var(--forest); font-size:.72rem; font-weight:800; text-align:center; text-decoration:none; }
.home-step-link:hover { color:var(--paper); background:var(--forest); }
@media (min-width:861px) {
  .home-step-preview { grid-column:1; grid-row:1; width:100%; margin-top:28px; }
}
@media (min-width:1320px) {
  .page-home .hero-stage:has(.home-step-preview) { min-height:400px; }
  .home-step-preview { position:absolute; left:0; top:-40px; width:210px; margin:0; }
}
@media (max-width:860px) {
  .challenge-layout .home-step-preview { position:static; width:min(100%,820px); margin:18px auto 0; padding:18px; border:1px solid var(--line); border-radius:18px; background:var(--paper); }
  .home-step-row { grid-template-columns:30px minmax(0,1fr); padding:10px; }
  .home-step-meta { font-size:.72rem; }
}
