@keyframes shimmer{0%{transform:translate(-100%)}50%{transform:translate(100%)}to{transform:translate(100%)}}.custom-scrollbar::-webkit-scrollbar{width:8px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:#27272a;border-radius:4px;border:2px solid transparent;background-clip:padding-box}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#3f3f46;border:2px solid transparent;background-clip:padding-box}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:#27272a transparent}@property --ai-shimmer-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.ai-shimmer-ring{position:relative}.ai-shimmer-ring:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:conic-gradient(from var(--ai-shimmer-angle),rgba(255,255,255,.05) 0deg,rgba(255,255,255,.05) 20deg,rgba(255,255,255,.11) 60deg,rgba(255,255,255,.05) 100deg,rgba(255,255,255,.05) 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;animation:ai-shimmer-spin 5s linear infinite;pointer-events:none}@keyframes ai-shimmer-spin{to{--ai-shimmer-angle: 360deg}}@media(prefers-reduced-motion:reduce){.ai-shimmer-ring:before{animation:none}}@keyframes hero-orb-a{0%{transform:translateZ(0) scale(1)}25%{transform:translate3d(70px,30px,0) scale(1.12)}50%{transform:translate3d(30px,80px,0) scale(1.02)}75%{transform:translate3d(-50px,40px,0) scale(.94)}to{transform:translateZ(0) scale(1)}}@keyframes hero-orb-b{0%{transform:translateZ(0) scale(1)}25%{transform:translate3d(-80px,40px,0) scale(1.1)}50%{transform:translate3d(-30px,-50px,0) scale(1.2)}75%{transform:translate3d(60px,-20px,0) scale(1.06)}to{transform:translateZ(0) scale(1)}}@keyframes hero-orb-c{0%{transform:translateZ(0) scale(1)}25%{transform:translate3d(-60px,60px,0) scale(.96)}50%{transform:translate3d(-100px,0,0) scale(1.14)}75%{transform:translate3d(-40px,-50px,0) scale(1.04)}to{transform:translateZ(0) scale(1)}}@keyframes hero-orb-d{0%{transform:translateZ(0) scale(1)}25%{transform:translate3d(50px,-60px,0) scale(1.18)}50%{transform:translate3d(90px,20px,0) scale(1.08)}75%{transform:translate3d(20px,70px,0) scale(.95)}to{transform:translateZ(0) scale(1)}}.hero-orb{will-change:transform}@media(prefers-reduced-motion:reduce){.hero-orb{animation:none!important}}.hero-composer{background:linear-gradient(115deg,#ffffff0f,#ffffff04 40%,#fff0 70%),#0c0c0c6b;box-shadow:inset 0 1px #ffffff0f;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:box-shadow .2s ease,background .2s ease}.hero-composer:focus-within,.hero-composer[data-dragarmed=true],.hero-composer[data-dragover=true]{background:linear-gradient(115deg,#ffffff1a,#ffffff0a 40%,#ffffff03 70%),#12121280;box-shadow:inset 0 1px #ffffff1f,0 0 40px -10px #b05c9659}.hero-composer:focus-within:before,.hero-composer[data-dragarmed=true]:before,.hero-composer[data-dragover=true]:before{background:conic-gradient(from var(--ai-shimmer-angle),rgba(255,255,255,.14) 0deg,rgba(255,255,255,.14) 20deg,rgba(255,255,255,.34) 60deg,rgba(255,255,255,.14) 100deg,rgba(255,255,255,.14) 360deg)}.hero-composer[data-dragarmed=true]{outline:1.5px dashed rgba(230,168,208,.55);outline-offset:5px;animation:hero-drop-breathe 1.6s ease-in-out infinite}.hero-composer[data-dragover=true]{box-shadow:inset 0 1px #ffffff2e,0 0 60px -8px #e6a8d08c}@keyframes hero-drop-breathe{50%{outline-color:#e6a8d0f2;outline-offset:7px}}@media(prefers-reduced-motion:reduce){.hero-composer[data-dragarmed=true]{animation:none;outline-color:#e6a8d0d9}}@keyframes toast-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@keyframes toast-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(6px) scale(.98)}}.toast-in{animation:toast-in .22s cubic-bezier(.2,.9,.3,1) both}.toast-out{animation:toast-out .16s ease-in both}@media(prefers-reduced-motion:reduce){.toast-in,.toast-out{animation-duration:1ms}}:root[data-reduce-motion] *,:root[data-reduce-motion] *:before,:root[data-reduce-motion] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}@keyframes create-hint-nudge{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.create-hint-arrow{animation:create-hint-nudge 1.1s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.create-hint-arrow{animation:none}}
