Spaces:
Running
Running
/* 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); | |
} | |