/* One composition for approved product destinations and explicitly planned previews.
Logos retain their complete canvas. Scene layers never intercept a control. */
.approved-destination-scene {
  position:relative;
  isolation:isolate;
  overflow:hidden
}
.approved-destination-scene::before,
.app-page .app-planned-summaries>.approved-destination-scene::before {
  content:"";
  position:absolute;
  inset:0;
  width:auto;
  height:auto;
  margin:0;
  background:var(--destination-scene) center/cover no-repeat;
  opacity:.44;
  pointer-events:none;
  z-index:0
}
.approved-destination-scene::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,#070b08e6,transparent 65%,#070b0840),linear-gradient(#0002,#0002);
  pointer-events:none;
  z-index:0
}
.approved-destination-scene>* {
  position:relative;
  z-index:1
}
[data-approved-scene="ball-breakers"] {
  --destination-scene:url("characters/ball-breakers-vinny-apartment-960.webp")
}
[data-approved-scene="fantasy"] {
  --destination-scene:url("brand/fantasy-game-day-tunnel-v1.webp")
}
[data-approved-scene="mexican-standoff"] {
  --destination-scene:url("brand/mexican-standoff-desert-v1.webp")
}
[data-approved-scene="family"],[data-approved-scene="rat"],[data-approved-scene="beat"],[data-approved-scene="chip"] {
  --destination-scene:url("characters/production/family-composite/family-group-composite-home-card-1200x600.png")
}
[data-approved-scene="ledger"] {
  --destination-scene:url("editorial/research-desk.webp")
}
[data-approved-scene="method"] {
  --destination-scene:url("editorial/market-desk.webp")
}
:is(.phase2-family .family-destination-grid,.fantasy-product-page .fantasy-next-move,.standoff-product-page .standoff-future,.app-planned-summaries)>.approved-destination-scene {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  min-width:0;
  min-height:320px;
  padding:20px;
  box-sizing:border-box;
  text-align:center;
  gap:12px;
  background-color:#101611;
  color:#f7e9d0
}
:is(.phase2-family .family-destination-grid,.fantasy-product-page .fantasy-next-move,.standoff-product-page .standoff-future)>.approved-destination-scene>strong,.app-planned-summaries .destination-card-logo {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:280px;
  height:200px;
  min-height:200px;
  margin:0 auto!important;
  line-height:1.2
}
:is(.phase2-family .family-destination-grid,.fantasy-product-page .fantasy-next-move,.standoff-product-page .standoff-future,.app-planned-summaries) .approved-destination-scene :is(.product-logo,.feature-brand-image,.destination-card-logo>img) {
  position:static!important;
  display:block!important;
  width:min(260px,100%)!important;
  height:auto!important;
  aspect-ratio:auto!important;
  max-width:min(260px,100%)!important;
  max-height:200px!important;
  object-fit:contain!important;
  object-position:center;
  margin:0!important;
  transform:none!important;
  opacity:1!important;
  filter:drop-shadow(0 3px 4px #000)
}
:is(.phase2-family .family-destination-grid,.fantasy-product-page .fantasy-next-move,.standoff-product-page .standoff-future,.app-planned-summaries) .approved-destination-scene :is(.feature-brand-image,.destination-card-logo > img[src$=".png"]) {
  width:min(200px,100%)!important;
}
.phase2-family .family-destination-grid > .approved-destination-scene > strong {
  height:220px;
  min-height:220px;
}
.destination-card-label {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
/* The shared crest is not a bespoke wordmark: keep these destination names visible. */
[data-approved-scene="method"] .destination-card-label,.standoff-future [data-approved-scene="ledger"] .destination-card-label {
  position:static;
  width:auto;
  height:auto;
  clip:auto;
  white-space:normal;
  margin:0;
  font-size:20px;
  flex:none;
  min-height:28px;
  line-height:1.4;
  overflow:visible;
  align-self:center
}
[data-approved-scene="method"]>strong.destination-card-logo,.standoff-future [data-approved-scene="ledger"]>strong.destination-card-logo {
  flex-direction:column;
  gap:8px;
  height:auto
}
.fantasy-product-page .fantasy-next-move>.approved-destination-scene[data-approved-scene="method"]>strong.destination-card-logo>img,.standoff-product-page .standoff-future>.approved-destination-scene[data-approved-scene="ledger"]>strong.destination-card-logo>img {
  max-height:150px!important;
  width:150px!important;
  height:150px!important;
  flex:none
}
.approved-destination-scene>small,.approved-destination-scene>span,.approved-destination-scene>p,.approved-destination-scene>h3 {
  color:#f7e9d0!important;
  text-shadow:0 2px 3px #000;
  max-width:100%;
  overflow-wrap:anywhere
}
.approved-destination-scene>small {
  font-size:11px;
  line-height:1.5;
  letter-spacing:.08em
}
.approved-destination-scene>p {
  margin:0;
  line-height:1.6
}
.app-planned-summaries .planned-feature-status {
  color:#ffda94!important;
  font-size:12px;
  line-height:1.5
}
.app-planned-summaries .num {
  font-size:14px;
  line-height:1.3
}
.app-planned-summaries h3 {
  margin:0;
  font-size:24px;
  line-height:1.3
}
.approved-destination-scene:focus-visible {
  outline:3px solid #ffe1a0;
  outline-offset:4px
}
@media(max-width:599px) {
  :is(.phase2-family .family-destination-grid,.fantasy-product-page .fantasy-next-move,.standoff-product-page .standoff-future,.app-planned-summaries) {
    grid-template-columns:minmax(0,1fr)!important
  }
  .approved-destination-scene {
    min-height:320px
  }
}
@media(prefers-reduced-motion:reduce) {
  .approved-destination-scene {
    transition:none
  }
}
@media(max-width:900px) {
  .fantasy-product-page .fantasy-next-move {
    display:grid
  }
}
.fantasy-product-page .fantasy-next-move>.approved-destination-scene>span {
  align-self:center
}
/* Preserve readable names if the artwork is unavailable. */
:is(.phase2-family .family-destination-grid,.fantasy-product-page .fantasy-next-move,.standoff-product-page .standoff-future,.app-planned-summaries) .approved-destination-scene .art-unavailable img {
  display:none!important
}
.approved-destination-scene .art-unavailable :is(.product-title-text,.feature-brand-label,.destination-card-label) {
  position:static;
  display:block;
  width:auto;
  height:auto;
  min-height:28px;
  margin:0;
  clip:auto;
  overflow:visible;
  white-space:normal;
  line-height:1.4;
  font-size:24px;
  color:#f7e9d0
}
