/* Critical fixes for page scrolling */ html, body { overflow: auto !important; height: auto !important; position: static !important; } /* Widget container styling */ .ply-widget-container { position: relative !important; width: 100%; height: 0; z-index: 1 !important; touch-action: pan-x pan-y !important; overflow: visible !important; /* padding-bottom is set dynamically inline for aspect ratio */ } /* When in fake fullscreen mode (iOS fallback) */ .ply-widget-container.fake-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; width: 100vw !important; height: 100vh !important; padding-bottom: 0 !important; z-index: 9999 !important; } /* GIF Preview styling */ .gif-preview-container { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 1px solid #474558; border-radius: 10px; overflow: hidden; cursor: pointer; background-color: black; } .gif-preview-container img { width: 100%; height: 100%; object-fit: cover; } /* Viewer Container styling */ .viewer-container { display: none; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: black; border: 1px solid #474558; border-radius: 10px; overflow: hidden; box-sizing: border-box; touch-action: pan-x pan-y !important; } /* Canvas fills the viewer container */ .ply-canvas { width: 100%; height: 100%; display: block; background-color: transparent; touch-action: pan-x pan-y !important; } /* Progress dialog styling (centered) */ .progress-dialog { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); border: none; background: rgba(0,0,0,0.7); padding: 20px; border-radius: 5px; z-index: 1000; display: none; color: white; } /* Progress bar styling */ progress { width: 250px; height: 15px; appearance: none; border: none; border-radius: 10px; overflow: hidden; } progress::-webkit-progress-bar { background-color: #333; border-radius: 10px; } progress::-webkit-progress-value { background-color: #4682B4; border-radius: 10px; } progress::-moz-progress-bar { background-color: #4682B4; border-radius: 10px; } /* Menu (instructions) content styling */ .menu-content { display: none; position: absolute; top: 70px; right: 15px; background: rgba(0, 0, 0, 0.8); border: 1px solid #474558; border-radius: 5px; padding: 10px; font-size: 15px; line-height: 1.4; color: white; } /* Button styling */ .widget-button { position: absolute; width: 45px; height: 45px; background-color: rgba(0, 0, 0, 0.6); border: 1px solid #474558; border-radius: 50%; cursor: pointer; font-size: 14px; color: white; display: flex; align-items: center; justify-content: center; transition: background-color 0.2s ease; } .widget-button:hover { background-color: rgba(70, 130, 180, 0.5); } /* Specific button positions */ .close-btn { top: 17px; left: 15px; font-family: sans-serif; } .fullscreen-toggle { top: 17px; right: 15px; } .help-toggle { top: 17px; right: 70px; font-size: 22px; } .reset-camera-btn { top: 17px; right: 123px; font-size: 22px; line-height: normal; padding: 0; } /* Adjust the reset icon position */ .reset-icon { display: inline-block; transform: translateY(-3px); } /* --- Mobile adjustments: when the widget container has the "mobile" class --- */ .ply-widget-container.mobile .widget-button { width: 30px; /* 45px * 2/3 */ height: 30px; /* 45px * 2/3 */ font-size: 10px; /* 14px * approx 0.67 */ } .ply-widget-container.mobile .help-toggle { font-size: 15px; /* 22px * approx 0.67 */ } /* Adjust button positions for mobile */ .ply-widget-container.mobile .close-btn { top: 11px; /* 17px * approx 0.67 */ left: 10px; /* 15px * approx 0.67 */ } .ply-widget-container.mobile .fullscreen-toggle { top: 11px; right: 10px; } .ply-widget-container.mobile .help-toggle { top: 11px; right: 47px; /* 70px * approx 0.67 */ } .ply-widget-container.mobile .reset-camera-btn { top: 11px; right: 82px; /* 123px * approx 0.67 */ } .ply-widget-container.mobile .menu-content { font-size: 10px; top: 45px; right: 5px; } /* Additional styles for PlayCanvas compatibility */ #application-canvas { width: 100%; height: 100%; display: block; touch-action: pan-x pan-y !important; } /* Error message styling */ .progress-dialog p { margin: 0; padding: 5px; }