/* Buddy picker compact 3-zone desktop layout */
#buddy-modal-content{width:min(1260px,calc(100vw - 32px))!important;max-width:1260px!important;max-height:min(88dvh,780px)!important}
#buddy-modal-scroll{overflow-y:auto!important;overflow-x:hidden!important;padding:12px 18px 14px!important;overscroll-behavior:contain;scrollbar-width:thin}
.mb-buddy-picker-layout{display:grid;grid-template-columns:280px minmax(0,1fr) 180px;gap:16px;align-items:start;min-height:0}
.mb-buddy-goals,.mb-buddy-collection,.mb-buddy-locked{min-width:0}
.mb-buddy-goals,.mb-buddy-locked{background:rgba(255,255,255,.72);border:1px solid rgba(30,42,58,.08);border-radius:18px;padding:12px}
.mb-buddy-side-heading{display:flex;align-items:center;gap:7px;margin-bottom:9px;color:#1E2A3A;font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.mb-buddy-side-heading .material-symbols-outlined{font-size:16px;color:#183C35}
.mb-buddy-collection .buddy-picker-section-label{margin-bottom:8px!important}
#buddyUnlockTrackers.buddy-unlock-trackers{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;gap:8px!important;margin:0!important}
#atlasStreakBanner.buddy-unlock-tracker,#emberShareBanner.buddy-unlock-tracker,#novaProgressBanner.buddy-unlock-tracker{min-height:74px!important;padding:9px!important;gap:8px!important;border-radius:13px!important}
.mb-buddy-goals .buddy-unlock-tracker-icon{width:30px!important;height:30px!important;flex-basis:30px!important}
.mb-buddy-goals .buddy-unlock-tracker-status{display:none!important}
.mb-buddy-goals .buddy-unlock-tracker-line{display:block!important}
.mb-buddy-goals .buddy-unlock-tracker-line strong{display:block;margin-top:2px;font-size:10px!important}
.mb-buddy-goals .buddy-unlock-tracker-subline{font-size:8.5px!important}
.mb-buddy-goals .nova-progress-steps{gap:2px 6px!important}
.mb-buddy-goals .nova-progress-steps span{font-size:8px!important}
.mb-buddy-goals .buddy-unlock-tracker-action{min-width:52px!important;min-height:28px!important;padding:0 8px!important;font-size:8px!important}
.mb-buddy-collection .buddy-picker-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-auto-rows:170px!important;gap:10px!important;justify-content:stretch!important;align-items:stretch!important}
.mb-buddy-collection .buddy-picker-grid>.buddy-card{width:100%!important;max-width:none!important;flex:none!important;height:170px!important;min-height:170px!important;max-height:170px!important;padding:9px!important;border-radius:16px!important}
.mb-buddy-collection .buddy-card>div[class*="w-24"]{width:68px!important;height:68px!important;margin-bottom:2px!important}
.mb-buddy-collection .buddy-card .font-title-md{font-size:14px!important}
.mb-buddy-collection .buddy-card .font-label-sm{font-size:9px!important}
.mb-buddy-collection .buddy-card .font-body-sm{font-size:9.5px!important;line-height:1.25!important}
.mb-buddy-collection .buddy-card .line-clamp-2{min-height:23px!important}
.mb-buddy-collection .buddy-card[data-buddy="nova"].locked-buddy-card{height:170px!important;min-height:170px!important;max-height:170px!important;padding:8px!important}
.mb-buddy-collection .buddy-card[data-buddy="nova"] .locked-buddy-topline{min-height:17px!important;height:17px!important;flex-basis:17px!important}
.mb-buddy-collection .buddy-card[data-buddy="nova"] .locked-buddy-badge{min-height:16px!important;padding:2px 6px!important;font-size:7px!important}
.mb-buddy-collection .buddy-card[data-buddy="nova"] .locked-buddy-art-stage{width:68px!important;height:68px!important;flex-basis:68px!important;border-radius:13px!important}
.mb-buddy-collection .buddy-card[data-buddy="nova"] .locked-buddy-lock-row{min-height:18px!important;height:18px!important;flex-basis:18px!important;padding:2px 7px!important;font-size:7px!important}
.mb-buddy-collection .buddy-card[data-buddy="nova"] .locked-buddy-copy{min-height:29px!important}
.mb-buddy-collection .buddy-card[data-buddy="nova"] .locked-buddy-copy .font-title-md{font-size:14px!important}
.mb-buddy-collection .buddy-card[data-buddy="nova"] .locked-buddy-copy .font-label-sm{font-size:8px!important}
#buddyLockedRewards{display:grid;grid-template-columns:1fr;gap:10px}
#buddyLockedRewards .buddy-card{width:100%!important;max-width:none!important;height:164px!important;min-height:164px!important;max-height:164px!important;padding:8px 9px!important;border-radius:15px!important}
#buddyLockedRewards .locked-buddy-topline{min-height:17px!important;height:17px!important;flex-basis:17px!important}
#buddyLockedRewards .locked-buddy-badge{min-height:16px!important;padding:2px 6px!important;font-size:7px!important}
#buddyLockedRewards .locked-buddy-art-stage{width:70px!important;height:70px!important;flex-basis:70px!important;border-radius:13px!important}
#buddyLockedRewards .locked-buddy-lock-row{min-height:18px!important;height:18px!important;flex-basis:18px!important;padding:2px 7px!important;font-size:7px!important}
#buddyLockedRewards .locked-buddy-copy{min-height:28px!important}
#buddyLockedRewards .locked-buddy-copy .font-title-md{font-size:14px!important}
#buddyLockedRewards .locked-buddy-copy .font-label-sm{font-size:8px!important}
.mb-buddy-collection .buddy-card[data-buddy="atlas"]:not(.locked-buddy-card),.mb-buddy-collection .buddy-card[data-buddy="ember"]:not(.locked-buddy-card){height:170px!important;min-height:170px!important;max-height:170px!important}
@media(max-width:1100px) and (min-width:769px){#buddy-modal-content{width:min(96vw,1040px)!important}.mb-buddy-picker-layout{grid-template-columns:240px minmax(0,1fr) 155px;gap:10px}.mb-buddy-collection .buddy-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:768px){#buddy-modal-scroll{overflow-y:auto!important;padding:9px 10px 12px!important}.mb-buddy-picker-layout{display:flex;flex-direction:column;gap:11px}.mb-buddy-goals,.mb-buddy-locked{width:100%;padding:10px}#buddyUnlockTrackers.buddy-unlock-trackers{display:grid!important;grid-template-columns:1fr!important}.mb-buddy-collection{width:100%}.mb-buddy-collection .buddy-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:178px!important}.mb-buddy-collection .buddy-picker-grid>.buddy-card,.mb-buddy-collection .buddy-card[data-buddy="nova"].locked-buddy-card{height:178px!important;min-height:178px!important;max-height:178px!important}#buddyLockedRewards{grid-template-columns:repeat(2,minmax(0,1fr))}#buddyLockedRewards .buddy-card{height:168px!important;min-height:168px!important;max-height:168px!important}}


.mb-buddy-goals .buddy-unlock-tracker-body{min-width:0;overflow:hidden}
.mb-buddy-goals .buddy-unlock-tracker-line,.mb-buddy-goals .buddy-unlock-tracker-subline{min-width:0}
.mb-buddy-goals .buddy-unlock-tracker-line strong,
.mb-buddy-goals .buddy-unlock-tracker-subline{
  overflow:hidden;
  text-overflow:ellipsis;
}
@media(max-height:720px) and (min-width:769px){
  #buddy-modal-content{max-height:92dvh!important}
  #buddy-modal-scroll{padding-top:8px!important;padding-bottom:8px!important}
}


/* Final readability pass: keep every unlock requirement visible. */
.mb-buddy-goals{padding:14px!important}
.mb-buddy-goals .mb-buddy-side-heading{margin-bottom:10px}
#buddyUnlockTrackers.buddy-unlock-trackers{gap:10px!important}
#atlasStreakBanner.buddy-unlock-tracker,
#emberShareBanner.buddy-unlock-tracker,
#novaProgressBanner.buddy-unlock-tracker{
  min-height:0!important;
  height:auto!important;
  padding:11px!important;
  gap:9px!important;
  overflow:visible!important;
}
.mb-buddy-goals .buddy-unlock-tracker-body{
  min-width:0!important;
  overflow:visible!important;
}
.mb-buddy-goals .buddy-unlock-tracker-line{
  display:block!important;
  min-width:0!important;
}
.mb-buddy-goals .buddy-unlock-tracker-kicker{
  display:block!important;
  white-space:normal!important;
  font-size:8px!important;
  line-height:1.2!important;
}
.mb-buddy-goals .buddy-unlock-tracker-line strong{
  display:block!important;
  margin-top:3px!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  font-size:11px!important;
  line-height:1.25!important;
}
.mb-buddy-goals .buddy-unlock-tracker-subline{
  margin-top:4px!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  font-size:9px!important;
  line-height:1.35!important;
}
.mb-buddy-goals .nova-progress-steps{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:4px!important;
  margin-top:6px!important;
}
.mb-buddy-goals .nova-progress-steps span{
  display:flex!important;
  align-items:flex-start!important;
  gap:4px!important;
  width:100%!important;
  white-space:normal!important;
  font-size:9px!important;
  line-height:1.25!important;
}
.mb-buddy-goals .nova-progress-steps .material-symbols-outlined{
  flex:0 0 auto!important;
  margin-top:0!important;
  font-size:12px!important;
}
/* Ember's button gets its own row so it never covers the goal copy. */
#emberShareBanner.buddy-unlock-tracker{
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr)!important;
  align-items:start!important;
}
#emberShareBanner .buddy-unlock-tracker-icon{grid-column:1;grid-row:1}
#emberShareBanner .buddy-unlock-tracker-body{grid-column:2;grid-row:1}
#emberShareBanner .buddy-unlock-tracker-action{
  grid-column:1 / -1!important;
  grid-row:2!important;
  width:100%!important;
  min-width:0!important;
  min-height:30px!important;
  margin-top:2px!important;
  font-size:9px!important;
}
@media(max-width:1100px) and (min-width:769px){
  .mb-buddy-goals{padding:11px!important}
  .mb-buddy-goals .buddy-unlock-tracker-line strong{font-size:10px!important}
  .mb-buddy-goals .buddy-unlock-tracker-subline,
  .mb-buddy-goals .nova-progress-steps span{font-size:8.5px!important}
}
@media(max-width:768px){
  .mb-buddy-goals{padding:12px!important}
  .mb-buddy-goals .buddy-unlock-tracker-line strong{font-size:12px!important}
  .mb-buddy-goals .buddy-unlock-tracker-subline,
  .mb-buddy-goals .nova-progress-steps span{font-size:10px!important}
}


/* Mobile order fix: show buddies first, locked rewards next, and unlock goals at the end. */
@media(max-width:768px){
  #buddyCollectionPanel{order:1 !important;}
  #buddyLockedPanel{order:2 !important;}
  #buddyGoalPanel{order:3 !important;}
}
