/* An in-flow bottom bar reserves space inside the site's flex page. */
.uya-bgm { flex:0 0 auto; position:relative; width:100%; min-width:0; margin:0; border-top:1px solid var(--uya-border,#e8e1ef); background:#f2eff6; color:var(--uya-ink,#342c43); font:13px/1.5 "Segoe UI","Microsoft YaHei",system-ui,sans-serif; }
.uya-bgm[hidden],.uya-bgm [hidden] { display:none !important; }
.uya-page footer .uya-bgm-entry { display:inline-flex; align-items:center; margin-right:7px; vertical-align:middle; }
.uya-page footer .uya-bgm-entry[hidden] { display:none !important; }
.uya-page .uya-bgm-trigger { display:inline-flex; align-items:center; gap:4px; min-height:26px; margin:0; padding:3px 6px; border:1px solid #e3d9ec; border-radius:4px; background:transparent; color:#78628d; font:inherit; font-size:11px; line-height:1.4; white-space:nowrap; cursor:pointer; }
.uya-page .uya-bgm-trigger:hover { background:#eee7f5; }
.uya-page .uya-bgm-trigger.is-active { color:#7650ad; border-color:#cdb9df; }
.uya-page .uya-bgm-trigger.is-active::after { content:""; width:4px; height:4px; border-radius:50%; background:currentColor; }
.uya-bgm * { box-sizing:border-box; }
.uya-bgm__bar { display:flex; align-items:center; gap:12px; width:min(1440px,100%); margin:auto; padding:9px 32px; }
.uya-bgm__mark { display:grid; place-items:center; width:34px; height:34px; flex:0 0 34px; color:var(--uya-purple,#7650ad); background:#e8dff2; border-radius:4px; font-size:23px; }
.uya-bgm__summary { min-width:0; flex:1; }
.uya-bgm__summary strong { display:block; font-size:12px; font-weight:650; }
.uya-bgm__badge { margin-left:8px; font-size:10px; font-weight:400; color:var(--uya-muted,#786d86); }
.uya-bgm__summary p { overflow:hidden; margin:2px 0 0; color:var(--uya-muted,#786d86); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.uya-bgm__actions { display:flex; align-items:center; flex-shrink:0; gap:7px; }
.uya-bgm button,.uya-bgm select { min-height:34px; padding:6px 11px; margin:0; border:1px solid #d9cde5; border-radius:4px; background:transparent; color:#654887; font:inherit; font-size:12px; line-height:1.4; cursor:pointer; }
.uya-bgm button:hover { background:#e8dff2; }
.uya-bgm button:disabled,.uya-bgm select:disabled { cursor:default; opacity:.5; }
.uya-bgm button:focus-visible,.uya-bgm select:focus-visible,.uya-bgm a:focus-visible { outline:3px solid #9170bc; outline-offset:3px; }
.uya-bgm button.uya-bgm__start { border-color:#7650ad; background:#7650ad; color:white; }
.uya-bgm button.uya-bgm__start:hover { background:#674397; }
.uya-bgm__panel { position:absolute; z-index:90; bottom:calc(100% + 8px); right:max(16px,calc((100vw - 1440px)/2 + 32px)); width:min(480px,calc(100% - 32px)); max-height:75vh; max-height:min(75dvh,600px); margin:0; padding:14px; border:1px solid #d9cde5; border-radius:6px; background:#faf9fb; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.uya-bgm__selection { display:flex; align-items:center; gap:7px; margin-bottom:10px; }
.uya-bgm__selection select { min-width:0; flex:1; background:#fff; text-overflow:ellipsis; }
.uya-bgm__selection button { flex-shrink:0; }
.uya-bgm__stage { position:relative; width:100%; margin:0 auto; aspect-ratio:16/9; border:1px solid #ded6e6; background:#fff; }
.uya-bgm__stage iframe { display:block; width:100%; height:100%; border:0; }
.uya-bgm__placeholder { display:flex; align-items:center; justify-content:center; height:100%; margin:0; padding:16px; text-align:center; font-size:12px; color:var(--uya-muted,#786d86); }
.uya-bgm__details { display:flex; justify-content:space-between; align-items:start; gap:12px; margin-top:9px; }
.uya-bgm__details p { margin:0; color:#6f5b80; font-size:11px; overflow-wrap:anywhere; }
.uya-bgm a { flex-shrink:0; color:#704c9c; font-size:11px; text-decoration:none; }
.uya-bgm a:hover { text-decoration:underline; }
.uya-bgm__help { margin:5px 0 0; font-size:10px; line-height:1.7; color:#786d86; }
.uya-bgm button.uya-bgm__retry { margin-top:8px; }
.uya-bgm__sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.uya-bgm button { transition:background-color .15s ease, transform .12s ease; }
.uya-bgm button:active:not(:disabled) { transform:translateY(1px); }
.uya-bgm__panel:not([hidden]) { animation:uya-bgm-reveal .18s ease-out; }
@keyframes uya-bgm-reveal { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) { .uya-bgm button,.uya-bgm__panel { animation:none !important; transition:none !important; } }
@media(max-width:600px) {
  .uya-bgm__bar { padding:7px 16px; gap:9px; }
  .uya-bgm__mark { width:28px; height:32px; flex-basis:28px; font-size:21px; }
  .uya-bgm__badge { display:none; }
  .uya-bgm__actions { gap:6px; }
  .uya-bgm button,.uya-bgm select { min-height:36px; padding:6px 9px; }
  .uya-bgm__panel { right:12px; width:calc(100% - 24px); max-height:68vh; max-height:min(68dvh,520px); padding:12px; }
  .uya-bgm__selection { gap:5px; }
  .uya-bgm__selection button { padding-inline:7px; font-size:11px; }
  .uya-bgm__details { gap:8px; }
}
@media(max-width:350px) { .uya-bgm__bar { padding-inline:10px; } .uya-bgm__panel { padding-inline:10px; } .uya-bgm__mark { display:none; } }
