.hot-board { max-width: 1120px; }
.hot-board-meta { display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; padding-bottom:20px; color:rgba(var(--ink-rgb),.65); font-size:13px; }
.hot-rules { max-width:680px; }
.hot-rules summary,.hot-sources summary { cursor:pointer; text-underline-offset:4px; }
.hot-rules summary:hover,.hot-sources summary:hover { text-decoration:underline; }
.hot-rules p { font-size:14px; line-height:1.8; margin-top:12px; }
.hot-notice { padding:12px 0; color:rgba(var(--ink-rgb),.7); }
.hot-events { list-style:none; margin:0; padding:0; border-top:1px solid rgba(var(--ink-rgb),.2); }
.hot-event { display:grid; grid-template-columns:38px minmax(0,1fr) 100px; gap:20px; padding:26px 0; border-bottom:1px solid rgba(var(--ink-rgb),.16); }
.hot-rank { font-size:24px; font-weight:600; font-variant-numeric:tabular-nums; color:rgba(var(--ink-rgb),.5); line-height:1.5; }
.hot-event h2 { font-size:22px; line-height:1.5; font-weight:650; margin:0 0 10px; overflow-wrap:anywhere; }
.hot-event h2 a { color:var(--ink); text-decoration:none; }
.hot-event h2 a:hover { text-decoration:underline; text-underline-offset:4px; }
.hot-badge { display:inline-block; font-size:12px; font-weight:500; margin-left:10px; vertical-align:middle; color:var(--heat); }
.hot-event-meta { display:flex; gap:10px; flex-wrap:wrap; color:rgba(var(--ink-rgb),.6); font-size:13px; }
.hot-sources { font-size:13px; margin-top:10px; color:rgba(var(--ink-rgb),.75); }
.hot-sources ul { padding-left:20px; margin:12px 0; line-height:2; }
.hot-sources a,.hot-empty a { color:var(--ink); text-underline-offset:3px; overflow-wrap:anywhere; }
.hot-event-heat { display:flex; flex-direction:column; align-items:flex-end; gap:4px; color:rgba(var(--ink-rgb),.55); font-size:12px; }
.hot-event-heat strong { font-size:27px; line-height:1.4; font-weight:650; color:var(--ink); font-variant-numeric:tabular-nums; }
.hot-event-heat svg { width:90px; height:28px; margin-top:10px; }
.hot-event-heat polyline { fill:none; stroke:currentColor; stroke-width:1.6; stroke-linejoin:round; }
.hot-event-heat small { font-size:11px; }
.hot-empty { padding:48px 0; line-height:2; }
.hot-board :is(a,summary):focus-visible { outline:2px solid var(--heat); outline-offset:4px; }
@media(max-width:640px) {
  .hot-event { grid-template-columns:24px minmax(0,1fr) 66px; gap:10px; padding:22px 0; }
  .hot-event h2 { font-size:19px; }
  .hot-rank { font-size:20px; }
  .hot-event-heat strong { font-size:23px; }
  .hot-event-heat svg { width:66px; }
}
