.xiake-upload-source-overlay {
  position: fixed; inset: 0; z-index: 2147483000;
  display: flex; align-items: center; justify-content: center;
  padding: 16px; background: rgba(0, 0, 0, .65); box-sizing: border-box;
}
.xiake-upload-source-panel {
  width: 440px; max-width: 100%; max-height: calc(100vh - 32px);
  overflow-y: auto; box-sizing: border-box; padding: 18px;
  border: 1px solid #365059; border-radius: 10px; background: #132025; color: #e4eded;
  box-shadow: 0 15px 50px rgba(0, 0, 0, .4);
}
.xiake-upload-source-panel header, .xiake-upload-source-preset, .xiake-upload-source-panel footer {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
}
.xiake-upload-source-panel header { margin-bottom: 16px; }
.xiake-upload-source-panel button {
  color: #dbece9; border: 1px solid #3a565e; border-radius: 6px;
  background: #192c32; cursor: pointer; font: inherit; padding: 8px 12px;
}
.xiake-upload-source-panel button:focus-visible { outline: 2px solid #49d4be; outline-offset: 2px; }
.xiake-upload-source-panel button:hover { border-color: #49d4be; }
.xiake-upload-source-panel button:disabled { opacity: .55; cursor: wait; }
.xiake-upload-source-panel > [data-source] {
  display: grid; gap: 6px; width: 100%; margin: 0 0 10px; padding: 13px; text-align: left;
}
.xiake-upload-source-panel small { font-size: 12px; color: #93adb4; line-height: 1.6; }
.xiake-upload-source-preset { font-size: 11px; flex-wrap: wrap; color: #93adb4; }
.xiake-upload-source-status { color: #9bb6bc; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.xiake-upload-source-status.is-error { color: #ffaaa0; }
.xiake-upload-source-panel footer { justify-content: flex-end; }

/* The composer exposes video sources directly in its + menu. */
html body .dialogue-upload-menu,
html body #shotFullscreenEditor .shot-upload-menu {
  box-sizing: border-box;
  width: 296px;
  max-width: calc(100vw - 40px);
  max-height: min(440px, calc(100vh - 210px));
  overflow-y: auto;
  overscroll-behavior: contain;
}
html body .dialogue-upload-menu > button:disabled { opacity: .5; cursor: wait; }
html body .dialogue-upload-menu .xiake-upload-menu-progress {
  padding: 8px; border-top: 1px solid #365059;
}
html body .dialogue-upload-menu .xiake-upload-menu-progress[hidden],
html body .dialogue-upload-menu .xiake-upload-menu-progress button[hidden] { display: none !important; }
.xiake-upload-menu-progress p { margin: 0 0 8px; color: #9bb6bc; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.xiake-upload-menu-progress .is-error { color: #ffaaa0; }
.xiake-upload-menu-progress button { padding: 6px 10px; border: 1px solid #3a565e; border-radius: 6px; background: #192c32; color: #dbece9; cursor: pointer; }
