@tailwind base;@tailwind components;@tailwind utilities;*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.transition-all{transition:all .3s ease}.gradient-bg{background:linear-gradient(135deg,#667eea,#764ba2)}.gradient-bg-light{background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.glass{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff40;border:1px solid #ffffff2e}@keyframes bounce-subtle{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}33%{transform:translateY(-10px) rotate(2deg)}66%{transform:translateY(-5px) rotate(-1deg)}}@keyframes float-slow{0%,to{transform:translateY(0) translateX(0) rotate(0deg)}25%{transform:translateY(-20px) translateX(10px) rotate(5deg)}50%{transform:translateY(-10px) translateX(-10px) rotate(-5deg)}75%{transform:translateY(-15px) translateX(5px) rotate(3deg)}}@keyframes moleculeFloat{0%{opacity:.1;transform:translateY(0) rotate(0deg)}50%{opacity:.3;transform:translateY(-20px) rotate(180deg)}to{opacity:0;transform:translateY(-40px) rotate(1turn)}}@keyframes dnaFlow{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px #4f46e54d}50%{box-shadow:0 0 20px #4f46e599}}@keyframes sparkle{0%,to{opacity:0;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes editorSlideInLeft{0%{opacity:0;transform:translateX(-100%) scale(.9)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes editorSlideInRight{0%{opacity:0;transform:translateX(100%) scale(.9)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes editorSlideInTop{0%{opacity:0;transform:translateY(-100%) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes editorSlideInBottom{0%{opacity:0;transform:translateY(100%) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes canvasReveal{0%{filter:blur(10px);opacity:0;transform:scale(.8) rotateY(-15deg)}50%{filter:blur(2px);opacity:.7;transform:scale(.95) rotateY(-5deg)}to{filter:blur(0);opacity:1;transform:scale(1) rotateY(0deg)}}@keyframes toolbarSpring{0%{opacity:0;transform:translateY(-50px) scale(.8)}70%{opacity:1;transform:translateY(5px) scale(1.05)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes panelExpand{0%{opacity:0;transform:scaleX(0) scaleY(.8);transform-origin:center left}60%{opacity:.8;transform:scaleX(1.1) scaleY(1.05)}to{opacity:1;transform:scaleX(1) scaleY(1)}}@keyframes welcomeParticle{0%{opacity:0;transform:scale(0) rotate(0deg)}10%{opacity:1;transform:scale(1) rotate(36deg)}90%{opacity:1;transform:scale(1) rotate(324deg)}to{opacity:0;transform:scale(0) rotate(1turn)}}@keyframes logoSpin{0%{opacity:0;transform:scale(.8) rotate(0deg)}30%{opacity:1;transform:scale(1.05) rotate(90deg)}60%{opacity:1;transform:scale(.98) rotate(135deg)}to{opacity:1;transform:scale(1) rotate(180deg)}}@keyframes iconPopIn{0%{opacity:0;transform:scale(0) rotate(-180deg)}50%{opacity:.8;transform:scale(1.2) rotate(-90deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}@keyframes iconSlideUp{0%{opacity:0;transform:translateY(20px) scale(.8)}60%{opacity:1;transform:translateY(-2px) scale(1.05)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes iconBounceIn{0%{opacity:0;transform:scale(.3) rotate(-10deg)}50%{opacity:1;transform:scale(1.1) rotate(5deg)}70%{opacity:1;transform:scale(.9) rotate(-2deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}@keyframes breathingGlow{0%,to{box-shadow:0 0 20px #6366f14d}50%{box-shadow:0 0 40px #6366f1b3}}@keyframes rippleEffect{0%{opacity:1;transform:scale(0)}to{opacity:0;transform:scale(4)}}.animate-editor-slide-in-left{animation:editorSlideInLeft .5s cubic-bezier(.23,1,.32,1) forwards;opacity:0;transform:translateX(-100%) scale(.9)}.animate-editor-slide-in-right{animation:editorSlideInRight .5s cubic-bezier(.23,1,.32,1) forwards;opacity:0;transform:translateX(100%) scale(.9)}.animate-editor-slide-in-top{animation:editorSlideInTop .4s cubic-bezier(.23,1,.32,1) forwards;opacity:0;transform:translateY(-100%) scale(.95)}.animate-editor-slide-in-bottom{animation:editorSlideInBottom .4s cubic-bezier(.23,1,.32,1) forwards;opacity:0;transform:translateY(100%) scale(.95)}.animate-canvas-reveal{animation:canvasReveal .8s cubic-bezier(.23,1,.32,1) forwards;filter:blur(10px);opacity:0;transform:scale(.8) rotateY(-15deg)}.animate-toolbar-spring{animation:toolbarSpring .6s cubic-bezier(.68,-.55,.265,1.55) forwards;opacity:0;transform:translateY(-50px) scale(.8)}.animate-panel-expand{animation:panelExpand .5s cubic-bezier(.68,-.55,.265,1.55) forwards;opacity:0;transform:scaleX(0) scaleY(.8);transform-origin:center left}.animate-welcome-particle{animation:welcomeParticle 2s ease-in-out infinite}.animate-logo-spin{animation:logoSpin 1.2s cubic-bezier(.68,-.55,.265,1.55) forwards;opacity:0;transform:scale(.5) rotate(0deg)}.animate-icon-pop-in{animation:iconPopIn .6s cubic-bezier(.68,-.55,.265,1.55) forwards;opacity:0;transform:scale(0) rotate(-180deg)}.animate-icon-slide-up{animation:iconSlideUp .5s cubic-bezier(.23,1,.32,1) forwards;opacity:0;transform:translateY(20px) scale(.8)}.animate-icon-bounce-in{animation:iconBounceIn .7s cubic-bezier(.68,-.55,.265,1.55) forwards;opacity:0;transform:scale(.3) rotate(-10deg)}.animate-ripple{animation:rippleEffect .6s ease-out}.animate-fadeInUp{animation:fadeInUp .8s ease-out}.animate-bounce-subtle{animation:bounce-subtle 3s ease-in-out infinite}.animate-float{animation:float 6s ease-in-out infinite}.animate-float-slow{animation:float-slow 20s ease-in-out infinite}.animate-pulse-slow{animation:pulse-slow 4s ease-in-out infinite}.animate-molecule-float{animation:moleculeFloat 15s linear infinite}.animate-dna-flow{stroke-dasharray:10 5;animation:dnaFlow 3s ease-in-out infinite}.animate-pulse-glow{animation:pulse-glow 2s ease-in-out infinite}.animate-sparkle{animation:sparkle 1.5s ease-in-out infinite}.animate-slideInUp{animation:slideInUp .4s ease-out}.animate-delay-75{animation-delay:75ms}.animate-delay-150{animation-delay:.15s}.animate-delay-300{animation-delay:.3s}.animate-delay-500{animation-delay:.5s}.animate-delay-700{animation-delay:.7s}.animate-delay-1000{animation-delay:1s}.animate-delay-1200{animation-delay:1.2s}.animate-delay-1500{animation-delay:1.5s}.bg-science-gradient{background:linear-gradient(135deg,#667eea,#764ba2)}.bg-dna-gradient{background:linear-gradient(45deg,#4facfe,#00f2fe)}.bg-cell-gradient{background:linear-gradient(135deg,#fa709a,#fee140)}.hover-lift{transition:all .3s ease}.hover-lift:hover{box-shadow:0 10px 25px #0000001a;transform:translateY(-5px)}.glow-border{overflow:hidden;position:relative}.glow-border:before{background:linear-gradient(45deg,#667eea,#764ba2,#4facfe,#00f2fe);border-radius:inherit;bottom:-2px;content:"";left:-2px;opacity:0;position:absolute;right:-2px;top:-2px;transition:opacity .3s ease;z-index:-1}.glow-border:hover:before{opacity:1}.backdrop-blur-enhanced{backdrop-filter:blur(10px) saturate(150%);-webkit-backdrop-filter:blur(10px) saturate(150%)}.loading-dots{display:inline-block;height:80px;position:relative;width:80px}.loading-dots div{animation-timing-function:cubic-bezier(0,1,1,0);background:#4f46e5;border-radius:50%;height:13px;position:absolute;top:33px;width:13px}.loading-dots div:first-child{animation:lds-ellipsis1 .6s infinite;left:8px}.loading-dots div:nth-child(2){animation:lds-ellipsis2 .6s infinite;left:8px}.loading-dots div:nth-child(3){animation:lds-ellipsis2 .6s infinite;left:32px}.loading-dots div:nth-child(4){animation:lds-ellipsis3 .6s infinite;left:56px}@keyframes lds-ellipsis1{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes lds-ellipsis3{0%{transform:scale(1)}to{transform:scale(0)}}@keyframes lds-ellipsis2{0%{transform:translate(0)}to{transform:translate(24px)}}.welcome-particles{bottom:0;left:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0}.welcome-particle{background:linear-gradient(45deg,#667eea,#764ba2);border-radius:50%;height:4px;position:absolute;width:4px}.canvas-loading{overflow:hidden;position:relative}.canvas-loading:before{animation:shimmer 2s linear infinite;background:linear-gradient(45deg,#0000,#6366f11a,#0000);content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%;z-index:1}@media (max-width:768px){.animate-fadeInUp{animation-duration:.6s}.science-bg-element{opacity:.3!important;transform:scale(.8)}.animate-editor-slide-in-left,.animate-editor-slide-in-right{animation-duration:.6s}.animate-toolbar-spring{animation-duration:.8s}}@media (prefers-contrast:high){.bg-gradient-to-br,.bg-gradient-to-r{background:#fff;border:2px solid #000;color:#000}}@media (prefers-reduced-motion:reduce){.animate-bounce,.animate-bounce-subtle,.animate-breathing-glow,.animate-canvas-reveal,.animate-editor-slide-in-bottom,.animate-editor-slide-in-left,.animate-editor-slide-in-right,.animate-editor-slide-in-top,.animate-fadeInUp,.animate-float,.animate-logo-spin,.animate-molecule-float,.animate-panel-expand,.animate-pulse,.animate-spin,.animate-toolbar-spring,.animate-welcome-particle{animation:none}.transition-all,.transition-colors,.transition-transform{transition:none}}.icon-library svg{display:block;height:auto;margin:auto;max-height:100%;max-width:100%;width:auto}.editor-shell{background:radial-gradient(1200px 600px at 10% -10%,#6366f10f,#0000 60%),radial-gradient(1000px 500px at 110% 10%,#a855f70d,#0000 60%),#f8fafc}.editor-surface{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 24px #0206170f}.editor-surface--glass{backdrop-filter:blur(10px) saturate(135%);-webkit-backdrop-filter:blur(10px) saturate(135%);background:#ffffffbf;border:1px solid #e2e8f0cc;border-radius:14px;box-shadow:0 10px 30px #02061714}.editor-divider{background:linear-gradient(90deg,#0000,#cbd5e1e6,#0000);height:1px}.editor-header{background:linear-gradient(180deg,#fff,#fbfbff);border-bottom:1px solid #e5e7eb}.editor-header--compact{padding-bottom:6px!important;padding-top:6px!important}.editor-panel{background:#fff;border-color:#e5e7eb}.editor-panel-title{color:#111827;font-weight:600}.editor-canvas{background:#0000;border:1px solid #e5e7eb;border-radius:14px;box-shadow:inset 0 1px 0 #fffc,0 8px 20px #0206170a}.editor-canvas--subtle-grid{background-image:linear-gradient(#f3f4f6 1px,#0000 0),linear-gradient(90deg,#f3f4f6 1px,#0000 0);background-position:-1px -1px;background-size:24px 24px,24px 24px}.editor-badge{background:linear-gradient(180deg,#6366f11f,#6366f10d);border:1px solid #6366f140;border-radius:10px;color:#3730a3}.editor-control{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 6px 14px #0206170f}.editor-icon-btn{align-items:center;border-radius:8px;color:#111827;display:inline-flex;height:34px;justify-content:center;transition:all .15s ease;width:34px}.editor-icon-btn:hover{background:#f3f4f6;transform:translateY(-1px)}.editor-icon-btn.is-active{background:#6366f11f;border:1px solid #6366f140;color:#4338ca}.icon-btn--sm{border-radius:8px;height:28px;width:28px}.editor-float{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 28px #0206171a}.btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;color:#111827;display:inline-flex;font-size:.875rem;font-weight:600;justify-content:center;padding:.5rem .875rem;transition:all .15s ease}.btn:hover{background:#f3f4f6;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{cursor:not-allowed;opacity:.55}.btn--primary{background:linear-gradient(180deg,#6366f1,#4f46e5);border-color:#4f46e5b3;color:#fff}.btn--primary:hover{filter:brightness(1.05)}.btn--success{background:linear-gradient(180deg,#22c55e,#16a34a);border-color:#22c55eb3;color:#fff}.btn--warning{background:linear-gradient(180deg,#f59e0b,#d97706);border-color:#f59e0bb3;color:#fff}.btn--purple{background:linear-gradient(180deg,#a855f7,#7c3aed);border-color:#7c3aedb3;color:#fff}.icon-btn{align-items:center;border-radius:8px;color:#111827;display:inline-flex;height:34px;justify-content:center;transition:all .15s ease;width:34px}.icon-btn:hover{background:#f3f4f6;transform:translateY(-1px)}.icon-btn.is-active{background:#6366f11f;border:1px solid #6366f140;color:#4338ca}.btn--sm{border-radius:8px;font-size:.8125rem;padding:.375rem .6rem}.assembly-promo{background:linear-gradient(135deg,#ffedd5,#fff7ed 30%,#fff 90%);border:1px solid #fed7aa;border-radius:14px;box-shadow:0 12px 30px #f59e0b26,0 6px 14px #0206170f;position:relative}.assembly-promo.is-floating{bottom:16px;left:16px;position:fixed;z-index:40}.assembly-promo__title{color:#7c2d12}.assembly-promo__text{color:#9a3412}.assembly-promo__close{color:#f59e0b}.toast{backdrop-filter:blur(6px) saturate(140%);-webkit-backdrop-filter:blur(6px) saturate(140%);border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 12px 28px #02061726;max-width:420px;min-width:260px;padding:10px 14px;will-change:transform,opacity}.toast--info{background:linear-gradient(180deg,#eef2ff,#fff);border-color:#e0e7ff;color:#1f2937}.toast--success{background:linear-gradient(180deg,#ecfdf5,#fff);border-color:#a7f3d0;color:#065f46}.toast--error{background:linear-gradient(180deg,#fef2f2,#fff);border-color:#fecaca;color:#7f1d1d}@keyframes toastIn{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.toast-out{animation:toastOut .26s cubic-bezier(.22,1,.36,1) forwards}@keyframes toastOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-8px) scale(.98)}}@keyframes toastPresence{0%{opacity:0;transform:translateY(-8px) scale(.98)}10%{opacity:1;transform:translateY(0) scale(1)}85%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-8px) scale(.98)}}.toast--auto{animation:toastPresence 2.8s cubic-bezier(.22,1,.36,1) forwards}.toast-container{left:50%;pointer-events:none;position:fixed;top:10px;transform:translateX(-50%);z-index:70}.toast-container>.toast{margin-top:8px;pointer-events:auto}.panel-tabs{display:flex;gap:6px;padding:8px}.panel-tab{background:#fff;border:1px solid #e5e7eb;border-radius:10px;color:#374151;flex:1 1;font-size:.875rem;font-weight:600;padding:8px 10px;transition:all .15s ease}.panel-tab:hover{background:#f3f4f6}.panel-tab--active{background:#6366f11a;border-color:#6366f14d;color:#4338ca}.panel-section{padding:10px 12px}.panel-card{background:none;border:0;border-radius:0;box-shadow:none}.panel-scroll{overflow-y:auto;overscroll-behavior:contain}.quicktip-pill{align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:9999px;box-shadow:none;color:#374151;display:inline-flex;gap:6px;padding:4px 8px}.editor-toggle-on{background:#6366f11f;color:#4338ca}.editor-toggle-off{background:#fff}.pill{align-items:center;border-radius:9999px;display:inline-flex;font-size:12px;font-weight:600;padding:2px 8px}@media (max-width:1024px){.editor-shell{background:#f8fafc}}[data-icon-container] svg{display:block;height:auto;margin:auto;max-height:100%;max-width:100%;width:auto}.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-2{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-3{-webkit-box-orient:vertical;-webkit-line-clamp:3;display:-webkit-box;overflow:hidden}@keyframes tagPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.tag-hover:hover{animation:tagPulse .3s ease-in-out}.tag-gradient-cell{background:linear-gradient(135deg,#10b981,#34d399)}.tag-gradient-molecular{background:linear-gradient(135deg,#3b82f6,#60a5fa)}.tag-gradient-biochemistry{background:linear-gradient(135deg,#8b5cf6,#a78bfa)}.tag-gradient-anatomy{background:linear-gradient(135deg,#ef4444,#f87171)}.community-work-card{transition:all .3s cubic-bezier(.4,0,.2,1)}.community-work-card:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transform:translateY(-4px) scale(1.02)}@keyframes filterExpand{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.filter-panel{animation:filterExpand .2s ease-out}.skeleton{animation:skeleton-loading 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.tag-button{transition:all .2s cubic-bezier(.4,0,.2,1)}.tag-button:hover{box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-1px)}.tag-button.selected{animation:tagSelect .3s ease-out}@keyframes tagSelect{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1.05)}}@media (max-width:640px){.tag-button{font-size:.75rem;padding:.25rem .5rem}.community-work-card:hover{transform:translateY(-2px) scale(1.01)}}.slider{background:linear-gradient(90deg,#4f46e5 0,#4f46e5 60%,#e5e7eb 0,#e5e7eb);background:linear-gradient(to right,#4f46e5 0,#4f46e5 var(--value,60%),#e5e7eb var(--value,60%),#e5e7eb 100%)}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#4f46e5;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 3px #0000001a;cursor:pointer;height:12px;-webkit-transition:all .2s ease;transition:all .2s ease;width:12px}.slider::-webkit-slider-thumb:hover{background:#3730a3;box-shadow:0 2px 6px #0003;transform:scale(1.1)}.slider:disabled{cursor:not-allowed;opacity:.5}.slider:disabled::-webkit-slider-thumb{background:#9ca3af;cursor:not-allowed}.slider::-moz-range-thumb{background:#4f46e5;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 3px #0000001a;cursor:pointer;height:12px;-moz-transition:all .2s ease;transition:all .2s ease;width:12px}.slider::-moz-range-thumb:hover{background:#3730a3;box-shadow:0 2px 6px #0003;transform:scale(1.1)}.slider::-moz-range-track{background:#e5e7eb;border-radius:2px;height:4px}.prop-range{-webkit-appearance:none;appearance:none;background:#e5e7eb;border-radius:2px;height:4px;width:100%}.prop-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#4f46e5;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 3px #02061740;cursor:pointer;height:14px;width:14px}.prop-range::-moz-range-thumb{background:#4f46e5;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 3px #02061740;cursor:pointer;height:14px;width:14px}.prop-color{border:1px solid #d1d5db;border-radius:8px;height:2rem;padding:0;width:2.5rem}@keyframes soundPulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.sound-active{animation:soundPulse .2s ease-out}.canvas-grid-background{background-image:linear-gradient(#c8c8c826 1px,#0000 0),linear-gradient(90deg,#c8c8c826 1px,#0000 0);background-position:0 0,0 0;background-size:20px 20px}.canvas-grid-background-subtle{background-image:linear-gradient(#dcdcdc1a 1px,#0000 0),linear-gradient(90deg,#dcdcdc1a 1px,#0000 0);background-position:0 0,0 0;background-size:20px 20px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fadeInUp{animation:fadeInUp .4s ease-out forwards}.animate-slideDown{animation:slideDown .3s ease-out forwards}.animate-scaleIn{animation:scaleIn .3s ease-out forwards}.animate-fadeIn{animation:fadeIn .3s ease-out forwards}.scrollbar-thin::-webkit-scrollbar{height:4px;width:4px}.scrollbar-thumb-indigo-300::-webkit-scrollbar-thumb{background-color:#a5b4fc;border-radius:2px}.scrollbar-track-transparent::-webkit-scrollbar-track{background-color:initial}@keyframes iconExpandedPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.95;transform:scale(1.02)}}@keyframes iconExpandedSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes iconExpandedFadeIn{0%{opacity:0}to{opacity:1}}@keyframes favoriteHeartBeat{0%,to{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(.95)}75%{transform:scale(1.05)}}.icon-expanded-item{animation:iconExpandedSlideIn .4s cubic-bezier(.34,1.56,.64,1) forwards;opacity:0}.icon-expanded-item:hover .favorite-button{animation:favoriteHeartBeat .6s ease-in-out}.icon-expanded-item:hover{transform:translateY(-4px) scale(1.03)}.icon-expanded-item:active{transform:translateY(-2px) scale(1.01);transition-duration:.1s}.icon-library-gradient-bg{animation:gradientShift 15s ease infinite;background:linear-gradient(135deg,#f8fafc,#f1f5f9 25%,#e0e7ff 50%,#f8fafc 75%,#fdf4ff);background-size:400% 400%}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.favorite-badge{animation:iconExpandedPulse 2s ease-in-out infinite}.recent-badge{animation:iconExpandedPulse 2.5s ease-in-out infinite;animation-delay:.5s}.filter-tag-selected{animation:tagBounce .4s cubic-bezier(.68,-.55,.265,1.55)}@keyframes tagBounce{0%{transform:scale(1)}50%{transform:scale(1.15) rotate(2deg)}to{transform:scale(1.05) rotate(0deg)}}.icon-library-empty-state{animation:iconExpandedFadeIn .6s ease-out}.icon-library-backdrop{backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%)}.z-\[9999\]{z-index:9999}@media (min-width:1920px){.grid-cols-14{grid-template-columns:repeat(14,minmax(0,1fr))}}@media (min-width:2560px){.grid-cols-16{grid-template-columns:repeat(16,minmax(0,1fr))}.grid-cols-18{grid-template-columns:repeat(18,minmax(0,1fr))}}.icon-search-focus:focus{box-shadow:0 0 0 4px #6366f11a,0 1px 3px #0000001a}.icon-library-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}.icon-tooltip{animation:tooltipSlideUp .2s ease-out}@keyframes tooltipSlideUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.favorite-btn:hover{animation:favoriteHeartBeat .4s ease-in-out}@keyframes iconShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.icon-loading-shimmer{animation:iconShimmer 1.5s infinite;background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 50%,#f3f4f6 75%);background-size:200% 100%}.category-badge{transition:all .2s ease}.category-badge:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.icon-modal-backdrop{background:radial-gradient(ellipse at top,#6366f126,#0000 60%),radial-gradient(ellipse at bottom,#a855f71f,#0000 60%),#0f172af2}@keyframes gradient-shift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.animate-gradient-shift{animation:gradient-shift 8s ease infinite;background-size:400% 400%}@keyframes float-particle{0%,to{opacity:0;transform:translateY(0) translateX(0) scale(1)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(-100vh) translateX(0) scale(.5);transform:translateY(-100vh) translateX(calc(-50px + 100px*var(--random, .5))) scale(.5)}}.animate-float-particle{animation:float-particle 4s ease-in-out infinite}@keyframes spin-slow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-spin-slow{animation:spin-slow 20s linear infinite}@keyframes pulse-slow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.animate-pulse-slow{animation:pulse-slow 2s ease-in-out infinite}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.animate-shimmer{animation:shimmer 2s ease-in-out infinite}@keyframes icon-slide-in-left{0%{opacity:0;transform:translateX(-100px) scale(.8)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes icon-slide-in-right{0%{opacity:0;transform:translateX(100px) scale(.8)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes icon-slide-out-left{0%{opacity:1;transform:translateX(0) scale(1)}to{opacity:0;transform:translateX(-100px) scale(.8)}}@keyframes icon-slide-out-right{0%{opacity:1;transform:translateX(0) scale(1)}to{opacity:0;transform:translateX(100px) scale(.8)}}@keyframes page-fade-in{0%{opacity:0;transform:scale(.98) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.animate-page-fade-in{animation:page-fade-in .6s cubic-bezier(.16,1,.3,1) forwards}@keyframes overlay-enter{0%{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);opacity:0}to{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);opacity:1}}@keyframes overlay-exit{0%{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);opacity:1}to{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);opacity:0}}.transition-overlay-enter{animation:overlay-enter .4s ease-out forwards}.transition-overlay-exit{animation:overlay-exit .4s ease-in forwards}@keyframes content-morph{0%{border-radius:0;transform:scale(1) rotate(0deg)}50%{border-radius:20px;transform:scale(.9) rotate(2deg)}to{border-radius:0;transform:scale(1) rotate(0deg)}}.animate-content-morph{animation:content-morph 1.5s cubic-bezier(.68,-.55,.265,1.55)}@keyframes sparkle-burst{0%{opacity:0;transform:scale(0) rotate(0deg)}50%{opacity:1;transform:scale(1.5) rotate(180deg)}to{opacity:0;transform:scale(.5) rotate(1turn)}}.animate-sparkle-burst{animation:sparkle-burst 1s ease-out}.page-transition-wrapper{animation:page-fade-in .5s ease-out}@media (prefers-reduced-motion:reduce){.animate-content-morph,.animate-float-particle,.animate-gradient-shift,.animate-pulse-slow,.animate-shimmer,.animate-sparkle-burst,.animate-spin-slow{animation:none}.page-transition-wrapper{animation:none;opacity:1}}.transition-trigger-button{overflow:hidden;position:relative}.transition-trigger-button:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.transition-trigger-button:hover:before{height:300px;width:300px}.transition-loading{position:relative}.transition-loading:after{animation:loading-sweep 1.5s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff1a,#0000);content:"";inset:0;position:absolute}@keyframes loading-sweep{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.bg-grid-pattern{background-image:linear-gradient(45deg,#e0e7ff 25%,#0000 0),linear-gradient(-45deg,#e0e7ff 25%,#0000 0),linear-gradient(45deg,#0000 75%,#e0e7ff 0),linear-gradient(-45deg,#0000 75%,#e0e7ff 0);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}.icon-library-item{-webkit-backface-visibility:hidden;backface-visibility:hidden;contain:layout style;transform:translateZ(0)}.icon-library-item img{transform:translateZ(0);will-change:transform}@keyframes previewSlideIn{0%{opacity:0;transform:translateX(-10px) scale(.95)}to{opacity:1;transform:translateX(0) scale(1)}}.animate-in{animation:previewSlideIn .2s cubic-bezier(.16,1,.3,1)}.icon-img{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;will-change:transform}.category-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}.icon-scrollbar::-webkit-scrollbar{height:8px;width:8px}.icon-scrollbar::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.icon-scrollbar::-webkit-scrollbar-thumb{background:#a5b4fc;border-radius:4px;-webkit-transition:background .2s;transition:background .2s}.icon-scrollbar::-webkit-scrollbar-thumb:hover{background:#818cf8}.icon-preview-shadow{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a,0 0 0 1px #6366f11a}@media (min-width:2560px){.grid-cols-16{grid-template-columns:repeat(16,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.icon-library-item{animation:none!important;transition:none!important}.animate-in{animation:none}}@-webkit-keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size:12px;--rc-drag-handle-mobile-size:24px;--rc-drag-handle-bg-colour:#0003;--rc-drag-bar-size:6px;--rc-border-color:#ffffffb3;--rc-focus-color:#08f}.ReactCrop{cursor:crosshair;display:inline-block;max-width:100%;position:relative}.ReactCrop *,.ReactCrop :after,.ReactCrop :before{-webkit-box-sizing:border-box;box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{max-height:inherit;overflow:hidden}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-height:inherit;max-width:100%}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{-ms-touch-action:none;touch-action:none}.ReactCrop__crop-mask{bottom:0;height:calc(100% + .5px);left:0;pointer-events:none;position:absolute;right:0;top:0;width:calc(100% + .5px)}.ReactCrop__crop-selection{cursor:move;left:0;position:absolute;top:0;-webkit-transform:translateZ(0);transform:translateZ(0)}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{border:1px solid #ffffffb3;border:1px solid var(--rc-border-color);bottom:-1px;content:"";left:-1px;opacity:.3;pointer-events:none;position:absolute;right:-1px;top:-1px}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed #fff}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){-webkit-animation:marching-ants 1s;animation:marching-ants 1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-play-state:running;animation-play-state:running;-webkit-animation-timing-function:linear;animation-timing-function:linear;background-image:-webkit-gradient(linear,left top,right top,color-stop(50%,#fff),color-stop(50%,#444)),-webkit-gradient(linear,left top,right top,color-stop(50%,#fff),color-stop(50%,#444)),-webkit-gradient(linear,left top,left bottom,color-stop(50%,#fff),color-stop(50%,#444)),-webkit-gradient(linear,left top,left bottom,color-stop(50%,#fff),color-stop(50%,#444));background-image:linear-gradient(90deg,#fff 50%,#444 0),linear-gradient(90deg,#fff 50%,#444 0),linear-gradient(180deg,#fff 50%,#444 0),linear-gradient(180deg,#fff 50%,#444 0);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:10px 1px,10px 1px,1px 10px,1px 10px;color:#fff}.ReactCrop__crop-selection:focus{outline:2px solid #08f;outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-hz:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-vt:before{background-color:#fff6;content:"";display:block;position:absolute}.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-vt:before{height:100%;width:1px}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:after,.ReactCrop__rule-of-thirds-hz:before{height:1px;width:100%}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{background-color:#0003;background-color:var(--rc-drag-handle-bg-colour);border:1px solid #ffffffb3;border:1px solid var(--rc-border-color);height:12px;height:var(--rc-drag-handle-size);position:absolute;width:12px;width:var(--rc-drag-handle-size)}.ReactCrop__drag-handle:focus{background:#08f;background:var(--rc-focus-color)}.ReactCrop .ord-nw{cursor:nw-resize;left:0}.ReactCrop .ord-n,.ReactCrop .ord-nw{top:0;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ReactCrop .ord-n{cursor:n-resize;left:50%}.ReactCrop .ord-ne{cursor:ne-resize;top:0}.ReactCrop .ord-e,.ReactCrop .ord-ne{right:0;-webkit-transform:translate(50%,-50%);transform:translate(50%,-50%)}.ReactCrop .ord-e{cursor:e-resize;top:50%}.ReactCrop .ord-se{bottom:0;cursor:se-resize;right:0;-webkit-transform:translate(50%,50%);transform:translate(50%,50%)}.ReactCrop .ord-s{cursor:s-resize;left:50%}.ReactCrop .ord-s,.ReactCrop .ord-sw{bottom:0;-webkit-transform:translate(-50%,50%);transform:translate(-50%,50%)}.ReactCrop .ord-sw{cursor:sw-resize;left:0}.ReactCrop .ord-w{cursor:w-resize;left:0;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{height:6px;height:var(--rc-drag-bar-size);left:0;top:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:100%}.ReactCrop__drag-bar.ord-e{height:100%;right:0;top:0;-webkit-transform:translate(50%);transform:translate(50%);width:6px;width:var(--rc-drag-bar-size)}.ReactCrop__drag-bar.ord-s{bottom:0;height:6px;height:var(--rc-drag-bar-size);left:0;-webkit-transform:translateY(50%);transform:translateY(50%);width:100%}.ReactCrop__drag-bar.ord-w{height:100%;left:0;top:0;-webkit-transform:translate(-50%);transform:translate(-50%);width:6px;width:var(--rc-drag-bar-size)}.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w,.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle{display:none}@media (pointer:coarse){.ReactCrop .ord-e,.ReactCrop .ord-n,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{height:24px;height:var(--rc-drag-handle-mobile-size);width:24px;width:var(--rc-drag-handle-mobile-size)}}