/* v9.34 - 练习台：低亮度的午后乐谱室，避免大片纯白刺眼。 */
/* v9.42 - Keep catalog return and fullscreen together above the score. */
body.has-score:not(.is-immersive) .player-heading {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
body.has-score .player-heading > div:first-child {
  flex: 1 1 180px;
  min-width: 0;
}
body.has-score .player-actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: nowrap;
  align-items: center;
  gap: 12px;
  margin-left: auto;
}
body.has-score .player-actions > button {
  flex: 0 0 auto;
  white-space: nowrap;
  min-height: 52px;
  padding: 0 16px;
  font-size: 17px;
}
body.has-score #immersiveButton {
  /* Override the original practice-only display:none rule. */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  visibility: visible;
  opacity: 1;
  position: static;
  top: auto;
  left: auto;
  right: auto;
  z-index: auto;
  min-width: 138px;
  min-height: 52px;
  padding: 0 20px;
  border: 1px solid #365e43;
  border-radius: 11px;
  color: #fffaf0;
  background: linear-gradient(145deg, rgba(51, 100, 66, .98), rgba(25, 65, 43, .98));
  box-shadow: inset 0 1px rgba(255,255,255,.2);
  font-size: 17px;
  font-weight: 800;
  letter-spacing: normal;
  transform: none;
  animation: none;
}
body.has-score .player-actions svg { width: 22px; height: 22px; }
body.has-score #immersiveButton:active { transform: scale(.98); }
body.is-immersive #immersiveButton { display: none !important; }
/* 全屏外层：退出最左，收藏/下载紧挨其后；外观跟播放器工具栏同步 */
html body.is-immersive .immersive-exit-tool {
  top: max(12px, env(safe-area-inset-top));
  left: max(14px, env(safe-area-inset-left));
  right: auto;
  z-index: 1003 !important;
  display: flex !important;
}
html body.is-immersive .immersive-song-tools {
  top: max(12px, env(safe-area-inset-top));
  left: max(14px, env(safe-area-inset-left));
  right: auto;
  z-index: 1003 !important;
}
html body.is-immersive #exitImmersive {
  position: static;
  left: auto;
  opacity: 1;
  pointer-events: auto;
}
@media (max-width: 760px), (max-height: 620px) {
  body.has-score .player-actions { gap: 8px; }
  body.has-score .player-actions > button {
    min-height: 48px;
    padding-inline: 12px;
    font-size: 15px;
  }
  body.has-score .player-actions svg { width: 18px; height: 18px; }
  body.has-score #immersiveButton {
    min-width: 120px;
    min-height: 48px;
    padding-inline: 12px;
    font-size: 15px;
  }
}
body.space-practice {
  --bg: #d6ddd3;
  --panel: #e7e8de;
  --ink: #263a30;
  --muted: #617166;
  --line: #b9c5b7;
  --accent: #416a4f;
  background:
    radial-gradient(ellipse at 15% 0%, rgba(244, 229, 190, .66), transparent 49%),
    radial-gradient(ellipse at 96% 100%, rgba(130, 165, 135, .22), transparent 42%),
    repeating-linear-gradient(108deg, rgba(64, 87, 63, .035) 0 1px, transparent 1px 6px),
    #d6ddd3;
}

body.space-practice .app-header { border-color: rgba(89, 112, 91, .27); }
body.space-practice .space-switch { background: rgba(210, 220, 205, .76); border-color: #b8c5b5; }
body.space-practice .space-switch button[aria-pressed=true] { background: linear-gradient(135deg, #edf0e5, #dce5d7); box-shadow: inset 0 1px rgba(255,255,255,.74), 0 4px 13px rgba(44,73,50,.12); }
body.space-practice .practice-layout { gap: 23px; }
body.space-practice .current-practice {
  border-color: #b9c5b5;
  background:
    linear-gradient(145deg, rgba(242, 235, 216, .92), rgba(217, 228, 213, .94));
  box-shadow: inset 0 1px rgba(255,255,255,.72), 0 13px 26px rgba(39,65,44,.08);
}
body.space-practice .catalog-panel {
  border-color: #b8c5b4;
  background:
    radial-gradient(circle at 95% 5%, rgba(247, 226, 176, .28), transparent 25%),
    linear-gradient(135deg, rgba(236, 240, 230, .96), rgba(214, 224, 211, .97));
  box-shadow: inset 0 1px rgba(255,255,255,.72), 0 13px 28px rgba(42,65,46,.08);
}
body.space-practice .catalog-search,
body.space-practice .mine-folder-bar input { background: rgba(248, 243, 229, .72); border-color: #b9c6b4; }
body.space-practice .catalog-row,
body.space-practice .mine-song-row,
body.space-practice .mine-folder-card { border-color: rgba(151, 171, 148, .55); background: rgba(247, 245, 235, .52); }
body.space-practice .catalog-row:hover,
body.space-practice .mine-song-row:hover { background: rgba(252, 248, 235, .78); }
body.space-practice .catalog-filters button { background: rgba(246, 244, 233, .5); border-color: #bdc8b8; }
body.space-practice .catalog-filters button[aria-pressed=true] { background: linear-gradient(135deg, #4b7658, #345d44); border-color: #345d44; box-shadow: 0 5px 12px rgba(33,73,47,.18); }
body.space-practice .primary-btn { background: linear-gradient(135deg, #4d7d5a, #315c42); box-shadow: inset 0 1px rgba(255,255,255,.22), 0 5px 13px rgba(33,75,47,.18); }

.practice-heading-actions { display: flex; align-items: center; justify-content: flex-end; gap: 14px; }
.practice-return,
.score-return,
.score-fullscreen {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 15px;
  border: 1px solid rgba(103, 130, 102, .48);
  border-radius: 12px;
  color: #2e503a;
  background: rgba(246, 243, 230, .62);
  box-shadow: inset 0 1px rgba(255,255,255,.62);
  font-size: 15px;
  font-weight: 800;
}
.practice-return:hover,
.score-return:hover { background: rgba(255, 250, 235, .86); }
.score-fullscreen { color: #fff8e7; border-color: #365e43; background: linear-gradient(135deg, #4d7b58, #315d43); box-shadow: inset 0 1px rgba(255,255,255,.2), 0 5px 13px rgba(36,73,47,.18); }
.score-fullscreen:hover { filter: brightness(1.06); }
body.space-practice .player-dock { padding: 8px; border-radius: 22px; background: linear-gradient(145deg, rgba(235, 240, 228, .84), rgba(211, 222, 209, .9)); }
body.space-practice .score-container { border-color: #b9c5b5; background: #e8e6da; box-shadow: inset 0 1px rgba(255,255,255,.7); }
body.space-practice .frame-loading { background: rgba(232, 230, 218, .95); color: #38533e; }

body.is-immersive .immersive-song-tools { z-index: 1003 !important; }
body.is-immersive .immersive-song-tools.dormant {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

@media (max-width: 760px) {
  .practice-heading-actions { width: 100%; justify-content: space-between; gap: 8px; }
  .practice-return { min-height: 42px; padding-inline: 12px; font-size: 14px; }
  .score-return,
  .score-fullscreen { min-height: 44px; padding-inline: 12px; font-size: 14px; }
}

/* v9.44: a direct practice library and score-synchronized fullscreen chrome. */
#practiceView .practice-recommendation[hidden] { display: none !important; }
#practiceView .current-practice > .practice-quick { margin-top: 0; }
html body.is-immersive .immersive-song-tools {
  display: flex;
  transition: opacity .22s ease, visibility .22s ease;
}
html body.is-immersive .immersive-tr-btn svg {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
}
html body.is-immersive .immersive-song-tools.dormant {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* v9.46: the sidebar navigates; the collection pane contains songs. */
body.space-practice #minePanel .mine-heading,
body.space-practice #minePanel .catalog-summary,
body.space-practice #minePanel .mine-folder-filters:empty,
body.space-practice #returnToListening {
  display: none !important;
}


.practice-profile-label[hidden],
.practice-profile-footer[hidden] { display: none !important; }
body.space-practice .practice-profile-footer:not([hidden]) {
  position: fixed;
  bottom: max(12px, env(safe-area-inset-bottom));
  left: max(16px, env(safe-area-inset-left));
  z-index: 30;
}
body.space-practice .practice-profile-footer #openMusicProfile {
  width: auto;
  margin: 0;
}
body.space-practice #practiceView.has-profile-footer .catalog-rows { padding-bottom: 80px; }

/* v9.48: put the introduction below the navigation, giving songs more room. */
body.space-practice #practiceView:not([hidden]) {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-height: 0;
}
body.space-practice #practiceView .practice-layout {
  flex: 1 1 0;
  min-height: 0;
  grid-template-columns: clamp(220px, 22vw, 286px) minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  gap: 18px;
}
body.space-practice #practiceView .practice-sidebar {
  display: flex !important;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  touch-action: pan-y;
}
body.space-practice #practiceView .current-practice {
  flex: 0 0 auto;
  height: auto;
  min-height: 0;
}
body.space-practice #practiceView .practice-caption {
  position: static;
  display: block;
  flex: 0 0 auto;
  width: auto;
  height: auto;
  min-height: 0;
  margin: auto 0 0;
  padding: 20px 14px 6px;
}
body.space-practice #practiceView .practice-caption .overline {
  margin: 0 0 8px;
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: .03em;
}
body.space-practice #practiceHeading {
  margin: 0;
  font-size: clamp(21px, 1.7vw, 25px);
  line-height: 1.45;
  letter-spacing: .03em;
}
body.space-practice #practiceView .practice-caption .practice-heading-actions {
  display: none;
}
body.space-practice #practiceView .practice-quick-btn {
  min-height: 60px;
  padding: 13px 14px;
  gap: 12px;
  font-size: 20px;
  line-height: 1.4;
}
body.space-practice #practiceView .practice-quick-btn small {
  font-size: 14px;
  line-height: 1.6;
}
body.space-practice #practiceView .practice-quick-btn svg {
  width: 25px;
  height: 25px;
  flex: 0 0 25px;
}
body.space-practice #practiceView .catalog-panel {
  min-width: 0;
  min-height: 0;
}
body.space-practice #catalogSearch {
  min-height: 58px;
  font-size: 20px;
  line-height: 1.4;
}
body.space-practice #practiceView .catalog-filters button,
body.space-practice #practiceView .mine-toolbar button,
body.space-practice #practiceView .mine-toolbar input {
  min-height: 46px;
  font-size: 17px;
}
body.space-practice #practiceView .catalog-summary {
  font-size: 15px;
  line-height: 1.6;
}
body.space-practice #practiceView .catalog-rows {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr));
  gap: 12px;
  align-content: start;
}
body.space-practice #practiceView .catalog-row {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 8px;
  padding: 12px;
}
body.space-practice #practiceView .song-choice {
  display: flex;
  align-items: center;
  flex: 1 1 0;
  min-width: 0;
  gap: 12px;
}
body.space-practice #practiceView .song-choice img {
  width: 64px;
  height: 64px;
  flex: 0 0 64px;
  object-fit: cover;
  border-radius: 11px;
}
body.space-practice #practiceView .song-choice > span {
  flex: 1 1 0;
  min-width: 0;
}
body.space-practice #practiceView .song-choice b {
  display: block;
  font-size: 20px;
  line-height: 1.45;
  font-weight: 700;
  white-space: normal;
  word-break: normal;
  overflow-wrap: anywhere;
}
body.space-practice #practiceView .song-choice small {
  display: block;
  margin-top: 5px;
  font-size: 15px;
  line-height: 1.5;
}
body.space-practice #practiceView .fav-text-btn {
  flex: 0 0 auto;
  min-width: 60px;
  min-height: 46px;
  padding: 8px 10px;
  font-size: 17px;
  line-height: 1.4;
  white-space: nowrap;
}
body.space-practice #loadMore {
  min-height: 48px;
  font-size: 18px;
}
@media (max-width: 760px) {
  body.space-practice #practiceView .practice-layout {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
    gap: 12px;
  }
  body.space-practice #practiceView .practice-sidebar { overflow: visible; }
  body.space-practice #practiceView .current-practice { padding: 0; }
  body.space-practice #practiceView .practice-quick {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
  }
  body.space-practice #practiceView .practice-quick-btn {
    min-width: 0;
    min-height: 52px;
    margin: 0;
    padding: 9px 10px;
    gap: 7px;
    font-size: 18px;
  }
  body.space-practice #practiceView .practice-quick-btn small { display: none; }
  body.space-practice #practiceView .practice-quick-btn svg {
    width: 22px;
    height: 22px;
    flex-basis: 22px;
  }
  body.space-practice #practiceView #openMusicProfile { margin: 0; }
  body.space-practice #practiceView > .practice-caption { margin: 0; padding: 10px 4px 0; }
  body.space-practice #practiceView .practice-caption .overline { margin-bottom: 2px; font-size: 14px; }
  body.space-practice #practiceHeading { font-size: 21px; }
  body.space-practice #practiceView .catalog-rows { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  body.space-practice #practiceView .catalog-row { flex-wrap: wrap; }
  body.space-practice #practiceView .song-choice { flex: 1 1 100%; }
  body.space-practice #practiceView .catalog-row > .fav-text-btn:nth-child(2) { margin-left: auto; }
}
@media (max-width: 480px) {
  body.space-practice #practiceView .practice-quick { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* v9.49: shared menu states, a single profile label, and a centered caption. */
.practice-profile-hint[hidden] { display: none !important; }
body.space-practice #practiceView #openMusicProfile {
  position: static !important;
  inset: auto !important;
  display: flex !important;
  width: 100% !important;
  height: auto !important;
  min-width: 0;
  margin: 0;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}
body.space-practice #practiceView #openMusicProfile svg { color: #876437; }
body.space-practice #practiceView .practice-quick-btn[aria-pressed="true"] {
  color: #fffaf0;
  background: linear-gradient(135deg, #477052, #2d523b);
  border-color: #365b42;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16), 0 3px 9px rgba(33, 62, 42, .13);
  font-weight: 700;
}
body.space-practice #practiceView .practice-quick-btn[aria-pressed="true"] small { color: #e1eddd; }
body.space-practice #practiceView .practice-quick-btn[aria-pressed="true"] svg { color: inherit; }
body.space-practice #practiceView > .practice-caption {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 0 12px 16px;
  text-align: center;
}
body.space-practice #practiceView > .practice-caption .overline {
  margin: 0 0 6px;
  font-size: 15px;
  line-height: 1.5;
}
body.space-practice #practiceHeading {
  font-size: clamp(24px, 2.1vw, 32px);
  line-height: 1.35;
}

/* v9.50: a persistent search field with an explicit collection scope. */
body.space-practice #practiceView .mine-search-bar {
  flex: 0 0 auto;
  min-width: 0;
  margin: 0 0 12px;
}
body.space-practice #practiceView .catalog-search { min-width: 0; }
body.space-practice #practiceView .catalog-search input { min-width: 0; }
body.space-practice #mineSearch {
  min-height: 58px;
  font-size: 20px;
  line-height: 1.4;
}
body.space-practice #practiceView .catalog-scope-note {
  display: none !important;
}
body.space-practice #practiceView .mine-search-hidden,
body.space-practice #practiceView .mine-search-empty[hidden] { display: none !important; }
body.space-practice #practiceView .mine-search-empty {
  grid-column: 1 / -1;
  margin: 16px 0;
  padding: 20px 12px;
  color: #53654c;
  font-size: 18px;
  line-height: 1.7;
  text-align: center;
}
.mine-search-status {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* v9.52: a quiet sidebar sign-off instead of a headline above the catalogue. */
body.space-practice #practiceView .practice-caption {
  display: block;
  flex: 0 0 auto;
  align-self: stretch;
  width: auto;
  margin: auto 0 0;
  padding: 18px 14px 10px;
  text-align: left;
}
body.space-practice #practiceView .practice-caption .overline { display: none; }
body.space-practice #practiceView .practice-caption::before {
  content: '';
  display: block;
  width: 30px;
  height: 1px;
  margin-bottom: 10px;
  background: rgba(63, 86, 64, .3);
}
body.space-practice #practiceView .practice-caption #practiceHeading {
  margin: 0;
  color: #334b3a;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .02em;
}
@media (max-width: 760px) {
  body.space-practice #practiceView > .practice-caption {
    margin: 8px 0 0;
    padding: 6px 4px 0;
  }
  body.space-practice #practiceView > .practice-caption::before { display: none; }
}

/* v9.55: place the practice message directly after the profile menu item. */
body.space-practice #practiceView .practice-quick > .practice-caption {
  display: block;
  grid-column: 1 / -1;
  flex: 0 0 auto;
  align-self: auto;
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  height: auto;
  margin: 8px 0 0;
  padding: 18px 14px 12px;
  text-align: left;
  overflow: visible;
}
body.space-practice #practiceView .practice-caption > div:first-child { min-width: 0; width: 100%; }
body.space-practice #practiceView .practice-caption::before {
  width: 32px;
  height: 2px;
  margin-bottom: 12px;
  border-radius: 2px;
  background: linear-gradient(90deg, #a38a58, rgba(163, 138, 88, .25));
}
body.space-practice #practiceView .practice-caption #practiceHeading {
  width: auto;
  font-family: var(--serif, serif);
  font-size: 27px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .03em;
  word-break: normal;
  overflow: visible;
}
body.space-practice #practiceView .practice-caption-line {
  display: block;
  white-space: nowrap;
}
body.space-practice #practiceView .practice-caption .practice-caption-note {
  display: block;
  margin: 12px 0 0;
  color: #5d6e55;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: .02em;
}

/* Three quiet, text-only tabs, sharing one selected-state treatment. */
html body #appHeader .space-switch {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(12px, 2vw, 28px);
  padding: 0 6px;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
html body #appHeader .space-switch > button {
  position: relative;
  display: flex;
  flex: 1 1 0;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 54px;
  height: auto;
  margin: 0;
  padding: 12px 8px 16px;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: inherit !important;
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .05em;
  text-shadow: none;
}
html body #appHeader .space-switch > button > span {
  display: block;
  font-size: inherit !important;
  font-weight: inherit;
  line-height: inherit;
  white-space: nowrap;
}
html body #appHeader .space-switch > button svg,
html body #appHeader .space-switch > button small { display: none !important; }
html body #appHeader .space-switch > button::before { content: none !important; }
html body #appHeader .space-switch > button::after {
  content: '';
  position: absolute;
  top: auto;
  bottom: 4px;
  left: 50%;
  width: 32px;
  height: 3px;
  border: 0;
  border-radius: 3px;
  background: #c7ad79;
  box-shadow: none;
  opacity: 0;
  transform: translateX(-50%) scaleX(.6);
  transition: opacity .18s ease, transform .18s ease;
  pointer-events: none;
}
html body #appHeader .space-switch > button[aria-pressed="true"] { font-weight: 750; }
html body #appHeader .space-switch > button[aria-pressed="true"]::after {
  opacity: 1;
  transform: translateX(-50%) scaleX(1);
}
html body.space-practice #appHeader .space-switch > button::after { background: #365b42; }
html body #appHeader .space-switch > button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
@media (max-width: 760px) {
  body.space-practice #practiceView .practice-quick > .practice-caption { margin-top: 0; padding: 12px 8px 8px; }
  body.space-practice #practiceView .practice-caption #practiceHeading { font-size: 24px; }
  body.space-practice #practiceView .practice-caption-line { display: inline; }
  body.space-practice #practiceView .practice-caption-line + .practice-caption-line { margin-left: 5px; }
  body.space-practice #practiceView .practice-caption .practice-caption-note { margin-top: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  html body #appHeader .space-switch > button::after { transition: none; }
}

/* v9.56: centered, clearly clickable space-switch buttons. */
html body #appHeader.app-header {
  --switch-surface: rgba(20, 37, 27, .48);
  --switch-border: rgba(229, 216, 181, .32);
  --switch-ink: #f1ecd9;
  --switch-active-bg: linear-gradient(135deg, #eadba9, #cfb576);
  --switch-active-ink: #2e3d2b;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  column-gap: 12px;
  row-gap: 10px;
  height: auto;
  min-height: 76px;
}
html body.space-practice #appHeader.app-header {
  --switch-surface: rgba(225, 231, 214, .72);
  --switch-border: rgba(78, 103, 76, .3);
  --switch-ink: #334b36;
  --switch-active-bg: linear-gradient(135deg, #4b7052, #2f523b);
  --switch-active-ink: #fffaf0;
}
html body #appHeader.app-header > .brand {
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  justify-self: start;
  margin: 0 !important;
}
html body #appHeader.app-header > .header-actions {
  grid-column: 3;
  grid-row: 1;
  align-self: center;
  justify-self: end;
  margin: 0 !important;
}
html body #appHeader.app-header > .space-switch {
  grid-column: 2;
  grid-row: 1;
  justify-self: center;
  align-self: center;
  box-sizing: border-box;
  width: clamp(330px, 34vw, 450px);
  max-width: 100%;
  margin: 0 !important;
  padding: 5px;
  gap: 6px;
  color: var(--switch-ink);
  border: 1px solid var(--switch-border) !important;
  border-radius: 17px !important;
  background: var(--switch-surface) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08) !important;
}
html body #appHeader.app-header .space-switch > button {
  box-sizing: border-box;
  min-height: 52px;
  padding: 10px 12px;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 1px solid var(--switch-border) !important;
  border-radius: 12px !important;
  background: transparent !important;
  color: var(--switch-ink) !important;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .02em;
}
html body #appHeader.app-header .space-switch > button[aria-pressed="true"] {
  background: var(--switch-active-bg) !important;
  color: var(--switch-active-ink) !important;
  border-color: transparent !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 2px 5px rgba(13, 30, 19, .14) !important;
  font-weight: 750;
}
html body #appHeader.app-header .space-switch > button::after { content: none !important; }
@media (max-width: 980px) {
  html body #appHeader.app-header {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 0;
  }
  html body #appHeader.app-header > .header-actions { grid-column: 2; }
  html body #appHeader.app-header > .space-switch {
    grid-column: 1 / -1;
    grid-row: 2;
    width: min(100%, 480px);
  }
  html body #appHeader.app-header .space-switch > button { padding: 10px 8px; }
}

/* v9.58: fullscreen must win over the later framed navigation overrides. */
html body.is-immersive #appHeader.app-header {
  display: none !important;
}
body.is-immersive #playerDock {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  z-index: 1000 !important;
}
body.is-immersive #playerDock .score-container {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}
body.is-immersive #scoreFrame {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  border-radius: 0 !important;
}
body.is-immersive .immersive-song-tools { z-index: 1003 !important; }
