/**
 * Dedicated desktop presentation shell.
 * Applies only under [data-studio-shell="desktop"].
 * Does not restyle the mobile shell.
 */

[data-studio-shell="desktop"] #studio-root {
  min-height: 100vh;
}

[data-studio-shell="desktop"] .mobile-studio-shell {
  display: none !important;
}

/* Ensure mobile-only chrome never shows in desktop shell when present in DOM */
[data-studio-shell="desktop"] .ms-bottom-nav,
[data-studio-shell="desktop"] .ms-header.ms-mobile-only,
[data-studio-shell="desktop"] .mobile-only {
  display: none !important;
}

/* Desktop keeps existing responsive contract for tablets / compact widths
   via data-responsive-mode — scoped to desktop shell only. */
[data-studio-shell="desktop"][data-responsive-mode="compact"] .mobile-studio-shell {
  display: none !important;
}

/* --- Remembered music library restore (refresh / login) --- */
.music-restore-banner {
  position: sticky;
  top: 0;
  z-index: 40;
  padding: 0.75rem 1rem;
  background: linear-gradient(180deg, rgba(48, 34, 18, 0.98), rgba(28, 20, 12, 0.96));
  border-bottom: 1px solid rgba(212, 168, 75, 0.55);
  color: #f3e6d0;
}
.music-restore-banner[hidden] { display: none !important; }
.music-restore-banner-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 1rem;
  max-width: 1100px;
  margin: 0 auto;
}
.music-restore-banner-title {
  margin: 0;
  font-weight: 700;
  font-size: 0.95rem;
  color: #d4a84b;
}
.music-restore-banner-msg {
  margin: 0;
  flex: 1 1 16rem;
  font-size: 0.85rem;
  color: rgba(243, 230, 208, 0.88);
}
.music-restore-banner .btn {
  flex: 0 0 auto;
}

/* --- Deck track reconnection (desktop) --- */
.deck-recovery {
  --deck-recovery-bg: rgba(40, 28, 18, 0.92);
  --deck-recovery-border: rgba(212, 168, 75, 0.55);
  --deck-recovery-accent: #d4a84b;
  --deck-recovery-text: #f3e6d0;
  --deck-recovery-muted: rgba(243, 230, 208, 0.78);
  margin: 0.45rem 0 0.55rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--deck-recovery-border);
  border-radius: 10px;
  background: var(--deck-recovery-bg);
  color: var(--deck-recovery-text);
  max-width: 100%;
}
.deck-recovery[hidden] { display: none !important; }
.deck-recovery-indicator {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--deck-recovery-accent);
  margin-bottom: 0.25rem;
}
.deck-recovery-title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
}
.deck-recovery-name,
.deck-recovery-msg,
.deck-recovery-status,
.deck-recovery-mismatch-msg,
.deck-recovery-mismatch-detail {
  margin: 0.2rem 0 0;
  font-size: 0.82rem;
  color: var(--deck-recovery-muted);
  word-break: break-word;
}
.deck-recovery-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.55rem;
}
.deck-recovery[data-state="reconnecting"] [data-act="deck-reconnect"],
.deck-recovery[data-state="reconnecting"] [data-act="deck-choose-file"],
.deck-recovery[data-state="offline"] [data-act="deck-reconnect"],
.deck-recovery[data-state="offline"] [data-act="deck-choose-file"] {
  display: none !important;
}
.deck-recovery-actions .btn {
  min-height: 2.25rem;
}
.deck-conn-chip {
  display: inline-flex;
  align-items: center;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  padding: 0.15rem 0.4rem;
  border-radius: 999px;
  border: 1px solid var(--deck-recovery-border);
  color: var(--deck-recovery-accent);
  background: rgba(212, 168, 75, 0.12);
  white-space: nowrap;
}
.deck-conn-chip[hidden] { display: none !important; }
.deck.deck-needs-reconnect {
  outline: 1px solid rgba(212, 168, 75, 0.35);
}
html[data-skin="swagg-neon-nights"] .deck-recovery {
  --deck-recovery-bg: rgba(18, 12, 36, 0.94);
  --deck-recovery-border: rgba(0, 209, 255, 0.5);
  --deck-recovery-accent: #00d1ff;
  --deck-recovery-text: #eef7ff;
  --deck-recovery-muted: rgba(238, 247, 255, 0.75);
}
html[data-skin="swagg-library-console"] .deck-recovery {
  --deck-recovery-bg: rgba(24, 28, 34, 0.95);
  --deck-recovery-border: rgba(120, 190, 255, 0.45);
  --deck-recovery-accent: #7ec8ff;
}
