*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;overflow:hidden;background:#f5f5f5;cursor:-webkit-grab;cursor:grab}body.dragging{cursor:-webkit-grabbing;cursor:grabbing}.canvas-container{width:100vw;height:100vh;position:relative;overflow:hidden}.canvas{position:relative;width:100%;height:100%;transform-origin:0 0;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.canvas,.image-item{will-change:transform}.image-item{position:absolute;border-radius:24px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.1);transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .4s ease;cursor:-webkit-grab;cursor:grab;background:#fff;border:3px solid #fff;pointer-events:auto;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.image-item:hover{transform:scale(1.15) rotate(0deg)!important;box-shadow:0 12px 40px rgba(0,0,0,.25);z-index:1000}.image-item img,.image-item video{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:0;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.image-item video{background:transparent}.image-item video[poster]{background:#000}.image-item:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border:1px solid rgba(0,0,0,.05);border-radius:21px;pointer-events:none;z-index:1;box-sizing:border-box}.image-placeholder{background:linear-gradient(135deg,#f5f5f5,#ededed);display:flex;align-items:center;justify-content:center;color:#999;font-size:14px}.image-item.image-placeholder video{opacity:0}.global-loading{position:fixed;top:0;left:0;width:100%;height:100%;background:hsla(0,0%,96%,.95);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10000;transition:opacity .5s ease,visibility .5s ease}.global-loading.hidden{opacity:0;visibility:hidden;pointer-events:none}.loading-spinner{width:32px;height:32px;border:2px solid rgba(0,0,0,.1);border-top-color:rgba(0,0,0,.5);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{to{transform:rotate(1turn)}}.loading-text{font-size:12px;color:rgba(0,0,0,.5);font-weight:400}.interaction-hint{position:fixed;bottom:32px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:12px 24px;background:rgba(0,0,0,.75);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:100px;color:#fff;font-size:12px;font-weight:500;letter-spacing:.5px;z-index:1000;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-shadow:0 4px 16px rgba(0,0,0,.2);animation:hintFadeIn .6s ease-out}.hint-icon{width:20px;height:20px;color:#fff;animation:hintPulse 2s ease-in-out infinite}.hint-text{white-space:nowrap}@keyframes hintFadeIn{0%{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes hintPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.95)}}@media (max-width:768px){.image-item{border-width:2px}.loading-spinner{width:32px;height:32px;border-width:2px}.loading-text{font-size:12px}.interaction-hint{bottom:24px;padding:10px 20px;font-size:11px}.hint-icon{width:18px;height:18px}}