* {
box-sizing: border-box;
margin: 0;
padding: 0;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    margin: 0;
    padding: 10px;
    background: linear-gradient(135deg, #1a202c 0%, #2d3748 100%);
    color: #e2e8f0;
}

.container {
    background-color: #2d3748;
    border-radius: 15px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.3);
    width: 100%;
    max-width: 400px;
    padding: 15px;
    text-align: center;
}

.logo-header {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.logo-header img {
    width: 50px;
    margin-right: 10px;
}

.quote {
    font-family: 'Georgia', serif;
    color: #a0aec0;
    text-align: center;
    margin-bottom: 15px;
    font-style: italic;
    font-size: 11px;
    line-height: 1.4;
}

.app-header h1 {
    color: #e2e8f0;
    font-size: 20px;
    margin-bottom: 5px;
}

.app-header p {
    color: #a0aec0;
    font-size: 12px;
    margin-bottom: 10px;
}

#scene-explanation {
font-size: 11px;
color: #a0aec0;
margin-bottom: 10px;
text-align: left;
}

#camera-view {
width: 100%;
height: 250px;
border-radius: 10px;
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 10px;
overflow: hidden;
position: relative;
background-color: #4a5568;
}

#camera-view video, #camera-view img {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 10px;
}

#camera-switch {
position: absolute;
bottom: 10px;
right: 10px;
color: white;
background: rgba(45, 55, 72, 0.7);
border: none;
border-radius: 50%;
width: 35px;
height: 35px;
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
z-index: 2;
}

#camera-switch i {
color: white;
font-size: 16px;
}

.btn-group {
    display: flex;
    gap: 8px;
    margin-bottom: 10px;
}

#capture-btn, #reset-btn, #download-btn, #share-btn {
flex-grow: 1;
padding: 10px;
color: white;
border: none;
border-radius: 8px;
font-size: 14px;
cursor: pointer;
transition: background-color 0.3s ease;
display: flex;
justify-content: center;
align-items: center;
}

#capture-btn {
background-color: #4299e1;
}

#reset-btn {
background-color: #718096;
display: none;
}

#share-btn {
background-color: #718096;
display: none;
}

#download-btn {
background-color: #718096;
display: none;
}

#capture-btn:hover {
background-color: #3182ce;
}

#reset-btn:hover {
background-color: #4a5568;
}

#share-btn:hover {
background-color: #4a5568;
}

#download-btn:hover {
background-color: #4a5568;
}

#capture-btn:disabled {
background-color: #4a5568;
cursor: not-allowed;
}

#loading {
display: none;
width: 40px;
margin: 10px auto;
filter: brightness(0) invert(1);
}

#playlist {
margin-top: 10px;
max-height: 250px;
overflow-y: auto;
text-align: left;
}

.song-item {
    background-color: #4a5568;
    border-radius: 8px;
    padding: 10px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    box-shadow: 0 3px 5px rgba(0,0,0,0.2);
}

.song-details {
    flex-grow: 1;
}

.song-details h3 {
    font-size: 14px;
    color: #e2e8f0;
    margin-bottom: 3px;
}

.song-details p {
    font-size: 12px;
    color: #a0aec0;
}

.song-links {
    display: flex;
    align-items: center;
    gap: 8px;
}

.song-links a {
    color: #48bb78;
    font-size: 20px;
    text-decoration: none;
}

.song-links .fa-apple {
    color: #e2e8f0;
}

footer {
    color: #a0aec0;
    text-align: center;
    margin-top: 10px;
    font-size: 11px;
}

footer a {
    text-decoration: none;
    color: #4299e1;
}

#gallery-upload {
    position: absolute;
    bottom: 10px;
    left: 10px;
    color: white;
    background: rgba(45, 55, 72, 0.7);
    border: none;
    border-radius: 50%;
    width: 35px;
    height: 35px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    z-index: 2;
}

#gallery-upload i {
    color: white;
    font-size: 16px;
}