/* One approved composition, with independent local interaction layers. */
.mood-world{--world-accent:#d7a5ff;--pink:#ff91b5;--purple:#d7a5ff;--green:#d4e79e;--mx:0px;--my:0px}
.mood-world .reference-scene{aspect-ratio:1672/941;overflow:hidden;margin-top:0}
.scene-artwork{position:absolute;width:100%;aspect-ratio:1672/941;left:0;top:0;isolation:isolate}
.mood-world .reference-art,.mood-world .reference-room{margin:0;height:100%;width:100%;inset:0;object-fit:fill}
.clip-definitions{position:absolute;pointer-events:none}
.restoration-patch,.mood-cup,.living-garnish{position:absolute;padding:0;border:0;background:transparent}
.art-window{display:block;position:absolute;inset:0;overflow:hidden;pointer-events:none}
.art-window img{position:absolute;max-width:none;object-fit:fill;pointer-events:none}
.restoration-patch{z-index:1;pointer-events:none;-webkit-mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent),linear-gradient(to bottom,transparent,#000 3%,#000 97%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent),linear-gradient(to bottom,transparent,#000 3%,#000 97%,transparent);mask-composite:intersect}
.mood-cup{z-index:5;transform-origin:50% 99%;transition:transform .85s cubic-bezier(.2,.7,.2,1),filter .8s;will-change:transform;cursor:pointer;filter:brightness(.985)}
.cup-bright .art-window{clip-path:url(#bright-outline)}
.cup-dreamy .art-window{clip-path:url(#dreamy-outline)}
.cup-balanced .art-window{clip-path:url(#balanced-outline)}
.mood-cup:focus-visible{outline:2px solid #fff2d1;outline-offset:6px;border-radius:30px}
.mood-world[data-mood=bright] .cup-bright,.mood-world[data-preview=bright] .cup-bright{transform:scale(1.025);filter:brightness(1.045) drop-shadow(0 0 7px #ff96b329)}
.mood-world[data-mood=dreamy] .cup-dreamy,.mood-world[data-preview=dreamy] .cup-dreamy{transform:scale(1.014);filter:brightness(1.035) drop-shadow(0 0 7px #ce9cfb29)}
.mood-world[data-mood=balanced] .cup-balanced,.mood-world[data-preview=balanced] .cup-balanced{transform:scale(1.025);filter:brightness(1.04) drop-shadow(0 0 7px #d1e69b29)}
.world-wash{position:absolute;inset:29% 0 0;z-index:2;pointer-events:none;background:radial-gradient(ellipse at var(--wash-x,50%) 68%,var(--world-accent),transparent 53%);mix-blend-mode:soft-light;opacity:.2;transition:background 1.1s,opacity 1.1s}
.pedestal-aura{position:absolute;z-index:6;border-radius:50%;pointer-events:none;opacity:.1;transition:opacity .8s,filter .8s;mix-blend-mode:screen;filter:blur(4px);background:radial-gradient(ellipse,transparent 44%,var(--aura-color) 65%,transparent 76%)}
.aura-bright{left:7.5%;top:77.7%;width:24.5%;height:10.3%;--aura-color:#ff84b1}
.aura-dreamy{left:33.5%;top:80.7%;width:33.2%;height:12%;--aura-color:#cc83ff}
.aura-balanced{left:68.3%;top:78.1%;width:29.7%;height:10.7%;--aura-color:#d6ee8c}
.mood-world[data-mood=bright] .aura-bright,.mood-world[data-mood=dreamy] .aura-dreamy,.mood-world[data-mood=balanced] .aura-balanced{opacity:.66;filter:blur(3px)}
.mood-world[data-preview=bright] .aura-bright,.mood-world[data-preview=dreamy] .aura-dreamy,.mood-world[data-preview=balanced] .aura-balanced{opacity:.88}
.living-garnish{z-index:6;pointer-events:none;transform-origin:center bottom;filter:brightness(1);transition:filter .8s,transform .9s;mask-image:radial-gradient(ellipse,#000 57%,transparent 75%)}
.mood-world[data-mood=bright] .garnish-for-bright,.mood-world[data-preview=bright] .garnish-for-bright{filter:brightness(1.12) saturate(1.08);transform:translate(calc(var(--mx) * .08),calc(var(--my) * .06)) rotate(.45deg) scale(1.012)}
.mood-world[data-mood=dreamy] .garnish-for-dreamy,.mood-world[data-preview=dreamy] .garnish-for-dreamy{filter:brightness(1.12);transform:translate(calc(var(--mx) * -.08),calc(var(--my) * .06)) rotate(-.35deg) scale(1.01)}
.mood-world[data-mood=balanced] .garnish-for-balanced,.mood-world[data-preview=balanced] .garnish-for-balanced{filter:brightness(1.12) saturate(1.06);transform:translate(calc(var(--mx) * .1),calc(var(--my) * .08)) rotate(.6deg) scale(1.015)}
.pedestal-selectors{position:absolute;inset:0;z-index:10;pointer-events:none}
.pedestal-selector{position:absolute;pointer-events:auto;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #fff4e9bd;border-radius:999px;text-transform:uppercase;letter-spacing:.16em;font-size:clamp(.75rem,.95vw,1rem);font-weight:500;color:white;line-height:1;transition:box-shadow .65s,background .65s,border-color .65s;min-height:30px;padding:4px 8px}
.pedestal-selector span{font-size:clamp(1.15rem,2vw,2.2rem);line-height:1}
.selector-bright{left:15.1%;top:81.7%;width:10%;height:5.1%;background:#8e294acc;--button-glow:#ff9eba}
.selector-dreamy{left:43.7%;top:85.55%;width:13.3%;height:5.35%;background:#57219acc;--button-glow:#d5adff}
.selector-balanced{left:75.45%;top:83.1%;width:11%;height:5.1%;background:#45642cdd;--button-glow:#dbeaab}
.pedestal-selector[aria-pressed=true]{box-shadow:0 0 19px 4px var(--button-glow),inset 0 0 12px #fff2;border-color:#fff8ed;background:color-mix(in srgb,var(--button-glow) 38%,#37213e)}
.pedestal-selector:hover{box-shadow:0 0 21px var(--button-glow)}
.live-mood-card{position:absolute;z-index:12;left:58.35%;top:42.2%;width:12.8%;padding:clamp(10px,1.2vw,20px);border-radius:clamp(15px,1.7vw,28px);border:1px solid color-mix(in srgb,var(--world-accent) 60%,#fff3);background:linear-gradient(135deg,#faf0ff26,#36273a75);box-shadow:inset 0 0 25px #fff1,0 9px 30px #16092625;backdrop-filter:blur(12px);color:#fff8ec;transition:border-color 1s,box-shadow 1s;max-height:34%}
.card-content{transition:opacity .2s,transform .2s}
.live-mood-card.changing .card-content{opacity:0;transform:translateY(5px)}
.live-mood-card .note-icon{font-size:clamp(1.8rem,2.5vw,2.8rem);color:var(--world-accent);line-height:1;display:block;margin-bottom:9px;transition:color .8s}
.live-mood-card .eyebrow{font-size:clamp(.75rem,.76vw,.85rem);letter-spacing:.1em;line-height:1.35;color:#fff1ec;margin-bottom:9px}
.live-mood-card h2{font-size:clamp(1.3rem,1.7vw,2rem);line-height:1.12;letter-spacing:0}
.live-mood-card #mood-copy{font-size:clamp(.875rem,.96vw,1.05rem);line-height:1.45;margin-top:12px}
.mood-signoff{display:block;margin-top:13px;padding-top:10px;border-top:1px solid #fff3;font-size:clamp(.75rem,.8vw,.9rem);line-height:1.45;color:#efdeef}
.world-particles{position:absolute;inset:0;z-index:7;pointer-events:none;transform:translate(calc(var(--mx) * .36),calc(var(--my) * .28));transition:transform .7s}
.particle-set{position:absolute;top:40%;height:45%;width:23%;opacity:.18;transition:opacity .8s}
.particles-bright{left:10%;color:#ffc1d2}.particles-dreamy{left:37%;color:#e8c8ff}.particles-balanced{left:73%;color:#ebffb9}
.mood-world[data-mood=bright] .particles-bright,.mood-world[data-preview=bright] .particles-bright,.mood-world[data-mood=dreamy] .particles-dreamy,.mood-world[data-preview=dreamy] .particles-dreamy,.mood-world[data-mood=balanced] .particles-balanced,.mood-world[data-preview=balanced] .particles-balanced{opacity:.85}
.particle-set i{position:absolute;display:block;width:3px;height:3px;border-radius:50%;background:currentColor;box-shadow:0 0 9px 2px currentColor;animation:mood-sparkle 8s ease-in-out infinite}
.particle-set i:nth-child(1){left:8%;top:31%;animation-delay:-2s}.particle-set i:nth-child(2){left:81%;top:40%;animation-delay:-5s}.particle-set i:nth-child(3){left:29%;top:85%;animation-delay:-7s}.particle-set i:nth-child(4){left:91%;top:73%;animation-delay:-3s}.particle-set i:nth-child(5){left:15%;top:70%;animation-delay:-1s}
@keyframes mood-sparkle{0%,100%{opacity:.1;transform:translateY(0) scale(.7)}50%{opacity:.85;transform:translateY(-8px) scale(1)}}
.environment-moon,.environment-sign,.canopy-light,.headline-lumen{position:absolute;pointer-events:none;z-index:3;mix-blend-mode:screen}
.environment-moon{left:13.2%;top:10.5%;width:11%;height:19%;border-radius:50%;background:radial-gradient(ellipse,#b8d6ff26,transparent 70%);animation:moon-breath 12s ease-in-out infinite}
.environment-sign{left:77%;top:15%;width:23%;height:22%;background:radial-gradient(ellipse,#b884ff35,transparent 69%);animation:sign-shimmer 14s ease-in-out infinite}
.canopy-light{left:37%;top:0;width:55%;height:23%;background:radial-gradient(ellipse at 10% 58%,#ffd39725,transparent 18%),radial-gradient(ellipse at 47% 31%,#ffbf6b25,transparent 19%),radial-gradient(ellipse at 92% 45%,#ffca7930,transparent 12%);transform:translate(calc(var(--mx) * -.15),calc(var(--my) * -.1));transition:transform 1.2s;animation:moon-breath 13s ease-in-out infinite}
@keyframes moon-breath{0%,100%{opacity:.35}50%{opacity:.85}}@keyframes sign-shimmer{0%,100%{opacity:.22}35%,65%{opacity:.7}50%{opacity:.5}}
.headline-orbit{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none;fill:none;stroke:#ffdb9d;stroke-width:1.3;opacity:.38}
.headline-orbit>path:first-of-type{filter:url(#orbit-soft)}
.orbit-glint{stroke:#fff6cb;stroke-dasharray:16 570;animation:orbit-trace 17s linear infinite}
@keyframes orbit-trace{to{stroke-dashoffset:-1172}}
.headline-lumen{left:32%;top:19%;width:19%;height:12%;background:radial-gradient(ellipse,#c796e723,transparent 70%);animation:moon-breath 13s ease-in-out infinite}
.title-star{position:absolute;z-index:7;pointer-events:none;color:#ffe9b8;text-shadow:0 0 12px #fff4bb;line-height:1;font-size:clamp(8px,1.25vw,20px);animation:moon-breath 7s ease-in-out infinite}
.star-one{left:36.3%;top:14.8%}.star-two{left:66.6%;top:14.4%;animation-delay:-4s}
.mood-world.scene-paused *{animation-play-state:paused!important}
@media(max-width:1150px) and (min-width:851px){.live-mood-card{width:13.3%;left:58.2%;padding:10px;top:41.8%;max-height:37%}.live-mood-card .note-icon{font-size:1.5rem;margin-bottom:5px}.live-mood-card .eyebrow{font-size:.75rem;margin-bottom:6px;letter-spacing:.03em}.live-mood-card h2{font-size:1.3rem}.live-mood-card #mood-copy{font-size:.875rem;margin-top:8px;line-height:1.3}.mood-signoff{display:none}.pedestal-selector{letter-spacing:.08em;font-size:.75rem}}
@media(max-width:850px){.mood-world .reference-scene{margin-top:75px;aspect-ratio:1672/857}.scene-artwork{transform:translateY(-8.9267%)}.live-mood-card{position:relative;left:auto;top:auto;width:auto;max-height:none;margin:8px 5% 25px;padding:21px 24px;border-radius:20px;min-height:175px}.live-mood-card .card-content{display:grid;grid-template-columns:40px 1fr;column-gap:15px}.live-mood-card .note-icon{grid-row:1/5;font-size:2rem;margin-top:4px}.live-mood-card .eyebrow{font-size:.75rem;margin:0 0 4px}.live-mood-card h2{font-size:1.6rem}.live-mood-card #mood-copy{font-size:1rem;margin-top:9px;line-height:1.5}.mood-signoff{font-size:.875rem;margin-top:12px;padding-top:12px}.mobile-mood-tabs{background:#24192e;padding-top:16px}.mobile-mood-tabs button{transition:background .6s,box-shadow .6s}.mobile-mood-tabs button[aria-pressed=true]{background:var(--world-accent);box-shadow:0 0 20px color-mix(in srgb,var(--world-accent) 35%,transparent)}.pedestal-selector{font-size:clamp(.6rem,1.6vw,.8rem);letter-spacing:.03em;min-height:20px;padding:2px 4px;gap:4px}.pedestal-selector span{font-size:1rem}.world-particles{transform:none}.particle-set i{width:2px;height:2px}.mood-world .scene-artwork .reference-art{margin:0;height:100%}}
@media(max-width:550px){.live-mood-card{margin:7px 5% 22px;padding:20px;min-height:195px}.pedestal-selector{font-size:.54rem;letter-spacing:0;min-height:17px;border-width:1px;gap:2px}.pedestal-selector span{font-size:.75rem}.pedestal-selector:after{content:'';position:absolute;inset:-12px -3px}.mood-world .mobile-mood-tabs button{min-height:46px}.world-particles i:nth-child(even){display:none}.title-star{display:none}}
@media(prefers-reduced-motion:reduce){.mood-world *{animation:none!important;transition:none!important}.mood-cup,.living-garnish,.world-particles,.canopy-light{transform:none!important}.live-mood-card.changing .card-content{opacity:1;transform:none}}
@media(min-width:851px) and (max-width:1400px){.live-mood-card .mood-signoff{display:none}.live-mood-card{max-height:none}}
/* Atmosphere responds at separate depths; products never follow the cursor. */
.mood-world .living-garnish{transform:none!important}
.greenery-depth{position:absolute;z-index:3;pointer-events:none;mask-image:radial-gradient(ellipse,#000 48%,transparent 73%);transition:transform .85s cubic-bezier(.2,.65,.2,1);will-change:transform}
.greenery-near{transform:translate(calc(var(--mx) * .48),calc(var(--my) * .25)) scale(1.035);transform-origin:0 20%}
.greenery-far{transform:translate(calc(var(--mx) * -.19),calc(var(--my) * -.1)) scale(1.025);transform-origin:50% 0}
.greenery-edge{transform:translate(calc(var(--mx) * .35),calc(var(--my) * .18)) scale(1.035);transform-origin:100% 0}
.world-particles{transform:translate(calc(var(--mx) * .64),calc(var(--my) * .40));transition:transform .7s ease-out}
.canopy-light{transform:translate(calc(var(--mx) * -.26),calc(var(--my) * -.15));opacity:.8}
.cafe-light-depth{position:absolute;inset:0;pointer-events:none;z-index:4;transform:translate(calc(var(--mx) * -.12),calc(var(--my) * -.08));transition:transform 1.1s}
.cafe-light-depth i{position:absolute;width:4.6%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#fff4b999,#ffd69738 28%,#ffbd481a 46%,transparent 70%);mix-blend-mode:screen;animation:lamp-warmth 9s ease-in-out infinite}
@keyframes lamp-warmth{0%,100%{opacity:.24}50%{opacity:.8}}
.environment-moon{background:radial-gradient(ellipse,#d6e7ff66,#a4c8ff2a 40%,transparent 70%);animation:moon-presence 10s ease-in-out infinite;filter:blur(2px)}
@keyframes moon-presence{0%,100%{opacity:.22;transform:scale(.98)}50%{opacity:.78;transform:scale(1.05)}}
.environment-sign{background:radial-gradient(ellipse,#edb1ff44,#a58aff33 37%,transparent 70%);animation:neon-presence 11s ease-in-out infinite;filter:blur(3px)}
@keyframes neon-presence{0%,100%{opacity:.2}38%,64%{opacity:.78}52%{opacity:.52}}
.headline-orbit{opacity:.72;stroke-width:1.8}
.orbit-glint{stroke-width:2;stroke:#fff9dd;stroke-dasharray:40 370;animation:orbit-trace 12s linear infinite;filter:drop-shadow(0 0 3px #ffd49f)}
.title-star{animation:headline-twinkle 6.5s ease-in-out infinite}
.star-two{animation-delay:-3.1s}
@keyframes headline-twinkle{0%,100%{opacity:.22;transform:scale(.78)}50%{opacity:1;transform:scale(1.14)}}
.headline-lumen{background:linear-gradient(110deg,transparent 18%,#e2b0ff00 32%,#efc2ff6b 48%,#bca0ff10 61%,transparent 78%);background-size:250% 100%;mask-image:radial-gradient(ellipse,#000 30%,transparent 72%);animation:luna-light 12s ease-in-out infinite;mix-blend-mode:soft-light}
@keyframes luna-light{0%,100%{background-position:100% 50%;opacity:.3}50%{background-position:0% 50%;opacity:.8}}
.world-wash{display:none}
.mood-cast{position:absolute;inset:28% 0 0;z-index:2;pointer-events:none;mix-blend-mode:soft-light;opacity:0;transition:opacity 1.15s ease;transform:translate(calc(var(--mx) * -.08),0)}
.cast-bright{background:radial-gradient(ellipse at 21% 64%,#ff86aa9c,transparent 64%)}
.cast-dreamy{background:radial-gradient(ellipse at 50% 64%,#cb9aff8c,transparent 64%)}
.cast-balanced{background:radial-gradient(ellipse at 83% 64%,#c0df8b8c,transparent 64%)}
.mood-world[data-mood=bright] .cast-bright,.mood-world[data-mood=dreamy] .cast-dreamy,.mood-world[data-mood=balanced] .cast-balanced{opacity:.43}
.pedestal-hit{position:absolute;pointer-events:auto;z-index:0;background:transparent;border:0;border-radius:50%;padding:0}
.hit-bright{left:7.6%;top:77.6%;width:24.3%;height:11%}
.hit-dreamy{left:33.7%;top:80.3%;width:33%;height:13%}
.hit-balanced{left:68.5%;top:78%;width:29.6%;height:11.5%}
.pedestal-selector{z-index:1}
.live-mood-card{transition:left .65s cubic-bezier(.2,.7,.2,1),top .65s cubic-bezier(.2,.7,.2,1),width .65s,border-color .8s,box-shadow .8s;pointer-events:none}
.mood-world[data-mood=bright] .live-mood-card{left:1.2%;top:48.5%;width:12.6%}
.mood-world[data-mood=dreamy] .live-mood-card{left:58.4%;top:42.2%;width:12.8%}
.mood-world[data-mood=balanced] .live-mood-card{left:87.1%;top:49%;width:12.2%}
.mood-world.selection-feedback[data-mood=bright] .aura-bright,.mood-world.selection-feedback[data-mood=dreamy] .aura-dreamy,.mood-world.selection-feedback[data-mood=balanced] .aura-balanced{animation:selection-light 1.1s ease-out}
@keyframes selection-light{0%{opacity:.66;filter:blur(3px)}35%{opacity:1;filter:blur(2px) brightness(1.3)}100%{opacity:.66;filter:blur(3px)}}
.mood-world.selection-feedback .live-mood-card{box-shadow:inset 0 0 22px #fff2,0 0 28px color-mix(in srgb,var(--world-accent) 25%,transparent)}
@media(min-width:851px) and (max-width:1150px){.mood-world[data-mood=bright] .live-mood-card{left:.7%;width:13%}.mood-world[data-mood=balanced] .live-mood-card{left:86.8%;width:12.8%}.live-mood-card{padding:10px}.live-mood-card #mood-copy{font-size:.875rem}}
@media(max-width:850px){.mood-world[data-mood] .live-mood-card{position:relative;left:auto;top:auto;width:auto;max-height:none;margin:8px 5% 25px;pointer-events:auto}.greenery-depth,.world-particles,.canopy-light,.cafe-light-depth,.mood-cast{transform:none}.live-mood-card:before{content:'';position:absolute;top:-7px;left:var(--card-tip,50%);width:12px;height:12px;transform:rotate(45deg);border-left:1px solid var(--world-accent);border-top:1px solid var(--world-accent);background:#44334c;transition:left .65s}.mood-world[data-mood=bright]{--card-tip:16%}.mood-world[data-mood=dreamy]{--card-tip:50%}.mood-world[data-mood=balanced]{--card-tip:83%}}
@media(prefers-reduced-motion:reduce){.mood-world *{animation:none!important;transition:none!important}.greenery-depth,.world-particles,.canopy-light,.cafe-light-depth,.mood-cast,.environment-moon,.title-star{transform:none!important}}
/* Supplied logo: white type, original colored cup, compact proportions. */
.approved-nav .brand,footer .brand{width:185px;max-width:185px}
.compact-luna-logo{display:block;position:relative;width:100%;aspect-ratio:905/317;overflow:hidden}
.compact-luna-logo img,.approved-nav .brand .compact-luna-logo img,footer .brand .compact-luna-logo img{position:absolute;max-width:none;width:165.746%;height:125.868%;left:-32.486%;top:-15.142%;object-fit:fill}
.compact-luna-logo .logo-white-type{filter:brightness(0) invert(1);clip-path:inset(0 35.55% 0 0);pointer-events:none}
@media(max-width:850px){.approved-nav .brand{width:172px;max-width:172px}}
/* Hover is intentionally distinct from the already-selected mood. */
.mood-cup{pointer-events:auto}
.mood-world[data-preview=bright] .cup-bright{transform:scale(1.047);filter:brightness(1.105) drop-shadow(0 0 11px #ff9dbb66)}
.mood-world[data-preview=dreamy] .cup-dreamy{transform:scale(1.035);filter:brightness(1.105) drop-shadow(0 0 12px #d9b3ff70)}
.mood-world[data-preview=balanced] .cup-balanced{transform:scale(1.047);filter:brightness(1.1) drop-shadow(0 0 11px #d9edab66)}
@media(hover:hover){
.mood-world .cup-bright:hover{transform:scale(1.047);filter:brightness(1.105) drop-shadow(0 0 11px #ff9dbb66)}
.mood-world .cup-dreamy:hover{transform:scale(1.035);filter:brightness(1.105) drop-shadow(0 0 12px #d9b3ff70)}
.mood-world .cup-balanced:hover{transform:scale(1.047);filter:brightness(1.1) drop-shadow(0 0 11px #d9edab66)}
.scene-artwork:has(.cup-dreamy:hover) .aura-dreamy,.scene-artwork:has(.cup-bright:hover) .aura-bright,.scene-artwork:has(.cup-balanced:hover) .aura-balanced{opacity:1;filter:blur(3px) brightness(1.2)}
}
@media(prefers-reduced-motion:reduce){.mood-world .mood-cup{transform:none!important}}
