body { 
    margin: 0; 
    overflow: hidden; 
    background-color: #000; 
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; 
}
canvas { 
    display: block; 
    cursor: none; 
}
#ui-container > * { 
    position: fixed; 
    z-index: 10; 
    color: #eee; 
    background-color: rgba(40, 40, 40, 0.8); 
    backdrop-filter: blur(5px); 
    border-radius: 10px; 
    padding: 15px; 
    border: 1px solid rgba(255, 255, 255, 0.1); 
}
#settings-btn { 
    top: 20px; 
    left: 20px; 
    font-size: 24px; 
    border: none; 
    cursor: pointer; 
    transition: transform 0.2s; 
    width: 50px; 
    height: 50px; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
}
#settings-btn:hover { 
    transform: rotate(45deg); 
}
#settings-panel { 
    top: 85px; 
    left: 20px; 
    display: none; 
    max-height: 80vh; 
    overflow-y: auto; 
}
#settings-panel.visible { 
    display: block; 
}
#settings-panel h3 { 
    margin-top: 0; 
    font-weight: 500; 
}
#settings-panel .setting { 
    margin-bottom: 15px; 
}
#settings-panel label { 
    display: block; 
    margin-bottom: 8px; 
    font-size: 14px; 
}
#settings-panel .radio-group label { 
    display: inline-block; 
    margin-right: 10px; 
}
#settings-panel .locked { 
    color: #888; 
    cursor: not-allowed; 
}
#music-btn { 
    top: 20px; 
    right: 20px; 
    font-size: 24px; 
    border: none; 
    cursor: pointer; 
    transition: transform 0.2s, opacity 0.3s; 
    width: 50px; 
    height: 50px; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
}
#music-btn:hover { 
    transform: scale(1.1); 
}
#music-btn.muted { 
    opacity: 0.4; 
}
#garden-container { 
    top: 20px; 
    right: 90px;
    text-align: right; 
}
#garden-container h3 { 
    margin-top: 0; 
    margin-bottom: 10px; 
    font-weight: 500; 
}
#garden-level { 
    display: block; 
    font-size: 14px; 
    color: #aaa; 
    margin-bottom: 10px; 
}
#garden-items { 
    font-size: 22px; 
    display: flex; 
    gap: 15px; 
    align-items: center; 
    flex-wrap: wrap; 
    justify-content: flex-end; 
}
#notification { 
    bottom: 20px; 
    left: 50%; 
    transform: translateX(-50%); 
    padding: 10px 20px; 
    opacity: 0; 
    transition: opacity 0.5s, transform 0.5s; 
    pointer-events: none; 
    font-size: 16px; 
}
#notification.visible { 
    opacity: 1; 
    transform: translateX(-50%) translateY(-10px); 
}
#fps-counter { 
    top: 20px; 
    left: 50%; 
    transform: translateX(-50%); 
    padding: 5px 10px; 
    font-size: 12px; 
    background-color: rgba(40, 40, 40, 0.6); 
}
.perf-warning { 
    color: #ff6b6b; 
    font-size: 12px; 
    margin-top: 5px; 
}
input[type="range"] { 
    width: 100%; 
}
.value-display { 
    display: inline-block; 
    min-width: 30px; 
    text-align: right; 
    font-weight: bold; 
}
#craft-btn { 
    bottom: 80px; 
    left: 20px; 
    cursor: pointer; 
    border: 2px solid #4CAF50; 
    background-color: rgba(76, 175, 80, 0.2); 
    transition: all 0.3s; 
    display: none; 
}
#craft-btn:hover { 
    background-color: rgba(76, 175, 80, 0.4); 
    transform: scale(1.05); 
}
#craft-btn.available { 
    display: block; 
    animation: pulse 2s infinite; 
}
@keyframes pulse { 
    0%, 100% { box-shadow: 0 0 10px rgba(76, 175, 80, 0.5); } 
    50% { box-shadow: 0 0 20px rgba(76, 175, 80, 0.8); } 
}
#quest-display { 
    bottom: 20px; 
    right: 20px; 
    max-width: 300px; 
    font-size: 14px; 
}
#quest-display h4 { 
    margin: 0 0 8px 0; 
    font-weight: 500; 
    color: #FFD700; 
}
#quest-progress { 
    display: block; 
    color: #aaa; 
    margin-top: 5px; 
}
#event-indicator { 
    top: 85px; 
    right: 20px; 
    font-size: 14px; 
    display: none; 
    animation: fadeIn 1s; 
}
#event-indicator.active { 
    display: block; 
}
@keyframes fadeIn { 
    from { opacity: 0; } 
    to { opacity: 1; } 
}