.lab{--lab-bg:#130a24;--lab-gold:#e6bc90;position:relative;isolation:isolate;min-height:100dvh;overflow:clip;background:radial-gradient(120% 60% at 100% 0,rgba(125,79,184,.45),transparent 60%),radial-gradient(90% 50% at 0 100%,rgba(182,133,88,.28),transparent 62%),var(--lab-bg);color:#fff}.lab-orb{position:absolute;z-index:-1;width:22rem;height:22rem;border-radius:9999px;background:radial-gradient(circle,var(--c,rgba(125,79,184,.55)) 0,transparent 66%);animation:lab-drift 16s ease-in-out infinite alternate;pointer-events:none}@keyframes lab-drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(-2.5rem,3rem,0) scale(1.18)}}.lab-glass{background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}.lab-title{background:linear-gradient(100deg,#fff 20%,var(--lab-gold,#e6bc90) 70%);-webkit-background-clip:text;background-clip:text;color:transparent}.lab-rise{animation:lab-rise .64s var(--ease-out,cubic-bezier(.22,1,.36,1)) both;animation-delay:var(--d,0s)}@keyframes lab-rise{0%{opacity:0;transform:translate3d(0,20px,0)}to{opacity:1;transform:none}}.lab-card{position:relative;display:block;overflow:hidden;border-radius:1.75rem;background:linear-gradient(155deg,rgba(255,255,255,.12),rgba(255,255,255,.04));box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 18px 40px rgba(0,0,0,.35);transition:transform .3s var(--ease-out,ease-out),box-shadow .3s ease}.lab-card:before{content:"";position:absolute;inset-inline-end:-3rem;top:-3rem;width:11rem;height:11rem;border-radius:9999px;background:radial-gradient(circle,var(--glow,#7d4fb8) 0,transparent 68%);opacity:.55;transition:opacity .4s ease,transform .6s var(--ease-out,ease-out)}.lab-card:active{transform:scale(.975)}.lab-card:focus-visible{outline:3px solid var(--lab-gold);outline-offset:3px}@media (hover:hover) and (pointer:fine){.lab-card:hover{transform:translate3d(0,-4px,0);box-shadow:inset 0 0 0 1px var(--glow,#7d4fb8),0 24px 48px rgba(0,0,0,.45)}.lab-card:hover:before{opacity:.9;transform:scale(1.25)}}.lab-bars span{display:block;height:.5rem;border-radius:9999px;background:var(--c);transform-origin:right center;animation:lab-bar 2.6s ease-in-out infinite alternate;animation-delay:var(--d,0s)}@keyframes lab-bar{0%{transform:scaleX(.25)}to{transform:scaleX(var(--w,.8))}}.lab-swatch{animation:lab-pop 3.2s ease-in-out infinite;animation-delay:var(--d,0s)}@keyframes lab-pop{0%,to{transform:scale(.88)}50%{transform:scale(1.06)}}.dna-photo{position:relative;display:block;width:100%;overflow:hidden;border-radius:1.75rem;box-shadow:0 16px 36px rgba(0,0,0,.4),inset 0 0 0 1px rgba(255,255,255,.14);transition:transform .36s var(--ease-out,ease-out),opacity .3s ease,box-shadow .3s ease;-webkit-tap-highlight-color:transparent}.dna-photo:active{transform:scale(.98)}.dna-photo.is-picked{transform:scale(1.025);box-shadow:0 0 0 3px var(--lab-gold),0 0 38px rgba(230,188,144,.55)}.dna-photo.is-dim{opacity:.3;transform:scale(.96)}.dna-photo__check{position:absolute;inset-inline-end:.8rem;top:.8rem;display:flex;height:2.6rem;width:2.6rem;align-items:center;justify-content:center;border-radius:9999px;background:var(--lab-gold);color:#1e1033;animation:upl-pop .3s cubic-bezier(.32,1.1,.5,1) both}.dna-enter{animation:dna-enter .52s var(--ease-out,cubic-bezier(.22,1,.36,1)) both;animation-delay:var(--d,0s)}@keyframes dna-enter{0%{opacity:0;transform:translate3d(0,28px,0) scale(.96)}to{opacity:1;transform:none}}.dna-bar{height:.7rem;overflow:hidden;border-radius:9999px;background:rgba(255,255,255,.1)}.dna-bar__fill{height:100%;border-radius:9999px;transform-origin:right center;transform:scaleX(0);animation:dna-fill 1.1s var(--ease-out,cubic-bezier(.22,1,.36,1)) forwards;animation-delay:var(--d,0s)}@keyframes dna-fill{to{transform:scaleX(var(--v,0))}}.lab-orbit{position:relative;width:8rem;height:8rem}.lab-orbit i{position:absolute;inset:0;border-radius:9999px;border:2px solid transparent;border-top:2px solid var(--c,#e6bc90);animation:upl-spin 1.4s linear infinite;animation-delay:var(--d,0s)}.lab-orbit i:nth-child(2){inset:.9rem;animation-duration:1s;animation-direction:reverse;border-top-color:#fff}.lab-orbit i:nth-child(3){inset:1.8rem;animation-duration:1.8s;border-top-color:#7d4fb8}.chat-in{animation:chat-in .36s var(--ease-out,cubic-bezier(.22,1,.36,1)) both}@keyframes chat-in{0%{opacity:0;transform:translate3d(0,14px,0) scale(.98)}to{opacity:1;transform:none}}.chat-avatar{position:relative;display:flex;height:2.75rem;width:2.75rem;align-items:center;justify-content:center;border-radius:9999px;background:radial-gradient(circle at 30% 25%,#e6bc90,#7d4fb8 70%);box-shadow:0 0 0 2px rgba(255,255,255,.2),0 0 24px rgba(125,79,184,.6)}.chat-avatar:after{content:"";position:absolute;inset:-5px;border-radius:9999px;border:2px solid rgba(230,188,144,.5);animation:chat-ping 2.4s ease-out infinite}@keyframes chat-ping{0%{transform:scale(.9);opacity:.9}to{transform:scale(1.35);opacity:0}}.chat-dots span{display:inline-block;height:.45rem;width:.45rem;margin-inline:2px;border-radius:9999px;background:#e6bc90;animation:typing-dot 1s ease-in-out infinite}.chat-dots span:nth-child(2){animation-delay:.15s}.chat-dots span:nth-child(3){animation-delay:.3s}@media (prefers-reduced-motion:reduce){.chat-avatar:after,.chat-dots span,.lab-bars span,.lab-orb,.lab-orbit i,.lab-swatch{animation:none}.lab-bars span{transform:scaleX(var(--w,.8))}.chat-in,.dna-enter,.lab-rise{animation:none}.dna-bar__fill{animation:none;transform:scaleX(var(--v,0))}.dna-photo,.lab-card{transition:none}}