/* products-r10-hubfix — ホーム（#products）の HUBBOT 図だけ。rising-v10f-hubfix.html が products-r10/products-parts-v2.css の後に読む。
   2026-09-29。PRODUCTS ページの products-hub-hubbot-v2.css ＋ v3 の「必須1・審査中-1」と同型の直しを、ホーム節に限定して上書きする。 */

/* 必須1：ボタンと完了の返信を .dc-body の同じ升（4 行目）に重ね、升の高さを常に確保する。
   元は display:none / display:flex の切り替えと、dc-btns-out の max-height:0 でボタン行が消え、
   その下にあった .dc-done（opacity:0 でもフローには残る）と縦に積まれていたため、切り替えで .dc-b の高さが変わり、
   subgrid で行を共有する .dc-win と下の .dc-hub が跳ねる。 */
#products :is([data-kind="ticket"], [data-kind="event"]) .dc-b > .dc-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}
#products :is([data-kind="ticket"], [data-kind="event"]) :is(.dc-btns, .dc-done) {
  grid-row: 4;
  grid-column: 1;
}
#products :is([data-kind="ticket"], [data-kind="event"]) .dc-btns {
  display: flex;
  visibility: hidden;
}
#products :is([data-kind="ticket"], [data-kind="event"]).dc-armed .dc-btns {
  visibility: visible;
}
#products :is([data-kind="ticket"], [data-kind="event"]) .dc-done {
  height: 32px;
  margin-top: 12px;
} /* ボタン行と同じ 12 + 32（products-parts-v2 の .dc-btns span height:32） */

/* 審査中-1：ボタン 160ms で消え終えてから完了返信 920ms・棒 1020ms（v3 と同じ。--dc-t 付き） */
#products .dc-scene:is([data-kind="ticket"], [data-kind="event"]).dc-play .dc-btns {
  animation: dc-hubfix-btns-out 160ms ease-in-out calc(760ms * var(--dc-t, 1)) forwards;
}
#products .dc-scene:is([data-kind="ticket"], [data-kind="event"]).dc-play .dc-stat.dc-done {
  animation: pv-up 420ms var(--pv-up) calc(920ms * var(--dc-t, 1)) both;
}
#products .dc-play .dc-stat.dc-done .pv-bar {
  animation-delay: calc(1020ms * var(--dc-t, 1));
}

@keyframes dc-hubfix-btns-out {
  to { opacity: 0; visibility: hidden; }
} /* 高さは変えない（products-parts-v2 の dc-btns-out の max-height:0 を上書き） */

@media (prefers-reduced-motion: reduce) {
  #products :is([data-kind="ticket"], [data-kind="event"]) .dc-btns {
    display: flex !important;
    visibility: hidden !important;
  }
}
