/* FloS Topics numbered stages — 2026-10-30.
 * Restores the numbered hierarchy first used in ChatGPT's v41 design,
 * retaining the v48 blue / burgundy / yellow bars and original book cards.
 * Visible spans override the deliberate h2::before suppression in v44/v45. */
body:has(#candidates) .section-label h2 .topic-step-number,
body.topics-special-v49 .section-label h2 .topic-step-number{
  box-sizing:border-box;
  display:inline-flex!important;
  flex:none;
  align-items:center;
  justify-content:center;
  width:29px;height:29px;
  margin-right:8px;
  border:2px solid rgba(255,255,255,.95);
  border-radius:50%;
  background:#fff5cf;
  color:#174c92;
  box-shadow:0 2px 0 rgba(0,0,0,.16);
  font-family:"Pretendard Variable",Pretendard,system-ui,sans-serif;
  font-size:14px;font-weight:900;line-height:1;
  vertical-align:middle;text-shadow:none;
}
body:has(#candidates) .section-label:has(+ .rank-block.rank-top3) h2 .topic-step-number,
body:has(#candidates) .section-label:has(+ .rank-empty + #candidates) h2 .topic-step-number,
body.topics-special-v49 .section-label:not(#works):not(#opinions) h2 .topic-step-number{
  color:#8b3150;background:#fff;
}
body:has(#candidates) #candidates h2 .topic-step-number,
body.topics-special-v49 #works h2 .topic-step-number{
  color:#5e4a00;background:#fff;border-color:#b78b13;
}
@media(max-width:759px){
  body:has(#candidates) .section-label h2 .topic-step-number,
  body.topics-special-v49 .section-label h2 .topic-step-number{
    width:24px;height:24px;min-width:24px;
    font-size:12px;margin-right:6px;
  }
}
