/* Modern Safari-Like CSS */ /* Widget container styling */ .ply-widget-container { position: relative; width: 100%; height: 0; padding-bottom: var(--aspect-percent); background: #fff; border: none; border-radius: 10px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; } /* GIF Preview styling */ .gif-preview-container { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; border-radius: 10px; overflow: hidden; cursor: pointer; background: #f2f2f2; } .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: #fff; border: none; border-radius: 10px; overflow: hidden; box-sizing: border-box; } /* Canvas fills the viewer container */ .ply-canvas { width: 100%; height: 100%; display: block; /* Background is set by JS using JSON */ } /* Progress dialog styling */ .progress-dialog { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background: rgba(255, 255, 255, 0.9); padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.1); z-index: 1000; display: none; } /* Menu (instructions) content styling */ .menu-content { display: none; position: absolute; top: 45px; left: 10px; background: rgba(255,255,255,0.95); border: none; border-radius: 8px; padding: 10px; font-size: 14px; color: #333; box-shadow: 0 2px 6px rgba(0,0,0,0.1); } /* Common button styling for modern controls */ .widget-button { width: 36px; height: 36px; background-color: rgba(0, 0, 0, 0.05); border: none; border-radius: 50%; cursor: pointer; padding: 0; display: flex; align-items: center; justify-content: center; transition: background-color 0.2s; } /* Position buttons as a group on the top left */ .close-btn { position: absolute; top: 8px; left: 8px; } .fullscreen-toggle { position: absolute; top: 8px; left: 52px; } .help-toggle { position: absolute; top: 8px; left: 96px; } .reset-camera-btn { position: absolute; top: 8px; left: 140px; } /* Mimic macOS window controls (Safari-style) */ /* Close button: red circle with a white “✕” overlay */ .close-btn { background-color: #ff5f57; } .close-btn::before { content: ""; display: block; width: 14px; height: 14px; border-radius: 50%; background: #ff5f57; } .close-btn::after { content: "✕"; font-size: 14px; color: #fff; position: absolute; } /* Fullscreen toggle: yellow circle with a maximize icon */ .fullscreen-toggle { background-color: #ffbd2e; } .fullscreen-toggle::before { content: "🗖"; font-size: 14px; color: #fff; } /* Help toggle: green circle with a “?” for extra info */ .help-toggle { background-color: #28c940; } .help-toggle::before { content: "?"; font-size: 16px; color: #fff; } /* Reset camera: neutral style with a refresh icon */ .reset-camera-btn { background-color: rgba(0, 0, 0, 0.05); } .reset-camera-btn::before { content: "⟲"; font-size: 16px; color: #333; } /* Hover effects for modern buttons */ .widget-button:hover { background-color: rgba(0, 0, 0, 0.1); }