/* PraiseBox retains the Galaxy Jukebox chassis and seven color themes. */
.praisebox .brand>img{object-fit:contain;background:#fff;border-radius:50%;padding:3px}.praisebox .brand h1{font-size:clamp(16px,4vw,24px)}
.praisebox .droptop-cruise{width:clamp(300px,44vw,620px)}.droptop-cruise svg{width:100%;height:auto;display:block}
.praise-books{position:absolute;left:0;top:0;width:clamp(130px,16vw,215px);height:clamp(180px,23vw,295px);pointer-events:auto;text-decoration:none;animation:praise-book-flight 49s linear -18s infinite;filter:drop-shadow(0 0 22px #e9c16c77);color:#fff1c0;z-index:1;transform:translate(6vw,60vh)}
.book-cover{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-around;padding:16px 12px 16px 22px;background:linear-gradient(110deg,#061b46 2%,#a58238 3%,#1c4580 7%,#081d45 16%,#183e76);border:2px solid #e7c97c;border-radius:3px 9px 9px 3px;text-align:center;box-shadow:7px 6px 0 #e2ddcc,10px 8px 0 #284e78}.book-cover small{font:600 8px/1.5 Arial;letter-spacing:1px}.book-cover b{font:bold clamp(17px,2vw,27px)/1.15 Georgia,serif}.book-cover i{font-size:35px;font-style:normal}.book-cover strong{font:700 12px/1.4 Georgia,serif}.book-cover em{font:10px/1.4 Arial;color:#fff}.book-back{position:absolute;inset:8px -13px -9px 7px;transform:rotate(8deg);background:#253b5c;border:2px solid #cfa847;border-radius:6px}
@keyframes praise-book-flight{0%,100%{transform:translate(4vw,62vh) rotate(-8deg)}50%{transform:translate(78vw,16vh) rotate(8deg)}}
.iu-signs{position:absolute;inset:0;pointer-events:none}.iu-signs a{position:absolute;top:var(--sign-y);left:0;pointer-events:auto;display:grid;gap:6px;text-decoration:none;color:#ffe5a0;padding:10px 17px;border:1px solid #d6b657aa;border-radius:8px;background:linear-gradient(130deg,#132c54dd,#07162add);box-shadow:0 0 20px #5288ad55;animation:iu-sign-float 39s ease-in-out var(--sign-delay) infinite alternate;max-width:230px}.iu-signs small{font:600 8px/1.2 Arial;letter-spacing:2px}.iu-signs b{font:700 17px/1.2 Georgia,serif}@keyframes iu-sign-float{from{transform:translateX(2vw) rotate(-3deg)}to{transform:translateX(78vw) rotate(3deg)}}
.iu-signs a:hover,.iu-signs a:focus-visible,.praise-books:hover,.praise-books:focus-visible{animation-play-state:paused;outline:2px solid #fff2bc;outline-offset:4px}
.praisebox .amazon-star .product-star-light,.praisebox .amazon-star:nth-child(even) .product-star-light{inset:10px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fffbd9,#d7b763 25%,#3672a5 55%,#101e3b 80%);box-shadow:0 0 18px #b9dfff99;border:1px solid #ffeaba}.praisebox .amazon-star .product-star-light:before,.praisebox .amazon-star .product-star-light:after{display:none}.praisebox .amazon-star>span{font-size:10px;width:100px;white-space:normal;background:#071329b3;padding:3px;border-radius:5px;opacity:0}.praisebox .amazon-star:hover>span,.praisebox .amazon-star:focus-visible>span{opacity:1}
.motion-off .praise-books,.motion-off .iu-signs a,.tab-hidden .praise-books,.tab-hidden .iu-signs a{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.praise-books,.iu-signs a{animation:none}.iu-signs a{left:2vw}.praise-books{transform:translate(78vw,68vh)}}
@media(max-width:600px){.praise-books{width:115px;height:170px}.book-cover{padding:9px}.book-cover b{font-size:17px}.book-cover i{font-size:25px}.book-cover small{font-size:6px}.book-cover strong{font-size:10px}.iu-signs a{max-width:150px;padding:8px}.iu-signs b{font-size:14px}.iu-signs small{font-size:6px}.praisebox .droptop-cruise{width:340px}.praisebox .artist-planet{width:85px}}
/* Spacious, independent lanes and forward-facing transit. */
.praisebox .droptop-cruise{animation-name:praise-transit-forward;animation-duration:29s;width:clamp(270px,34vw,480px)}
@keyframes praise-transit-forward{from{transform:translateX(-115%)}to{transform:translateX(105vw)}}
.praisebox .praise-books{width:100px;height:145px;animation:praise-book-drift 42s ease-in-out infinite alternate;filter:drop-shadow(0 0 10px #e9c16c55)}
.praisebox .book-cover{padding:8px 7px 8px 13px}.praisebox .book-cover small{font-size:5px;letter-spacing:.5px}.praisebox .book-cover b{font-size:15px}.praisebox .book-cover i{font-size:21px}.praisebox .book-cover strong{font-size:9px}.praisebox .book-cover em{font-size:7px}
@keyframes praise-book-drift{from{transform:translate(88vw,80vh) rotate(-6deg)}to{transform:translate(85vw,76vh) rotate(5deg)}}
.praisebox .artist-planet{width:clamp(65px,7vw,95px)}.praisebox .artist-planet span{font-size:11px}
.praisebox .affiliate-meteor span{font-size:11px}.praisebox .amazon-star{width:48px;height:48px}
.praisebox .iu-signs a{animation:iu-sign-bob 17s ease-in-out var(--sign-delay) infinite alternate;left:2vw;top:25vh;padding:8px 10px;max-width:170px}.praisebox .iu-signs a:nth-child(2){left:auto;right:2vw;top:55vh}.praisebox .iu-signs a:nth-child(3){top:85vh}.praisebox .iu-signs b{font-size:14px}.praisebox .iu-signs small{font-size:6px}
@keyframes iu-sign-bob{from{transform:translateY(-5px) rotate(-2deg)}to{transform:translateY(5px) rotate(2deg)}}
.iu-eagle-flight{position:absolute;left:0;top:0;width:clamp(120px,15vw,210px);aspect-ratio:512/683;pointer-events:none;animation:iu-eagle-ascent 34s linear infinite;filter:drop-shadow(0 0 10px #b9d8ff55);will-change:transform;opacity:.66}
.iu-eagle-wings{width:100%;height:100%;background:url('/assets/iu-eagle-flight-sprite.webp') 0 0/400% 100% no-repeat;animation:iu-eagle-flap .85s steps(4) infinite}
@keyframes iu-eagle-flap{to{background-position:133.333333% 0}}
@keyframes iu-eagle-ascent{0%{transform:translate(-110%,94vh);opacity:0}7%{opacity:.65}90%{opacity:.65}100%{transform:translate(105vw,-110%);opacity:0}}
.praisebox.motion-off .praise-books,.praisebox.motion-off .iu-signs a,.praisebox.motion-off .iu-eagle-flight,.praisebox.motion-off .iu-eagle-wings,.praisebox.tab-hidden .praise-books,.praisebox.tab-hidden .iu-signs a,.praisebox.tab-hidden .iu-eagle-flight,.praisebox.tab-hidden .iu-eagle-wings{animation-play-state:paused}
@media(max-width:800px){.praisebox .artist-planet{width:60px}.praisebox .artist-planet span{font-size:9px}.praisebox .affiliate-meteor{width:85px;opacity:.5}.praisebox .affiliate-meteor span{font-size:9px}.praisebox .iu-signs a{max-width:115px;padding:6px}.praisebox .iu-signs b{font-size:11px}.praisebox .iu-signs small{font-size:5px}.praisebox .praise-books{width:75px;height:110px}.praisebox .book-cover b{font-size:11px}.praisebox .book-cover strong{font-size:7px}.praisebox .book-cover em{font-size:6px}.praisebox .book-cover i{font-size:16px}.praisebox .droptop-cruise{width:280px}.iu-eagle-flight{width:115px}@keyframes praise-book-drift{from{transform:translate(78vw,83vh) rotate(-6deg)}to{transform:translate(76vw,79vh) rotate(5deg)}}}
@media(prefers-reduced-motion:reduce){.praisebox:not(.motion-enabled) .iu-eagle-flight{animation:none;transform:translate(3vw,70vh);opacity:.6}.praisebox:not(.motion-enabled) .iu-eagle-wings,.praisebox:not(.motion-enabled) .iu-signs a{animation:none}.praisebox:not(.motion-enabled) .praise-books{animation:none;transform:translate(80vw,80vh)}}
.praisebox .droptop-cruise{width:clamp(310px,37vw,530px);bottom:-15px}.iu-shuttle{animation:iu-hydraulic-bounce 1.4s ease-in-out infinite}.iu-wheel{transform-box:view-box;animation:iu-wheel-roll 1.8s linear infinite}@keyframes iu-wheel-roll{to{transform:rotate(360deg)}}@keyframes iu-hydraulic-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}.praisebox.motion-off .iu-wheel,.praisebox.motion-off .iu-shuttle,.praisebox.tab-hidden .iu-wheel,.praisebox.tab-hidden .iu-shuttle{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.praisebox:not(.motion-enabled) .iu-wheel,.praisebox:not(.motion-enabled) .iu-shuttle{animation:none}}@media(max-width:600px){.praisebox .droptop-cruise{width:320px;bottom:-12px}}

/* Round trips: turn only beyond the viewport; bounce stays independent. */
.praisebox .droptop-cruise{pointer-events:auto;display:block;animation:praise-transit-roundtrip 48s linear infinite;transform-origin:center}
@keyframes praise-transit-roundtrip{
  0%{transform:translateX(-115%) scaleX(1)}
  49.99%{transform:translateX(105vw) scaleX(1)}
  50%{transform:translateX(105vw) scaleX(-1)}
  99.99%{transform:translateX(-115%) scaleX(-1)}
  100%{transform:translateX(-115%) scaleX(1)}
}
.praisebox .iu-shuttle{animation:iu-hydraulic-bounce 1.05s ease-in-out infinite;transform-origin:50% 80%}
@keyframes iu-hydraulic-bounce{
  0%,100%{transform:translateY(0) rotate(-.4deg)}
  35%{transform:translateY(-11px) rotate(.6deg)}
  65%{transform:translateY(-3px) rotate(-.5deg)}
}
.praisebox .iu-eagle-flight{pointer-events:auto;display:block;text-decoration:none}
.praisebox .droptop-cruise:hover,.praisebox .droptop-cruise:focus-visible,
.praisebox .iu-eagle-flight:hover,.praisebox .iu-eagle-flight:focus-visible{animation-play-state:paused;outline:2px solid #ffe5a0;outline-offset:3px}
/* Keep the existing spaced lanes, with visible drift and staggered rhythms. */
.praisebox .solar-swirl{animation-duration:105s}
.praisebox .artist-planet{animation-name:praise-planet-drift}
@keyframes praise-planet-drift{
  0%,100%{transform:translate(var(--from-x),var(--from-y)) scale(.94);opacity:.72}
  50%{transform:translate(var(--to-x),var(--to-y)) scale(1.04);opacity:.85}
}
.praisebox .affiliate-meteor{animation-duration:18s;animation-timing-function:ease-in-out}
.praisebox .affiliate-meteor:nth-child(even){animation-duration:23s}
.praisebox .amazon-star{animation-duration:16s}
.praisebox .iu-signs a{animation-duration:6s}
.praisebox .praise-books{animation-duration:10s}
.praisebox.motion-off .droptop-cruise,.praisebox.tab-hidden .droptop-cruise,
.praisebox.motion-off .iu-shuttle,.praisebox.tab-hidden .iu-shuttle{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){
  .praisebox:not(.motion-enabled) .droptop-cruise{animation:none;transform:translateX(3vw)}
  .praisebox:not(.motion-enabled) .iu-shuttle{animation:none}
}

/* PraiseBox palette is independent of WAMC, including its saved selection. */
body.praisebox{--galaxy-deep:#241500;--galaxy-shade:#785000;--galaxy-tone:#dcae12;--galaxy-light:#ffe052;--galaxy-pearl:#fff9d9;--galaxy-accent:#ffbc26}
.praisebox [data-color=original]{--swatch:#ffda35}.praisebox [data-color=white]{--swatch:#ffffff}.praisebox [data-color=purple]{--swatch:#9853df}.praisebox [data-color=orange]{--swatch:#ff942b}

/* Counter-turn the lettering and crest so words never read backwards. */
.praisebox .iu-readable-panel{transform-box:view-box;animation:iu-readable-direction 48s steps(1,end) infinite}
.praisebox .iu-readable-name{transform-origin:615px 410.5px}
.praisebox .iu-readable-crest{transform-origin:1157.5px 462px}
@keyframes iu-readable-direction{0%,100%{transform:scaleX(1)}50%{transform:scaleX(-1)}}
.praisebox .droptop-cruise:hover .iu-readable-panel,
.praisebox .droptop-cruise:focus-visible .iu-readable-panel,
.praisebox.motion-off .iu-readable-panel,
.praisebox.tab-hidden .iu-readable-panel{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.praisebox:not(.motion-enabled) .iu-readable-panel{animation:none}}

/* Visible floating worlds and luminous orbs, with room between their lanes. */
.praisebox .artist-planet{opacity:.94}
.praisebox .affiliate-meteor{opacity:.88;animation-duration:22s}
.praisebox .affiliate-meteor img{animation:praise-meteor-bob 5s ease-in-out infinite alternate}
@keyframes praise-meteor-bob{from{transform:translateY(-9px) rotate(-4deg)}to{transform:translateY(9px) rotate(4deg)}}
.praisebox .amazon-stars{z-index:1}
.praisebox .amazon-star{width:76px;height:76px;opacity:1;animation-duration:21s}
.praisebox .amazon-star .product-star-light,.praisebox .amazon-star:nth-child(even) .product-star-light{inset:4px;opacity:1;border:2px solid #fff0b3;background:radial-gradient(circle at 30% 24%,#ffffff 0%,#fff5b2 12%,#e5b946 32%,#337cd0 66%,#12274f 90%);box-shadow:inset -6px -8px 13px #081f5d88,0 0 15px #fff0a8aa,0 0 28px #74baff99;animation:praise-orb-glow 4s ease-in-out infinite alternate}
@keyframes praise-orb-glow{from{transform:scale(.96);filter:brightness(1)}to{transform:scale(1.06);filter:brightness(1.2)}}
.praisebox .amazon-star>span{top:76px}
.praisebox.motion-off .affiliate-meteor img,.praisebox.tab-hidden .affiliate-meteor img,
.praisebox.motion-off .product-star-light,.praisebox.tab-hidden .product-star-light{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.praisebox:not(.motion-enabled) .affiliate-meteor img,.praisebox:not(.motion-enabled) .product-star-light{animation:none}}
/* Keep a visible sky above the player on narrow displays. */
@media(max-width:600px){
  body.praisebox{padding-top:340px}
  .praisebox .amazon-star{width:58px;height:58px}
  .praisebox .amazon-star>span{top:58px}
  .praisebox .amazon-star:nth-child(1){--x1:4vw!important;--x2:12vw!important;--x3:7vw!important;--y1:30px!important;--y2:60px!important;--y3:40px!important}
  .praisebox .amazon-star:nth-child(2){--x1:73vw!important;--x2:80vw!important;--x3:70vw!important;--y1:32px!important;--y2:65px!important;--y3:42px!important}
  .praisebox .artist-planet:nth-child(1){--from-x:25vw!important;--to-x:40vw!important;--from-y:100px!important;--to-y:125px!important}
  .praisebox .artist-planet:nth-child(2){--from-x:63vw!important;--to-x:50vw!important;--from-y:180px!important;--to-y:205px!important}
  .praisebox .affiliate-meteor:nth-child(1){--x1:5vw!important;--x2:20vw!important;--x3:8vw!important;--y1:225px!important;--y2:250px!important;--y3:270px!important}
  .praisebox .affiliate-meteor:nth-child(2){--x1:65vw!important;--x2:76vw!important;--x3:62vw!important;--y1:100px!important;--y2:125px!important;--y3:140px!important}
}

/* Optional silent church scene sits behind the existing floating worlds. */
.praise-video-backdrop{position:fixed;inset:0;z-index:-2;pointer-events:none;background:#080b18}
.praise-video-backdrop[hidden]{display:none}
.praise-video-backdrop video{width:100%;height:100%;object-fit:cover;object-position:center}
.praise-video-backdrop::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#05091c55,#05091c77)}
body.praisebox.church-praise-scene .universe{background:transparent}
body.praisebox.church-praise-scene .universe::before,body.praisebox.church-praise-scene .solar-swirl,body.praisebox.church-praise-scene .starfield{display:none}
.praise-background-picker{margin-top:12px;padding-top:12px;border-top:1px solid #ffffff33}
.praise-background-picker>span{display:block;font-size:12px;letter-spacing:2px;margin-bottom:8px}
.praise-background-picker small{display:block;margin-top:8px;color:#eef2ff;font-size:12px}
#praise-background-status{font-size:12px;max-width:310px;margin:6px auto 0}
#praise-background-status:empty{display:none}

/* Church Praise artwork is scoped to this alternate visual. */
.praisebox .church-shuttle{display:none}
.praisebox.church-praise-scene .iu-eagle-flight,.praisebox.church-praise-scene .iu-shuttle{display:none}
.praisebox.church-praise-scene .church-shuttle{display:block;animation:iu-hydraulic-bounce 1.05s ease-in-out infinite;transform-origin:50% 80%}
.church-bus-lettering{transform-box:view-box;transform-origin:245px 145px;animation:iu-readable-direction 48s steps(1,end) infinite}
.praisebox.church-praise-scene .artist-planet img{content:url('/assets/church-praise/church-fan.svg');aspect-ratio:140/180;filter:drop-shadow(0 3px 7px #08031b99)}
.praisebox.church-praise-scene .artist-planet span{top:calc(100% - 16px);left:-12%;width:124%;transform:none;background:#23123ee6;border:1px solid #e8c77780;border-radius:6px;padding:3px;color:#fff2cf;text-shadow:none}
.praisebox.church-praise-scene .affiliate-meteor img{content:url('/assets/church-praise/eighth-notes.svg');width:80px;height:68px;object-fit:contain;filter:drop-shadow(0 0 7px #ffe4a766)}
.praisebox.church-praise-scene .affiliate-meteor span{grid-area:auto;max-width:120px;padding:3px 5px;background:#23123ed9;border-radius:5px;font-size:10px}
.praisebox.church-praise-scene .amazon-star .product-star-light{inset:0;border:0;border-radius:0;background:url('/assets/church-praise/tambourine.svg') center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 0 7px #ffdf9a88)}
.praisebox.church-praise-scene .galaxy-game .rush-orb{background:url('/assets/church-praise/tambourine.svg') center/contain no-repeat;border:0;box-shadow:none}
.praisebox.church-praise-scene .galaxy-game .rush-gold{filter:drop-shadow(0 0 10px #ffd256)}
.praisebox.motion-off .church-shuttle,.praisebox.tab-hidden .church-shuttle,.praisebox.motion-off .church-bus-lettering,.praisebox.tab-hidden .church-bus-lettering,.praisebox .droptop-cruise:hover .church-bus-lettering,.praisebox .droptop-cruise:focus-visible .church-bus-lettering{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.praisebox:not(.motion-enabled) .church-shuttle,.praisebox:not(.motion-enabled) .church-bus-lettering{animation:none}}

/* A soft gold breath bridges the church video's ten-second loop seam. */
.praise-video-backdrop::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 50% 45%,#fff9df 0%,#ffe4a5 45%,#dba946 100%);mix-blend-mode:screen}
.praise-video-backdrop.loop-pulse::before{animation:praise-loop-glow .9s ease-in-out}
.praise-video-backdrop.loop-pulse video{animation:praise-loop-soften .9s ease-in-out}
@keyframes praise-loop-glow{0%,100%{opacity:0}45%,55%{opacity:.42}}
@keyframes praise-loop-soften{0%,100%{filter:brightness(1) blur(0)}45%,55%{filter:brightness(1.15) blur(1.5px)}}
@media(prefers-reduced-motion:reduce){.praise-video-backdrop.loop-pulse::before,.praise-video-backdrop.loop-pulse video{animation:none}}
