.custom-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:.5rem;padding:1rem;transition:all .2s}.dark .custom-card{background-color:#0f172a;border-color:#334155}.custom-card-success{background-color:#f0fdf4;border-color:#bbf7d0}.dark .custom-card-success{background-color:#16653433;border-color:#166534}.custom-card-error{background-color:#fef2f2;border-color:#fecaca}.dark .custom-card-error{background-color:#991b1b33;border-color:#991b1b}.custom-card-info{background:linear-gradient(90deg,#eff6ff,#e0f2fe);border-color:#93c5fd}.dark .custom-card-info{background:linear-gradient(90deg,#1e40af33,#0e749033);border-color:#1e40af}@keyframes shimmer{0%{transform:translate(-200%)skew(-12deg)}to{transform:translate(200%)skew(-12deg)}}.animate-shimmer{animation:1.5s ease-in-out infinite shimmer}.nano-scrollbar::-webkit-scrollbar{width:6px;height:6px}.nano-scrollbar::-webkit-scrollbar-track{background:0 0;border-radius:3px}.nano-scrollbar::-webkit-scrollbar-thumb{background:#94a3b866;border-radius:3px;transition:background .2s}.nano-scrollbar::-webkit-scrollbar-thumb:hover{background:#94a3b899}.dark .nano-scrollbar::-webkit-scrollbar-thumb{background:#47556966}.dark .nano-scrollbar::-webkit-scrollbar-thumb:hover{background:#47556999}.gradient-mask{-webkit-mask-image:linear-gradient(#000 0% 90%,#0000 100%);mask-image:linear-gradient(#000 0% 90%,#0000 100%)}.glass-effect{-webkit-backdrop-filter:blur(12px);background:#fffc;border:1px solid #fff3}.dark .glass-effect{background:#0f172acc;border:1px solid #47556933}.hover-lift{transition:transform .2s ease-out,box-shadow .2s ease-out}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}@keyframes pulse-soft{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.02)}}.pulse-soft{animation:2s ease-in-out infinite pulse-soft}.gradient-border{background:linear-gradient(#fff,#fff) padding-box padding-box,linear-gradient(135deg,#10b981,#06b6d4) border-box;border:2px solid #0000;border-radius:8px;position:relative}.dark .gradient-border{background:linear-gradient(#0f172a,#0f172a) padding-box padding-box,linear-gradient(135deg,#10b981,#06b6d4) border-box}.text-gradient{background:linear-gradient(135deg,#10b981,#06b6d4,#3b82f6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:700}.button-glow{position:relative;overflow:hidden}.button-glow:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.button-glow:hover:before{left:100%}.image-preview{transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.image-preview:before{content:"";z-index:1;background:0 0;transition:background .3s;position:absolute;inset:0}.image-preview:hover:before{background:#0003}.image-preview:hover{transform:scale(1.05)}.image-card{transform-origin:50%;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.image-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.image-card:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(135deg,#ffffff1a,#0000);transition:opacity .3s;position:absolute;inset:0}.image-card:hover:after{opacity:1}.add-image-card{transition:all .3s cubic-bezier(.4,0,.2,1)}.add-image-card:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 8px 25px #22c55e26}.file-size-label{-webkit-backdrop-filter:blur(4px)}.image-number-pulse{animation:2s ease-in-out infinite pulse-green}@keyframes pulse-green{0%,to{box-shadow:0 0 #22c55e66}50%{box-shadow:0 0 0 4px #22c55e00}}.loading-dots{align-items:center;gap:2px;display:inline-flex}.loading-dots:after{content:"";animation:1.5s infinite loading-dots}@keyframes loading-dots{0%,20%{content:""}40%{content:"."}60%{content:".."}80%,to{content:"..."}}@media (max-width:1024px){.nano-workspace{grid-template-columns:1fr!important}.operation-panel{border-bottom:1px solid #e2e8f0;border-right:none!important}.dark .operation-panel{border-bottom-color:#334155}}@media (max-width:768px){.nano-workspace{min-height:auto!important}}@media (hover:none){.hover-lift:hover{box-shadow:none;transform:none}.image-preview:hover{transform:none}.image-preview:hover:before{background:0 0}}
