/* Apetap art pack v1: restrained cosmic scenery and reusable motion. */
.space-world{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 95% 15%,#3b369c55,transparent 38%),radial-gradient(ellipse at 4% 52%,#265aa344,transparent 35%),radial-gradient(ellipse at 70% 90%,#4f379d55,transparent 40%),linear-gradient(180deg,#14204e,#17265b 45%,#202c67 80%,#293c81)}
.space-world::before,.space-world::after{content:"";position:absolute;pointer-events:none;z-index:-1;border-radius:50%;filter:blur(1px)}
.space-world::before{width:420px;height:420px;right:-270px;top:570px;background:radial-gradient(circle at 25% 20%,#b0b0ed,#5c65b6 35%,#303c7b 65%);box-shadow:-25px -10px 80px #7387ff15}
.space-world::after{width:680px;height:680px;left:-470px;bottom:360px;background:radial-gradient(circle at 80% 20%,#9a9ac3,#4f5990 40%,#1b2a61 70%);opacity:.6}
.starfield{position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:.55;background-image:radial-gradient(1px 1px at 32px 54px,#d1ddff 95%,transparent),radial-gradient(1px 1px at 150px 170px,#abb9ef 95%,transparent),radial-gradient(2px 2px at 266px 90px,#c4d4ff70 95%,transparent);background-size:310px 280px,410px 390px,630px 580px;animation:star-drift 90s linear infinite}
.orbital-path{position:absolute;width:1300px;height:400px;border:1px solid #abc1ff12;border-radius:50%;z-index:-1;pointer-events:none;transform:rotate(-23deg)}.path-one{left:-320px;top:450px}.path-two{right:-450px;bottom:650px;transform:rotate(32deg)}
.space-world .feature{position:relative;max-width:1440px;padding-top:145px;padding-bottom:100px;gap:7%;grid-template-columns:1.25fr 1fr}
.space-world .feature.reverse{grid-template-columns:1fr 1.25fr}
.space-world .scene{border:1px solid #e1e4ff2b;box-shadow:inset 0 1px 0 #ffffff17,0 24px 80px #050c2e30;min-height:490px;border-radius:42px}
.space-world .social{background:radial-gradient(at 10% 10%,#7a80e080,transparent 60%),linear-gradient(135deg,#4b58a0cf,#364689d9)}
.space-world .trade-scene{background:radial-gradient(at 100% 0%,#bbb1ff80,transparent 55%),linear-gradient(135deg,#6c65becf,#4e4da0db);min-height:590px}
.space-world .workspace-scene{background:radial-gradient(at 5% 0%,#a2e2e13d,transparent 60%),linear-gradient(135deg,#417d96d9,#355589e6)}
.space-world .feature-copy{position:relative;z-index:1}.space-world .feature-copy h2{font-size:clamp(54px,5.2vw,76px)}.space-world .feature-copy p{color:#e0e5fb}.space-world .caption{color:#b8c6e9}.space-world .eyebrow{color:#ceffdf}
.space-world .wumpus{width:235px;left:-76px;bottom:-80px;filter:drop-shadow(0 18px 20px #0d1c4c55);animation:drone-hover 8s ease-in-out infinite}
.space-world .flying{width:200px;top:-90px;right:-53px;filter:drop-shadow(0 20px 20px #20245466);animation:explorer-drift 10s ease-in-out infinite;transform:rotate(12deg)}
.space-world .clyde{width:230px;right:-70px;bottom:-82px;animation:drone-hover 9s ease-in-out infinite reverse;filter:drop-shadow(0 18px 20px #0d1c4c55)}
.space-world .mini-card{right:-15px;bottom:38px}.space-world .feed{padding-bottom:80px}.space-world .trade-card{z-index:1}.space-world .mascot{z-index:2}
.little-planet{position:absolute;left:-36px;bottom:27px;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#f9d1bc,#d08fb1 45%,#6a4c91 82%);box-shadow:inset -13px -15px 24px #35306966,0 0 40px #ce9fe71a;transform:rotate(-23deg)}.little-planet i{position:absolute;left:-28px;right:-28px;top:34px;height:24px;border:7px solid #b7b3ec99;border-top-color:#c4c4ee44;border-radius:50%;transform:rotate(-10deg)}
.space-world .ending{padding:160px 20px 120px;background:radial-gradient(ellipse at bottom,#8496da33,transparent 70%)}.space-world .ending>img{width:175px;margin:0 auto 34px;position:relative;z-index:1}.space-world .ending h2{font-size:clamp(65px,8vw,110px);position:relative}.space-world .ending .eyebrow{position:relative}.space-world .beta{color:#b7c5e6}.final-orbit{position:absolute;width:700px;height:180px;left:50%;top:235px;border:1px solid #c1d3ff20;border-radius:50%;transform:translateX(-50%) rotate(-12deg)}.final-orbit::before{content:"";position:absolute;width:18px;height:18px;background:radial-gradient(circle at 30% 30%,#d4ffe7,#75afbb);border-radius:50%;left:10%;top:15px;box-shadow:0 0 26px #bdffdd35}
@keyframes drone-hover{0%,100%{translate:0 0;rotate:-4deg}50%{translate:0 -18px;rotate:4deg}}
@keyframes explorer-drift{0%,100%{translate:0 0;rotate:0deg}50%{translate:-9px -18px;rotate:-7deg}}
@keyframes star-drift{to{background-position:70px 100px,30px 80px,-30px 60px}}
body.paused .space-world *,body.paused .space-world *::before{animation-play-state:paused!important}body.paused .space-world .ending>img{visibility:visible}
@media(prefers-reduced-motion:reduce){.space-world *,.space-world *::before{animation:none!important}}
@media(max-width:800px){.space-world .feature,.space-world .feature.reverse{grid-template-columns:minmax(0,1fr);padding:90px 8% 80px;gap:60px;overflow:visible}.space-world .feature-copy h2{font-size:60px}.space-world .scene{border-radius:30px;min-height:430px}.space-world .trade-scene{min-height:560px}.space-world .wumpus{width:150px;left:-33px;bottom:-60px}.space-world .flying{width:140px;right:-20px;top:-65px}.space-world .clyde{width:155px;right:-34px;bottom:-60px}.space-world .mini-card{max-width:210px;right:-10px;bottom:35px}.little-planet{width:65px;height:65px;left:-18px;bottom:25px}.little-planet i{top:23px}.space-world .ending{padding-top:100px}.space-world .ending>img{width:150px}.space-world::before{opacity:.45}.starfield{opacity:.4}}
.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center bottom;animation:hero-breathe 24s ease-in-out infinite alternate;transform-origin:center bottom}
.hero-stars{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(1px 1px at 20% 23%,#d6e7ff,transparent),radial-gradient(2px 2px at 68% 14%,#d9f9ff99,transparent),radial-gradient(1px 1px at 81% 43%,#fff,transparent);background-size:400px 350px,670px 500px,530px 420px;animation:star-drift 60s linear infinite;opacity:.5}
@keyframes hero-breathe{from{transform:scale(1)}to{transform:scale(1.035) translateY(3px)}}
body.paused .hero-art,body.paused .hero-stars{animation-play-state:paused}
.space-world .clyde{width:250px;right:-72px;bottom:-65px;animation:satellite-orbit 14s ease-in-out infinite}
.space-world .ending>img{width:210px;animation:launch-drift 9s ease-in-out infinite}
@keyframes satellite-orbit{0%,100%{translate:0 0;rotate:-6deg}50%{translate:12px -12px;rotate:6deg}}
@keyframes launch-drift{0%,100%{translate:0 0;rotate:-3deg}50%{translate:7px -16px;rotate:2deg}}
@media(prefers-reduced-motion:reduce){.hero-art,.hero-stars{animation:none}}
@media(max-width:800px){.hero-art{object-fit:cover;object-position:center bottom}.space-world .clyde{width:170px;right:-30px;bottom:-50px}.space-world .ending>img{width:180px}}
/* Atmospheric depth: distant soft objects, sharp foreground, broad indirect light. */
.space-world{background:radial-gradient(ellipse at 90% 9%,#414c9a66,transparent 33%),radial-gradient(ellipse at 8% 43%,#254c9a66,transparent 32%),radial-gradient(ellipse at 75% 75%,#504f9b55,transparent 35%),linear-gradient(180deg,#101a3e,#162957 43%,#17234d 73%,#263669)}
.space-depth{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.space-world::before,.space-world::after{display:none}
.distant-world{position:absolute;display:block;border-radius:50%;filter:blur(8px);opacity:.45;box-shadow:-12px -10px 60px #7a96e92b;animation:distant-drift 36s ease-in-out infinite alternate}.distant-one{width:350px;height:350px;right:-160px;top:180px;background:radial-gradient(circle at 22% 22%,#99b5e0,#405588 35%,#111d43 70%)}.distant-two{width:240px;height:240px;left:-110px;top:1480px;background:radial-gradient(circle at 80% 20%,#b6a7d6,#4d598e 38%,#15214b 73%);filter:blur(12px);animation-delay:-15s}
.distant-moon{position:absolute;width:65px;height:65px;right:15%;top:840px;border-radius:50%;background:radial-gradient(circle at 25% 25%,#b6c1da,#566397 45%,#21305d 75%);filter:blur(4px);opacity:.36}
.distant-ring{position:absolute;width:370px;height:145px;left:-200px;top:530px;border:20px solid #8ca0ce24;border-radius:50%;filter:blur(6px);transform:rotate(-31deg);box-shadow:0 0 70px #7d8ad71a}
.nebula{position:absolute;width:950px;height:440px;filter:blur(65px);border-radius:50%;opacity:.32;transform:rotate(-28deg);background:radial-gradient(ellipse,#6f73b866,#4165a477 35%,transparent 70%);animation:nebula-breathe 24s ease-in-out infinite alternate}.nebula-one{left:-340px;top:650px}.nebula-two{right:-380px;top:1900px;background:radial-gradient(ellipse,#9080bb66,#596aab55 40%,transparent 70%);animation-delay:-12s}
.shooting-star{position:absolute;width:110px;height:1px;right:15%;top:400px;background:linear-gradient(90deg,transparent,#bcd5ff99);transform:rotate(-30deg);opacity:0;animation:shooting-star 19s linear infinite}
.space-world .scene{box-shadow:inset 0 1px 0 #ecf0ff40,inset 0 0 70px #a6b3f50b,0 30px 85px #030a2738,0 0 95px #7682da0d;border-color:#d1d8ff30}.space-world .social{background:radial-gradient(ellipse at 18% 0%,#98a3df77,transparent 70%),linear-gradient(135deg,#4c5d9dbb,#354777da)}.space-world .trade-scene{background:radial-gradient(ellipse at 80% 0%,#c6bcf477,transparent 68%),linear-gradient(135deg,#706bb4c9,#474c8edb)}.space-world .workspace-scene{background:radial-gradient(ellipse at 5% 0%,#b4d9e866,transparent 65%),linear-gradient(135deg,#45798fce,#354e7bdf)}
.starfield{opacity:.6;background-image:radial-gradient(1px 1px at 32px 54px,#d1ddff 95%,transparent),radial-gradient(1px 1px at 150px 170px,#abb9ef 95%,transparent),radial-gradient(2px 2px at 266px 90px,#c4d4ff70 95%,transparent);background-size:310px 280px,410px 390px,630px 580px}
.dance-break{position:relative;display:flex;justify-content:center;align-items:center;gap:60px;max-width:1000px;margin:25px auto 0;padding:50px 20px 20px}.party-character{width:190px;height:190px;flex-shrink:0;background-size:300% 300%;background-repeat:no-repeat;animation:party-frames 1.35s steps(1,end) infinite;filter:drop-shadow(0 15px 18px #050c2c40)}.creature-dance{background-image:url('assets/apetap/space-creature-dance.png')}.astronaut-dance{background-image:url('assets/apetap/astronaut-groove.png');animation-duration:1.65s;animation-delay:-.55s}.party-message{text-align:center}.party-message p{font-size:21px;font-weight:600;color:#e6ebff}.party-message button{border:1px solid #bccaff40;border-radius:22px;padding:9px 16px;background:#ffffff08;font-size:11px;color:#cbd8f2}
@keyframes party-frames{0%{background-position:0% 0%}11.111%{background-position:50% 0%}22.222%{background-position:100% 0%}33.333%{background-position:0% 50%}44.444%{background-position:50% 50%}55.555%{background-position:100% 50%}66.666%{background-position:0% 100%}77.777%{background-position:50% 100%}88.888%,100%{background-position:100% 100%}}
@keyframes distant-drift{to{translate:12px -20px}}@keyframes nebula-breathe{to{opacity:.45;scale:1.08}}@keyframes shooting-star{0%,92%,100%{opacity:0;translate:0 0}93%{opacity:.6}98%{opacity:0;translate:-250px 145px}}
@media(max-width:800px){.dance-break{gap:7px;padding:30px 12px;flex-wrap:wrap}.party-character{width:140px;height:140px}.party-message{order:2;width:100%}.party-message p{font-size:19px}.distant-one{width:260px;height:260px;right:-190px;opacity:.35}.distant-two{left:-170px}.nebula{opacity:.22}.space-world .ending{padding-top:65px}}
@media(prefers-reduced-motion:reduce){.party-character,.distant-world,.nebula,.shooting-star{animation:none!important}}
/* More room for the two independent dance loops. */
.dance-break{max-width:1240px;width:100%;justify-content:space-between;gap:90px;padding:65px 5% 45px}.party-message{flex:0 1 350px}.party-character{width:200px;height:200px}
/* Soft-focus stars sit behind the sharp starfield and foreground artwork. */
.space-depth::before,.space-depth::after{content:"";position:absolute;inset:0;pointer-events:none;background-repeat:repeat;animation:soft-star-drift 100s linear infinite}
.space-depth::before{background-image:radial-gradient(circle at 43px 68px,#c8ddff85 0 1px,#abc9ff38 3px,transparent 9px),radial-gradient(circle at 218px 239px,#c4bcff70 0 2px,#b2b9fb22 5px,transparent 12px),radial-gradient(circle at 360px 130px,#c8edff55 0 1px,transparent 7px);background-size:490px 430px,610px 570px,730px 640px;filter:blur(2px);opacity:.65}
.space-depth::after{background-image:radial-gradient(circle at 110px 310px,#d6ddff5c 0 2px,#a6b9e62b 5px,transparent 17px),radial-gradient(circle at 480px 100px,#c6d8ff66 0 2px,#a5c4ff1f 7px,transparent 21px),radial-gradient(circle at 300px 460px,#ccc3f94d 0 2px,transparent 13px);background-size:810px 690px,1050px 930px,670px 810px;filter:blur(4px);opacity:.7;animation-duration:145s;animation-direction:reverse}
@keyframes soft-star-drift{to{translate:0 -50px}}
@media(max-width:800px){.dance-break{display:grid;grid-template-columns:1fr 1fr;max-width:600px;padding:50px 6% 30px;gap:30px 40px}.party-character{width:140px;height:140px}.creature-dance{justify-self:start}.astronaut-dance{justify-self:end}.party-message{grid-column:1/-1;grid-row:2;width:100%;justify-self:center}.space-depth::before{opacity:.55}.space-depth::after{opacity:.5}}
@media(max-width:380px){.party-character{width:125px;height:125px}.dance-break{column-gap:30px}}
@media(prefers-reduced-motion:reduce){.space-depth::before,.space-depth::after{animation:none!important}}
body.paused .space-depth::before,body.paused .space-depth::after{animation-play-state:paused!important}

/* Latest sofa composition is a still while the orbit video awaits rendering. */
.hero-art{animation:none;transform:none}
@media(max-width:800px){.hero-art{width:180%;left:-40%;right:auto;object-fit:contain;object-position:center bottom;mask-image:linear-gradient(to bottom,transparent 38%,#000 64%)}}

/* A rotating sky canopy fades out before the grounded sofa scene. */
.hero-stars{inset:0 0 auto;height:75%;overflow:hidden;opacity:.85;background:none;animation:none;mask-image:linear-gradient(#000 0%,#000 42%,transparent 100%)}
.hero-stars::before,.hero-stars::after{content:"";position:absolute;left:50%;top:12%;width:160vmax;height:160vmax;pointer-events:none;transform:translate(-50%,-50%) rotate(0deg);animation:sky-orbit 180s linear infinite;background-image:radial-gradient(1.5px 1.5px at 18% 22%,#e8f4ffcc,transparent),radial-gradient(2px 2px at 72% 41%,#c2dfffaa,transparent),radial-gradient(1px 1px at 44% 76%,#fff9,transparent),radial-gradient(3px 3px at 83% 64%,#b9dbff66,transparent);background-size:193px 211px,367px 313px,251px 289px,487px 439px;will-change:transform}
.hero-stars::after{opacity:.55;filter:blur(5px);animation-duration:260s;background-image:radial-gradient(ellipse at 38% 32%,#4b81c433,transparent 23%),radial-gradient(ellipse at 65% 59%,#6163b82b,transparent 20%),radial-gradient(4px 4px at 22% 38%,#c0e6ff99,transparent),radial-gradient(3px 3px at 78% 63%,#d0e3ff88,transparent);background-size:100% 100%,100% 100%,347px 397px,457px 331px}
@keyframes sky-orbit{to{transform:translate(-50%,-50%) rotate(360deg)}}
body.paused .hero-stars::before,body.paused .hero-stars::after{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.hero-stars::before,.hero-stars::after{animation:none;will-change:auto}}
