/* The only addition to the studio scene is a matching service hotspot. */
#cm-home .cm-desk-links .cm-song-hotspot,
.studio .cm-desk-links .cm-song-hotspot {
  left: 85%;
  top: 54%;
}
#caleSongDialog {
  position: fixed;
  width: min(460px, calc(100vw - 28px));
  max-height: calc(100dvh - 32px);
  overflow-y: auto;
  padding: 28px 24px 24px;
  border: 1px solid #63839b;
  border-radius: 16px;
  background: #101a22;
  color: #f8f8f4;
  font: 400 15px/1.5 Arial, Helvetica, sans-serif;
}
#caleSongDialog::backdrop {
  background: #030a12c9;
  backdrop-filter: blur(5px);
}
#caleSongDialog h2 {
  font: 400 32px/1.2 Georgia, serif;
  margin: 0 0 18px;
  color: #f8f8f4;
}
#caleSongDialog h3 {
  font: 400 24px/1.2 Georgia, serif;
  margin: 22px 0 10px;
  color: #f8f8f4;
}
#caleSongDialog p {
  margin: 8px 0 14px;
  color: #c5d6e3;
  font-size: 14px;
}
#caleSongDialog button {
  min-height: 38px;
  padding: 7px 15px;
  border: 1px solid #63839b;
  border-radius: 999px;
  background: #0d3049;
  color: #fff;
  font: 600 13px/1.4 Arial, Helvetica, sans-serif;
  text-transform: none;
  cursor: pointer;
}
#caleSongClose {
  position: absolute;
  right: 10px;
  top: 6px;
  background: none !important;
  border: 0 !important;
  font-size: 24px !important;
  padding: 0 8px !important;
}
#caleRadio {
  position: static;
  width: auto;
  padding: 0 0 18px;
  border: 0;
  border-bottom: 1px solid #35434e;
  background: none;
  color: #f8f8f4;
}
#caleRadio .caleRadioLine {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
#caleRadio strong { font-size: 16px; }
#caleRadio label {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  color: #d6e3ee;
}
#caleRadio input[type=range] {
  width: 150px;
  min-height: 24px;
  padding: 0;
  accent-color: #3baff8;
}
#caleRadioStation {
  max-width: 220px;
  background: #0b1723;
  color: #fff;
  border: 1px solid #63839b;
}
#caleRadioNow {
  color: #b6cbdc;
  overflow-wrap: anywhere;
}
#caleRadio [hidden],
#caleSongDialog [hidden] { display: none !important; }
#caleSongForm { display: grid; gap: 10px; }
#caleSongForm textarea {
  box-sizing: border-box;
  width: 100%;
  min-height: 100px;
  padding: 10px;
  border: 1px solid #63839b;
  border-radius: 8px;
  background: #07131e;
  color: #fff;
  font: inherit;
}
#caleSongDialog .caleSongCheck {
  display: flex;
  align-items: center;
  gap: 8px;
}
#caleSongDialog .caleSongCheck input { width: 18px; height: 18px; margin: 0; }
#caleSongDialog .caleSongTrap { position: absolute; left: -10000px; }
#caleSongSubmit { background: #086da6 !important; min-height: 42px !important; }
#caleSongSubmit:disabled { opacity: .5; cursor: default; }
#caleSongMessage { color: #b3e3ff !important; }
.caleBoardSong {
  position: absolute;
  z-index: 3;
  right: 2%;
  top: 35%;
  min-height: 30px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #0b1723ed;
  border: 1px solid #7491a8;
  color: #fff;
  font: 400 11px/1.4 Arial, Helvetica, sans-serif;
}
#caleSongDialog button:focus-visible,
.caleBoardSong:focus-visible { outline: 3px solid #a8d9ff; outline-offset: 3px; }
@media (max-width: 899px) {
  .caleBoardSong { font-size: 9px; right: 1%; padding: 3px 5px; }
}
#caleSongDialog .caleRadioRecording {margin-top:16px;padding-top:12px;border-top:1px solid #35434e}
#caleSongDialog .caleRadioRecording label {display:flex;align-items:center;gap:8px}
#caleRadioRecordMinutes {width:84px;background:#07131e;color:#fff;border:1px solid #63839b;border-radius:6px;padding:5px;font:inherit}
#caleSongDialog .caleRadioRecording small {display:block;color:#b6cbdc;font-size:12px;margin:7px 0 10px}
#caleSongDialog .caleRadioRecording div {margin:8px 0}
#caleRadioRecord[aria-pressed=true] {background:#7d2734;border-color:#e78998}
#caleSongOpen.is-recording > span {background:#b33636}
