.waiting-meta { display: flex; align-items: center; justify-content: space-between; gap: 6px; font-size: 10px; color: #63785f; }
#welcome-group-training { display: flex; align-items: center; min-height: 28px; margin-top: 4px; font-size: 11px; }
#training-bots { min-height: 30px; padding: 5px 9px; }
.waiting-meta button { padding: 3px 0; border: 0; background: transparent; color: #315e46; font: 600 11px 'DM Sans', sans-serif; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.waiting-activities { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.waiting-activities button { min-width: 0; padding: 7px 3px; font-size: 11px; }
.waiting-return { position: fixed; z-index: 8; bottom: var(--toast-space, 0px); left: 0; right: 0; min-height: 48px; display: flex; justify-content: center; align-items: center; gap: 16px; padding: 6px 12px; background: #eff3e9; border-top: 1px solid #cbd9c6; color: #31523c; font-size: 12px; }
.waiting-return button { flex: none; min-height: 32px; border: 1px solid #b9cdb5; border-radius: 7px; padding: 5px 10px; background: #fffdf6; color: #284d37; font: 600 12px 'DM Sans', sans-serif; cursor: pointer; }
.waiting-return.is-complete { background: #214c3b; color: #fff8e9; border-color: #214c3b; }
body { --waiting-space: 0px; }
body:has(#waiting-return:not([hidden])) { --waiting-space: 48px; }
body .app-shell, body .welcome-screen.training-home { height: calc(100dvh - var(--toast-space) - var(--waiting-space)); max-height: calc(100dvh - var(--toast-space) - var(--waiting-space)); }
body .modal-backdrop { bottom: calc(var(--toast-space) + var(--waiting-space)); }
body .modal-backdrop > .modal-card, body #modal-backdrop > .modal-card { max-height: calc(100dvh - var(--toast-space) - var(--waiting-space) - 24px); }
.waiting-options { width: min(440px, calc(100vw - 24px)); padding: 24px; text-align: left; color: #36533e; }
.waiting-options h2 { padding-right: 24px; font-size: 25px; margin: 0 0 12px; }
.waiting-options p { font-size: 12px; line-height: 1.5; }
.waiting-options button:not(.modal-close) { min-height: 34px; padding: 6px 12px; border: 1px solid #cbd7c1; border-radius: 7px; background: #f3f6ed; color: #335539; font: 600 12px 'DM Sans', sans-serif; cursor: pointer; }
.waiting-options button:disabled { opacity: .5; cursor: default; }
.waiting-friend { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 6px 0; padding: 7px; border: 1px solid #e0e4d6; border-radius: 8px; }
.waiting-friend strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; font-size: 12px; }
.waiting-friend-pages { display: flex; justify-content: center; align-items: center; gap: 14px; margin: 8px 0; font-size: 11px; }
#waiting-copy-link { width: 100%; }
.waiting-options .waiting-options-return { width: 100%; margin-top: 10px; background: #244d3b !important; color: #fffaf0 !important; border-color: #244d3b !important; }
#waiting-format-choices, .waiting-vote-actions { display: flex; flex-wrap: wrap; gap: 8px; }
#waiting-vote { background: #eef3e7; padding: 12px; border-radius: 9px; }
#waiting-vote-title { font-size: 17px; }
#waiting-options-status { min-height: 0; margin: 8px 0 0; overflow-wrap: anywhere; color: #6d5b3e; }
#waiting-options-status:empty { display: none; }
@media (max-width: 400px) {
  .waiting-return { gap: 8px; padding: 5px 8px; font-size: 10px; }
  .waiting-return button { font-size: 10px; padding: 5px 7px; }
  .waiting-options { padding: 16px; }
  .waiting-options h2 { font-size: 22px; }
}
@media (max-height: 600px) {
  .group-training #waiting-summary { display: none; }
  .online-modal:has(#waiting-summary:not([hidden])) .room-player-list { gap: 3px; margin: 5px 0; }
  .online-modal:has(#waiting-summary:not([hidden])) .room-player { min-height: 25px; padding-top: 3px; padding-bottom: 3px; }
  .online-modal:has(#waiting-summary:not([hidden])) #ready-room { min-height: 34px; margin-top: 5px; padding: 6px; }
  .waiting-summary { margin: 5px 0; padding: 7px; gap: 4px; }
  .waiting-meta, .waiting-meta button { font-size: 10px; }
  .waiting-options { padding: 12px 18px; }
  .waiting-options h2 { margin-bottom: 5px; }
  .waiting-options p { font-size: 11px; margin: 6px 0; }
  .waiting-friend { margin: 4px 0; padding: 4px 6px; }
}
@media (max-height: 450px) and (min-width: 451px) {
  .group-training .online-modal { padding: 8px 12px; }
  .group-training #online-title { font-size: 22px; margin-bottom: 6px; }
  #online-backdrop.group-training #online-room-view > #ready-room, #online-backdrop.group-training #online-room-view > #leave-waiting-room { min-height: 28px; margin-top: 0; padding: 3px; }
  .group-training .online-modal:has(#waiting-summary:not([hidden])) .room-player-list { margin: 0; }
  .group-training .room-footnote { display: none; }
  .group-training .online-modal:has(#waiting-summary:not([hidden])) .room-player { min-height: 22px; padding-top: 2px; padding-bottom: 2px; }
  #waiting-detail { display: none; }
  .training-home .welcome-training h3 { display: none; }
  .training-home .welcome-training .welcome-options select { height: 28px; }
  .training-home #welcome-local { min-height: 32px; padding: 5px 8px; font-size: 10px; }
  #welcome-group-training { min-height: 24px; margin-top: 2px; padding: 3px; font-size: 10px; }
  #online-room-view > #training-bots { grid-column: 1; grid-row: 2; min-height: 26px; padding: 4px; font-size: 9px; }
  .waiting-options { width: min(650px, calc(100vw - 24px)); }
  #waiting-invites-panel { display: grid; grid-template-columns: 1fr 1.3fr; gap: 4px 12px; }
  #waiting-invite-help { grid-column: 1; grid-row: 1; }
  #waiting-friends { grid-column: 2; grid-row: 1 / 4; }
  .waiting-friend-pages { grid-column: 1; grid-row: 2; margin: 0; }
  #waiting-copy-link { grid-column: 1; grid-row: 3; }
  .waiting-friend { margin: 2px 0; padding: 3px 5px; }
  .waiting-options button:not(.modal-close) { min-height: 27px; font-size: 10px; padding: 4px 6px; }
  .waiting-options h2 { font-size: 21px; }
}
