@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}}.designer-image-border{position:relative}.designer-image-border:after{content:"";position:absolute;top:-8px;left:-8px;right:-8px;bottom:-8px;border-radius:20px;pointer-events:none;z-index:10;background-image:linear-gradient(90deg,#9ca3af 50%,transparent 0),linear-gradient(90deg,#9ca3af 50%,transparent 0),linear-gradient(0deg,#9ca3af 50%,transparent 0),linear-gradient(0deg,#9ca3af 50%,transparent 0);background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:20px 3px,20px 3px,3px 20px,3px 20px;background-position:0 0,0 100%,0 0,100% 0;animation:marching-ants .5s linear infinite}.designer-image-border:hover:after{background-image:linear-gradient(90deg,#22c55e 50%,transparent 0),linear-gradient(90deg,#22c55e 50%,transparent 0),linear-gradient(0deg,#22c55e 50%,transparent 0),linear-gradient(0deg,#22c55e 50%,transparent 0)}.designer-image-border.patch-preview-border{overflow:visible}.designer-image-border.patch-preview-border:after{z-index:100}.designer-upload-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;z-index:20;pointer-events:none}.designer-upload-overlay-visible,.group:hover .designer-upload-overlay{opacity:1}.designer-preview-panel{position:relative;background:linear-gradient(180deg,rgba(17,24,39,.3),rgba(17,24,39,.6));border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:2rem}.designer-section-card{background:rgba(17,24,39,.5);backdrop-filter:blur(12px);border-radius:16px;padding:2rem;border:1px solid rgba(75,85,99,1)}.designer-option-btn{padding:1rem;border-radius:12px;border:2px solid rgba(75,85,99,1);background:rgba(17,24,39,.3);color:rgba(156,163,175,1);transition:all .3s ease;cursor:pointer}.designer-option-btn:hover{border-color:rgba(107,114,128,1)}.designer-option-btn-active{border-color:currentColor;background:currentColor;color:white}.designer-option-btn-blue.designer-option-btn-active{border-color:rgba(59,130,246,1);background:rgba(37,99,235,.2)}.designer-option-btn-purple.designer-option-btn-active{border-color:rgba(168,85,247,1);background:rgba(147,51,234,.2)}.designer-option-btn-green.designer-option-btn-active{border-color:rgba(34,197,94,1);background:rgba(22,163,74,.2)}